|
AutoCAD具有开放的体系结构,是一种极其灵活的应用系统,用户可以通过编程的方式对其进行定制,它允许用户和开发者采用各种方法对其进行扩充和修改,即二次开发,能最大限度地满足用户的特殊要求。我们先对以往AutoCAD二次开发中用到的方法简单做一回顾,然后以Visual Basic6.0为编程工具,详细讨论应用ActiveX对AutoCAD进行二次开发的方法。
; r3 g0 k8 _; T: O(一)AutoCAD二次开发中用到的方法
6 W3 }! q0 N9 o; Y# ~1 AutoLISP
8 L' g+ x, v' A6 m AutoLISP(LIST Processing Language),它是一种表处理语言,是被解释执行的。它被嵌入在AutoCAD内部,作为二次开发的编程语言,她一直是低版本AutoCAD的首选编程语言。
1 w4 ~ J5 @( l f$ n: [" z2 autocad 的script文件& N2 ?1 |1 }. T4 E; h- k, V
script 文件是成批集成Autocad命令的文本文件,可以在Autocad中运行,早期国内CAD二次开发中应用较为普遍,这种方法比较容易实现,通过在外部程序中按照要求将绘图参数融合进script文件,然后利用autocad定制菜单实现绘图。/ v: t5 [8 U& j3 u# w5 V: B( R- s
3 ADS
2 S) C# e+ V2 _2 b+ cADS(AutoCAD Development System)是AutoCAD的C语言开发系统,它直接利用C语言编译器,将应用程序编译成可执行的文件在AutoCAD环境下运行,这种可执行的文件叫做ADS应用程序。ADS由于其速度快,又采用结构化的编程体系,因而很适合二次开发机械设计CAD、土木工程CAD等。
0 O4 V. L. a% ^5 K! a2 a; b4 ObjectARX
. _4 V/ z4 @0 G! M. Y: fObjectARX是一种崭新的开发AutoCAD应用程序的工具,她以C 为编程语言,采用先进的面向对象的编程原理,提供可与AutoCAD直接交互的开发环境,能使用户方便快捷地开发出高效简洁的Auto CAD应用程序。ObjectARX并没有包含在AutoCAD中,可在AutoDESK公司网站中去下载,其最新版本是ObjectARX for AutoCAD 2000,它能够对AutoCAD进行完整的、先进的、面向对象的设计与开发,并且开发的应用程序速度更快、集成度更高、稳定性更强。ObjectARX是一种特定的C 编程环境,她包括一组动态链接库(DLL),这些库与AutoCAD在同一地址空间运行并能直接利用AutoCAD核心数据结构和代码,库中包含一组通用工具,使得二次开发者可以充分利用AutoCAD的开放结构,直接访问AutoCAD数据库结构、图形系统以及CAD几何造型核心,以便能在运行期间实时扩展AutoCAD的功能,创建能全面享受AutoCAD固有命令的新命令。6 ~) [" x5 _: j! M4 ]
5 VisualLISP1 u. a; ]/ T5 }! u8 Y& c: t9 C
VisualLISP已经被完整地集成到AutoCAD 2000中,她为开发者提供了崭新的、增强的集成开发环境,一改过去在AutoCAD中内嵌AtuoLISP运行引擎的机制,这样开发者可以直接使用AutoCAD中的对象和反应器,进行更底层的开发。用它开发程序的时间被缩短,原始代码能被保密;能帮助大家使用ActiveX对象及其事件;使大家很容易创建和分析LISP程序的运行情况。
- @$ D* b: }5 Y: r7 q2 I: B6 VBA
; }& F8 C& M& U! |) E1 bVBA (即Mcrosoft office中的Visual Basic for Applications),被集成到AutoCAD 2000中。VBA为开发者提供了一种新的选择,也为用户访问AutoCAD 2000中丰富的技术框架打开一条新的通道。VBA和AutoCAD 2000中强大的ActiveX自动化对象模型的结合,代表了一种新型的定制AutoCAD的模式构架。通过VBA,我们可以操作AutoCAD,控制ActiveX和其它一些应用程序,使之相互之间发生互易活动。 |