什么是CAD二次開發(fā)? AutoCAD都有哪些二次開發(fā)工具?
AutoCAD具有開放的體系結(jié)構(gòu),他提供了多種開發(fā)工具,允許用戶和開發(fā)者對其功能進(jìn)行擴充和修改,即二次開發(fā),能最大限度地滿足用戶的特殊要求。
二次開發(fā)主要涉及以下內(nèi)容:
(1)編寫各種用戶自定義函數(shù)和命令,并形成若干LISP、ARX、VLX或ADS文件,以及一些DCL文件。
(2)建立符合自己要求的菜單文件,一般可在AutoCAD原菜單文件內(nèi)添加自己的內(nèi)容,對于AutoCAD2000以上版本還可增加部分菜單文件,然后經(jīng)交互方式加入到系統(tǒng)中去。
(3)在系統(tǒng)的ACAD.LSP或類似文件中加入某些內(nèi)容以便進(jìn)行各種初始化操作,如在啟動時立即裝入一些文件等。
(4)通過系統(tǒng)對話框設(shè)置某些路徑。這些操作在程序開發(fā)成功后向其它AutoCAD系統(tǒng)上安裝應(yīng)用,特別是需要大批安裝時,需要進(jìn)行很多文件檢索、內(nèi)容增刪、子目錄創(chuàng)建、文件拷貝、系統(tǒng)設(shè)置等繁瑣工作,如能令上述工作全部自動進(jìn)行,使整個二次開發(fā)程序在無人干預(yù)的情況下嵌入系統(tǒng),將大大提高工作效率。
下面簡單介紹一下AutoCAD所提供的一些二次開發(fā)工具:
1 AutoLISP
AutoLISP的全名是LIST Processing Language,她出現(xiàn)于1985年推出的AutoCADR2.18中,是一種嵌入在AutoCAD內(nèi)部的編程語言,是LISP原版的一個子集,她一直是低版本AutoCAD的首選編程語言。它是一種表處理語言,是被解釋執(zhí)行的,任何一個語句鍵入后就能馬上執(zhí)行,它對于交互式的程序開發(fā)非常方便。其缺點是繼承了LISP語言的編程規(guī)則而導(dǎo)致繁多的括號。LISP的擴展名為*.lsp,是純文本文件,在不同版本的CAD都可以直接加載運行。
2 VisualLISP
VisualLISP是在LISP基礎(chǔ)上增加了一些VL函數(shù),另外提供了一個有色代碼編輯器,集成在AutoCAD2000以上版本中,她可以直接使用AutoCAD中的對象和反應(yīng)器,進(jìn)行更底層的開發(fā)。其特點為自身是默認(rèn)的代碼編輯工具;用它開發(fā)AutoLISP程序的時間被大大地縮短,原始代碼能被加密,以防盜版和被更改;能幫助大家使用ActiveX對象及其事件;使用了流行的有色代碼編輯器和完善的調(diào)試工具,使大家很容易創(chuàng)建和分析LISP程序的運行情況。在VisualLISP中新增了一些函數(shù):如基于AutoLISP的ActiveX/COM自動化操作接口;用于執(zhí)行基于AutoCAD內(nèi)部事件的LISP程序的對象反應(yīng)器;新增了能夠?qū)Σ僮飨到y(tǒng)文件進(jìn)行操作的函數(shù)。
VLISP程序可以直接保存為*.lsp文件,也可以打包成*.vlx,*.fas文件,VLISP文件在不同CAD版本均可直接加載運行。網(wǎng)上流傳很多插件都是LISP或VLISP編寫的,他的主要優(yōu)勢就是簡單、可以跨版本運行。一些在AUTOCAD上開發(fā)的LISP工具,還可以直接在浩辰CAD等國產(chǎn)CAD上直接加載運行。
3 ADS
ADS的全名是AutoCAD DevelopmentSystem,它是AutoCAD的C語言開發(fā)系統(tǒng),ADS本質(zhì)上是一組可以用C語言編寫AutoCAD應(yīng)用程序的頭文件和目標(biāo)庫,它直接利用用戶熟悉的各種流行的C語言編譯器,將應(yīng)用程序編譯成可執(zhí)行的文件在AutoCAD環(huán)境下運行,這種可以在AutoCAD環(huán)境中直接運行的可執(zhí)行文件叫做ADS應(yīng)用程序。ADS由于其速度快,又采用結(jié)構(gòu)化的編程體系,因而很適合于高強度的數(shù)據(jù)處理,但跟C語言一樣,現(xiàn)在已經(jīng)被更高級的語言所代替,現(xiàn)在基本已經(jīng)很少有軟件使用了。
4 ObjectARX
ObjectARX是一種嶄新的開發(fā)AutoCAD應(yīng)用程序的工具,她以C++為編程語言,采用先進(jìn)的面向?qū)ο蟮木幊淘?,提供可與AutoCAD直接交互的開發(fā)環(huán)境,能使用戶方便快捷地開發(fā)出高效簡潔的AutoCAD應(yīng)用程序。ObjectARX并沒有包含在AutoCAD中,可在Autodesk公司網(wǎng)站中去下載,它能夠?qū)utoCAD的所有事務(wù)進(jìn)行完整的、先進(jìn)的、面向?qū)ο蟮脑O(shè)計與開發(fā),并且開發(fā)的應(yīng)用程序速度更快、集成度更高、穩(wěn)定性更強。ObjectARX從本質(zhì)上講,是一種特定的C++編程環(huán)境,她包括一組動態(tài)鏈接庫(DLL),這些庫與AutoCAD在同一地址空間運行并能直接利用AutoCAD核心數(shù)據(jù)結(jié)構(gòu)和代碼,庫中包含一組通用工具,使得二次開發(fā)者可以充分利用AutoCAD的開放結(jié)構(gòu),直接訪問AutoCAD數(shù)據(jù)庫結(jié)構(gòu)、圖形系統(tǒng)以及CAD幾何造型核心,以便能在運行期間實時擴展AutoCAD的功能,創(chuàng)建能全面享受AutoCAD固有命令的新命令。ObjectARX的核心是兩組關(guān)鍵的API,即AcDb(AutoCAD數(shù)據(jù)庫)和AcEd(Auto CAD編譯器),另外還有其它的一些重要庫組件,如AcRX(AutoCAD實時擴展)、AcGi(Auto CAD圖形接口)、AcGe(Auto CAD幾何庫)、ADSRX(AutoCAD開發(fā)系統(tǒng)實時擴展)。ObjectARX還可以按需要加載應(yīng)用程序;使用ObjectARX進(jìn)行應(yīng)用開發(fā)還可以在同一水平上與Windows系統(tǒng)集成,并與其它Windows應(yīng)用程序?qū)崿F(xiàn)交互操作。ARX是目前大多數(shù)復(fù)雜CAD二次開發(fā)軟件使用的開發(fā)工具。
5 VBA
VBA 跟Mcrosoft office中的Visual Basic for Applications一樣,可利用VB開發(fā)一些宏程序,它被集成到AutoCAD2000以上版本中。VBA為開發(fā)者提供了一種新的選擇,也為用戶訪問AutoCAD中豐富的技術(shù)框架打開一條新的通道。VBA和AutoCAD中強大的ActiveX自動化對象模型的結(jié)合,代表了一種新型的定制AutoCAD的模式構(gòu)架。通過VBA,我們可以操作AutoCAD,控制ActiveX和其它一些應(yīng)用程序,使之相互之間發(fā)生互易活動。
6 .net
AUTOCAD高版本提供的開發(fā)工具.
現(xiàn)在國產(chǎn)CAD,例如浩辰CAD和中望CAD提供上述所有二次開發(fā)接口,LISP程序通常都可以在這些軟件商直接運行,用AutoCAD的VBAARX.NET上二次開發(fā)的軟件全部都可以移植到這些國產(chǎn)CAD上,但由于其影響力目前還有限,主動移植的廠商很少,則也限制了這些國產(chǎn)CAD在很多行業(yè)的推廣,這些廠商在尋求合作的同時只能自己開發(fā)專業(yè)軟件,例如浩辰CAD就有建筑、水、暖、電、結(jié)構(gòu)、機械等多種專業(yè)軟件,這些軟件可以同時在浩辰CAD和AUTOCAD上運行,說明國產(chǎn)軟件的二次開發(fā)接口跟AUTOCAD高度兼容
-
Origin(Pro):學(xué)習(xí)版的窗口限制【數(shù)據(jù)繪圖】 2020-08-07
-
如何卸載Aspen Plus并再重新安裝,這篇文章告訴你! 2020-05-29
-
CAD視口的邊框線看不到也選不中是怎么回事,怎么解決? 2020-06-04
-
教程 | Origin從DSC計算焓和比熱容 2020-08-31
-
Aspen Plus安裝過程中RMS License證書安裝失敗的解決方法,親測有效! 2021-10-15
-
CAD外部參照無法綁定怎么辦? 2020-06-03
-
CAD中如何將布局連帶視口中的內(nèi)容復(fù)制到另一張圖中? 2020-07-03
