分析AutoCAD二次開發方法的研究
CAD 技術對于實現我國產業信息化具有重要的推動作用,它能夠有效地體現一個國家的技術設計水平。然而由于技術的不斷更新與完善,其功能的需求也會隨之產生巨大變化,這就要求CAD 軟件也要不斷更新,因此有必要加強對AutoCAD 的二次開發。本文主要從當前AutoCAD 五種較為典型的開發工具及其優缺點、應用特點等方面分析AutoCAD 二次開發的方法。
引言
為了達到繪圖工作更加規范、準確,減小計算繪圖工作量,有效避免其重復性,使CAD 技術發揮出積極效用的目標,在通用CAD 軟件的基礎上,進行各種程度不同的本地開發,即AutoCAD 二次開發。它對于豐富CAD 附加功能,提升軟件的操作速度,促進技術轉化為較為先進的生產力等多方面都具有積極的意義,加強對AutoCAD 二次開發的方法研究至關重要。實現AutoCAD 的環境客戶化的最為有效的途徑即為AutoCAD 開發系統, 它主要提供了ADS、Visual LISP、VBA、Object ARX 以及AutoLisP 等五種非常典型的開發工具。僅將這五種開發工具視作AutoCAD 的使用功能,他們各自的特點及應用情況具體如下:
1、ADS 開發系統
ADS 是以C 語言為基礎的高級語言開發系統,它實質上是一個函數庫,用戶可通過C 語言進行程序編寫,然后可直接調用ADS 開發系統中的函數庫,運用用戶熟知的C 語言編譯器,實現應用程序向可執行的文件轉化,并在AutoCAD 環境中運行,這類可執行的文件就被稱作ADS 應用程序。ADS 非常適合于處理高強度的數據,例如,二次開發的土木工程CAD、建筑結構CAD 等。
1.ADS 開發系統優點:(1)對于讀取程序源代碼而言,ADS 具有較好的可讀性;(2)ADS 具備超大規模的處理能力;(3)在編譯過程中還能同時檢查程序的設計語言是否存在邏輯錯誤;(4)運用C 語言編譯器編程代碼之后,ADS 具備高速的執行能力。
2. ADS 開發系統缺點:ADS 是以C 語言為基礎,難以熟練地掌握與運用,程序源代碼非常長,代碼的效果難以體現;同時隱藏在ADS 中的邏輯錯誤容易造成操作系統整體崩潰。但由于ADS 運行較為快速、簡單、穩定,仍是許多大型項目廣泛采用的二次開發技術。
2、Visual LISP
VisuaI LISP 本質上是一種代碼編輯工具,它能夠最大程度地縮短Auto LisP 程序開發的時間,且源代碼的保密性非常好。在VisuaI LISP 中新增了部分函數,如調試工具與有色代碼編輯器,具有面向事件與對象的特征。
3、VBA 語言
VBA 的最大優勢在于非常容易掌握,而且具有較高的代碼運行效率。在AutoCAD 中,VBA 語言主要通過ActiveX 技術進行二次開發。ActiveX 控件通過動態鏈接庫與其他的應用程序進行互易活動,它是ActiveX 技術的關鍵與核心,在保證合法操作的前提下,避免了開發過程中出現重復開發的現象。當AutoCAD 與VBA 結合運行時,就會形成一種新型的AutoCAD模型,此時可將AutoCAD 系統視作一個服務器端,而開發的程序則可視作為一個客戶端,兩者間利用Activex Automation 服務器進行相互協調,并利用Activex Automation 技術實現兩者間的消息傳遞。但同時,運用VBA 進行程序的設計,AutoCAD的操作技巧不能夠充分地體現出來,且不能夠向AutoCAD 進行命令的注冊,而且在執行過程中必須運用加載應用程序加載對應的dvb 文件,再通過工具菜單執行,比較復雜。
表一 AutoCAD 各種開發工具的性能及特點比較
4、Object ARX 應用程序
Object ARX 實質上一個動態鏈接庫程序(DLL)。ObjectARX 是以c++ 語言為基礎,專門進行AutoCAD 二次開發的應用程序接口與開發環境,現階段,大多企業多采用該技術進行AutoCAD 二次開發。Object ARX 運用DLL, 實現與AutoCAD 的地址空間的共享,并能夠直接訪問CAD 圖形系統、數據庫結構等,從而達到擴展AutoCAD 功能的目的。運用該技術進行二次開發的AutoCAD 軟件具有較強的代碼重用性,且模塊化非常強,在開發時能最大限度地運用Windows 資源。但該程序存在著內存泄露的問題,會對AutoCAD 的安全造成直接影響。
5、Auto LisP
Auto LisP 實質上是一種AutoCAD 內部的編程的表處理語言,對于任何語句都能夠快速地執行,非常利于開發交互式程序。它的優點在于能夠直接調用AutoCAD 的多數命令,同時能夠實現繪圖程序設計的參數化。但Auto LisP 效率較低,且速度慢。由此可見,除Object ARX 掌握較為困難之外,它的其余指標都比較具有優勢。AutoCAD 開發人員在二次開發中可參考各類開發工具優缺點,根據實際情況擇優選取。各種開發工具性能與特點比較如表一所示。
綜上所述,在大型專業且對性能、速度要求較高的應用程序中,Object ARX 應用程序以其可讀性好、對AutoCAD 具有較好的控制能力以及系統智能性等優勢,是AutoCAD 二次開發過程中的首要選擇。同時,隨著開發平臺的不斷完善,.net 開發平臺在將來的AutoCAD 二次開發中具有廣泛的應用前景。