利用VBA对AutoCAD二次开发在矿山测量中的应用.doc

上传人:99****p 文档编号:1714940 上传时间:2019-03-12 格式:DOC 页数:8 大小:29KB
下载 相关 举报
利用VBA对AutoCAD二次开发在矿山测量中的应用.doc_第1页
第1页 / 共8页
利用VBA对AutoCAD二次开发在矿山测量中的应用.doc_第2页
第2页 / 共8页
利用VBA对AutoCAD二次开发在矿山测量中的应用.doc_第3页
第3页 / 共8页
利用VBA对AutoCAD二次开发在矿山测量中的应用.doc_第4页
第4页 / 共8页
利用VBA对AutoCAD二次开发在矿山测量中的应用.doc_第5页
第5页 / 共8页
点击查看更多>>
资源描述

1、利用 VBA 对 AutoCAD 二次开发在矿山测量中的应用摘要:本文通过对 AutoCAD 绘图软件、二次开发语言 VBA 的介绍,以及分析矿山测量在制图时对 AutoCAD 的需求,阐述利用 VBA 对 AutoCAD二次开发在矿山测量中的应用。 关键词:AutoCAD;VBA;二次开发;矿山测量 中图分类号: O434.19 文献标识码: A 1 关于 AutoCAD、 VBA 1.1 介绍 AutoCAD、VBA AutoCAD(Auto Computer Aided Design)是美国 Autodesk 公司首次于 1982 年研究开发的计算机辅助设计软件,是目前国际上应用最流行的

2、绘图工具,功能全面,操作稳定,普适性强,广泛用于二维绘图、详细绘制,深受各行各业设计者和工程技术人员的喜爱。与此同时,高普适性也对应着 AutoCAD 另一大特点:开放的结构体系。这种开放体系,使得不同行业、专业根据自身的特点能够对其进行 Autodesk 二次开发,可以说 AutoCAD 的普适性为其二次开发提供了必要条件,从而也弥补了其专业针对性能不强的弱点。 从 AutoCAD R14.01 版开始,Autodesk 在 AutoCAD 中加入了VBA(Visual Basic for Applications) ,作为 AutoCAD 的一种二次开发工具。VBA 是一种完全面向对象体系

3、结构的编程语言,是 Visual Basic的一种宏语言,与 VB 有着相似的语言结构和开发环境。在 VBA 中,AutoCAD 通过 AetiveX 提供了一个沟通外部世界的机制,使得 AutoCAD 通过不同的编程语言和环境进行二次开发。可见,VBA 是通过 ActiveX 接口建立与 AutoCAD 对象之间的联系,在 AutoCAD 和 Visual Basic 之间搭建起起了一座桥梁,将其完美的融合在一起,创造出符合用户要求的程序,形成新的功能性强、灵活性高的软件。 1.2 利用 VBA 对 AutoCAD 进行二次开发的优点 VBA 与其他 AutoCAD 二次开发技术相比,优点有

4、很多: VB 语言基础广泛。作为世界上使用人数最多的计算机编程语言,VB有非常坚实的语言基础,编程环境相对于其他二次开发技术更容易学习和使用。 嵌入式与独立性并举。在二次开发中,VBA 以 AutoCAD 软件为依托,但并不是所有的应用程序都要与 AutoCAD 进行交互,体现了 VBA 的灵活性。 运行速度快而稳定。当 VBA 与 AutoCAD 在同一进程空间运行时,运行速度要比其他二次开发语言应用程序快,运行也更加稳定。 2 矿山测量对 AutoCAD 二次开发的需求 2.1 矿山测量的现状 矿山测量人员在井下进行外业工作时,由于受到井下不利环境、条件与人员配置的限制,数字化仪器通用性并

5、不高。使用光学仪器作业往往需要测量大量的基本数据,如角度、距离。在传统测量内业工艺流程中,先要将原始数据进行处理,然后将处理好的数据准确、合理的体现在图纸上或计算机上。在绘图过程中,基本会重复相同的工作,如绘制巷道、采场平面图:要将测得的同一方位上的支距点(特征点)在不同的比例尺下进行逐一展绘、分别成图,无论是手工绘图还是普通的 CAD制图,都是一项重复率极高、效率极低的工作,而且极容易随着制图人员的疏漏和疲劳产生误差,甚至是错误。 通过以上对矿山测量内外业工作的描述可见,矿山测量的硬件设施难以有实质性的提升,但是内业处理仍有很大的操作空间。如果我们将AutoCAD 进行二次开发,将传统数据处

6、理与制图这两项“脱节”的工作有机结合在一起,将会大大提升工作效率和内业精度。 2.2 开发方法 二次开发主要方法是把原始的测量数据进行专业分类,将不同种类的数据分别传递给不同的参数(相同种类传递相同参数) ,再根据测量人员的要求,用相关的公式、方法将参数进行专业性整合,当参数改变时(即不同种类的观测值、观测量) ,程序仍然按照预定的表达式来执行,通过人机交互,完成绘图,从而实现变量化设计,自动化制图。 2.3 程序界面 如图 1 所示,进入 VBA 二次开发程序界面之后,在编写代码之前,要根据该程序所需的变量、参数,来确定都要在界面当中添加哪些控件。2.4 代码部分 此处将部分 “图 2 绘制

7、采场、联络道平面图程序设计”的代码进行注释,对照示意图来进行 AutoCAD VBA 二次开发的解析: Private Sub CommandButton7_Click()计算罗盘导线点坐标 Dim b2, b3, b4, b5, b6, b7 As Double定义过程变量的数据类型 Const pm As Double = 3.141592653定义常量 If tt1 = “ ThenIF 条件语句,该 text 文本框为空倾角为 0 tt1 = 0 End If b1 = tx3 - 7.5井下与井上磁方位角差值 b2 = (b1) / 180 * pm将角度进行弧度化 图 1 绘制采场

8、、联络道平面图程序设计 b3 = tx4 * (Cos(tt1 / 180 * pm)计算罗盘导线长度 b4 = tx1 b6 = b3 * Sin(b2) b7 = b3 * Cos(b2) f1 = Val(CInt(Right(Fix(b4 + b6) * 10000), 1) / 10) / 1000 + Val(Left(Fix(b4 + b6) * 10000), 7) / 1000计算未知点坐标 f2 = Val(CInt(Right(Fix(b5 + b7) * 10000), 1) / 10) / 1000 + Val(Left(Fix(b5 + b7) * 10000),

9、7) / 1000 tx5 = f1将已求出的坐标值体现在文本框中 End Sub Private Sub CommandButton8_Click()展罗盘导线点 Dim lpp, lpdx As AcadPoint Dim lpposition(0 To 2) As Double Dim lpd(0 To 2) As Double lpposition(0) = Val(tx1)三维坐标赋值 lpposition(1) = Val(tx2) lpposition(2) = 0 Set lpp = ThisDrawing.ModelSpace.AddPoint(lpposition) 将点展

10、入到 AutoCAD 中 lpd(0) = Val(tx5) lpd(1) = Val(tx6) lpd(2) = 0 Set lpdx = ThisDrawing.ModelSpace.AddPoint(lpd) End Sub Private Sub CommandButton15_Click() 计算支距点坐标 Dim lpzhu, lpz, lpy, zdz, zdy, l6, r6, l61, r61, lpzy, lpzx, lpry, lprx, msg As Double If tt1 0 Then msg = MsgBox(“注意,倾角不为 0 时主尺没有铺在地面,请认真检查

11、数据,谢谢“, 0 + vbInformation) End If Const hlp As Double = 3.141592653 lpzhu = tx7 将测得的主尺位置、对应的左右支距赋值 lpz = tx8 If lpzhu = 0 Then zdz = tx1 zdy = tx2 End If If lpzhu 0 Then计算主尺不为 0 时,主尺点坐标 zdz = tx1 + lpzhu * Sin(b1 / 180 * hlp) End If lpzy = lpz * Sin(l61)计算坐标增量与支距点坐标 lpzx = lpz * Cos(l61) If tx8 = “

12、Or tx8 = 0 Then tx10 = “ If tx9 = “ Or tx9 = 0 Then tx12 = “ End If End Sub Private Sub CommandButton9_Click()展左支距点 Dim lpzz(0 To 2) As Double Dim lpointzuozhi As AcadPoint lpzz(0) = Val(tx10) lpzz(1) = Val(tx11) lpzz(2) = 0 Set lpointzuozhi = ThisDrawing.ModelSpace.AddPoint(lpzz) End Sub 3 结束语 使用 V

13、BA 对 AutoCAD 进行二次开发,是今后提高矿山测量人员绘图效率、精度,减少工作量的重要手段,它很好的补充了 AutoCAD 的制图功能。到目前为止,此种方法在矿山测量领域应用并不广泛,仍有很大空间,是值得投入与研究的。希望能有更多的工程技术人员加入到二次开发的行列中,让 AutoCAD 软件在使用上更加得心应手,为矿山数字化做出自己的贡献。 参考文献: 1 王围,李波,邹元平.AutoCAD 二次开发中的若干问题探析J.电脑知识与技术,2012,08 (1):163-165. 2 张帆,郑立楷,王华杰.AutoCAD VBA 开发精彩实例教程M.北京:清华大学出版社,2004. 3 李琳. 基于 VBA 的 AutoCAD 二次开发J.硅谷,2011,(18):191. 4 孙运平,高玉春. AutoCAD 二次开发及应用研究J.商场现代化,2012,(679):102. 作者简介:王鹏霖,1988 年生,大学本科,籍贯:山东省五莲县,测量助理工程师,主要从事矿山测量工作

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文资料库 > 毕业论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。