关于生成抽采钻孔的CAD二次开发及应用

来源 :大科技·D版 | 被引量 : 0次 | 上传用户:lancer523
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要:用Visual Basic 6.0和Microsoft Excel2007对AutoCAD2007进行开发,使得CAD的功能得到扩展,介绍了VB中如何调用Excel和CAD的类型库和从VB代码中来操作EXCEL和CAD的方法和技术,从而可以在VB中调用Excel和CAD,并引用Excel的数据来生成CAD中的图元,进而探讨如何由煤矿中涉及到的抽采钻孔参数数据快速生成钻孔平面图,最后用AutoCAD2007中自带的VBA编辑器开发AutoCAD2007的菜单,添加新的菜单项,并将开发出的能生成钻孔的可执行文件与新的菜单项并联,达到能从CAD的菜单中快速调用关于生成抽采钻孔的CAD二次開发程序。
  关键词:Visual Basic 6.0;Excel;AutoCAD;evelopment;类型库;钻孔;菜单
  中图分类号:TD712.6 文献标识码:A 文章编号:1004-7344(2018)18-0153-02
  在高瓦斯矿井和突出矿井都会采取一些措施来治理瓦斯,常常会采取用顶抽巷、底抽巷打穿层钻孔,或沿煤层打顺层钻孔来抽瓦斯达到降低或消除突出危险性和瓦斯含量。在作月度或年度验收评价时会需要期间所打钻孔的实际分布图,一般都用CAD来完成制图工作,如果只用CAD中提供的基本的绘图命令和编辑工具并依照日常统计的钻孔参数数据来完成百上千个钻孔图形会是一个繁琐费事的过程,而却还很容易出错,因此就需要探索一种快速准确的并基于钻孔基本参数数据完成制图方法,将日常统计的钻孔参数数据快速准确的转换为CAD图形的钻孔。
  1 基本原理
  本本所涉及的发开方法是用Visual Basic 6在CAD2007和office2007基础上所开发的,关键在于解决钻孔的excel数据装换成CAD特定钻孔图形。
  ActiveX Automation interface[1](ActiveX自动化界面技术)是微软公司推出的一个技术标准,该技术是在Windows系统的统一管理下协调不同的应用程序,允许应用程序之间相互控制、相互调用。AutoCAD作为一种具有高度开放结构的CAD平台软件,它提供了强大的二次开发环境,并AutoCAD引入了ActiveX技术。所以许多面向对象化编程的语言和应用程序,可以通过ActiveX与AutoCAD进行通信,并操纵AutoCAD的许多功能。
  从图1中可以看出,能使用ActiveX自动化界面技术的语言环境有很多,这是ActiveX技术的一大优点。另外,采用ActiveX技术还可以是应用程序之间很好地共享数据,如AutoCAD、office excel、office word等。Visual Basic是一种可视化的计算机开发语言,是一门容易掌握和使用的计算机语言可以轻松的创建ActiveX控件。所以在做此项开发时,用vb6.0的ActiveX技术同时调用excel和AutoCAD的类型库来并完成数据交换处理。
  2 如何实现Excel数据转为CAD图
  2.1 VB中调用CAD的方法与技术
  VB中的用CAD可分为以下几步来完成,其中关键在于如何调用CAD类型库[2]。
  (1)打开VB建立一个新的工程,添加一个名为Module1标准模块单。
  (2)启动“工程”菜单下的“引用”命令,打开应用对话框,找到“AutoCAD2007 TypeLibrary”并在其复选框上打钩,然后单击确“确定”。
  (3)启动“工程”菜单下的“工程引用”命令,单击工程属性对话框中的“启动对象”栏右端的箭头,在其组合框中选中“Sub Main”,单击确定。(把Sub Main设定为启动过程[1])
  (4)在SubMain过程中添加以下程序代码:
  Public acadapp As Object
  Public acaddoc As Object
  Public mospace As Object
  Sub Main()
  On Error Resume Next
  ‘错误处理,如果错误执行下一句
  Set acadapp=GetObject(,"Autocad.Application")
  If Err <> 0 Then
  Err.Clear
  ‘如果CAD打开把当前打开图档作为操作图档
  Set acadapp=CreateObject("Autocad.Application")
  If Err<>0Then
  Err.Clear
  MsgBox"CAD未打开,_
  请打先打开一个CAD图档!",48,"错误:"
  Exit Sub
  End If
  ‘如果CAD没打开,自动新建新的图档文件
  End If
  Set acaddoc=acadapp.ActiveDocument
  Set mospace=acaddoc.ModelSpace
  Set paspace=acaddoc.PaperSpace
  acadapp.Visible=acTrue
  End Sub
  2.2 VB调用Excel的方法与技术
  (1)在D盘目录中建立名为"列表.xls"的Excel文件。
  (2)打开VB建立一个新的工程,添加一个名为窗体,在窗体上添加两个控件将command1标签改为“修改”,command2标签改为“退出”。
  (3)用2.1中所述的方法引用Excel的类型库。   (4)添加如下代码:
  Private Sub Command1_Click()
  Dim xlapp As Excel.Application
  Dim xlbook As Excel.Workbook
  Dim xlsheet As Excel.Worksheet
  Set xlapp=CreateObject("excel.application")
  Set xlbook=_
  xlapp.Workbooks.Open("D:\列表.xls")
  xlapp.Visible=false
  Set xlsheet=xlbook.Worksheets("sheet1")
  xlsheet.Cells(1,1)="河南煤化"
  xlbook.Close(True)
  xlapp.Quit
  Set xlapp=Nothing
  End sub
  Private Sub Command2_Click()
  End
  End sub
  运行程序后单击“修改”后,打开“列表.xls”文件,会发现其A1单元格内容变成了“河南煤化”。
  3 根据钻孔参数生成CAD图形技术
  将打成的钻孔数据制成Excel表,假如现有穿层钻孔参数列表,如表1所示,先要将根据此参数生成CAD图。
  3.1 程序设计预期
  根据表1中的参数,在CAD图档中生成三条钻孔,其钻孔间距为1.2m,都于巷道中线垂直,图中所画各段长度均为根据倾角转换的投影长,在补下28号孔的见煤处,和补下30号孔的50m处标记喷孔符号“”,分别把孔号标记到各个钻孔上如图2所示。
  3.2 程序设计思路
  要想生成如图2中的钻孔首先要建立一个匿名图块[3],并此匿名块命名为“*Z”,用来在其中添加所插入的所有钻孔和孔号及喷孔标记,在添加钻孔时每个钻孔有三条线段构成分别是红色的顶板段、绿色的煤段、红色的底板段,添加时把巷道视为水平的从左到右依次是补下29、补下28、补下30号钻孔,此时钻孔与中线夹角为钻孔和用户坐标系X正半轴的夹角,每条钻孔需要4个点的坐标来定三条线段,每条钻孔的起点坐标为横坐标依次增大一个间距,纵坐标不变,可取为0,因此每条钻孔的起点坐标已知,可根据其与X正半轴夹角求出其他三点坐标,当坐标求出之后,那就可以根据此这些坐标点添加每条线段、孔号和喷孔标记,补下30号的“50m喷孔”中的50m指的是从钻孔起点开始向此钻孔终点方向的50m处。所有图元添加完毕之后就要用insertblock方法[1]插入此匿名块的块参照,然后sendCommand方法[3]调用CAD2007中的“_rotate”来任意旋转插入后的块参照[1],再用explode方法[1]分解此块参照,最后删除块参照便留下分解后的所有图元。
  其中用来添加钻孔顶板段、煤段、底板段投影线段的四点坐标用以下公式求的,坐标示意图如图3。
  Xn1=(n-1)·J(1)
  Yn1=0(2)
  Xn2=Xn1+i·cos(γ)(3)
  Yn2=Yn1+i·sin(γ)(4)
  Xn3=Xn1+(i+j)·cos(γ)(5)
  Yn3=Yn1+(i+j)·sin(γ)(6)
  Xn4=Xn1+(i+j+k)·cos(γ)(7)
  Yn4=Yn1+(i+j+k)·sin(γ)(8)
  式中:J为钻孔间距;γ为钻孔与巷道中线的夹角;α为钻孔与水平面的夹角;n=1,2,3…按照钻孔生成先后顺序依次增大,表示第n条钻孔;i为顶板段投影,i=顶板段·cos(α);j为煤段投影,j=煤段·cos(α);k为底板段投影,k=底板段·cos(α)。
  4 结 论
  (1)CAD经过此项开发后可以根据钻孔参数快速准确地生成所设计好样式的钻孔平面圖。
  (2)可以利用本方法作更多的开发,使CAD的功能得到扩展,更适合制图人员所从事的专业的使用。
  参考文献
  [1]王 钰.用VBA开发Autocad2000应用程序[M].北京:人民邮电出版社,1999.
  [2]朱桂华.基于VBA技术实现Excel数据生成CAD对象的方[J].中国西部科技,2007(8):88~89.
  [3]张 帆.AutocadVBA二次开发教程[M].北京:清华大学出版社,2006.
  收稿日期:2018-5-24
其他文献
本文通过对荣华二采区10
期刊
本文对抗拉强度为800MPa高强钢WH80的焊接性能进行了研究,实验数据表明高强钢WH80可以用于支架设计。初步总结了一套焊接工艺,包括预热温度的确定、低强度匹配的可行性、焊接速
IC(Integrated Circuit)芯片是电子工业的基础,IC芯片的印刷标识表明了该芯片名称、性能和功能信息,能够方便芯片的分类使用。在IC半导体生产中,芯片标识检测是IC制造中的一
随着我国社会形势的改革发展,对于企业的政治工作越来越重视起来.就目前我国国有企业员工的基本素质思想来说,因为所涉及的经济效益问题,所以现阶段的企业员工对于市场经济的
本问提出了一种新的列控车载维护的方法,通过对关键电子元件的动作统计分析,精确定位故障点以及电子元件的误动作信息,充分利用电子元器件寿命,达到节省成本,预防维护的目的,
“国以才立,业以才兴”.党的十八大以来,习近平总书记在人才工作方面发表了一系列重要讲话,对建设创新型国家、建设人才强国具有重大的指导意义.对于企业来说,人才队伍建设是
摘 要:本文以南昌市一个水文年的地下水位监测数据为基础,统计分析了南昌市地下水变化特征及其影响因素分析。  关键词:地下水;监测;影响分析  中图分类号:X824 文献标识码:A 文章编号:1004-7344(2018)18-0155-02  1 引 言  南昌市地下水位監测点绝大部分集中在南昌市老城区及周边,九龙湖和昌北则鲜有地下水观测资料。为弥补已有资料的不足,结合南昌市地下水渗流机理及抗浮工
面对当今交通事故日益增加的现实,汽车的安全性设计在现代汽车设计中占有越来越重要的地位。针对平头轻型货车在我国价格低廉、应用广泛、事故率高、事故伤害大的特点,本文在主
三轴仿真转台是航空、航天领域中进行半实物仿真和测试的关键硬件设备,在飞行器的研制中起着关键的作用。作为检测设备,对它的精度和动、静态性能有较高的要求。框架是转台机械
针对农村工作设计中存在的问题,例如,农村地区地形地貌复杂,设计难度大、受外界环境因素影响较大等,明确农村公路设计原则,例如综合性原则、经济性原则、以人为本原则等等,提