中文名 | AutoCAD 二次開(kāi)發(fā) | 外文名 | AutoCAD Development System |
---|---|---|---|
目????的 | 提高效率建立適合本行業(yè)的平臺(tái) | ADS | 已經(jīng)淘汰的一種開(kāi)發(fā)AutoCAD環(huán)境 |
AutoLISP | 語(yǔ)言的優(yōu)點(diǎn)是語(yǔ)法規(guī)則簡(jiǎn)單 | VisualLISP | 引入面向?qū)ο蟮腖ISP開(kāi)發(fā)環(huán)境 |
從AutoCAD 2.18開(kāi)始推出AutoLISP開(kāi)始到現(xiàn)在,我們所能使用的開(kāi)發(fā)工具主要有:AutoLISP、VisualLISP、VBA、COM外部接口、ObjectARX、ObjectARX.NET等開(kāi)發(fā)方式供用戶選擇。下面開(kāi)始對(duì)上述開(kāi)發(fā)方式進(jìn)行簡(jiǎn)要介紹:
AutoLISP是進(jìn)行對(duì)AutoCAD二次開(kāi)發(fā)最早的API,它是人工智能語(yǔ)言LISP的一個(gè)分支.主要用來(lái)自動(dòng)完成重復(fù)性任務(wù),進(jìn)行客戶化開(kāi)發(fā)和編制AutoCAD菜單以及通過(guò)簡(jiǎn)單機(jī)制為AutoCAD擴(kuò)充命令,能夠有機(jī)的和AutoCAD結(jié)合在一起,它語(yǔ)法簡(jiǎn)單容易上手,到仍有很多的活躍開(kāi)發(fā)用戶。但是由于它是解釋型API而不是面向?qū)ο蟮木幊陶Z(yǔ)言,使它的效率低下,由于執(zhí)行的是源代碼文件所以導(dǎo)致保密性能不高很難用它開(kāi)發(fā)大型的應(yīng)用程序。
在AutoCAD R14.01中,Autodesk公司首次提供了一種新的LISP編程工具:Visual LISP,它是一種面向?qū)ο蟮拈_(kāi)發(fā)環(huán)境,是AutoLISP的擴(kuò)展和延伸。
在AutoCAD2000中,Visual LISP被集成到了AutoCAD環(huán)境之中。Visual LISP是一種半編譯的API。由于可以被編譯所以大大提高了運(yùn)行效率和安全性。同時(shí)它又與AutoLISP完全兼容,又提供了AutoLISP的所有功能,同時(shí)它又能夠訪問(wèn)AutoCAD的多文檔環(huán)境,以及對(duì)COM/ActiveX技術(shù)的支持和反應(yīng)器等。VisualLISP
IDE同時(shí)提供了完整的編輯環(huán)境使得用戶可以對(duì)代碼進(jìn)行調(diào)試跟蹤、源碼語(yǔ)法檢查、括號(hào)匹配、函數(shù)提示等工具,方便創(chuàng)建和調(diào)試LISP程序。由于VLISP集成于AutoCAD內(nèi)部,而且隨AutoCAD升級(jí)而升級(jí)所以兼容性比較好,這也是LISP深受廣大編程愛(ài)好者使用的原因。
但在進(jìn)行大數(shù)據(jù)的計(jì)算處理方面,Visual LISP不能很好的勝任這項(xiàng)任務(wù),這使得開(kāi)發(fā)大型數(shù)據(jù)運(yùn)算的程序仍有一定困難。
ADS(AutoCAD Development System)是Autodesk公司最早在AutoCAD R11中提供的C語(yǔ)言編程環(huán)境。ADS除可使用標(biāo)準(zhǔn)C的函數(shù)外,又增加了一組專用于對(duì)AutoCAD進(jìn)行操作的函數(shù)。由于ADS程序具有C語(yǔ)言的一切優(yōu)點(diǎn),因而它曾是開(kāi)發(fā)AutoCAD R11、AutoCAD R12應(yīng)用程序的主要工具。用C寫就的ADS程序,可在所有支持AutoCAD平臺(tái)上進(jìn)行源代碼移植。只需使用普通的C語(yǔ)言編譯器就可以編譯生成ADS模塊,與ADS庫(kù)和標(biāo)準(zhǔn)C庫(kù)鏈接后生成可執(zhí)行文件,裝入AutoCAD后即可運(yùn)行。但是ADS和AutoLISP一樣,內(nèi)在結(jié)構(gòu)不是面向?qū)ο蟮模肁utoLISP解釋器加載和調(diào)用,利用IPC與AutoCAD通訊。
ARX(AutoCAD Runtime eXtension)是在ADS基礎(chǔ)上發(fā)展起來(lái)的一種面向?qū)ο蟮腃語(yǔ)言編程環(huán)境。由ADS到ARX的變遷就像C到C 的轉(zhuǎn)變。ARX與老式的ADS及AutoLISP的最大差異在于ARX應(yīng)用程序是動(dòng)態(tài)鏈接庫(kù),共享AutoCAD地址空間,可以對(duì)AutoCAD進(jìn)行直接函數(shù)調(diào)用,避免了IPC的系統(tǒng)開(kāi)銷和由此引起的性
能下降。因此那些頻繁與AutoCAD通訊的應(yīng)用程序在ARX環(huán)境下的運(yùn)行效率明顯優(yōu)于老式ADS或AutoLISP環(huán)境。
ARX最早是在AutoCAD R13中提供的,但在AutoCAD R14中,ARX就被ObjectARX所代替。同時(shí)原來(lái)的ADS庫(kù)函數(shù)全部被包含在ObjectARX中,將ADS函數(shù)合為單一的庫(kù)就形成了ADSRX。ADSRX庫(kù)已納入到AutoCAD的總體結(jié)構(gòu)中,因此它與其他ObjectARX庫(kù)一樣,能共享AutoCAD地址空間。
到了新世紀(jì),傳統(tǒng)意義上的ADS開(kāi)發(fā)環(huán)境的概念已經(jīng)不復(fù)存在,且ADSRX已成為了ObjectARX的一個(gè)子集,因此,ObjectARX是包含了ADS、ARX和ADSRX的一種綜合的C/C 開(kāi)發(fā)環(huán)境。ObjectARX的最大特點(diǎn)是引入了面向?qū)ο蟮木幊虣C(jī)制,用戶可以根據(jù)規(guī)則定制實(shí)體也是ObjectARX的一大亮點(diǎn)。
自AutoCAD R14起,提供了ActiveX Automation形式的API。ActiveX技術(shù)可將各種二進(jìn)制應(yīng)用程序組件集成一體。它可采用多種編程方式例如:VBA構(gòu)造一種或多種與應(yīng)用程序獨(dú)立的宏編程。提供Automation服務(wù)的軟件組件通過(guò)標(biāo)準(zhǔn)接口能夠?qū)ν忾_(kāi)放它的特定功能。
正是由于AutoCAD擁有ActiveX接口,因此,用戶可以容易的用各種AciveX編程語(yǔ)言來(lái)定制開(kāi)發(fā)AutoCAD。
AutoCAD包含的VBA能在進(jìn)程內(nèi)訪問(wèn)AutoCAD的對(duì)象模型。亦可以通過(guò)獨(dú)立
的VB進(jìn)行編程,但是VB與ActiveX的接口需要通過(guò)IPC驅(qū)動(dòng)AutoCAD,所以作為ActiveX控件的VBA比VB具有明顯的性能優(yōu)勢(shì)。
特別要強(qiáng)調(diào)的是,ActiveX與AutoCAD交互操作很慢,若需要在外部程序中一邊運(yùn)算一邊交互操作的重復(fù)迭代,將耗費(fèi)大量時(shí)間,如同死機(jī)
值得注意的是,從AutoCAD 2010版本開(kāi)始,VBA不在隨AutoCAD一起安裝。如果想要在機(jī)器中運(yùn)行VBA程序必須登錄下面的網(wǎng)址進(jìn)行下載方可運(yùn)行。
在AutoCAD 2005 版本中Autodesk公司推出了用.NET開(kāi)發(fā)AutoCAD的編程接口。它的實(shí)質(zhì)是通過(guò)Managed C /CLR技術(shù)對(duì)VC 的ObjectARX進(jìn)行封裝。到AutoCAD 2015十年來(lái)Autodesk公司已經(jīng)完成對(duì)大部分ObjectARX編程接口的封裝。這種編程方式難度適中,能夠訪問(wèn)大部分的編程接口(除了自定義實(shí)體);但是,由于AutoCAD的.NET接口是在不斷的完善過(guò)程中導(dǎo)致了在低版本上不能夠使用新增的功能。
比較各種開(kāi)發(fā)AutoCAD的編程接口,需要從以下幾個(gè)方面進(jìn)行考慮:
1. 速度:直接與AutoCAD通訊的API比利用IPC進(jìn)行通訊的API在速度方面要快。編譯型的API比解釋型的API速度要快。因此,ObjectARX的速度最快,Com接口開(kāi)發(fā)的外部程序速度最慢。
2. 穩(wěn)定性:運(yùn)行穩(wěn)定性反映出因程序可能出現(xiàn)的嚴(yán)重錯(cuò)誤所導(dǎo)致的危險(xiǎn)。采用LISP開(kāi)發(fā)的程序一旦失敗或崩潰,并不危害AutoCAD自身進(jìn)程;而由于ObjectARX應(yīng)用程序共享AutoCAD的地址空間,所以其一旦運(yùn)行失敗,AutoCAD進(jìn)程隨之崩潰。
3. 性能:ObjectARX的應(yīng)用程序能在運(yùn)行期間實(shí)時(shí)擴(kuò)展AutoCAD,共享AutoCAD地址空間,甚至為所欲為,因此性能無(wú)比強(qiáng)大,以至于AutoCAD自身的許多功能模塊都是由ObjectARX進(jìn)行制作。相反,解釋型API如AutoLISP僅被限用于使用靜態(tài)的AutoCAD命令集提供結(jié)構(gòu)化函數(shù)庫(kù)
4. 技術(shù)難度:AutoLISP和VBA均是解釋型語(yǔ)言,方便易學(xué),開(kāi)發(fā)周期短。許多程序員或一些技術(shù)人員都在使用它們。相比之下ObjectARX依賴于C 語(yǔ)言,它必須經(jīng)過(guò)嚴(yán)格控制的編譯、鏈接才能生成應(yīng)用程序。這就需要編程人員需要積累經(jīng)驗(yàn),這樣才能去發(fā)現(xiàn)問(wèn)題從而解決問(wèn)題。
5. 保密性:編譯型程序要比解釋型保密性要好,保護(hù)了開(kāi)發(fā)人員的著作權(quán),解釋型語(yǔ)言往往保密性能不高。導(dǎo)致用戶誤操作源碼造成不應(yīng)有的錯(cuò)誤。
另外:雖然.NET開(kāi)發(fā)出來(lái)的DLL文件是編譯后的程序,但是由于其程序可以反編譯回源碼造成了代碼的保密性差,也是不容忽視的問(wèn)題。
相比之下,如果以前已熟悉使用LISP語(yǔ)言的朋友,則可選用VisualLISP。
如果用戶只想利用開(kāi)發(fā)一些簡(jiǎn)單的周期性短的應(yīng)用程序,則可以依個(gè)人愛(ài)好和經(jīng)驗(yàn)選擇Visual Basic和VisualLISP。若用戶有較好的C 基礎(chǔ)和AutoLISP函數(shù)基礎(chǔ),同時(shí)又要開(kāi)發(fā)速度和性能要求都很高的應(yīng)用程序或大型CAD應(yīng)用軟件,則要使用ObjectARX。2100433B
AutoCAD是在Windows和MAC系統(tǒng)中應(yīng)用最為廣泛、使用人數(shù)最多的CAD軟件。但它只給我們提供了基礎(chǔ)的CAD功能,如果我們想完成具體項(xiàng)目設(shè)計(jì),就必須根據(jù)數(shù)據(jù)一筆筆繪制出圖形,這樣一旦在設(shè)計(jì)完成之后,要更改局部圖形則需要重復(fù)原來(lái)的全部?jī)?nèi)容。造成了大量工作量的浪費(fèi)。
如果使用AutoCAD的開(kāi)發(fā)系統(tǒng),我們就可以將以上的過(guò)程用程序編制出來(lái),在需要設(shè)計(jì)時(shí),只需一個(gè)命令就可以運(yùn)行這個(gè)程序,自動(dòng)完成繪圖過(guò)程。顯而易見(jiàn),這不僅大大提高了設(shè)計(jì)效率,而且,還可以通過(guò)定制來(lái)完成某些專業(yè)化的模塊,甚至大型設(shè)計(jì)軟件,比如測(cè)繪行業(yè)的南方CASS軟件、建筑行業(yè)的天正CAD軟件等均是用AutoCAD開(kāi)發(fā)系統(tǒng)實(shí)現(xiàn)的。
因此,要想讓AutoCAD真正使用于某一具體領(lǐng)域,或讓其經(jīng)常完成一些重復(fù)性的工作,則必須利用AutoCAD的開(kāi)發(fā)系統(tǒng)對(duì)其進(jìn)行二次開(kāi)發(fā).
AutoCAD CAD 二次開(kāi)發(fā) CAD VBA開(kāi)發(fā)。
Dim BlockNameSt As StringSub DimDimaligned()On Error GoTo ErrDim Po(0 To 2) As DoubleDim Pr(0 To 2) ...
AutoCAD的二次開(kāi)發(fā)主要涉及以下內(nèi)容:(1)編寫各種用戶自定義函數(shù)并形成若干LISP、ARX、VLX或ADS文件,以及一些DCL文件。(2)建立符合自己要求的菜單文件,一般可在AutoCAD原菜單...
格式:pdf
大小:683KB
頁(yè)數(shù): 5頁(yè)
評(píng)分: 4.3
由于鍋爐技術(shù)的不斷創(chuàng)新,原有設(shè)計(jì)可借用率不斷下降,導(dǎo)致設(shè)計(jì)工作量大幅度增加。傳統(tǒng)的手工計(jì)算機(jī)制圖已無(wú)法滿足設(shè)計(jì)及項(xiàng)目要求,大量的計(jì)算工作及制圖工作量導(dǎo)致了出錯(cuò)率上升。使用C#語(yǔ)言對(duì)AutoCAD進(jìn)行二次開(kāi)發(fā)并組合前期計(jì)算,可以實(shí)現(xiàn)自動(dòng)化繪制鍋爐圖紙,有效的減少計(jì)算工作量,并最大程度的降低人為主觀錯(cuò)誤。
格式:pdf
大?。?span id="iqy9cv5" class="single-tag-height">683KB
頁(yè)數(shù): 4頁(yè)
評(píng)分: 4.4
Auto CAD是目前應(yīng)用較為廣泛的計(jì)算機(jī)輔助繪圖軟件,擁有良好的用戶界面,較完善的繪圖功能,操作簡(jiǎn)單的特點(diǎn),但是僅僅基于Auto CAD繪圖是不能滿足測(cè)量繪圖中的特殊需要。為此,概述了Auto CAD的一些基本知識(shí),并用VBA對(duì)Auto CAD進(jìn)行二次開(kāi)發(fā),解決繪圖中一些實(shí)際的問(wèn)題:批量展繪點(diǎn),批量構(gòu)造多段線、直線,批量變換點(diǎn)樣式等。實(shí)現(xiàn)了水文岸邊地形測(cè)量中,自動(dòng)繪制岸邊道路及建筑物功能。
第1章 AutoCAD定制與開(kāi)發(fā)概述
1.1 AutoCAD二次開(kāi)發(fā)特性
1.2 設(shè)置繪圖環(huán)境
1.3 用戶系統(tǒng)配置
本章小結(jié)
練習(xí)
第2章 形定義與圖形符號(hào)庫(kù)開(kāi)發(fā)
2.1 形的創(chuàng)建
2.2 圖形符號(hào)庫(kù)開(kāi)發(fā)
2.3 字體定義
本章小結(jié)
練習(xí)
第3章 線開(kāi)園與圖案文件的擴(kuò)充
3.1 線型的定制
3.2 填充圖案
本章小結(jié)
練習(xí)
第4章 菜單和工具欄的開(kāi)發(fā)
4.1 菜單及菜單文件
4.2 菜單文件的開(kāi)發(fā)方法
4.3 定制工具欄
本章小結(jié)
練習(xí)
第5章 VisualLISP程序設(shè)計(jì)
5.1 VisualLISP概述
5.2 VisualLISP基礎(chǔ)
5.3 VisualLISP內(nèi)部函數(shù)
5.4 VisualLISP應(yīng)用程序開(kāi)發(fā)實(shí)例
5.5 VisualLISP程序開(kāi)發(fā)環(huán)境
本章小結(jié)
練習(xí)
第6章 圖形轉(zhuǎn)換接口文件
6.1 命令組文件格式及實(shí)現(xiàn)
6.2 DXF文件格式及實(shí)現(xiàn)
本章小結(jié)
練習(xí)
第7章 對(duì)話框的設(shè)計(jì)與制作
7.1 概述
7.2 對(duì)話框管理程序設(shè)計(jì)
7.3 對(duì)話框應(yīng)用舉例
本章小結(jié)
練習(xí)
第8章 工程圖的二次開(kāi)發(fā)基礎(chǔ)
8.1 繪圖環(huán)境的設(shè)定
8.2 程序化繪圖過(guò)程
8.3 常用繪圖程序的編制
8.4 可視化圖庫(kù)建立方法
本章小結(jié)
練習(xí)
第9章 CAD開(kāi)發(fā)技術(shù)在機(jī)械設(shè)計(jì)中的應(yīng)用
9.1 視圖標(biāo)注程序設(shè)計(jì)
9.2 常用尺寸標(biāo)注程序設(shè)計(jì)
9.3 標(biāo)準(zhǔn)件圖庫(kù)設(shè)計(jì)
9.4 參數(shù)化圖形繪制
9.5 三維造型設(shè)計(jì)實(shí)例
本章小結(jié)
練習(xí)
第10章 CAD開(kāi)發(fā)技術(shù)在建筑設(shè)計(jì)中的應(yīng)用
10.1 常用建筑設(shè)計(jì)應(yīng)用程序
10.2 墻體設(shè)計(jì)程序設(shè)計(jì)
10.3 樓梯程序設(shè)計(jì)
本章小結(jié)
練習(xí)
第11章 CAD開(kāi)發(fā)技術(shù)在礦圖設(shè)計(jì)中的應(yīng)用
11.1 坐標(biāo)方格網(wǎng)繪制
11.2 邊界線程序設(shè)計(jì)
11.3 鉆孔符號(hào)繪制
11.4 斷層符號(hào)繪制
11.5 回采工作面及采空區(qū)處理
本章小結(jié)
練習(xí)
附錄AAutoCAD2004的系統(tǒng)變量一覽表
附錄B AutoCAD2004的尺寸標(biāo)注系統(tǒng)變量表
附錄C VisualLISP內(nèi)部函數(shù)
參考文獻(xiàn)
……2100433B
書(shū) 名: CAD二次開(kāi)發(fā)技術(shù)及其工程應(yīng)用
作 者:王玉琨
出版社: 清華大學(xué)出版社
出版時(shí)間: 2008
ISBN: 9787302167990
開(kāi)本: 16
定價(jià): 31.00 元
掌握AutoCAD穖基本操作后,通過(guò)本書(shū)可以取得以下收獲。AutoCAD系統(tǒng)的基本定制;AutoCAD系統(tǒng)的形、線型、圖案、菜單和工具欄等項(xiàng)內(nèi)容開(kāi)發(fā)方法;AutoLOSP語(yǔ)言的基礎(chǔ)知識(shí)和編程技巧;AutoCAD對(duì)話框的設(shè)計(jì)及應(yīng)用;AutoCAD系統(tǒng)命令的擴(kuò)充方法;工程應(yīng)用程序的開(kāi)發(fā)方法與技巧。