AutoCAD开发环境的发展

2007-08-24 16:19:47 来源:模具网   

  从1986年AutoCADV2.18提供的Autolisp程序支持,

到1997年AutoCADR14中面向对象的开发环境ARX,AutoCAD

用于二次开发的开发方法及开发环境,一直在不断地发展

与完善。本文对这种发展做了简单的介绍。

  

本期要目

  多媒体

  VB4.0多媒体创作技巧

  实用网络

  E-mail工具FoxMail

  OA软件

  实用时钟

  硬件与维修

  利用微机串口做控制信号源

  

  一、综述

  AutoCAD是世界上最流行的通用CAD平台。在国内更是

用户众多,影响深远,尤其是在建筑行业和机械行业拥有

数十万的应用队伍,堪称CAD的标准平台。自1982年Autod

esk公司推出AutoCAD1.0,到今年推出的AutoCADR14,Au

toCAD经历了15年的发展。

  AutoCAD于1986年v2.18版时提供了AutoLISP程序设

计的支持,从此开始了可以在一个通用的CAD平台上添加自

己所需的特殊功能的能力。1987年AutoCADv2.6版推出,

Au?瞭oLISP得到一些改善,这也正是国内流行AutoCAD及A

utoCAD环境下开发编程的开始。1988年推出的Au?瞭oCADR

10开始使得AutoLISP程序可以在扩展内存中允许,这对于

编写稍大一点规模的应用程序提供了可能。AutoCAD第一

代开发工具开发出的第一代应用软件开始在国内流行。

  1990年推出的AutoCADR11第一次在PC版的Au?瞭oCAD

上提供了C语言开发环境ADS)的支持,这使得在AutoCAD

的上开发大规模的综合性的应用程序成了可能,AutoCAD

下的应用程序可以利用标准C语言提供的能力,编制出第一

代工具无法实现的应用。真正在国内普遍流行用第二代开

发工具开发AutoCAD,是在1992年推出的AutoCADR12的基

础上进行的。

  1994年推出的AutoCADR12上第一次提供了面向对象的

C++开发环境的支持ARX),这就是AutoCAD第三代开

发工具。AutoCAD本身在内核上也发生了本质的变化,尽管

最终用户并不会感觉到,但AutoCAD确实走向了一个开放

式的面向对象的CAD平台,为今后的进一步发展奠定了技术

基础?芤藕兜氖荝13上的ARX是个新生事物,本身不完善

,在不同的小版本上的ARX程序不兼容,直至R13C4版才较

为稳定。ARXSDK发布的初期所要求的开发环境也较为苛刻

要求MSVC2.1~2.2),现在已经可以利用MSVC4.x作

为开发环境。今年刚发布的AutoCADR14将是经三代开发工

具应用的舞台,一方面的R14对ARX的支持更加可靠和稳定

,另一方面ARX经过一定时间的摸索,二次开发商逐步具

备开发ARX应用程序的能力。

  

二、AutoLISP

  AutoLISP是AutoCAD内嵌的一种解释语言开发环境。A

utoCAD从v2.18版开始,一直支持这种开发环境。AutoLI

SP的大部分功能是直接针对AutoCAD,它是一种很好的交

互语言,很适合于CAD这类交互性很强的应用。

  AutoLISP有如下优点

  1.语言规则十分简单,易学易用

  AutoLISP来源了LISP语言,以一种通用的规则-表

LIST),来描述过程和数据。由于这种规则极其简单,一

个对计算机了解不太深入的工程专业人员,仅需经短期的

学习,就可以熟练掌握这门语言。LSIP语言的简洁性是其

它许多计算机语言所无法相比的,“万能”的表屏蔽了复

杂的过程,可描述任何数据结构。

  2.直接针对AutoCAD,易于交互

  AutoLISP提供的大多数函数都是直接针对AutoCAD的

操作,用AutoLISP编写访问AutoCAD图形数据库DWG)图

形数据库的操作

  3.解释执行,立竿见影

  程序员既可以一次运行一段AutoLISP代码,也可以在

AutoCAD的Command下逐条键入AutoLISP指令,立即得到结

果。

  随着计算机技术的发展,CAD编程更加复杂,代码越

来越庞大,AutoLISP的缺点的愈来愈明显

  1.功能单一,综合处理能力差

  2.解释执行,程序运行速度慢

  3.缺乏很好的保护机制,软件质量不易保证

  4.LISP用来表描述一切,并不能很好的反映现实世

界和过程,跟人的思维方式也不太一致。

  5.AutoLISP的这些特点,仅适合于有能力的终端用

户做些自己的开发任务。

  

三、ADS

  ADS是AutoCADR11开始支持的一种基于C语言的灵活的

开发环境。

  R11上的ADS程序的编译环境是不流行的C编译器,Hig

hC和WatcomC以及ZotechC。R12DOS虽然支持流行的实模式

的BorlandC/C++编译器和MicrosoftC/C++编译器,

但640K的局限性太大,R12DOS上的主要编译器仍是HighC

和WatcomC。在R12Windows版上,Borland公司和Microsoft

公司的编译器已经可以很好的发挥作用了,不过从运行效

率和规模较大的应用程序来看,Watcom公司的编译器是更

好的选择。

  ADS程序的许多特点正好同AutoLISP相反,它比AutoL

ISP程序优越的地方在于

  1.具备错缩复杂的综合大规模处理能力;

  2.编译成机器码后执行,速度快;

  3.编译时可以检查出程序设计语言的逻辑错误;

  4.程序源码的可读性好于LISP。

  和AutoLISP相比,不便之处在于

  1.C语言比LISP语言要复杂的多,难以在短时间内掌

握,熟练应用需求更长的周期。

  2.ADS程序的隐藏错误,往往导致AutoCAD,乃至操

作系统的崩溃。

  3.需要编译才能运行,不易见到代码的效果。

  4.同样功能C语言的ADS程序一般比AutoLISP程序的

源代码要长不少,比较繁冗。

  用ADSC++进行编程有如下优势

  1.全部面向对象的编程,使得程序层次分明,清晰

可读,从而提高软件的可维护性。

  2.经过良好封装ADSC++的程序代码比ADSC程序简

洁的多,许多时候比AutoLIPS更简洁。

  3.ADSC++的程序能够减少程序出现错误的概率,

经C++封装后的选择集和实体不再需要调用adsμssfree

和adsμrelrb进行内存释放,可以由对像的析构函数负责

内存的释放。

  

四、ARX

  ARX是AutoCADR13之后推出的一个全新的面向对象的

开发环境,也是AutoCAD第一次直接提供面向对象的第二次

开发工具。ADSC/C++使得可以在AutoCAD上开发大规模

综合应用软件,然而计算机技术的发展不仅要求CAD的交

互性、综合性,同时对自动化、智能化也提出了更高的要

求。可以说AutoLISP着眼于应用程序的交互性,ADSC/C+

+着眼于应用程序的综合性,而ARX则着眼于应用程序的

智能性。

  ARX程序有如下特征

  1.能力强

  ARX程序具有ADS程序和AutoLISP程序所不能具备的访

问和控制AutoCAD的能力。ARX程序可以监控和处理AutoCA

D的各种事件,可以定义AutoCAD命令,包括可以透明执行

的命令,这些命令可以象AutoCAD自身的命令一样被AutoL

ISP和ADS调用。可以定义AutoCAD数据库对象,包括可见

的实体和不可见的字典,这些对象的行为由程序规定,包

括对象的在各个视窗中的显示和对各种事件的响应。ARX定

义的实体往往可以用较少的数据,就可以实现较复杂的显

示,有利于减少磁盘文件的尺寸。ARX-COM程序是新一代

开放式ActiveX程序,可以被其它Windows应用程序访问。

  2.速度快

  这里指的是访问AutoCAD数据库的速度。ARX应用程序

本身是AutoCAD的一部分,即被ACAD.EXE调用的动态连接

DLL),拥有同AutoCAD一样的内存地址空间,直接访

问AutoCAD的各种内存对象。过去AutoLISP和ADS都是通过

函数间接的访问AutoCAD,以ADS读取AutoCAD数据库为例

,通过ADS库函数取得把AutoCAD数据库对象变换成resbuf

链表,然后访问resbuf链表,需要变换数据结构和遍历链

表两步时间开销。这样在访问AutoCAD数据库的操作上,AR

X应用程序比AutoLISP和ADS的速度要快的多。

  3.面向对象的编程

  ARX提供了六个主要类库来访问和控制AutoCAD及处理

CAD常见的事物,它们是

  1).AcRxAutoCAD运行扩展库

  2).AcEdAutoCAD命令扩展库

  3).AcDbAutoCAD数据库访问库

  4).AcGe通用几何库

  5).AcGiAutoCAD图形界面库

  6).AcBr边界描述库

  然而,ARX应用程序比ADS程序具备更大的危险性和破

坏必ARX程序设计比ADS要复杂的多,程序设计的错误,经

常导致AutoCAD崩溃,甚至操作系统的崩溃。程序员需要

有很高的职业素质,才能编制好ARX应用程序。此外,ARX

应用程序是一个动态连接库,调试时需频繁启动AutoCAD,

额外的时间开销比Windwos下的ADS要多。这些都说明,开

发ARX应用程序,需要更多的投入。

(责任编辑:小编)
下一篇:

第三届 CHINAPLAS x CPRJ 塑料回收再生与循环经济论坛暨展示会

上一篇:

建立在AutoCAD R14上的重头戏AutoCAD Map

  • 信息二维码

    手机看新闻

  • 分享到
免责声明
• 
本文仅代表作者个人观点,本站未对其内容进行核实,请读者仅做参考,如若文中涉及有违公德、触犯法律的内容,一经发现,立即删除,作者需自行承担相应责任。涉及到版权或其他问题,请及时联系我们