VBA在桩位坐标计算中应用.docVIP

  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文档。上传文档
查看更多
VBA在桩位坐标计算中应用

VBA在桩位坐标计算中应用   摘要:桩位坐标计算需要耗费大量的时间和精力,为了寻求一种高效、准确的计算方法,本文通过工程实例介绍了利用Microsoft Excel、AutoCAD提供的VBA功能编制程序,通过电子版图纸快速准确地计算出桩位测量坐标。   关键词:坐标,转换,Excel,AutoCAD,VBA   中图分类号:P123.2+1 文献标识码:A 文章编号:         1.引言   随着全站仪的普及,使用全站仪放样或复核桩位比较普遍,而坐标计算则是坐标放样中的重点和难点,不但花费大量时间,甚至因为数据不准确造成严重后果。目前桩位坐标通常是依据电子版设计图查询或依据设计图标注的尺寸推算。本文通过实例介绍通过Microsoft Excel 和AutoCAD2006软件内嵌的VBA语言,在CAD桩位图上自动编号,并从图上提取坐标保存到Excel工作表上,再根据建筑物外墙轴线交点(简称角桩)的测量坐标自动转换成测量坐标。此程序可按任意顺序、任意位置进行编号并提取坐标;操作简便,可大幅度提高桩基施工编号和放样效率。   2.VBA应用软件简介   Visual Basic for Applications(简称VBA)是新一代标准宏语言,是基于Visual Basic for Windows 发展而来的。VBA 易于学习掌握,有助于使工作自动化,提高工作效率。VBA 可以直接应用Excel、AutoCAD为平台,开发应用程序。   3.基于VBA 的桩位坐标提取程序实例   3.1编辑坐标提取程序   启动AutoCAD2006,打开桩位图,从菜单中,选择[工具]→[宏]→[Visual Basic 编辑器],或者按快捷键Alt+F11进入Visual Basic Edirtor。从编辑器菜单中,选择[工具]→[引用],在[可使用的引用]里勾选Microsoft Excel 11 Type Library,点[确定]离开;选择[插入]→[模块]在“模块1”中输入下列程序。   Sub 坐标提取()   Dim x(1), y(1) , EndPoint(2) As Double   Dim ReturnPoint As Variant   Dim i As Integer   Dim Ptext, Fname As String   Dim textObj As AcadText   Dim pointObj As AcadPoint   Dim lineobj As AcadLine   Dim Excel As Excel.Application   Dim ExcelSheet ,ExcelWorkbook As Object   Set Excel=New Excel.Application   Set ExcelWorkbook=Excel.Workbooks.Add   Set ExcelSheet=Excel.ActiveSheet   Fname=InputBox(请输入文件名。, , D:\桩位坐标.xls)   ExcelWorkbook.SaveAs Fname   ExcelSheet.Cells(1, 1).Value=桩号   ExcelSheet.Cells(1, 2).Value=纵坐标A   ExcelSheet.Cells(1, 3).Value=横坐标B   ExcelSheet.Cells(1, 4).Value=纵坐标X   ExcelSheet.Cells(1, 5).Value=横坐标Y   Do   ReturnPoint=ThisDrawing.Utility.GetPoint   If ReturnPoint(0)=y0 And ReturnPoint(1)= x0 Then Exit Do   EndPoint(1)=ReturnPoint(1)+500   EndPoint(0)=ReturnPoint(0)+500   Ptext=i-1 #   If i=0 Then   Ptext=角桩1   x0=ReturnPoint(1) : y0=ReturnPoint(0)   End If   If i=1 Then Ptext=角桩2   Set lineobj=ThisDrawing.ModelSpace.AddLine(ReturnPoint, EndPoint)    Set textObj= ThisDrawing.ModelSpace.AddText(Ptext, EndPoint, 800)   Set pointObj=ThisDrawing.Mod

文档评论(0)

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

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

1亿VIP精品文档

相关文档