中文字幕在线亚洲三区|亚洲人成在线免费观看|亚洲h片91免费看国产|国产精品v一区二区三区|亚洲一区二区在线观看网址|亚洲欧美中文字幕在线一区|日本TS人妖系列在线专区|日本一区二区三区dvd视频在线

設為首頁  |  加入收藏  RSS    
?
當前位置: 首頁 >> 地理信息系統(tǒng) >>

Auto CAD二次開發(fā)技術比較

0

AutoCAD二次開發(fā)技術比較岳海云(甘肅政法學院,甘肅蘭州730070)摘要:AutoCAD軟件一直是CAD市場的主流產(chǎn)品,并以其功能強、用戶界面友好,具有開放的體系結構和完善的開發(fā)系統(tǒng),能夠提供各種編程工具和接1:2用于滿足不同層次用戶的需要等優(yōu)點,成為使用最為廣泛的CAD軟件和二次開發(fā)平臺。本論述就Autodesk公司提供的四種主要的二次開發(fā)工具:AutoLISPⅣi—sualusP)、ADS、0bjeetARX及VBA(VB)這些技術試做一比較。關鍵詞:CAD二次開發(fā)工具開發(fā)系統(tǒng)隨著CAD技術的發(fā)展,CAD領域的支撐軟件也越desk公司推出的AutoCAD系統(tǒng)軟CAD的作用。1AutoLISP語言UsP語言是一種表處理語言,是廣泛應用于人工CAD的一個典型例子就是實現(xiàn)參數(shù)化繪圖的LISP替代。ADS(AutoCADDevelopmentSystem)開ADS是從AutoCADR11開始引入的基于C語言萬方數(shù)據(jù)CAD內(nèi)部,而是作為一組ALISP外部函數(shù)由AL_CAD運行。早期國內(nèi)常見的應用軟件多是用ADS進行開發(fā)的,但ADS程序必須經(jīng)過ALISP解釋加載,其各方面CADRl3中提供了面向?qū)ο蟮拈_發(fā)工具ARX。目前,AutoCAD提供的第一代開發(fā)工具ALISP和CAD二Lisp、ARX和VBA等。VisuaILISPVLISP是ALISP的發(fā)展,是一種可視化的LISP編LISP語言的擴展和延伸,可以通Automation接口與對象交互。VLISP提供了基于ActiveXAutomation技術的VBA(Vi—BasicforApplication)開發(fā)工具作為從AutoCADRl4之后提供的二次開發(fā)工具Automation接口向AutoCAD發(fā)送信息,可使許多面向?qū)ο缶幾g語言2l基于C開發(fā)的專用語言。它包括了C的全部功能,是編譯型語言,功能強大,克服了解釋性語言所固有的許多缺點而具有速度快,安全性高的特點。ADS不包含于AutoISP解釋器裝入、解釋并請求Auto性能受到限制。同時,隨著網(wǎng)絡技術的迅速發(fā)展,面向過程的ADS已有些不能適應CAD開發(fā)的需要,所以,在Auto來越多,其中,Auto件和在其上進行二次開發(fā)的工具在國內(nèi)外各行各業(yè)使用非常廣泛,是CAD市場的主流產(chǎn)品。但是許多企業(yè)購進AutoCAD軟件,僅停留在計算機輔助繪圖階段,只是用作“代替圖板”,而沒有發(fā)揮其應有的作用。只有真正地在其上實現(xiàn)了二次開發(fā),才能充分發(fā)揮Auto第二代開發(fā)工具ADS,由于已不適合當今Auto次開發(fā)的需求已逐漸被淘汰?,F(xiàn)在二次開發(fā)大多選用第三代開發(fā)工具V3程開發(fā)環(huán)境,是Auto過ActiveX一個完整的集成開發(fā)環(huán)境(IDE),包括編譯器、調(diào)試器智能的語言。ALISP語言是完全嵌套在AutoCAD內(nèi)部的LISP編程語言,是LISP語言和AutoCAD有機結合和其他工具,使編寫、修改代碼以及測試和調(diào)試程序更加容易,可以提高二次開發(fā)的效率。VLISP適于描述人機交互操作的過程,善于編寫模擬設計師思路的專業(yè)設計程序。對于各種用戶輸人的接受、錯誤識別與恢復的產(chǎn)物,它既具備一般高級語言的基本結構和功能,又具備一般高級語言所沒有的圖形處理能力。利用ALISP開發(fā)Auto程序設計。但也存在一些明顯的缺點,例如:缺乏集成開發(fā)環(huán)境;面向過程的編程;采用解釋方式,程序運行速度慢;其文件是ASCII碼方式,無法編譯,程序安全性差等,因此影響了該語言的發(fā)展,已被V2等操作具有相當優(yōu)秀的功能,能充分發(fā)揮CAD功能的巨大作用和利用交互操作的技巧。4sualVBA(VB),使得用戶不必學習ADS,ARX和ALISP就可以用VB(VB)來開發(fā)AutoCAD。VBA是內(nèi)置到R14中的開發(fā)工具,采用VB語言的全部語法和嶄新的格式,支持ActiveX控件,VBA通過ActiveX發(fā)系統(tǒng)開發(fā)應用程序的系統(tǒng)。它不是C語言的一個子集,而是和應用程序通過ActiveX與AutoCAD進行通信,并操縱AutoCAD的許多功能,如iava、VB、Vc++、Delphi、VBA等面向?qū)ο缶幊陶Z言都可用于AutoCAD的二次開發(fā)。VBA的主要特點如下:ActiveXAutomation技術的完全面向?qū)ο缶幊痰奶攸c,使其開發(fā)環(huán)境具備了強大的開發(fā)能力和簡單易用的優(yōu)良傳統(tǒng),VBA(VB)可以通過ActiveXAutomation接口訪問和控制AutoCAD所有圖形對象和非圖形對象,并且可以訪問這些對象的方法和屬性。同時,VBA可與AutoCAD在同一進程空間中運行,這使程序執(zhí)行得非常快。VBA最早是內(nèi)嵌在Omee97中的一種編程語言,VBA易學易用,功能強大。VBA嵌入到了AutoCAD中,使AutoCAD能容易地與其他Windows下的應用軟件交互。VBA對話框設計能力比LISP所使用的DCL對話框設計工具好得多,多圖檔環(huán)境下的應用程序也比ALISP能提供更多的支持。但由于它是使用ActiveX與AutoCAD交互,程序設計比較復雜。VBA開發(fā)AutoCAD必須以VB語言為前提,但VBA并不完全等同于VB。VBA具有比較明顯的幾個缺陷:(1)VBA不能像VLISP一樣比較自如地使用AutoCAD命令,只能用腳本文件的模式,以字串方式向AutoCAD命令行發(fā)送一串響應,這個字串的內(nèi)容也只能在自己的程序中生成和進行數(shù)據(jù)轉(zhuǎn)換。這樣,許多交互操作的技巧,在VBA中不能直接借用。(2)VBA不能編譯,源程序始終暴漏在最終用戶面前。VBA很容易由于用戶的誤操作,使應用程序出錯甚至崩潰,這也是ALISP的致命缺陷。5ObjectARX(AutoCADRuntimeExtend)開發(fā)系統(tǒng)近幾年廣為應用的ObieetARX是從AutoCADR13開始推出的第一個全新的面向?qū)ο蟮拈_發(fā)環(huán)境。它提供了以C++為基礎的面向?qū)ο蟮拈_發(fā)環(huán)境及應用程序接口,能快速訪問AutoCAD圖形、數(shù)據(jù)庫,支持面向?qū)ο缶幊谭椒?,同時向下兼容ADS,所以對開發(fā)者的編程能力要求較高。它的特點是:ARX程序在很多方面與ADS程序和AUSP程序萬方數(shù)據(jù)都不相同,其實質(zhì)上是一個動態(tài)鏈接庫(DLL),它和Au—toCAD共享地址空間并且直接和AutoCAD進行通信。在ARX中,每個命令都有獨立的入口。ARX程序還可以創(chuàng)建新的類,這些類可以為其他程序所共享,從而充分利用面向?qū)ο缶幊痰膬?yōu)點。ALISP和ADS都是通過內(nèi)部進程通訊(IPC)來和AutoCAD通訊,它們與AutoCAD是相互分離的過程,而ARX以DLL形式和AutoCAD共享地址空間。因此,與前兩者相比,速度更快、運行更穩(wěn)定、更簡單。但ARX更“脆弱”,ARX程序崩潰通常會導致AutoCAD系統(tǒng)的崩潰。ARX程序具有ADS程序和ALISP程序所不具備的訪問和控制AutoCAD的能力。ARX程序可以監(jiān)控和處理AutoCAD各種事件,可以定義AutoCAD命令,這些命令可以像AutoCAD自身的命令一樣被ALISP和ADS所調(diào)用。ARX程序以C++為基本開發(fā)語言,具有面向?qū)ο蟮木幊谭绞降臄?shù)據(jù)可封裝性、可繼承性及多態(tài)性的特點,用其開發(fā)的CAD軟件具有模塊性好、獨立性強、連接簡單、使用方便、內(nèi)部功能高效實現(xiàn)以及代碼可重用性強等特點,并且支持MFC基本類庫,能簡潔高效地實現(xiàn)許多復雜功能。ARX在Autodesk內(nèi)部和增值軟件開發(fā)商中廣泛使用。由于ARX是以Vc++作為基本程序設計語言,無論其效率、數(shù)據(jù)處理和軟硬件的控制能力都是最好的,是唯一圓滿地針對多圖檔環(huán)境的程序設計方法。是從根本上擴展VLISP的程序設計方法??傊ㄟ^以上分析可以看出ALISP雖然作為AuwCAD的基本開發(fā)手段,它可以使一般開發(fā)者用于較為簡單交互性程序的開發(fā),但目前已被VLISP所替代。ADS將逐步被更為完善的ARX所取代。VBA則成為AumCAD用戶二次開發(fā)的另一支生力軍。AutoCAD提供的開發(fā)手段讓各類開發(fā)者都能選擇適合自己的開發(fā)工具。.參考文獻:【11肖剛.等.機械CAD原理與實踐【M】.北京:清華大學出版社,2006.【2】王玉琨.等.CAD二次開發(fā)技術及其工程應用【M】.北京:清華大學出版社,2008.【3]劉良華,朱東海.AutoCAD2000ARX開發(fā)技術【M】.北京:清華大學出版社,2000.

三億文庫3y.uu456.com包含各類專業(yè)文獻、專業(yè)論文、中學教育、各類資格考試、幼兒教育、小學教育、高等教育、51Auto+CAD二次開發(fā)技術比較等內(nèi)容。


?

Powered by DLKIT 開發(fā)版 ? 2011-2012 DLCMS.NET Inc.
Copyright ? 2017-2024 南充辰汐科技有限公司

住所:南充市順慶區(qū)油院路30號南充高新孵化園內(nèi)

聯(lián)系人:劉義君

聯(lián)系電話:18781755505(微信同號)

QQ:23424830

Email : 23424830@QQ.com