|
AutoCAD具有开放的体系结构,是一种极其灵活的应用系统,用户可以通过编程的方式对其进行定制,它允许用户和开发者采用各种方法对其进行扩充和修改,即二次开发,能最大限度地满足用户的特殊要求。我们先对以往AutoCAD二次开发中用到的方法简单做一回顾,然后以Visual Basic6.0为编程工具,详细讨论应用ActiveX对AutoCAD进行二次开发的方法。; u7 n$ ~/ S W t/ W; q% p# e0 l# B
(一)AutoCAD二次开发中用到的方法! P5 a) @! ^% f3 w$ h8 e; ^! X4 [
1 AutoLISP
& Q0 X! e4 f6 p8 F AutoLISP(LIST Processing Language),它是一种表处理语言,是被解释执行的。它被嵌入在AutoCAD内部,作为二次开发的编程语言,她一直是低版本AutoCAD的首选编程语言。' D0 R( k: n, a1 u
2 autocad 的script文件+ [) ?$ o5 e4 r+ I4 |2 I
script 文件是成批集成Autocad命令的文本文件,可以在Autocad中运行,早期国内CAD二次开发中应用较为普遍,这种方法比较容易实现,通过在外部程序中按照要求将绘图参数融合进script文件,然后利用autocad定制菜单实现绘图。6 k) `2 o5 {3 O q* o
3 ADS8 p) F, T7 `1 G
ADS(AutoCAD Development System)是AutoCAD的C语言开发系统,它直接利用C语言编译器,将应用程序编译成可执行的文件在AutoCAD环境下运行,这种可执行的文件叫做ADS应用程序。ADS由于其速度快,又采用结构化的编程体系,因而很适合二次开发机械设计CAD、土木工程CAD等。; M7 J7 W p( k, b6 k7 Y
4 ObjectARX
0 i& G$ H/ s8 z4 IObjectARX是一种崭新的开发AutoCAD应用程序的工具,她以C 为编程语言,采用先进的面向对象的编程原理,提供可与AutoCAD直接交互的开发环境,能使用户方便快捷地开发出高效简洁的Auto CAD应用程序。ObjectARX并没有包含在AutoCAD中,可在AutoDESK公司网站中去下载,其最新版本是ObjectARX for AutoCAD 2000,它能够对AutoCAD进行完整的、先进的、面向对象的设计与开发,并且开发的应用程序速度更快、集成度更高、稳定性更强。ObjectARX是一种特定的C 编程环境,她包括一组动态链接库(DLL),这些库与AutoCAD在同一地址空间运行并能直接利用AutoCAD核心数据结构和代码,库中包含一组通用工具,使得二次开发者可以充分利用AutoCAD的开放结构,直接访问AutoCAD数据库结构、图形系统以及CAD几何造型核心,以便能在运行期间实时扩展AutoCAD的功能,创建能全面享受AutoCAD固有命令的新命令。
% y% v& F" A: `2 X5 K5 VisualLISP: `& ]" t. b$ J+ E F. D( {
VisualLISP已经被完整地集成到AutoCAD 2000中,她为开发者提供了崭新的、增强的集成开发环境,一改过去在AutoCAD中内嵌AtuoLISP运行引擎的机制,这样开发者可以直接使用AutoCAD中的对象和反应器,进行更底层的开发。用它开发程序的时间被缩短,原始代码能被保密;能帮助大家使用ActiveX对象及其事件;使大家很容易创建和分析LISP程序的运行情况。5 o' J9 w) P% O6 L
6 VBA
5 j: C S$ x2 ~( B' `7 YVBA (即Mcrosoft office中的Visual Basic for Applications),被集成到AutoCAD 2000中。VBA为开发者提供了一种新的选择,也为用户访问AutoCAD 2000中丰富的技术框架打开一条新的通道。VBA和AutoCAD 2000中强大的ActiveX自动化对象模型的结合,代表了一种新型的定制AutoCAD的模式构架。通过VBA,我们可以操作AutoCAD,控制ActiveX和其它一些应用程序,使之相互之间发生互易活动。 |