Auto CAD二次开发技术比较
AutoCAD二次开发技术比较岳海云(甘肃政法学院,甘肃兰州730070)摘要:AutoCAD软件一直是CAD市场的主流产品,并以其功能强、用户界面友好,具有开放的体系结构和完善的开发系统,能够提供各种编程工具和接1:2用于满足不同层次用户的需要等优点,成为使用最为广泛的CAD软件和二次开发平台。本论述就Autodesk公司提供的四种主要的二次开发工具:AutoLISPⅣi—sualusP)、ADS、0bjeetARX及VBA(VB)这些技术试做一比较。关键词:CAD二次开发工具开发系统随着CAD技术的发展,CAD领域的支撑软件也越desk公司推出的AutoCAD系统软CAD的作用。1AutoLISP语言UsP语言是一种表处理语言,是广泛应用于人工CAD的一个典型例子就是实现参数化绘图的LISP替代。ADS(AutoCADDevelopmentSystem)开ADS是从AutoCADR11开始引入的基于C语言万方数据CAD内部,而是作为一组ALISP外部函数由AL_CAD运行。早期国内常见的应用软件多是用ADS进行开发的,但ADS程序必须经过ALISP解释加载,其各方面CADRl3中提供了面向对象的开发工具ARX。目前,AutoCAD提供的第一代开发工具ALISP和CAD二Lisp、ARX和VBA等。VisuaILISPVLISP是ALISP的发展,是一种可视化的LISP编LISP语言的扩展和延伸,可以通Automation接口与对象交互。VLISP提供了基于ActiveXAutomation技术的VBA(Vi—BasicforApplication)开发工具作为从AutoCADRl4之后提供的二次开发工具Automation接口向AutoCAD发送信息,可使许多面向对象编译语言2l基于C开发的专用语言。它包括了C的全部功能,是编译型语言,功能强大,克服了解释性语言所固有的许多缺点而具有速度快,安全性高的特点。ADS不包含于AutoISP解释器装入、解释并请求Auto性能受到限制。同时,随着网络技术的迅速发展,面向过程的ADS已有些不能适应CAD开发的需要,所以,在Auto来越多,其中,Auto件和在其上进行二次开发的工具在国内外各行各业使用非常广泛,是CAD市场的主流产品。但是许多企业购进AutoCAD软件,仅停留在计算机辅助绘图阶段,只是用作“代替图板”,而没有发挥其应有的作用。只有真正地在其上实现了二次开发,才能充分发挥Auto第二代开发工具ADS,由于已不适合当今Auto次开发的需求已逐渐被淘汰。现在二次开发大多选用第三代开发工具V3程开发环境,是Auto过ActiveX一个完整的集成开发环境(IDE),包括编译器、调试器智能的语言。ALISP语言是完全嵌套在AutoCAD内部的LISP编程语言,是LISP语言和AutoCAD有机结合和其他工具,使编写、修改代码以及测试和调试程序更加容易,可以提高二次开发的效率。VLISP适于描述人机交互操作的过程,善于编写模拟设计师思路的专业设计程序。对于各种用户输人的接受、错误识别与恢复的产物,它既具备一般高级语言的基本结构和功能,又具备一般高级语言所没有的图形处理能力。利用ALISP开发Auto程序设计。但也存在一些明显的缺点,例如:缺乏集成开发环境;面向过程的编程;采用解释方式,程序运行速度慢;其文件是ASCII码方式,无法编译,程序安全性差等,因此影响了该语言的发展,已被V2等操作具有相当优秀的功能,能充分发挥CAD功能的巨大作用和利用交互操作的技巧。4sualVBA(VB),使得用户不必学习ADS,ARX和ALISP就可以用VB(VB)来开发AutoCAD。VBA是内置到R14中的开发工具,采用VB语言的全部语法和崭新的格式,支持ActiveX控件,VBA通过ActiveX发系统开发应用程序的系统。它不是C语言的一个子集,而是和应用程序通过ActiveX与AutoCAD进行通信,并操纵AutoCAD的许多功能,如iava、VB、Vc++、Delphi、VBA等面向对象编程语言都可用于AutoCAD的二次开发。VBA的主要特点如下:ActiveXAutomation技术的完全面向对象编程的特点,使其开发环境具备了强大的开发能力和简单易用的优良传统,VBA(VB)可以通过ActiveXAutomation接口访问和控制AutoCAD所有图形对象和非图形对象,并且可以访问这些对象的方法和属性。同时,VBA可与AutoCAD在同一进程空间中运行,这使程序执行得非常快。VBA最早是内嵌在Omee97中的一种编程语言,VBA易学易用,功能强大。VBA嵌入到了AutoCAD中,使AutoCAD能容易地与其他Windows下的应用软件交互。VBA对话框设计能力比LISP所使用的DCL对话框设计工具好得多,多图档环境下的应用程序也比ALISP能提供更多的支持。但由于它是使用ActiveX与AutoCAD交互,程序设计比较复杂。VBA开发AutoCAD必须以VB语言为前提,但VBA并不完全等同于VB。VBA具有比较明显的几个缺陷:(1)VBA不能像VLISP一样比较自如地使用AutoCAD命令,只能用脚本文件的模式,以字串方式向AutoCAD命令行发送一串响应,这个字串的内容也只能在自己的程序中生成和进行数据转换。这样,许多交互操作的技巧,在VBA中不能直接借用。(2)VBA不能编译,源程序始终暴漏在最终用户面前。VBA很容易由于用户的误操作,使应用程序出错甚至崩溃,这也是ALISP的致命缺陷。5ObjectARX(AutoCADRuntimeExtend)开发系统近几年广为应用的ObieetARX是从AutoCADR13开始推出的第一个全新的面向对象的开发环境。它提供了以C++为基础的面向对象的开发环境及应用程序接口,能快速访问AutoCAD图形、数据库,支持面向对象编程方法,同时向下兼容ADS,所以对开发者的编程能力要求较高。它的特点是:ARX程序在很多方面与ADS程序和AUSP程序万方数据都不相同,其实质上是一个动态链接库(DLL),它和Au—toCAD共享地址空间并且直接和AutoCAD进行通信。在ARX中,每个命令都有独立的入口。ARX程序还可以创建新的类,这些类可以为其他程序所共享,从而充分利用面向对象编程的优点。ALISP和ADS都是通过内部进程通讯(IPC)来和AutoCAD通讯,它们与AutoCAD是相互分离的过程,而ARX以DLL形式和AutoCAD共享地址空间。因此,与前两者相比,速度更快、运行更稳定、更简单。但ARX更“脆弱”,ARX程序崩溃通常会导致AutoCAD系统的崩溃。ARX程序具有ADS程序和ALISP程序所不具备的访问和控制AutoCAD的能力。ARX程序可以监控和处理AutoCAD各种事件,可以定义AutoCAD命令,这些命令可以像AutoCAD自身的命令一样被ALISP和ADS所调用。ARX程序以C++为基本开发语言,具有面向对象的编程方式的数据可封装性、可继承性及多态性的特点,用其开发的CAD软件具有模块性好、独立性强、连接简单、使用方便、内部功能高效实现以及代码可重用性强等特点,并且支持MFC基本类库,能简洁高效地实现许多复杂功能。ARX在Autodesk内部和增值软件开发商中广泛使用。由于ARX是以Vc++作为基本程序设计语言,无论其效率、数据处理和软硬件的控制能力都是最好的,是唯一圆满地针对多图档环境的程序设计方法。是从根本上扩展VLISP的程序设计方法。总之,通过以上分析可以看出ALISP虽然作为AuwCAD的基本开发手段,它可以使一般开发者用于较为简单交互性程序的开发,但目前已被VLISP所替代。ADS将逐步被更为完善的ARX所取代。VBA则成为AumCAD用户二次开发的另一支生力军。AutoCAD提供的开发手段让各类开发者都能选择适合自己的开发工具。.参考文献:【11肖刚.等.机械CAD原理与实践【M】.北京:清华大学出版社,2006.【2】王玉琨.等.CAD二次开发技术及其工程应用【M】.北京:清华大学出版社,2008.【3]刘良华,朱东海.AutoCAD2000ARX开发技术【M】.北京:清华大学出版社,2000.
三亿文库3y.uu456.com包含各类专业文献、专业论文、中学教育、各类资格考试、幼儿教育、小学教育、高等教育、51Auto+CAD二次开发技术比较等内容。
- 国务院:2018年,“三调”就这样干 (2018-09-17)
- 国土空间规划专题研究 (2019-10-30)
- 国土空间规划概念内涵 (2019-10-30)
- 国土空间规划技术流程 (2019-10-30)
- 公司获"嘉英荟·南充双创大赛"市本级选拔赛获三等奖 (2018-11-30)