AutocadVBA在水運工程测量中的应用.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文档。上传文档
查看更多
AutocadVBA在水運工程测量中的应用

AutoCAD VBA在水运工程测量中的应用 包江 行莉 宁波上航测绘有限公司 摘要 本文简述了利用VBA编程语言对AutoCAD进行二次开发的原理和方法,并简单介绍一个以此原理开发的软件在水运工程测量中应用。 关键词 AutoCAD VBA AutoCAD二次开发 水深 高程系统转化 数据提取 一、引言 随着社会经济的发展,中国各港口掀起了一轮新的建设高潮。由于要考虑潮汐,而潮汐于各个港口又不一样,于是各个码头、港口建设所需的前期地形图、施工图,大都采用符合当地港口的高程系统,如广东采用广州高程或珠江高程,浙江、上海用吴淞高程,这些系统与国家目前采用的高程系统是有一定差值的。同时船舶航行又于当地最低潮位有关,因此航道图又采用当地理论最低潮面或当地航行基准面。有些航道由于回淤严重,致使航道内浮泥厚,水深变浅,但不影响船舶航行,因此会要求测适航水深。从上可以看出,适航水深是用高频测深仪测得的深度基准面以下的深度与适航浮泥层厚度之和,因此适航水深是在当地理论最低潮面或当地航行基准面根据适航浮泥厚度来改正水深值的。从上可以看出,在港口建设中,测量图会因为建设的目的不同而要求进行转化。但目前国内的大多数测量内业成图软件,虽然提供高程基面的转化,但都基于原始数据文件,并不能直接在AutoCAD图上转化,都要经过数据提取成文件—文件改正—展高程步骤,显然影响了工作效率。由于目前AutoCAD图是通用的,并且支持二次开发,因此我们可以对AutoCAD进行二次开发,提高工作效率。 二、AutoCAD二次开发工具概述 AutoCAD软件包是美国Autodesk公司推出的CAD(计算机辅助设计)软件,从AutoCAD第一版诞生到现在已有二十年的时间,是目前最流行的工程图形处理软件。由于它具有完善的绘图功能、良好的用户界面、易学易用等特点,因而被广泛地应用于测绘、规划、设计、土地管理等行业, AutoCAD为用户提供了多种二次开发工具,其中较常用的有AutoLISP、VBA、ObjectARX、*.net四种方式。AutoLISP是一种解释性的表结构处理语言,具有语言结构简单、开发周期短、不依赖于操作平台的特点,但是作为解释语言,其运行速度和保密性方面有一定的缺陷,并且不适合开发有复杂运算的软件。ObjectARX 是基于MicroSoft Visual的开发工具,一个ARX应用程序分享AutoCAD的地址空间并且函数可以直接为AutoCAD所调用,因而是运行速度最快的开发工具,但是MicroSoft Visual C++语言较复杂,开发ARX应用程序需要较多的软件开发经验,也不适合作为非软件开发专业人员的测绘工作者的开发工具。*.net语言是美国微软公司新开发的程序开发工具,AutoCAD支持的时间并布长,还有缺陷。Visual Basic(VB)是美国微软公司推出的程序开发工具,它简单易学,适用面广,在Windows平台上被广泛使用。VBA是VB的一个字集,从AutoCAD 14开始,就被集成其中,对有点编程基础的人都可容易的学会,可以作为测绘工作者进行程序设计的首选工具。 三、 VBA开发AutoCAD应用程序的原理及方法 1、ActiveX Automation技术 ActiveX Automation是微软公司的一个技术标准,其宗旨是在Windows系统的统一管理下协调不同的应用程序,允许这此应用程序之间相互沟通、相互控制,但两个应用程序间的沟通不是对等的,其中,一个程序称为客户程序(Client),另一个程序称为服务器程序(Server)。服务器程序提供一定的接口,可以使任何对象实现自动化。对象包含了一些外部接口,他们被称为方法与属性。方法是自动化的对象的一些函数,是提供给客户程序的外部公共成员函数。属性是一个对象的命名特征,既对象的一些公有数据域。一般情况下,由客户程序提出需要进行什么操作,服务程序针对操作申请,完成相应的命令。 2、AutoCAD下实现ActiveX Automation AutoCAD对AutoCAD本身增加了ActiveX自动化服务功能,即AutoCAD可以作为ActiveX的服务程序,我们可以从其它客户程序中操作AutoCAD。 VB是最为常用的支持ActiveX Automation技术的开发工具,它可以编制出ActiveX的客户程序,用来操作AutoCAD。即利用VB编制能与AutoCAD相沟通的应用程序,以此来实现AutoCAD的二次开发。 3、AutoCAD VBA的简单介绍 微软VBA软件包为AutoCAD提供二样东西:第一个是VBA语言引擎,它的作用是当用户写的应用程序被执行时逐条解释这些代码;第二个是VBA集成开发环境或简称IDE,它提供编辑

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档