摘 要:計算機輔助技術(shù)(Computer Aided Design)作為杰出的工程技術(shù)成就,已廣泛地應(yīng)用于工程設(shè)計的各個領(lǐng)域。它推動了幾乎所有領(lǐng)域的設(shè)計革命,對于加速工程建設(shè)和縮短產(chǎn)品開發(fā)周期、提高產(chǎn)品質(zhì)量、降低成本、增強企業(yè)競爭力發(fā)揮著巨大作用。CAD二次開發(fā)指根據(jù)客戶的特殊用途進行軟件的客戶化定制和二次開發(fā)。它往往能夠大大提高企業(yè)的生產(chǎn)效率和技術(shù)水平,故其二次開發(fā)在工業(yè)日益發(fā)達的今天仍顯得十分重要和迫切。
關(guān)鍵詞:CAD軟件;二次開發(fā);
1 CAD軟件的發(fā)展背景
計算機輔助技術(shù)(Computer Aided Design)作為杰出的工程技術(shù)成就,已廣泛地應(yīng)用于工程設(shè)計的各個領(lǐng)域。CAD最早出現(xiàn)于二十世紀60年代,是美國麻省理工學(xué)院提出的交互式圖形學(xué)的研究計劃,由于當時硬件設(shè)施昂貴,只有美國通用汽車公司和美國波音航空公司使用自行開發(fā)的交互式繪圖系統(tǒng)。二十世紀70年代,小型計算機費用下降,美國工業(yè)界才得以開始廣泛使用交互式繪圖系統(tǒng)。二十世紀80年代,隨著PC機的應(yīng)用,CAD得以迅速發(fā)展,出現(xiàn)了專門從事CAD系統(tǒng)開發(fā)的公司。當時這其中專業(yè)的CAD制作公司VersaCAD開發(fā)的CAD軟件功能強大,但其昂貴的價格限制了它的普遍應(yīng)用。而現(xiàn)在的Autodesk公司那時是一個僅有員工數(shù)人的小公司,但由于其開發(fā)的CAD系統(tǒng)課免費拷貝,故雖然功能較少,但在社會中得以廣泛應(yīng)用。同時,該CAD軟件升級迅速也與其系統(tǒng)的開放性此密不可分。
2 CAD軟件二次開發(fā)的方法
CAD二次開發(fā)指根據(jù)客戶的特殊用途進行軟件的客戶化定制和二次開發(fā)。而CAD軟件二次開發(fā)的方法有許多,大部分情況下,開發(fā)團隊會使用參數(shù)化、成組化或交互式的方法進行對應(yīng)的開發(fā),由此提高軟件的應(yīng)用效率。
2.1 CAD軟件二次開發(fā)參數(shù)化方法
參數(shù)化方法是在CAD軟件二次開發(fā)中應(yīng)用最多的一種方法。在這種方法中,主要是根據(jù)軟件在二次開發(fā)的過程中所產(chǎn)生的不同的需求來制定不同的軟件管家,故在進行CAD軟件二次開發(fā)的過程中,應(yīng)該在開發(fā)之前對CAD軟件有一個整體的規(guī)劃,并在此中將人們對軟件的不同需求轉(zhuǎn)化為參數(shù),并將它們進行統(tǒng)一管理。確保CAD在進行二次開發(fā)過程中具有更高的效率和更準確的數(shù)據(jù)。因此也可以將此參數(shù)化方法與大數(shù)據(jù)聯(lián)系起來,由于CAD軟件二次開發(fā)面向不同的人群,不同的企業(yè),有著相似或完全不同的要求,但當運用參數(shù)化方法進行設(shè)計時,對應(yīng)的CAD二次開發(fā)人員按照收集的數(shù)據(jù)參數(shù)進行開發(fā),能更加符合客戶的要求。
2.2 CAD軟件二次開發(fā)成組化方法
成組化方法同樣在CAD軟件二次開發(fā)應(yīng)用廣泛,其來源于CAD軟件二次開發(fā)過程中,要求復(fù)雜,需求眾多,但這些不同的需求中實際上是有一定的相似性的,因此就出現(xiàn)了在CAD軟件二次開發(fā)過程中將相似的需求進行組隊,這種成組化方法能夠減少CAD軟件二次開發(fā)者的工作量,帶來一定的便利性,同時提高了其工作效率。需要時查找已經(jīng)存入數(shù)據(jù)庫的通用的集合圖像,即可得到簡單快捷的數(shù)據(jù)。
2.3 CAD軟件二次開發(fā)交互式方法
此外,CAD軟件二次開發(fā)中的交互式方法應(yīng)用也較多,它是一種能讓CAD軟件使用者十分直觀的面對自己設(shè)計的東西的方法,圖像形成顯示系統(tǒng)是交互式方法應(yīng)用的主要部分。除了上述系統(tǒng),CAD的數(shù)據(jù)庫、圖形庫、程序庫也是交互式方法的應(yīng)用內(nèi)容,并且這些庫的數(shù)據(jù)越多就表示CAD的交互性越強。交互性CAD軟件二次開發(fā)客戶化功能定制工具一般分為四類:用戶定義特性,知識工程,應(yīng)用程序編程端和組件應(yīng)用架構(gòu)。前兩個為CAD系統(tǒng)本身提供的定制工具,功能有一定的局限性。后兩者屬于二次開發(fā)工具,應(yīng)用程序編程接口入門容易,不過具有一定的應(yīng)用限制。
3 CAD軟件二次開發(fā)的工具
前述可知,近年來AutoCAD軟件的應(yīng)用相當廣泛,故介紹相關(guān)幾種針對于AutoCAD軟件二次開發(fā)的工具。大致分為以下三種:VBA,LISP和Object ARX。
3.1 VBA
VBA是2000版本后具備的功能,它通過AutoCADActive Automation接口對AutoCAD進行編程控制,是一個引入了對象的設(shè)計環(huán)境,為用戶提供類似Visual Basic語言所擁有的功能,可以執(zhí)行并存取AutoCAD環(huán)境的所有資源,適合編寫中型的CAD軟件。由于AutoCAD的軟件系統(tǒng)本身就具備集成開發(fā)環(huán)境,這種通過VBA接口而進行二次開發(fā)的程序會成為AutoCAD的內(nèi)部程序之一。
3.2 LISP
LISP(List Processing Language)是一種計算機的表處理語言,是廣泛應(yīng)用于人工智能學(xué)科領(lǐng)域的程序設(shè)計語言。AutoLISP語言是嵌套于AutoCAD內(nèi)部將LISP語言和AutoCAD有機結(jié)合的產(chǎn)物。使用AutoLISP可以直接調(diào)用幾乎所有的AutoCAD命令。AutoLISP語言同時具有強大的圖形處理功能。Visual LISP是AutoLISP的換代,完全兼容AutoLISP,在此基礎(chǔ)上進行了擴展,可以通過Microsoft ActiveX Automation接口與對象交互。
3.3 Object ARX
Object ARX應(yīng)用程序是一個DLL(動態(tài)鏈接庫),共享AutoCAD的地址空間,對AutoCAD進行直接函數(shù)調(diào)用,故使用ARX編程的函數(shù)執(zhí)行速度會大大提高,同時由于ARX類庫采用標準的C++類庫的封裝形式,也極大提高了程序員的可靠度和效率。
隨著現(xiàn)代社會生產(chǎn)力的不斷發(fā)展,CAD技術(shù)的單一已難以適應(yīng)企業(yè)生產(chǎn)的設(shè)計要求,進行CAD軟件二次開發(fā)往往能夠大大提高企業(yè)的生產(chǎn)效率和技術(shù)水平,故其在工業(yè)日益發(fā)達的今天仍顯得十分重要和迫切。因此需要研究開發(fā)人員將更多優(yōu)秀與普適性好的方法應(yīng)用于CAD軟件的二次開發(fā)中,由此來滿足用戶復(fù)雜以及多樣化的需求,充分挖掘和開發(fā)CAD軟件的功能和價值。
參考文獻:
[1]崔丹丹. CAD軟件二次開發(fā)方法及應(yīng)用[J]. 電子技術(shù)與軟件工程. 2018,(10),40
[2]徐堯洋. 交互式CAD/CAE/CAM系統(tǒng)二次開發(fā)[J]. 電子技術(shù)與軟件工程. 2018,(09),44
[3]劉曉花. Auto CAD二次開發(fā)技術(shù)及其應(yīng)用研究[J]. 通訊世界. 2017,(11),286-287
[4]劉曉光. CAD軟件二次開發(fā)方法及應(yīng)用探析[J]. 無線互聯(lián)科技. 2015,(24),62-63
作者簡介:
歐陽旭奕(1998.04.15)男,漢族,學(xué)生,湖南省衡陽市雁峰區(qū)黃青巷8號401戶,單位:鄭州大學(xué)機械工程學(xué)院,專業(yè): 機械工程 ,研究方向:機械設(shè)計