CAD二次開發技術介紹

tags:    時間:2014-03-06 12:28:54
CAD二次開發技術介紹簡介
摘 要: 本文對CAD技術中的二次開發所需的語言及工具介紹歸納,得出了一些有用的結論,對於了解CAD二次開發技術的發展及其如何適應具有一定的意義 關鍵詞:CAD二次開發技術;AutoLI……
CAD二次開發技術介紹正文
摘 要: 本文對CAD技術中的二次開發所需的語言及工具介紹歸納,得出了一些有用的結論,對於了解CAD二次開發技術的發展及其如何適應具有一定的意義
關鍵詞:CAD二次開發技術;AutoLISP
1.前言
AutoCAD榮登全球繪圖軟體的龍頭寶座,主要是因為它具有開放的體系結構。它允許用戶和開發者採用高級編程語言對其進行擴充和修改,即二次開發,能最大限度地滿足用戶的特殊要求。AutoCAD第一版於1982年11月由AutoDESK公司推出,目前被大家廣泛使用的,最新版本是AutoCAD 2010,其二次開發語言及工具也在不斷地湧現
由於大量的應用領域提供了特有的幾何問題,對於這些問題必須建立有效的演算法,畫出更精確的圖形,這就是孕育CAD的二次開發,AutoCAD的二次開發主要涉及以下內容:(1)編寫各種用戶自定義函數並形成若干LISP、ARX、VLX或ADS文件,以及一些DCL文件。(2)建立符合自己要求的菜單文件,一般可在AutoCAD原菜單文件內添加自己的內容,對於AutoCAD2000版本還可增加部分菜單文件,然後經交互方式加入到系統中去。(3)在系統的ACAD.LSP或類似文件中加入某些內容以便進行各種初始化操作,如在啟動時立即裝入一些文件等。(4)通過系統對話框設置某些路徑。這些操作在程序開發成功後向其它AutoCAD系統上安裝應用,特別是需要大批安裝時,需要進行很多文件檢索、內容增刪、子目錄創建、文件拷貝、系統設置等繁瑣工作,如能令上述工作全部自動進行,使整個二次開發程序在無人干預的情況下嵌入系統,將大大提高工作效率。
2.CAD二次開發所涉及到的技術介紹
2.1AutoCAD二次開發的內容和工具
AutoCAD二次開發的主要目的是提高專業應用領域的工作效率,為專業繪圖建立標準,並使常用的或重複的任務自動化等。內容如下:
Ø      開發具有專業特點的用戶圖形界面
Ø      設計建立專業化的標準圖形庫
Ø      設計和規劃專業化的系統功能和命令集
AutoCAD二次開發的工具如下:
Ø      Auto LISP語言和Visual LISP開發環境
Ø      ActiveX和Visual Basic for Application (VBA)語言
Ø      Visual C++ 語言和ObjectARX開發環境
ObjectARX—AutoCAD Runtime Extension 編程環境,構造對象的 C++ 庫。這些庫用於開發 AutoCAD 應用程序、擴展 AutoCAD 類和協議,創建AutoCAD 內置命令相同的新命令。
2.2CAD二次開發所需語言及工具介紹
1VBA 即Mcrosoft office中的Visual Basic for Applications,它被集成到AutoCAD 2000中。VBA為開發者提供了一種新的選擇,也為用戶訪問AutoCAD 2000中豐富的技術框架打開一條新的通道。VBA和AutoCAD 2000中強大的ActiveX自動化對象模型的結合,代表了一種新型的定製AutoCAD的模式構架。通過VBA,我們可以操作AutoCAD,控制ActiveX和其它一些應用程序,使之相互之間發生互易活動。
2 ADS
ADS的全名是AutoCAD Development System,它是AutoCAD的C語言開發系統,ADS本質上是一組可以用C語言編寫AutoCAD應用程序的頭文件和目標庫,它直接利用用戶熟悉的各種流行的C語言編譯器,將應用程序編譯成可執行的文件在AutoCAD環境下運行,這種可以在AutoCAD環境中直接運行的可執行文件叫做ADS應用程序。ADS由於其速度快,又採用結構化的編程體系,因而很適合於高強度的數據處理,如二次開發的機械設計CAD、工程分析CAD、建築結構CAD、土木工程CAD、化學工程CAD、電氣工程CAD等。
3ObjectARX
ObjectARX是一種嶄新的開發AutoCAD應用程序的工具,她以C++為編程語言,採用先進的面向對象的編程原理,提供可與AutoCAD直接交互的開發環境,能使用戶方便快捷地開發出高效簡潔的Auto CAD應用程序。ObjectARX並沒有包含在AutoCAD中,可在AutoDESK公司網站中去下載,其最新版本是ObjectARX for AutoCAD 2000,它能夠對AutoCAD的所有事務進行完整的、先進的、面向對象的設計與開發,並且開發的應用程序速度更快、集成度更高、穩定性更強。ObjectARX從本質上講,是一種特定的C++編程環境,她包括一組動態鏈接庫(DLL),這些庫與AutoCAD在同一地址空間運行並能直接利用AutoCAD核心數據結構和代碼,庫中包含一組通用工具,使得二次開發者可以充分利用AutoCAD的開放結構,直接訪問AutoCAD資料庫結構、圖形系統以及CAD幾何造型核心,以便能在運行期間實時擴展AutoCAD的功能,創建能全面享受AutoCAD固有命令的新命令。ObjectARX的核心是兩組關鍵的API,即AcDb(Auto CAD資料庫)和AcEd(Auto CAD編譯器),另外還有其它的一些重要庫組件,如AcRX(Auto CAD實時擴展)、AcGi(Auto CAD圖形介面)、AcGe(Auto CAD幾何庫)、ADSRX(Auto CAD開發系統實時擴展)。ObjectARX 還可以按需要載入應用程序;使用ObjectARX進行應用開發還可以在同一水平上與Windows系統集成,並與其它Windows應用程序實現交互操作。
4 VisualLISP
VisualLISP已經被完整地集成到AutoCAD 2000中,她為開發者提供了嶄新的、增強的集成開發環境,一改過去在AutoCAD中內嵌AtuoLISP運行引擎的機制,這樣開發者可以直接使用AutoCAD中的對象和反應器,進行更底層的開發。其特點為自身是AutoCAD 2000中默認的代碼編輯工具;用它開發AutoLISP程序的時間被大大地縮短,原始代碼能被保密,以防盜版和被更改;能幫助大家使用ActiveX對象及其事件;使用了流行的有色代碼編輯器和完善的調試工具,使大家很容易創建和分析LISP程序的運行情況。在VisualLISP中新增了一些函數:如基於AutoLISP的ActiveX/COM自動化操作介面;用於執行基於Auto CAD內部事件的LISP程序的對象反應器;新增了能夠對操作系統文件進行操作的函數。

 

Bookmark the permalink ,來源:
One thought on “CAD二次開發技術介紹