利用AutoCAD帮助信息快速开发采矿软件.pdf
收稿日期 2007 - 03 - 24 作者简介林在康1945 - , 1981年毕业于中国矿业大学北京研究生部,现任江苏徐州中国矿业大学能源学院采矿工 程系教授、博士生导师,江苏省高等学校教学名师,主要从事采矿信息及数字矿井和煤矿生产技术软件包 开发方面的研究。 利用AutoCAD帮助信息快速开发采矿软件 林在康 1 ,王 强 1 ,宫良伟 1, 2 ,钟传义 2 ,潘智勇 1 ,曾勇伟 1 ,韩福顺 1 1. 中国矿业大学,江苏 徐州 221008, 2.皖北煤电集团公司,安徽 宿州 234000 摘 要文章结合开发绘制半圆拱巷道断面轮廓软件的实例,详细地介绍了利用AutoCAD 帮助信息快速开发软件的全过程。最终编译并得到绘制半圆拱巷道断面轮廓软件的可执行文件。 用这种方法已开发了40余个套实用的采矿软件。 关键词 AutoCAD;帮助信息;采矿软件;巷道断面; VBA; VB6 中图分类号TD311152 文献标识码 B 文章编号 1671 - 0959 2007 0920134203 0 引 言 AutoCAD是国内外煤炭企事业单位最广泛使用的工程 绘图软件之一。AutoCAD帮助信息中包含了丰富的绘图信 息。其中AutoCAD 2004的帮助信息中用VBA编制的824个 小程序十分实用,为初学者提供了丰富的技术资料和快速 开发实用软件的捷径。 根据笔者长期从事采矿CAD教学科研的经验,走出了 一条利用AutoCAD帮助信息快速开发采矿软件的成功之路。 具体地说,首先从AutoCAD的帮助信息中得到软件的VBA 代码,将其复制到AutoCAD的VBA编辑器中。其次,在 VBA编辑器中调试运行成功后再复制到VB6的 “ 代码 ”区 域中。在VB6中 “ 添加模块 ” 、增加必要的控件、按VB6 规定适当修改代码,调试运行成功后按VB格式存储。最后 编译并得到实用软件的可执行文件。用这种方法已开发了 40余个套采矿软件。 本文结合开发绘制半圆拱巷道断面轮廓软件的实例详 细地介绍上述全过程。 1 实例与分析 设一半圆拱巷道断面轮廓尺寸为巷道净宽B 4000, 墙高h1400,标志性的五个点坐标分别为a 0, 1400 , b0, 0 , c 4000, 0 ,d 4000, 1400 ,e 2000, 1400 , 见图1。 该巷道断面轮廓线由三条直线和一段圆弧组成。只要 能写出用VB6编程绘制直线和圆弧的代码,并输入正确的 参数,就能绘制出巷道断面轮廓图形。而对于初学者来讲, VB6编程的代码、格式、控件、引用和属性的设置等任何 一个环节出了错都会导致编程的失败。 本文提供的思路可帮助初学者解决编程的入门问题。 具体地步骤是 第一步,找到绘制直线的VBA源代码,先绘制一条直 线,再绘制三条直线。 第二步,找到绘制圆弧的VBA源代码,并绘制一段圆弧。 第三步,合并绘制直线和圆弧的VBA源代码,输入a、 b、c、d、e各点组成的直线和圆弧,绘制出半圆拱巷道断 313 宽带通信网络井上 井上的宽带通信网络是一个根据煤矿规模和应用需要 设计的宽带网络,满足煤矿日常通信、调度、管理等需要, 也保证紧急情况下的通信联络和指挥调度的需要。 除了传统技术,本系统使用的新技术如下光传送技术, 包括DWDM /C WDM、MSTP等;无线/移动技术,包括WiFi、 Wi Max, GS M、GPRS、CDMA网;千兆路由器、交换机组织的 MAN、LAN等; NG N与软交换支持的各种业务应用。 4 结 语 设计研发的煤矿井下无线监控与通信系统是最新移动 通信等高科技成果在煤炭行业的完美应用。该系统不但实 现了井下生产环境与设备的无线监控管理,还实现了井上 人员对井下人员跟踪管理和井上人员与井下人员移动通信 的功能。 参考文献 [1 ] Ernest Baafi,Ruibao Feng .An Application of Classification Technique to HeartRatesofMiners in Escapeways [J ].Computer Applications in theMinerals Industries, 2001 531 - 534. [2] 魏红.移动通信技术[M ].北京人民邮电出版社, 2005. 责任编辑 章新敏 431 信息工程 煤 炭 工 程 2007年第9期 图1 巷道断面及标志点位置示意图 面轮廓图形。 第四步,在VB6中将编程的代码、格式、控件、引用 和属性的设置好,使程序实用。 第五步,在VB6中将全部内容编译成可执行文件。 问题的关键在于找到绘制直线和圆弧的VBA源代码。 2 AutoCAD中的帮助信息 211 查找绘制对象的VBA源代码 正常打开AutoCAD 2004,按以下步骤找到绘制直线的 VBA源代码。 1 按F1键,打开AutoCAD中的帮助信息。 2 点 击 目 录 “自 定 义 手 册/ActiveX Automation和 VBA”,出现相关内容。 3 点击目录 “ActiveX Automation and VBA Reference”, 提供关于ActiveX对象模型及其相关接口部件的参考信息。 4 点 击 目 录 “Code Examples”,列 出 了824个 AutoCAD提供的应用实例。实例按英文字母A - Z排列。 5 找到并点击目录 “AddLine Example”绘制直线实 例 , 出现以下VBA源代码 Sub ExampleAddLine ′This example adds a line in model space Dim lineObjAsAcadLine Dim startPoint0 To 2 AsDouble Dim endPoint0 To 2 AsDouble ′Define the start and end points for the line startPoint0 1startPoint1 1startPoint2 0 endPoint0 5endPoint1 5endPoint2 0 ′Create the line in model space Set lineObj ThisDrawing1ModelSpace1AddLine start2 Point, endPoint ZoomAll End Sub 这是一组完整的绘制一条直线的VBA代码,直线的起 点为1, 1 ,终点为5, 5。 212 运行VBA代码 只有将上述VBA代码复制到AutoCAD中的VBA编辑 器中才能运行。 1 在AutoCAD中,点击菜单 “ 工具\宏/Visual Basic 编辑器 ”,出现无代码窗口的VisualBasic编辑器界面。 2 点击Visual Basic编辑器的菜单 “ 视图\代码窗 口 ”,出现有空白代码页面的VisualBasic编辑器界面。 3 将上述VBA代码复制到AutoCAD中的VBA编辑器 的空白代码页面中,即可进行第一次运行。 4 在VBA编辑器中,有三种运行方式①将光标放 在本段代码的任何地方,点击工具栏处的 “ 运行子过程 ” 三角图标;② 将光标放在本段代码的任何地方,点击菜单 “ 运行\运行子过程 ”;③ 将光标放在本段代码的任何地方, 按F5键。 5 在AutoCAD中,有一种运行方式点击菜单 “ 工 具\宏\宏 ”,选 中 “全 局1ThisDrawing1Example AddLine”,点击 “ 运行 ”按钮。 213 修改绘制直线实例 将 “AddLine Example”中绘制直线语句作相应的修改 关键代码见后。 214 绘制圆弧实例 同理,点击目录 “AddArc Example”绘制圆弧实例 , 找到完整的绘制圆弧的VBA代码,并将代码 复制 到 AutoCAD中的VBA编辑器中,再将 “AddArc Example”中 的参数设置为中心点e 2000, 1400 ,半径2000,起始 角0,结束角180。 将 “AddArc Example”中绘制圆弧的语句作相应的修 改代码见后。 215 绘制巷道断面轮廓 将 “AddL ine Example”和 “AddArc Example”二者合 并,组成绘制 “ 巷道断面轮廓 ”的VBA代码,主要代码如 下 ′直线起点坐标 startPoint2 0 0startPoint2 1 0startPoint2 2 0 startPoint3 0 4000startPoint3 1 0start2 Point32 0 endPoint1 0 0endPoint1 1 1400endPoint1 2 0′直线终点坐标 endPoint2 0 4000endPoint2 1 0endPoint2 2 0 endPoint3 0 4000endPoint3 1 1400end2 Point32 0 ′绘制巷道直线 Set lineObj This Drawing1ModelSpace1AddLine start2 Point1, endPoint1 Set lineObj This Drawing1ModelSpace1AddLine start2 Point2, endPoint2 531 2007年第9期 煤 炭 工 程 信息工程 Set lineObj ThisDrawing1ModelSpace1AddLine start2 Point3, endPoint3 ′绘制巷道圆弧 centerPoint 0 2000centerPoint 1 1400 centerPoint2 0′圆弧中心点 radius 2000′圆弧半径 startAngleInRadian startAngleInDegree331141592 / 180′圆弧起始角弧度 endAngleInRadian endAngleInDegree331141592 / 180′圆弧结束角弧度 Set arcObj ThisDrawing1ModelSpace1AddArccenter2 Point,radius,startAngleInRadian, endAngleInRadian 3 将VBA程序调入VB6中 从AutoCAD中的帮助信息中得到的VBA代码,复制到 AutoCAD中的VBA编辑器中即可运行。但此时的VBA代码 是不能编译的解释性语言。解释性语言主要用于调试程序, 其运行速度、实用性和保密性都不理想。 VisualBasic 6 VB6是W indows平台上使用的优秀编程 软件。本文提及的采矿工程软件都是用VB6编译过的可执 行文件,运行速度快、实用性和保密性都很理想。 311 在VB6中编辑软件 1 打开VB6编程软件,将AutoCAD中的VBA编辑器 中的源代码复制到VB6中 “ 窗体 ”的1中的 “ 查看代 码 ”区域中。 2 在VB6中加入 “ 添加模块 ”,加入代码。此模块的 作用是将VB6与AutoCAD相连接并设置当前文件和模型空 间 [1]。 3 在VB6的1中添加必要的表单控件,即巷道 净宽B和墙高h。 4 在VB6的菜单 “ 工程\引用 ”中,选择 “Auto2 CAD2004 Type Library” 5 在VB6的菜单 “ 工程\工程1属性\启动对象 ” 中,选择 “SubMain” 6 将源代码中的相关语句按VB6要求作适当修改 [1]。 关键后代码如下 Private Sub Command1Click′巷道断面轮廓 B Text11Text′给巷道净宽赋值 h Text21Text′给墙高赋值 ′直线起点 startPoint1 0 0startPoint1 1 0startPoint1 2 0 startPoint2 0 0startPoint2 1 0startPoint2 2 0 startPoint30 BstartPoint3 1 0startPoint3 2 0 ′直线终点 endPoint1 0 0endPoint1 1 hendPoint1 2 0 endPoint2 0 BendPoint2 1 0endPoint2 2 0 endPoint3 0 BendPoint3 1 hendPoint3 2 0 ′绘制巷道直线 SetlineObjmoSpace1AddLine startPoint1, endPoint1 SetlineObjmoSpace1AddLine startPoint2, endPoint2 SetlineObjmoSpace1AddLine startPoint3, endPoint3 ′绘制巷道圆弧 centerPoint0 B /2centerPoint1 hcenter2 Point2 0 radius B /2 start AngleInRadian start AngleInDegree331141592 / 180 endAngleInRadian endAngleInDegree331141592 / 180 Set arcObj moSpace1AddArc centerPoint,radius, startAngleInRadian, endAngleInRadian 7 调试运行成功后存储文件。 312 在VB6中将软件编译成可执行文件 点击菜单 “ 文件\生成巷道断面轮廓 1”,编译后得 到可执行文件 “ 巷道断面轮廓 1” 。运行此文件可绘制出 不同参数B和h的巷道断面轮廓图形。在上述代码中再加 入绘制圆、图层、线型、线宽、充填、文本、尺寸标注等 等语句,即可开发出实用的巷道断面绘制软件。读者可由 小到大、从简单到复杂、不断完善,持之以恒,最终开发 出完整实用的各种采矿软件。 4 采矿设计和煤矿生产技术管理软件包简介 用上面介绍的方法,开发了一批采矿设计和煤矿生产 技术管理软件,包括巷道断面、平斜面交岔点、采区上、 中、下部车场、采区煤仓、工业广场及各类保护煤柱等40 多个套软件,取得了很好的应用效果。 参考文献 [1] 林在康,王斌,等.采矿CAD开发及编程技术[M ].徐 州中国矿业大学出版社, 1998111. [2] 郭朝勇、林在康,等.AutoCAD R14 中文版二次开发技 术[M ].北京清华大学出版社, 199914. [3] 林在康,左秀锋,等.矿业信息及计算机应用[M ].徐州 中国矿业大学出版社, 200218. [4] 林在康,丘福新,等.采矿软件技术基础[M ].徐州中 国矿业大学出版社, 200611.责任编辑 章新敏 631 信息工程 煤 炭 工 程 2007年第9期