分析AutoCAD二次开发方法的研究

2014-12-07 刘永波 泸州职业技术学院

  CAD 技术对于实现我国产业信息化具有重要的推动作用,它能够有效地体现一个国家的技术设计水平。然而由于技术的不断更新与完善,其功能的需求也会随之产生巨大变化,这就要求CAD 软件也要不断更新,因此有必要加强对AutoCAD 的二次开发。本文主要从当前AutoCAD 五种较为典型的开发工具及其优缺点、应用特点等方面分析AutoCAD 二次开发的方法。

  引言

  为了达到绘图工作更加规范、准确,减小计算绘图工作量,有效避免其重复性,使CAD 技术发挥出积极效用的目标,在通用CAD 软件的基础上,进行各种程度不同的本地开发,即AutoCAD 二次开发。它对于丰富CAD 附加功能,提升软件的操作速度,促进技术转化为较为先进的生产力等多方面都具有积极的意义,加强对AutoCAD 二次开发的方法研究至关重要。实现AutoCAD 的环境客户化的最为有效的途径即为AutoCAD 开发系统, 它主要提供了ADS、Visual LISP、VBA、Object ARX 以及AutoLisP 等五种非常典型的开发工具。仅将这五种开发工具视作AutoCAD 的使用功能,他们各自的特点及应用情况具体如下:

1、ADS 开发系统

  ADS 是以C 语言为基础的高级语言开发系统,它实质上是一个函数库,用户可通过C 语言进行程序编写,然后可直接调用ADS 开发系统中的函数库,运用用户熟知的C 语言编译器,实现应用程序向可执行的文件转化,并在AutoCAD 环境中运行,这类可执行的文件就被称作ADS 应用程序。ADS 非常适合于处理高强度的数据,例如,二次开发的土木工程CAD、建筑结构CAD 等。

  1.ADS 开发系统优点:(1)对于读取程序源代码而言,ADS 具有较好的可读性;(2)ADS 具备超大规模的处理能力;(3)在编译过程中还能同时检查程序的设计语言是否存在逻辑错误;(4)运用C 语言编译器编程代码之后,ADS 具备高速的执行能力。

  2. ADS 开发系统缺点:ADS 是以C 语言为基础,难以熟练地掌握与运用,程序源代码非常长,代码的效果难以体现;同时隐藏在ADS 中的逻辑错误容易造成操作系统整体崩溃。但由于ADS 运行较为快速、简单、稳定,仍是许多大型项目广泛采用的二次开发技术。

2、Visual LISP

  VisuaI LISP 本质上是一种代码编辑工具,它能够最大程度地缩短Auto LisP 程序开发的时间,且源代码的保密性非常好。在VisuaI LISP 中新增了部分函数,如调试工具与有色代码编辑器,具有面向事件与对象的特征。

3、VBA 语言

  VBA 的最大优势在于非常容易掌握,而且具有较高的代码运行效率。在AutoCAD 中,VBA 语言主要通过ActiveX 技术进行二次开发。ActiveX 控件通过动态链接库与其他的应用程序进行互易活动,它是ActiveX 技术的关键与核心,在保证合法操作的前提下,避免了开发过程中出现重复开发的现象。当AutoCAD 与VBA 结合运行时,就会形成一种新型的AutoCAD模型,此时可将AutoCAD 系统视作一个服务器端,而开发的程序则可视作为一个客户端,两者间利用Activex Automation 服务器进行相互协调,并利用Activex Automation 技术实现两者间的消息传递。但同时,运用VBA 进行程序的设计,AutoCAD的操作技巧不能够充分地体现出来,且不能够向AutoCAD 进行命令的注册,而且在执行过程中必须运用加载应用程序加载对应的dvb 文件,再通过工具菜单执行,比较复杂。

表一 AutoCAD 各种开发工具的性能及特点比较

分析AutoCAD二次开发方法的研究

4、Object ARX 应用程序

  Object ARX 实质上一个动态链接库程序(DLL)。ObjectARX 是以c++ 语言为基础,专门进行AutoCAD 二次开发的应用程序接口与开发环境,现阶段,大多企业多采用该技术进行AutoCAD 二次开发。Object ARX 运用DLL, 实现与AutoCAD 的地址空间的共享,并能够直接访问CAD 图形系统、数据库结构等,从而达到扩展AutoCAD 功能的目的。运用该技术进行二次开发的AutoCAD 软件具有较强的代码重用性,且模块化非常强,在开发时能最大限度地运用Windows 资源。但该程序存在着内存泄露的问题,会对AutoCAD 的安全造成直接影响。

5、Auto LisP

  Auto LisP 实质上是一种AutoCAD 内部的编程的表处理语言,对于任何语句都能够快速地执行,非常利于开发交互式程序。它的优点在于能够直接调用AutoCAD 的多数命令,同时能够实现绘图程序设计的参数化。但Auto LisP 效率较低,且速度慢。由此可见,除Object ARX 掌握较为困难之外,它的其余指标都比较具有优势。AutoCAD 开发人员在二次开发中可参考各类开发工具优缺点,根据实际情况择优选取。各种开发工具性能与特点比较如表一所示。

  综上所述,在大型专业且对性能、速度要求较高的应用程序中,Object ARX 应用程序以其可读性好、对AutoCAD 具有较好的控制能力以及系统智能性等优势,是AutoCAD 二次开发过程中的首要选择。同时,随着开发平台的不断完善,.net 开发平台在将来的AutoCAD 二次开发中具有广泛的应用前景。