閱讀622 返回首頁    go 阿裏雲 go 技術社區[雲棲]


ObjectARX類庫簡介

ObjectARX環境包含下列幾組類和函數:

AcRx             用於綁定應用程序及運行時類的注冊和標識的類。AutoCAD Registration Extension;

AcEd             注冊本地AutoCAD命令和AutoACD事件通知的類。AutoCAD Envent Directory;

AcDb             AutoCAD數據庫類。AutoCAD DataBase ;

AcGi              顯示AutoACD實體的圖形類。 AutoCAD Graph Interface;

AcGe             公用線性數學和幾何學對象應用類。 AutoCAD Geometry Entity;

AcRx庫提供了一些係統級類,用於DLL的初始化和鏈接及運行時類的注冊和標識。該庫的基類是AcRxObject,它提供如下功能:對象運行時 類標識和繼承分析、運行時向既有類添加新協議、對象比較測試、對象複製。運行時類型標識是AcRxObject的每個子類都有一個相關的類描述者對象 (AcRxClass類型),用於運行時類型的標識。最常用函數:
        AcRxObject::isA();          用於類識別,被識別的類必須能夠測試其類型。
        AcRxObject::isKindOf();  也是用於類識別,但這裏的類能夠被測試其類型,或者測試其派生類的類型。
        AcRxObject::desc();     返回類名。
        AcRxObject::cast();    試圖將一個基類轉換成更高級的類。如果轉換成功,基類對象的指針將是轉換後類型的指針。

該庫也可以對應用程序進行加鎖或解鎖。使用函數::acrxUnlockApplication()可以使應用程序不可卸載。

AcEd庫提供定義和注冊新的AutoCAD命令的類,新命令的操作性能與AutoCAD內部命令是完全一樣的。我們定義的新命令被當作本地命令是 因為它們與AutoACD內部命令具有相同的內部結構(AcEdCommandStack)。AcEd庫還提供編輯器反應器和一套與AutoCAD通信的全局函數。注:該庫中一個重要的類是 AcEditorReactor,它監視AutoCAD編輯器的狀態,並當指定事件發生時(如形開始、終止和刪除命令)通知應用程序。

AcDb庫提供了組成AutoCAD數據庫的類。AutoCAD數據庫用於存儲所有的圖形對象和非對象;圖形對象稱為實體,組成AutoCAD圖; 非圖形對象(如層、線型和字型)也是圖形的一部分。同時我們可以使用AcDb庫查詢和管理AutoCAD實體的實體對象,也可以創建新的數據庫對象實例。 AutoCAD數據庫包含如下主要元素:九個符號表,每個表都擁有唯一的命令符號表條目對象,這些對象表示各種常用的AcDbDatabase對象和數據 成員;命名的對象詞典(類AcDbDictionary),提供AutoCAD圖的目錄表。對於新圖來說,該目錄表包含四個AutoCAD使用的其他詞典 ID,同時我們的應用程序可以任意向該詞典添加其他的對象;一套固定的環境變量,大約200個環境變量,其值上由AutoCAD設置的。

AcGi庫提供了用於繪製AutoCAD實體的圖形界麵,AcDbEntity成員函數worldDraw()、viewportDraw()和saveAs(),及所有標準實體協議部件都使用AcGi庫。

AcGe庫提供了應用類,如向量和矩陣,用來完成二維和三維幾何操作,它還提供基本的幾何對象,如點、曲線和表麵。AcGe還包含兩個主要子集:二維和三維幾何類,主要抽象基類分別為AcGeEntity2d和AcGeEntity3d。它提供了幾何計算和數學計算函數,如矢量、點、矩陣的的運算等。在cad中每一個實體都有一個相對應的等價幾何形狀,他有助於在創建對應的真實感實體時進行數學計算。該庫提供用於2D和3D計算的幾何函數。例如,如果一條直線通過一個圓的附近,且需要求出直線到圓上的最近點,那麼用庫中的幾何函數就可以求出所需要的點。

ObjectARX目錄結構

├─arxlabs           目錄存放AutoCAD ARX使用指南。

├─classmap        目錄存放AutoCAD圖形形式的ObjectARX類層次結構圖。

├─docs              目錄存放ObjectARX開發者的在線幫助文件,

├─inc                 ObjectARX頭文件。

├─lib                  ObjectARX庫文件。

├─redistrib         ObjectARX應用程序運行所需要的DLL文件。

├─samples          ObjectARX例子目錄。

└─utils               ObjectARX的擴展和開發小工具。如用於邊界表達的brep和ObjectARX向導ObjARXWiz。

AcRx: acad.lib, rxapi.lib, acdb16.lib
AcEd: acad.lib, rxapi.lib, acedapi.lib, acdb16.lib
AcDb: acad.lib, rxapi.lib, acdb16.lib
AcGi: acad.lib, rxapi.lib, acdb16.lib
AcGe: acad.lib, rxapi.lib, acgeapi.lib, acdb16.lib

最後更新:2017-04-03 08:26:17

  上一篇:go NYOJ308-Substring
  下一篇:go 路由器常用配置命令