首页

  1. 首页
  2. 测绘论文
  3. 内容

VBA程序设计在全站仪放线中的应用

【摘 要】随着科学技术的发展,建筑测量仪器的不断更新,全站仪的出现使得工程施工测量技术更加的准确和高效,与此同时却增加了极坐标内业计算的工作量。通过将施工图纸1:1在AutoCAD计算机辅助设计软件中放样,调用VBA程序设计,可完成便捷、直观和准确的极坐标计算。 
【关键词】VBA程序设计;全站仪;极坐标 
   
  传统的极坐标计算主要采用勾股定理和反三角函数来计算出目标点和控制桩点间的角度、距离关系,计算过程较为繁琐,当目标点较多,控制桩点变化时,都需要大量的重复和重新计算,工作量很大。如今极坐标计算多采用将目标点和控制桩点在AutoCAD计算机辅助设计软件中1:1放样,量取角度、距离值(或坐标点),虽然简化了计算程序,缩短了单位计算时间,但大量的重复和重新计算仍无法应对。现代工程日趋庞大和复杂,放线点成千上万,利用极坐标法,使用全站仪进行定位测量是最佳选择,但重复和重新计算、量取及整理数据就要成千上万次,甚至更多,不仅繁琐,而且容易出现错误。 
  为解决此问题,可通过VBA编程,将计算原理及操作步骤一次性写入源程序,今后只需在AutoCAD中调用此程序,在确定置镜点及后视点后,直接选取目标点即可完成极坐标计算及标注工作,使得操作更加便捷,结果更加直观,计算更加准确。在将施工图纸1:1在AutoCAD软件中放样完成的基础上,上百个点的计算及标注只需几分钟便可完成。 
  1 源程序设计 
  本程序设计基于全站仪在建筑工程中测量放线的基本原理,运用空间坐标点位置关系的计算规则,通过VBA语言环境及AutoCAD命令语句,实现了极坐标的标注计算工作。 
  本程序由标注式样的定义、标注格式的实现、极坐标的计算三大部分组成,进而达到操作便捷、标注直观、计算准确的目的,为测量内业计算提供了便利。 
  1.1 程序关键步骤分析 
  1.1.1 申明变量 
  根据编程及计算规则的需要,程序开始申明不同作用及类型的变量供编程使用。 
  1.1.2 设定出错陷阱 
  本程序通过“Do …… Loop”循环语句实现了目标点的无限选取,为避免死循环,通过“On Error”出错陷阱语句来控制循环的结束。当操作出现错误、点击鼠标右键或点击Enter(回车键)时,On Error语句后面的“GoTo Err_contorl”语句将在程序中搜索“Err_control”,并执行这一行后面的语句,本程序Err_Control:后设置结束语句,故只要出现错误或标注完成,程序将中止。 
  1.1.3 标注式样定义 
  本程序实现将所有标注放在同一个图层中并采用同一种文字式样标注,方便制图管理且保证标注清晰美观。 
  (1)图层定义 
  通过“For …… Next”语句对acad文件进行图层查找,如果找到标注图层,直接将找到的“极坐标标注”图层激活为当前图层;如果没有找到标注图层,则需新建名称为“极坐标标注”图层并将其设置为当前图层。 
  (2)标注文字定义 
  1.1.4 各点获取及标注格式的实现 
  通过“ThisDrawing.Utility.GetPoint()”语句获取坐标点,程序控制将手动获得的第一点分配为“全站仪置镜点”,第二点分配为“后视点”,3~n点分配为“目标点”。 
  标注格式中引出线定位点可手动自由获取,这样设计在标注操作时会更加灵活实用。其他定位点以引出线定位点为参考,确定其各自相对位置。 
  1.1.5 目标点极坐标计算 
  (1)距离计算 
  程序设计将获取的“全站仪置镜点”坐标赋值给变量P1,将“目标点”坐标赋值给P2,则P1、P2两点间距离计算可根据空间坐标点距离计算公式 求得。 
  距离计算源码如下: 
  “x = p1(0) - p2(0) 
  y = p1(1) - p2(1) 
  z = p1(2) - p2(2) 
  l = Int(Sqr((x ^ 2) + (y ^ 2) + (z ^ 2)) + 0.5)” 
  (注:四舍五入取整,精确到毫米。) 
  (2)方位角计算 
  通过“ThisDrawing.Utility.AngleFromX Axis()”语句分别获取置镜点与后视点连线,置镜点与目标点连线与以置镜点为原点的直角坐标系y轴之间的角度,我们所要求得的方位角为置镜点与目标点连线同置镜点与后视点连线之间的角度值,根据全站仪正倒镜测量方法的需要,可分别计算出顺时针及逆时针两个方向的互为360°的两个角度值。 
  下面以后视点在第一象限,目标点在第二象限为例,说明方位角计算方法: 
   P1为全站仪置镜点,P2为后视点,P2′为目标点。直线P1 P2 与y轴夹角为angle0,直线P1 P2′与y轴夹角为angle1,需求方位角为全站仪正镜(顺时针)角度值angle2及全站仪倒镜(逆时针)角度值angle2′: 
  angle2=angle1-angle0 
  angle2′=360°-(angle1-angle0) 
  2 总结 
  全站仪测量除可使用极坐标法外,也可通过坐标建站即坐标法实现测量工作,本程序稍加调整即可实现同平面内坐标点的连续计算及标注。 
  坐标法具有统一性,而极坐标法具有灵活性,二者科学合理配合使用将使测量工作变得更加高效,而二者的共同缺点就是增加了内业计算的工作量,将本文中的极坐标及坐标计算作为两个功能模块在AutoCAD中调用轻松解决了内业计算问题。 
  参考文献: 
  [1]武汉测绘科技大学《测量学》编写组。测量学,第3版,北京:测绘出版社,1993 
  [2]李青岳,陈永奇主编,工程测量学,北京:人民交通出版社,1995 
  [3]工程测量规范(GB50026-93),北京:中国计划出版社,1993 

相关文章

回到顶部
请复制以下网址分享
VBA程序设计在全站仪放线中的应用
http://m.civilcn.com/cehui/chlw/1470186623276912.html