|
|
autoCAD荣登全球绘图软件的龙头宝座,主要是因为它具有开放的体系结构。它允许用户和开发者采用高级编程语言对其进行扩充和修改,即二次开发,能最大限度地满足用户的特殊要求。autocad第一版于1982年11月由autodesk公司推出,目前大家广泛使用的是autocad 2000或2002,最新版本是autocad 2004,其二次开发语言及工具也在不断地涌现,本文做了一些介绍。
1 autolisp
autolisp的全名是list processing language,她出现于1985年推出的autocad r2.18中,是一种嵌入在autocad内部的编程语言,是lisp原版的一个子集,她一直是低版本autocad的首选编程语言。它是一种表处理语言,是被解释执行的,任何一个语句键入后就能马上执行,它对于交互式的程序开发非常方便。其缺点是继承了lisp语言的编程规则而导致繁多的括号。
2 ads
ads的全名是autocad development system,它是autocad的c语言开发系统,ads本质上是一组可以用c语言编写autocad应用程序的头文件和目标库,它直接利用用户熟悉的各种流行的c语言编译器,将应用程序编译成可执行的文件在autocad环境下运行,这种可以在autocad环境中直接运行的可执行文件叫做ads应用程序。ads由于其速度快,又采用结构化的编程体系,因而很适合于高强度的数据处理,如二次开发的机械设计cad、工程分析cad、建筑结构cad、土木工程cad、化学工程cad、电气工程cad等。
3 objectarx
objectarx是一种崭新的开发autocad应用程序的工具,她以c++为编程语言,采用先进的面向对象的编程原理,提供可与autocad直接交互的开发环境,能使用户方便快捷地开发出高效简洁的autocad应用程序。objectarx并没有包含在autocad中,可在autodesk公司网站中去下载,其最新版本是objectarx for autocad 2000,它能够对autocad的所有事务进行完整的、先进的、面向对象的设计与开发,并且开发的应用程序速度更快、集成度更高、稳定性更强。objectarx从本质上讲,是一种特定的c++编程环境,她包括一组动态链接库(dll),这些库与autocad在同一地址空间运行并能直接利用autocad核心数据结构和代码,库中包含一组通用工具,使得二次开发者可以充分利用autocad的开放结构,直接访问autocad数据库结构、图形系统以及cad几何造型核心,以便能在运行期间实时扩展autocad的功能,创建能全面享受autocad固有命令的新命令。objectarx的核心是两组关键的api,即acdb(auto cad数据库)和aced(auto cad编译器),另外还有其它的一些重要库组件,如acrx(auto cad实时扩展)、acgi(auto cad图形接口)、acge(auto cad几何库)、adsrx(auto cad开发系统实时扩展)。objectarx 还可以按需要加载应用程序;使用objectarx进行应用开发还可以在同一水平上与windows系统集成,并与其它windows应用程序实现交互操作。
4 visuallisp visuallisp已经被完整地集成到autocad 2000中,她为开发者提供了崭新的、增强的集成开发环境,一改过去在autocad中内嵌atuolisp运行引擎的机制,这样开发者可以直接使用autocad中的对象和反应器,进行更底层的开发。其特点为自身是autocad 2000中默认的代码编辑工具;用它开发autolisp程序的时间被大大地缩短,原始代码能被保密,以防盗版和被更改;能帮助大家使用activex对象及其事件;使用了流行的有色代码编辑器和完善的调试工具,使大家很容易创建和分析lisp程序的运行情况。在visuallisp中新增了一些函数:如基于autolisp的activex/com自动化操作接口;用于执行基于auto cad内部事件的lisp程序的对象反应器;新增了能够对操作系统文件进行操作的函数。
5 vba
vba 即mcrosoft office中的visual basic for applications,它被集成到autocad 2000中。vba为开发者提供了一种新的选择,也为用户访问autocad 2000中丰富的技术框架打开一条新的通道。vba和autocad 2000中强大的activex自动化对象模型的结合,代表了一种新型的定制autocad的模式构架。通过vba,我们可以操作autocad,控制activex和其它一些应用程序,使之相互之间发生互易活动。
|
|