當前位置:才華齋>網路>CAD工程製圖>

AutoCAD二次開發有哪些開發工具

CAD工程製圖 閱讀(2.04W)

AutoCAD的二次開發主要涉及以下內容:

AutoCAD二次開發有哪些開發工具

(1)編寫各種使用者自定義函式並形成若干LISP、ARX、VLX或ADS檔案,以及一些DCL檔案。

(2)建立符合自己要求的選單檔案,一般可在AutoCAD原選單檔案內新增自己的內容,對於AutoCAD2000以上版本還可增加部分選單檔案,然後經互動方式加入到系統中去。

(3)在系統的或類似檔案中加入某些內容以便進行各種初始化操作,如在啟動時立即裝入一些檔案等。

(4)通過系統對話方塊設定某些路徑。這些操作在程式開發成功後向其它AutoCAD系統上安裝應用,特別是需要大批安裝時,需要進行很多檔案檢索、內容增刪、子目錄建立、檔案拷貝、系統設定等繁瑣工作,如能令上述工作全部自動進行,使整個二次開發程式在無人干預的情況下嵌入系統,將大大提高工作效率。

AutoCAD成為全球二維CAD的標準,主要是因為它具有開放的體系結構。它允許使用者和開發者採用高階程式語言對其進行擴充和修改,即二次開發,能最大限度地滿足使用者的特殊要求。

AutoCAD第一版於1982年11月由Autodesk公司推出,他之所以能進入中國,並快速普及,主要是一大批國內二次開發商的功勞,包括浩辰、圓方、大恆、天正等。因為二次開發軟體根據行業特點和專業設計需要講一系列CAD命令整合起來,比直接用CAD畫圖更簡單,因此在90年代中期,計算機還不太普及,很多人連開機都不會的情況下,簡單易用、傻瓜式的國產二次開發軟體對AutoCAD在國內的普及起到非常重要的作用。但隨後的十年時間裡,這些二次開發商只有少數還堅持只做二次開發,例如天正,而有些廠商被AutoCAD推出的同類應用軟體打垮,轉而成為Autodesk的`代理商,例如大恆等,還有一些開始開發自主的CAD平臺,並提供了類似的二次開發介面,例如浩辰CAD、中望CAD等。

下面簡單介紹一下AutoCAD所提供的一些二次開發工具:

  1、AutoLISP

AutoLISP的全名是LIST Processing Language,她出現於1985年推出的AutoCADR2.18中,是一種嵌入在AutoCAD內部的程式語言,是LISP原版的一個子集,她一直是低版本AutoCAD的首選程式語言。它是一種表處理語言,是被解釋執行的,任何一個語句鍵入後就能馬上執行,它對於互動式的程式開發非常方便。其缺點是繼承了LISP語言的程式設計規則而導致繁多的括號。

  3、ADS

ADS的全名是AutoCAD Development System,它是AutoCAD的C語言開發系統,ADS本質上是一組可以用C語言編寫AutoCAD應用程式的標頭檔案和目標庫,它直接利用使用者熟悉的各種流行的C語言編譯器,將應用程式編譯成可執行的檔案在AutoCAD環境下執行,這種可以在AutoCAD環境中直接執行的可執行檔案叫做ADS應用程式。ADS由於其速度快,又採用結構化的程式設計體系,因而很適合於高強度的資料處理,但跟C語言一樣,現在已經被更高階的語言所代替,現在基本已經很少有軟體使用了。

  4、ObjectARX

ObjectARX是一種嶄新的開發AutoCAD應用程式的工具,她以C++為程式語言,採用先進的面向物件的程式設計原理,提供可與AutoCAD直接互動的開發環境,能使使用者方便快捷地開發出高效簡潔的AutoCAD應用程式。ObjectARX並沒有包含在AutoCAD中,可在Autodesk公司網站中去下載,它能夠對AutoCAD的所有事務進行完整的、先進的、面向物件的設計與開發,並且開發的應用程式速度更快、整合度更高、穩定性更強。ObjectARX從本質上講,是一種特定的C++程式設計環境,她包括一組動態連結庫(DLL),這些庫與AutoCAD在同一地址空間執行並能直接利用AutoCAD核心資料結構和程式碼,庫中包含一組通用工具,使得二次開發者可以充分利用AutoCAD的開放結構,直接訪問AutoCAD資料庫結構、圖形系統以及CAD幾何造型核心,以便能在執行期間實時擴充套件AutoCAD的功能,建立能全面享受AutoCAD固有命令的新命令。ObjectARX的核心是兩組關鍵的API,即AcDb(AutoCAD資料庫)和AcEd(AutoCAD編譯器),另外還有其它的一些重要庫元件,如AcRX(AutoCAD實時擴充套件)、AcGi(AutoCAD圖形介面)、AcGe(AutoCAD幾何庫)、ADSRX(AutoCAD開發系統實時擴充套件)。ObjectARX還可以按需要載入應用程式;使用ObjectARX進行應用開發還可以在同一水平上與Windows系統整合,並與其它Windows應用程式實現互動操作。ARX是目前大多數複雜CAD二次開發軟體使用的開發工具。

  5、VisualLISP

VisualLISP已經被完整地整合到AutoCAD2000以上版本中,她為開發者提供了嶄新的、增強的整合開發環境,一改過去在AutoCAD中內嵌AtuoLISP執行引擎的機制,這樣開發者可以直接使用AutoCAD中的物件和反應器,進行更底層的開發。其特點為自身是預設的程式碼編輯工具;用它開發AutoLISP程式的時間被大大地縮短,原始程式碼能被保密,以防盜版和被更改;能幫助大家使用ActiveX物件及其事件;使用了流行的有色程式碼編輯器和完善的除錯工具,使大家很容易建立和分析LISP程式的執行情況。在VisualLISP中新增了一些函式:如基於AutoLISP的ActiveX/COM自動化操作介面;用於執行基於AutoCAD內部事件的LISP程式的物件反應器;新增了能夠對作業系統檔案進行操作的函式。

  6、VBA

VBA 即Mcrosoft office中的Visual Basic for Applications,它被整合到AutoCAD2000以上版本中。VBA為開發者提供了一種新的選擇,也為使用者訪問AutoCAD中豐富的技術框架開啟一條新的通道。VBA和AutoCAD中強大的ActiveX自動化物件模型的結合,代表了一種新型的定製AutoCAD的模式構架。通過VBA,我們可以操作AutoCAD,控制ActiveX和其它一些應用程式,使之相互之間發生互易活動。

  7

AUTOCAD高版本提供的開發工具。

雖然現在國產CAD,例如浩辰CAD和中望CAD提供上述所有二次開發介面,而且原來在AutoCAD上二次開發的軟體全部都可以移植到這些國產CAD上,但由於其影響力目前還有限,主動移植的廠商很少,則也限制了這些國產CAD在很多行業的推廣。

國產CAD現在從功能到二次開發介面,都仍在學習AutoCAD,並努力保證跟AutoCAD相容,這是目前市場狀況下不得以而為之。