AutoCAD二次開(kāi)發(fā)工具的比較_第1頁(yè)
AutoCAD二次開(kāi)發(fā)工具的比較_第2頁(yè)
AutoCAD二次開(kāi)發(fā)工具的比較_第3頁(yè)
AutoCAD二次開(kāi)發(fā)工具的比較_第4頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余1頁(yè)可下載查看

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、AutoCAD 二次開(kāi)發(fā)工具的比較 AutoCAD是美國(guó)Autodesk公司的產(chǎn)品,是當(dāng)今世界最為流行的計(jì)算機(jī) 輔助設(shè)計(jì)軟件之一, 廣泛應(yīng)用于機(jī)械、 建筑、電子、工程等許多領(lǐng)域。 它如此風(fēng)靡的原因除了具有各種強(qiáng)大的繪圖及編輯功能、 友好的用戶 界面、易于操作等特性之外,還在于它所具有的開(kāi)放式結(jié)構(gòu)( Open Architecture,即允許用戶開(kāi)發(fā)自己的命令、標(biāo)準(zhǔn)庫(kù)文件和各種應(yīng)用程 序)使得通過(guò)對(duì) AutoCAD 進(jìn)行二次開(kāi)發(fā)來(lái)完成各類設(shè)計(jì)工作變得更加 容易。 現(xiàn)在對(duì) AutoCAD 二次開(kāi)發(fā)工具的幾種方法作一個(gè)介紹,對(duì)比各自 的優(yōu)勢(shì)及不足,給出各自的適用條件。 1.AutoLISP Auto

2、LISP 是 AutoCAD 最早的一種二次開(kāi)發(fā)語(yǔ)言。它是一種嵌入 在AutoCAD內(nèi)部的CommonLisp程序設(shè)計(jì)語(yǔ)言子集,并擴(kuò)充了極強(qiáng)的 圖形處理功能。 此外還可為 AutoCAD 添加某些特殊的函數(shù)功能, 如制 作幻燈片、菜單等。 AutoLISP 應(yīng)用程序既可完成通常的科學(xué)計(jì)算和數(shù)學(xué)分析, 又能直 接調(diào)用幾乎全部 AutoCAD 命令。這兩者的有機(jī)結(jié)合,使它成為專業(yè) CAD開(kāi)發(fā)者強(qiáng)有力的理想工具。而Lisp是目前研究和開(kāi)發(fā)人工智能與 專家系統(tǒng) CAD 的主要編程語(yǔ)言。 AutoLISP 有如下優(yōu)點(diǎn):(1)語(yǔ)言規(guī)則十分簡(jiǎn)單,易學(xué)易用。對(duì)計(jì) 算機(jī)了解不太深入的工程專業(yè)人員, 僅需經(jīng)短期的

3、學(xué)習(xí), 就可以熟練 掌握這門語(yǔ)言。該語(yǔ)言的簡(jiǎn)潔性是其它許多計(jì)算機(jī)語(yǔ)言所無(wú)法相比 的。(2)直接針對(duì)AutoCAD,解釋執(zhí)行,易于交互。AutoLISP提供 的大多數(shù)函數(shù)都是直接針對(duì) AutoCAD操作的,用AutoLISP可編寫(xiě)訪 問(wèn)AutoCAD圖形數(shù)據(jù)庫(kù)(DWG )的操作。(3)解釋執(zhí)行立竿見(jiàn)影。 程序員既可以一次運(yùn)行一段AutoLISP代碼,也可以在AutoCAD 的” Comma nd”下逐條鍵入AutoLIS P指令,立即得至U結(jié)果。 隨著計(jì)算機(jī)技術(shù)的發(fā)展,CAD編程逐漸復(fù)雜,代碼越來(lái)越龐大, AutoLISP的缺點(diǎn)也越來(lái)越明顯。女口,綜合處理能力差、程序運(yùn)行速度 慢、軟件質(zhì)量不易保

4、證、開(kāi)發(fā)環(huán)境集成度低和與人的思維方式不太一 致等。由于AutoLISP的這些特點(diǎn),它僅適合于有能力的終端用戶作些 自己的開(kāi)發(fā)任務(wù),如今AutoLISP的使用已經(jīng)逐漸被其它幾種開(kāi)發(fā)工具 所取代。 2.ADS 它是AutoCAD 開(kāi)發(fā)系統(tǒng)(AutoCAD Development)的簡(jiǎn)稱。ADS 的編程界面可使用戶用C語(yǔ)言來(lái)實(shí)現(xiàn)AutoCAD的用戶化,既可運(yùn)行第 三方開(kāi)發(fā)的ADS應(yīng)用程序,也可以編寫(xiě)自己的ADS應(yīng)用程序。 與AutoLISP相比,ADS程序的優(yōu)越性如下:(1)具備錯(cuò)綜復(fù)雜的 綜合大規(guī)模處理能力;(2)由于是編譯開(kāi)發(fā)環(huán)境,可以檢查程序設(shè)計(jì) 語(yǔ)言的邏輯錯(cuò)誤,且執(zhí)行速度快;(3)程序源代碼

5、的可讀性好于LISP; (4)引入C+高級(jí)語(yǔ)言后,ADS也同樣具有面向?qū)ο蟮墓δ?,程?層次分明,清晰可讀,從而使軟件的可維護(hù)性得到提高;(5)經(jīng)過(guò)良 好封裝,ADS C+的程序代碼比ADS C程序簡(jiǎn)潔得多,許多時(shí)候比 AutoLISP更簡(jiǎn)潔;(6) ADS C+的程序能夠減少程序出錯(cuò)的概率。 由于C語(yǔ)言的介入,ADS也有一些不便之處。如C語(yǔ)言比LISP語(yǔ)言復(fù) 雜得多,難以在短時(shí)間內(nèi)掌握;ADS程序的隱藏錯(cuò)誤會(huì)導(dǎo)致AutoCAD 乃至操作系統(tǒng)崩潰;由于是編譯運(yùn)行,不易見(jiàn)到代碼的效果;C語(yǔ)言 的ADS程序一般比AutoLISP程序的源代碼要繁冗。由此可見(jiàn),ADS 開(kāi)發(fā)者必須先對(duì)C/C+和Auto

6、LISP語(yǔ)言編程技術(shù)及 AutoCAD功能有 較深入的了解。 3.0bject ARX ARX是AutoCAD R13之后推出的一個(gè)全新的、真正意義上的面向 對(duì)象的開(kāi)發(fā)環(huán)境。它采用各種類庫(kù),功能更為強(qiáng)大,編程更為簡(jiǎn)潔。 其開(kāi)發(fā)語(yǔ)言為VC+。 ARX程序有如下特征:(1)能力強(qiáng)。ARX本質(zhì)上是Windows動(dòng)態(tài) 連接庫(kù)(DLL )程序,通過(guò)與 AutoCAD共享地址空間,直接調(diào)用 AutoCAD核心函數(shù),可直接訪問(wèn)AutoCAD數(shù)據(jù)庫(kù)的數(shù)據(jù)結(jié)構(gòu)和代碼。 ARX程序與AutoCAD、Windows之間均采用消息傳遞機(jī)制直接通訊。 它允許用戶創(chuàng)建新的AutoCAD命令,這些命令可以像 AutoCAD

7、自身 的命令一樣被AutoLISP和ADS調(diào)用??啥xAutoCAD數(shù)據(jù)庫(kù)對(duì)象, 包括可見(jiàn)的實(shí)體和不可見(jiàn)的字典。ARX定義的實(shí)體往往可以用較少的 數(shù)據(jù),就可以實(shí)現(xiàn)較復(fù)雜的顯示,有利于減少磁盤文件的尺寸。(2) 速度快。由于ARX應(yīng)用程序本身是AutoCAD的一部分,即ACAD.EXE 調(diào)用的動(dòng)態(tài)連接庫(kù)(DLL),它擁有同AutoCXAD 一樣的內(nèi)存地址空 間,直接訪問(wèn)AutoCAD的各種內(nèi)存對(duì)象,而 AutoLISP和ADS都是通 過(guò)函數(shù)間接地訪問(wèn)AutoCAD的。這樣在訪問(wèn)AutoCAD數(shù)據(jù)庫(kù)的操作 上,ARX應(yīng)用程序比AutoLISP和ADS的速度要快得多。(3)面向?qū)?象編程。ADS提供

8、了 6個(gè)主要類庫(kù)(運(yùn)行擴(kuò)展庫(kù)、命令擴(kuò)展庫(kù)、數(shù)據(jù) 庫(kù)訪問(wèn)庫(kù)、通用幾何庫(kù)、圖形界面庫(kù)、邊界描述庫(kù)),以對(duì)AutoCAD 及常見(jiàn)的事物進(jìn)行訪問(wèn)和控制。 然而,ARX程序比ADS程序具備更大的危險(xiǎn)性和破壞性。首先, ARX程序比ADS要復(fù)雜得多。 ARX程序設(shè)計(jì)的錯(cuò)誤,經(jīng)常導(dǎo)致 AutoCAD崩潰,甚至操作系統(tǒng)的崩潰。其次,ARX應(yīng)用程序是一個(gè) 動(dòng)態(tài)連接庫(kù),調(diào)試時(shí)需要頻繁啟動(dòng)AutoCAD,額外消耗的時(shí)間比 Win dows下的ADS多。盡管如此,從二次開(kāi)發(fā)長(zhǎng)遠(yuǎn)的角度來(lái)看,掌握 和利用ARX技術(shù)是AutoCAD二次開(kāi)發(fā)的很好選擇。 4.Visual LIS P Visual LISP (VLISP)是

9、為加速AutoCAD程序開(kāi)發(fā)而設(shè)計(jì)的軟件工具, 是AutoLISP的換代產(chǎn)品,與AutoLISP完全兼容,并提供它的所有功能。 VLISP的集成開(kāi)發(fā)環(huán)境具備許多功能,使編寫(xiě)、修改代碼以及測(cè)試和 調(diào)試程序更加容易。另外,VLISP還提供了用于發(fā)布由AutoLISP編寫(xiě) 的獨(dú)立應(yīng)用程序的工具。 Visual LISP有一個(gè)交互式智能控制臺(tái),它還具有強(qiáng)大的文本編輯 器和格式化器,使編程更加輕松高效。此特性使 Visual LISP成為編寫(xiě) LISP程序更有效的工具。然而,Visual LISP只是AutoLISP功能的擴(kuò)展, 沒(méi)有實(shí)質(zhì)更為強(qiáng)大的功能。 5.VBA 由于VBA (Visual Basi

10、c for Application )出現(xiàn)得較晚,使用時(shí)又 必須內(nèi)置于應(yīng)用程序中,所以許多編程人員對(duì)它比較陌生。然而, VBA很好地繼承了 Basic和Visual Basic易學(xué)、易用的特點(diǎn),而且具備 了最新的開(kāi)發(fā)技術(shù)和強(qiáng)大的開(kāi)發(fā)功能,所以日益受到應(yīng)用軟件開(kāi)發(fā)者 的青睞。 正是由于VBA對(duì)主應(yīng)用程序的這種依附關(guān)系,使得它與主應(yīng)用程 序之間的通信變得簡(jiǎn)單而高效,即其代碼完全是在進(jìn)程內(nèi)執(zhí)行的。盡 管VBA的代碼目前在程序中仍以解釋的方式執(zhí)行,但它與AutoCAD 完全共享內(nèi)存空間,所以執(zhí)行速度比用 C語(yǔ)言開(kāi)發(fā)的ADS應(yīng)用程序還 要快。同時(shí)由于它是VB的子集,其語(yǔ)言結(jié)構(gòu)十分簡(jiǎn)潔。 VBA提供了高質(zhì)量的用戶化編程能力,能夠使得AutoCAD數(shù)據(jù) 與其它VBA應(yīng)用程序直接共享。最重要的是VBA的加入,擴(kuò)展了 AutoCAD集成用戶化工具的能力(集成了 AutoLISP、Visual LISP和 ObjectARX API等工具),為訪問(wèn)AutoCAD軟件的多種技術(shù)框架提供 了新的選擇和新的開(kāi)放機(jī)會(huì),可以按所需

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論