利用CAD的内置“宏”解决水利水电施工测量成图问题.pdfVIP

利用CAD的内置“宏”解决水利水电施工测量成图问题.pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
利用CAD的内置“宏”解决水利水电施工测量成图问题.pdf

利用CAD的内置“宏”解决水利水电施工测量成图问题 陈剑华 严匡柠 (武警水电第二总队第七支队) 【摘要】 介绍利用AutoCAD计算机辅助绘图软件所内置的VBA开发环境,结合手工绘图的一般习 惯,采用VBA编制测量绘图宏语言的基本思路,以高效、经济地实现部分测量成图的自动化。 【关键词】 测量成图 AutoCAD VBA 1 问题的提出 对于水利水电工程施工测量的许多内业工作,诸如测量点展点、勾绘地形图及在地形图 上剖切断面等工作,是几项颇为繁琐的测量成图内业工作。这些工作如利用手工来完成,在 工作效率上以及在测量成图的精确上等各方面显然是无法满足现行的相关要求了。欲实现其 成图工作的自动化,目前完全可以通过很多测量专业绘图软件来完成,然而这些专业软件价 格却往往相当昂贵,且软件中大部分功能对于施工测量来说也纯属闲置。因此,高价购买一 个使用率不是很高的软件用于施工测量绘图实属不经济。 不难发现,市场上许多测量专业绘图软件大部分是在AutoCAD 的基础上开发的。实际 上,AutoCAD 自R14版本以来,先后提供了4种二次开发手段:AutoLISP 、ADS 、VBA和 ObjectARX 。其中VBA较为简单实用,且内嵌于其AutoCAD菜单“工具” 的“宏” 中,在该“宏” 中的VBA开发环境下不难实现上述成图的自动化。 2 VBA环境下实现施工测量成图自动化的技术要点 2.1 展点 欲将测量点展入AutoCAD中,首先需对测量数据按一定要求进行整理,如是手工记录的 数据,可在Micosfot Excel2000/97中按列的方式依次输入各点的(x,y,h)三维坐标值,如 为全站仪自动记录的数据,下载至自计算机后将其数据按列粘贴至Excel中即可。数据整理 后,存盘退出Excel,假定该数据文件名存为“C:\原始地形数据.xls”。 在AutoCAD“宏” 中的VBA开发环境下,先打开该开发环境下的菜单“工具”→“引用”,在“引 用”对话框中选中“Microsoft Excel 9.0 Object Library”,之后依次输入表1中代码,并运 行该宏即可将上述测量点展入AutoCAD中。 2.2 勾绘等高线 测量点展入AutoCAD中后,即可采用所编制的“宏”进行等高线勾绘工作。该宏根据手工 勾绘等高线的基本原理编制而成,由4个子宏组成,由于程序相对繁杂且代码较长,在此仅 简要阐述该宏自动勾绘等高线的基本思路及部分源代码。其基本思路为先确定需勾绘等高线 的边界范围,然后判断与每一边界线相临的测量点,利用与边界最近的点与该边界线组成三 角形,在该三角形内绘制等高线,并以该三角形的另两条边作为新的边界,从而逐渐缩小其 边界范围。 (1)确定需勾绘等高线的边界范围 确定边界是为了确保所有的等高线均在其范围内进行勾绘,同一组测量点数据可以作出 414 不同的边界范围,如图1 所示,显然右侧部分所生成的等高线范围比左侧部分小。因此,边 界范围宜根据实际地形情况来进行确定。 确定需勾绘等高线的边界范围主要源程序代码如表2所示。 图 1 表1 展点程序代码及说明 代 码 说 明 Option Explicit Dim Excel As Excel.Application Dim book ,sheet,point,texts As Object 定义相关变量 Dim p(0 To 2) As Double Dim str As String :Dim i As Integer Sub zd()

文档评论(0)

aiwendang + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档