您當前的位置:主頁>>AutoCAD>>AutoCAD二次開發(fā)  
           AutoCADActiveX簡介

           1.1 AutoCAD與ActiveXAutomation
    ActiveXAutomation是微軟公司推出的一個技術標準,該技術是OLE技術的進一步擴展,其作用是在Windows系統的統一管理下協調不同的應用程序,允許應用程序之間相互控制、相互調用。目前,ActiveXAutomation技術已經在Internet、Office系列辦公軟件的開發(fā)中得到了廣泛的應用。
    AutoCAD作為一種具有高度開放結構的CAD平臺軟件,它提供了強大的二次開發(fā)環(huán)境。從AutoCADR14版開始,AutoCAD引入了ActiveXAutomation技術。由于ActiveX技術是一種完全面向對象的技術,所以許多面向對象化編程的語言和應用程序,可以通過ActiveX與AutoCAD進行通信,并操縱AutoCAD的許多功能。
   AutoCADActiveX技術提供了一種機制,該機制可使編程者通過編程手段從AutoCAD的內部或外部來操縱AutoCAD。    ActiveX是由一系列的對象,按一定的層次組成的一種對象結構,每一個對象代表了AutoCAD中一個明確的功能,如繪制圖形對象、定義塊和屬性等等。ActiveX所具備的絕大多數AutoCAD功能,均以方法和屬性的方式被封裝在ActiveX對象中,只要使用某種方式,使ActiveX對象得以“暴露”,那么就可以使用各種面向對象編程的語言對其中的方法、屬性進行引用,從而達到對AutoCAD實現編程的目的。
           1.2 AutoCAD中的ActiveX對象模型樹
    在AutoCADActiveX中提供了各種封裝有AutoCAD功能的對象,這些對象可供應用程序通過編程來引用。根據功能的不同,可以把這些對象分成以下幾類:
(1)圖元(Entity)類對象:如直線、圓弧、多段線、文字、標注等。
(2)樣式設置(Style)類對象:如線型、標注樣式等。
(3)組織結構(Organizing)類對象:如圖層、編組、圖塊等。
(4)圖形顯示(View)類對象:如視圖、視口等。
(5)文檔與應用程序(Document&Application)類對象:如DWG文件或AutoCAD應用程序本身等。
所有這些對象都具有一種層次的關系,根據它們在AutoCAD中的功能,可以組成一種樹形結構,稱之為對象模型(ObjectModel)樹。圖37-1顯示了AutoCADActiveX的對象模型樹結構,其中“Document”對象的詳細結構見圖37-2。

圖中兩端有半圓弧的框代表對象(Object),而矩形框則代表集合對象(Collection)。
從圖37-1中可以看到,AutoCADActiveX對象模型樹具有一個根對象“Application”,它包括1個“Preference”對象和3個集合對象。
在“Docements”集合對象中的“Document”對象代表了當前的圖形文件,該對象下面又有Blocks(圖塊集合對象)、ModelSpace(模型空間集合對象)、PaperSpace(圖紙空間集合對象)等子對象,這些子對象又產生下一級的對象,如“Circle”、“Line”等,對應著AutoCAD中的各種圖元命令,分別可以在圖塊、模型空間或圖紙空間創(chuàng)建各種圖元。如圖37-2所示。


模型樹中的對象和集合對象,可分為三種類型:
(1)駐留于圖形數據庫的圖元:如“Line”、“Circle”等。
(2)駐留于圖形數據庫的對象:如“Block”、“ModelSpace”、“PaperSpace”等。
(3)不駐留于圖形數據庫的對象和集合對象:這些對象產生的數據不會嵌入DWG文件中,如“Document”、“Database”對象等。
民眾工作室.制作      版權所有