|
AutoCAD与ActiveX Automation* `& K. f1 q/ a" K! G t* p
ActiveX Automation是微软公司推出的一个技术标准,该技术是OLE技术的进一步扩展,其作用是在Windows系统的统一管理下协调不同的应用程序,允许应用程序之间相互控制、相互调用。目前,ActiveX Automation技术已经在Internet、Office系列办公软件的开发中得到了广泛的应用。
0 H' J6 J* c p* E# I AutoCAD作为一种具有高度开放结构的CAD平台软件,它提供了强大的二次开发环境。从AutoCAD R14版开始,AutoCAD引入了ActiveX Automation技术。由于ActiveX技术是一种完全面向对象的技术,所以许多面向对象化编程的语言和应用程序,可以通过ActiveX与AutoCAD进行通信,并操纵AutoCAD的许多功能。, k% T5 `7 U9 s$ v% k
AutoCAD ActiveX技术提供了一种机制,该机制可使编程者通过编程手段从AutoCAD的内部或外部来操纵AutoCAD。ActiveX是由一系列的对象,按一定的层次组成的一种对象结构,每一个对象代表了AutoCAD中一个明确的功能,如绘制图形对象、定义块和属性等等。ActiveX所具备的绝大多数AutoCAD功能,均以方法和属性的方式被封装在ActiveX对象中,只要使用某种方式,使ActiveX对象得以“暴露”,那么就可以使用各种面向对象编程的语言对其中的方法、属性进行引用,从而达到对AutoCAD实现编程的目的。
b* ~3 ^% l: Z1 a' U8 O37.1.2 AutoCAD中的ActiveX对象模型树5 E+ S) x! Q& L8 V: S. t4 S
在AutoCAD ActiveX中提供了各种封装有AutoCAD功能的对象,这些对象可供应用程序通过编程来引用。根据功能的不同,可以把这些对象分成以下几类:5 f: D( h5 K5 k& K, z1 j% l' h
(1) 图元(Entity)类对象:如直线、圆弧、多段线、文字、标注等。
2 b6 U# }0 A& h, R (2) 样式设置(Style)类对象:如线型、标注样式等。) j* X) e- M5 t. c. K5 n4 K
(3) 组织结构(Organizing)类对象:如图层、编组、图块等。 D0 A) p7 l* {" `6 S) k0 |
(4) 图形显示(View)类对象:如视图、视口等。1 F- O3 \5 B& W7 i# g$ ]: `, f
(5) 文档与应用程序(Document & Application)类对象:如DWG文件或AutoCAD应用程序本身等。% H7 i" @& m! ]) \7 b s+ d
所有这些对象都具有一种层次的关系,根据它们在AutoCAD中的功能,可以组成一种树形结构,称之为对象模型(Object Model)树。图37-1显示了AutoCAD ActiveX的对象模型树结构,其中“Document”对象的详细结构见图37-2。6 V5 B8 z/ d$ R4 u% M4 w. R3 R
: Z& { n: @" {& t- t3 k9 j 图中两端有半圆弧的框代表对象(Object),而矩形框则代表集合对象(Collection)。
, K5 j/ R B, x( [" g7 @; M 从图37-1中可以看到,AutoCAD ActiveX对象模型树具有一个根对象“Application”,它包括1个“Preference”对象和3个集合对象。
& M9 _7 l- k# o" _$ P/ Z) ] 在“Docements”集合对象中的“Document”对象代表了当前的图形文件,该对象下面又有Blocks(图块集合对象)、ModelSpace(模型空间集合对象)、PaperSpace(图纸空间集合对象)等子对象,这些子对象又产生下一级的对象,如“Circle”、“Line”等,对应着AutoCAD中的各种图元命令,分别可以在图块、模型空间或图纸空间创建各种图元。如图37-2所示。' E+ R3 m0 R' [5 R8 O) [; ^
X: f6 ^, w+ C& i% L2 q2 T }, W$ ?& D, y4 J
模型树中的对象和集合对象,可分为三种类型:& d- c' M0 e6 a( P7 A
(1) 驻留于图形数据库的图元:如“Line”、“Circle”等。& \9 W# y: P7 z; g2 @% J! L
(2) 驻留于图形数据库的对象:如“Block”、“ModelSpace”、“PaperSpace”等。0 w! t1 b: @. s# }) M K3 l8 _! o7 ?
(3) 不驻留于图形数据库的对象和集合对象:这些对象产生的数据不会嵌入DWG文件中,如“Document”、“Database”对象等。
+ K) z8 v# }4 \" \
0 X1 ?/ C, s9 W \8 f |
|
-
-
03.rar
2.16 KB, 下载次数: 4, 下载积分: G币 -1
-
-
04.rar
2.16 KB, 下载次数: 4, 下载积分: G币 -1
|