AutoCAD中用VBA进行二次开发在工程测量中应用.doc

AutoCAD中用VBA进行二次开发在工程测量中应用.doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
AutoCAD中用VBA进行二次开发在工程测量中应用

AutoCAD中用VBA进行二次开发在工程测量中应用   摘要:用VBA在AutoCAD平台上进行二次开发,创建非常好的应用程序,让那些绘制重复的测量绘图工作能自动执行,帮助我们自动地高效率地完成绘图任务。笔者应用生产实用的二个例题来说明AutoCAD中用VBA进行二次开发在工程测量中的应用。   中图分类号:TP391.72文献标识码:A文章编号:1007-9416(2011)05-0119-02      1、AutoCAD与VBA   AutoCAD是由Autodesk公司开发的工程绘图软件,是工程制图人员常用的绘图软件之一,功能十分强大,在测量工程领域广泛应用,AutoCAD除了具有强大的绘图功能,开放式体系结构也允许第三方开发者为它编写应用程序,显著增加了绘图工作效率。   VBA是Visual Basic for Applications的英文缩写,是由Microsoft创建的,它是一个功能强大的定制程序开发工具,用来自动执行任务的一个编程环境。VBA为AutoCAD的二次开发提供类似Visual Basic(VB)语言所拥有的功能,引入了对象的程序设计环境,为开发者提供了用来创建图形用户界面(GUI)的可拖拉工具和用来与AutoCAD对象交互的编程语言。   工程技术人员绘制图形时,也许会重复地一遍遍地执行着相同的绘图任务。如在地下管线测量任务时,一条街道上存在着具有各种不同属性的管线(通讯管线、军用光缆、上水管线、污水管线等),测量人员要用全站仪将成千上万的各种管线的特征点坐标测量出来,在AutoCAD上将这些具有相同属性的管线点连接起来绘制成综合管线图。用手工在AutoCAD上连接这些特征点绘制成管线图,那是一项乏味的、重复的、极低效率的工作,而且会由于绘图人员的工作疲劳和疏忽产生错误。如果我们的工程技术人员可以使用VBA在AutoCAD平台上进行二次开发,根据管线绘图任务定制应用程序,就可以帮助我们自动高效率地完成管线绘图任务。   2、为什么要使用VBA进行AutoCAD二次开发   使用VBA进行AutoCAD二次开发有哪些优点呢?最明显的优点是VBA要比Auto Lisp /Visual LISP、C++易学。基于Auto Lisp或C++语言来对AutoCAD进行二次开发的程序,对于一个非计算机编程技术专业的工程技术人员来说,前者的语言的因语句过于繁杂而难懂,后者与AutoCAD的接口技术过于繁琐而难以掌握。而用VBA进行AutoCAD二次开发,工程技术人员通过一段时间VBA的学习,就能够编写出许多能够满足特定绘图功能的VBA宏,甚至可以开发工程领域的设计、计算、绘图程序了。   AutoCAD2000所包含的VBA与Auto LISP的情形类似,即VBA与AutoCAD一起共享地址空间,与AutoCAD执行于同一处理程序,而与DCL、Auto LISP /Visual LISP相比,VBA在制作对话框方面有明显的优势,所以它也是适于取代DCL、Auto LISP /Visual LISP的二次开发工具。此外,VBA项目可以独立内嵌在AutoCAD图面中,为工程技术人员发布应用程序上有很大的用处与灵活性。   此外,VBA可以整合其它具有VBA功能的应用程序的能力。这使得AutoCAD可以成为其它应用程序(如Word、Excel或Access)的Automation控制器。通过AutoCAD ActiveX Automation接口,VBA将信息传送给AutoCAD,而AutoCADVBA也允许VBA环境与AutoCAD同时执行,并通过ActiveX Automation接口提供AutoCAD的程序。因此,AutoCAD、ActiveX Automation与VBA的结合,不仅可以操作AutoCAD的内部对象,还可以使用不同的程序语言,如,Exedl VBA、Word VBA、等来访问这些对象,在它们之间接收或传送数据。   3、使用VBA对AutoCAD进行二次开发的技术要点   ActiveX对象模型AutoCADObjects是AutoCADActiveX技术的基础,每一个对象都代表着AutoCAD的一个构图元素,编程人员可以通过VBA代码来访问。AutoCAD是按层结构来组织对象的。Application是最顶部层级的对象,可以间接或直接地访问模型中的所有对象;它的下面是Preferences与Document,其中Document对象包含:PaperSpace、ModelSpace、Plot、Utility与Blocks等对象,可调用当前的AutoCAD图形,而Preferences对象用来访问反映Options对话框中各页面的对象,并可进行选项设置;AutoC

文档评论(0)

189****7685 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档