搜索
您的当前位置:首页正文

CAD中用VBA编程求前方交会点

来源:榕意旅游网
第18卷第1期 2013年2月 新余学院学报 JOURNAL OF XINYU UNIVERSITY Vo1.18,NO.1 Feb.2013 CAD中用VBA编程求前方交会点 ●邓传军,潘建中 (江西工业工程职业技术学院, 江西摘萍乡 337055) 要:前方交会是解析控制点最基本的布设形式,介绍了一种在CAD软件中利用VBA编程求解前方交会点坐标的 方法。 关键词:CAD;VBA;前方交会 中图分类号:TP311.5文献标识码:A文章编号:2095—3054(2013)O1~0074一O2 在我国辽阔的土地上,已经布设了一系列高精度的大地 点(或称高级控制点),这些大地点的平面坐标和高程可以从 有关控制点成果表中查取。但是在很多地方,如矿山等,这些 点还比较稀少,必须根据实际需要,以大地点为基础,再发展 若干精度较低的解析控制点。 1概述 prompt4=vbCrLf&”输入第二角:” 在没有提示参考点的情况下获取第一个点 Pnt=ThisDrawing.Utility.GetPoint(,prompt1) j1=ThisDrawing.Utility.GetReal(prompt3) j2=ThisDrawing.Utility.GetReal(prompt4) startPnt(0)=Pnt(0) startPnt(1)=Pnt(1) 在通视良好的情况下,前方交会是解析控制点最基本的 布设形式,求前方交会点坐标的方法也就成了测量工作人员 startPnt(2)=Pnt(2) 热衷的话题。 利用上边起点作为参考点获取第二个点 由于矿山生产和各种技术改造时时在进行,滞后、静态的 Pnt=ThisDrawing.Utility.GetPoint(startPnt,prompt2) 管理严重制约矿山生产和技术改造的顺利进行。目前,CAD endPnt(O)=Pnt(0) 基础上开发的软件在矿山中得到广泛应用,为矿山生产、设计 endPnt(1)=Pnt(1) 工程施工、规划等提供有力保障,并为矿山生产顺利进行打下 endPnt(2)=Pnt(2) 坚实基础。现介绍一种在CAD中直观、方便快捷求解前方交 threePnt(0)=(startPnt(0)/Tan(j2¥3.1415926/ 会点的方法。在CAD软件中用VBA编好程序,同时制作好 180)+endPnt(0)/Tan(j1}3.1415926/180)一startPnt 工具按钮,按照命令行的提示输入观测数据,就可以很快求出 (1)+endPnt(1))/(1/Tan(jl¥3.1415926/180)+1/ 2 3.1415926/180)) 并在CAD的绘图区显示前方交会点坐标,而且在验证野外观 Tan(i测数据正确与否方面,即方便又直观。 threePnt(1)=(startPnt(1)/Tan(j2 3.1415926/ 2程序输入及按钮制作 180)+endPnt(1)/Tan(i1 3.1415926/l80)~endPnt (1)打开AutoCAD2000,选择工具主菜单下的宏子菜单下 (0)+startPnt(0))/(1/Tan(jl 3.1415926/180)+1 的Visual basic编辑器,输入程序并存为hx.dvb文件。具体代 /Tan(j2 3.1415926/180)) 码如下: Sub Ch3GetPointsFromUser() _threePnt(2)=0# Dim mtextObj As AcadMText Dim startPnt(0 To 2)As Double Dim endPnt(0 To 2)As Double 使用输人的两个点创建直线 ThisDrawing.ModelSpace.AddPoint startPnt Dim threePnt(0 To 2)As Double Dimj1 As Double ThisDrawing.ModelSpace.AddPoint endPnt ThisDrawing.ModelSpace.AddPoint threePnt Dimj2 As Double Dim Pnt As Variant Set mtextObj =ThisDrawing.ModelSpaee.AddMText (threePnt,4,”jiaopoint”) ThisDrawing.SetVariable”PDMODE”,34 ThisDrawing.SetVariable”PDSIZE”.1 ZoomA11 Dim promptl As Sting rDim prompt2 As String Dim pmmpt3 As String Dim prompt4 As String End Sub promptl=vbCrLf&”输入起点A:” prompt2=vbCrLf&”输入终点B:” prompt3=vbCrLf&”输入第~角:” 收稿日期:2012—09—12 (2)选择AutoCAD工具菜单主菜单下的加载应用程序, 在启动组中加入保存的hx.dvb文件,关闭各对话框。以后在 启动AutoCAD时,将自动加载此工程文件。 第一作者简介:邓传军(1974一),男,江西吉安人,副教授,硕士,主要从事工程测量教学与研究。 ・-——74--—— 邓传军,潘建中:CAD中用VBA编程求前方交会点 (3)打开视图菜单下工具栏(Toolbar)对话框,选取绘图 run命令前有小横线,后面要加空格,另外,路径必须是hx. 工具条,则绘图工具条出现在界面上。接着点自定义按钮,出 dvb文件保存的路径,路径中反斜杆的方向与一般的路径表 现自定义工具栏对话框,在此对话框的类别条目中选择自定 示方向相反)。再点编辑按钮,编辑按钮的图样,最后按关闭 义,下面将出现两个空白按钮,其中一个带小三角(可用鼠标 按钮,并关闭各对话框,就完成了按钮的制作。以后在打开 在小三角前点击,即可发现是两个按钮),将第一个空白按钮 AutoCAD时,此按钮和其他工具栏按钮一样可随时起作用了。 (不带小三角)拖至绘图工具栏中,绘图工具栏中出现一个空 3实例 白按钮,此时按自定义工具栏对话框的关闭按钮。当然,也可 (1)在AutoCAD中,用鼠标左键单击新建的前方交会按 以在工具栏对话框中点击新建,从而把新建按钮单独作为前 钮,按命令行提示再利用对象捕捉选择要进行前方交会的两 方交会按钮,后续工作同上(本文示例用到)。 已知点A和B,或直接输入两点的坐标。 (4)在工具栏对话框激活的情况下,在刚加入的空白按 (2)按命令行要求输入用经纬仪观测所得的交会角值, 钮上按鼠标右键,出现按钮特性对话框,在名称栏输入“前方 CAD软件自动求出前方交会点的坐标并显示在绘图区,同时 交会”字样,在宏栏输入 c C—vbarun e:/CAD/SAMPLE/ 交会点旁已用文本jiaopoint标明,最后成图。见图1所示。 VBA/hx.dvb!ThisDrawing.Ch3一GetPointsFromUser(注意:vba一 /k(4992 B(5681.04,29850.00) 5479.12 29282.88) 图1 4说明 程实现求前方交会点的一般思路和方法。实际上,为了避免 (1)鼠标左键单击新建的前方交会按钮后,命令行提示 外业观测发生错误,并提高未知点的精度,在一般测量规范 顺序为第一已知点,第一交会角,第二交会角和第二已知点。 中,都要求布设有三个起始点的前方交会。所以可以扩展 选择已知点时须注意,如果先选A点,再选B点,则交会点在 hx.dvb程序的功能,完善求前方交会的方法。 点A和B的下方,如果先选B点,再选A点,交会点位置如图 I所示。 参考文献: (2)为了验证野外观测数据和最终结果是否正确,可把 [1]沈金发.AutoCAD2000中文版使用速成[M].北京:清华 交会角在绘图区给显示出来,具体可通过修改标注样式的角 大学出版社,1999. 度显示来实现,此例用到角度标注精度为0d00’00.0”。 [2]徐海波,王恪典.AutoCAD应用基础[M].西安:西安交 (3)程序中的注释在程序录入时可忽略。 通大学出版社,2000. (4)hx.dvb程序在Windows2000和AutoCAD2000上调试 [3]赵长利,张强华.CAD五周通[M].北京:世界图书出版 通过,由于是直接计算,故结果准确。 公司 ̄1997. (5)此种方法前期工作比较复杂(如程序编写和录入、按 [4]马文来.建筑工程测量[M].北京:中国矿业大学出版 钮制作等),但完成以后求前方交会点的操作会非常简单,在 社.1999. 实际应用中效果很好。 [5]武汉测绘科技大学《测量学》编写组.测量学[M].武汉: (6)按钮制作在不同Autodesk版本下稍有不同,请参阅 测绘出版社.1993. 相关技术资料。 5结语 (责任编校:任华) 本示例编写的hx.dvb程序只是利用CAD软件的VBA编 Solution to forward point of intersection using VBA to compile procedure in CAD DENG Chuan—Jun.Pan Jian—Zhong (Jiangxi Industrial Engineering Polytechnic College,Pingxiang 337055 China) Abstract:Forward intersection is fundamentla distribution form of analytic control point.The paper introduces a convenient,straighffor- ward,efficient and ocular method of solution to the coordinate of forward point of intersection,namely,using VBA to compile procedure in CAD software. Key words:CAD;VBA;forward intersection 一75— 

因篇幅问题不能全部显示,请点此查看更多更全内容

Top