摘 要 近年以來(lái),伴隨建筑、工業(yè)等各行各業(yè)的快速發(fā)展,CAD制圖軟件應(yīng)用日益廣泛,并在各領(lǐng)域中發(fā)揮越來(lái)越不可或缺的重要作用,CAD二次開發(fā)成為CAD制圖軟件發(fā)展的必然趨勢(shì)。本文基于VB自動(dòng)化技術(shù),在分析CAD二次開發(fā)需求基礎(chǔ)上,對(duì)VB自動(dòng)化技術(shù)在CAD二次開發(fā)中應(yīng)用的一般流程進(jìn)行詳細(xì)論述,以期為CAD制圖軟件功能的進(jìn)一步提升提供參考。
【關(guān)鍵詞】VB自動(dòng)化技術(shù) CAD 二次開發(fā)
目前,以VB.NET為代表的VB自動(dòng)化技術(shù)已經(jīng)在CAD二次開發(fā)中有所應(yīng)用,且最新版CAD軟件已提供支持VB自動(dòng)化技術(shù)進(jìn)行二次開發(fā)。這就為CAD的二次開發(fā)提供了技術(shù)支持,為VB自動(dòng)化技術(shù)在其中的應(yīng)用奠定了基礎(chǔ)。
1 CAD二次開發(fā)需求分析
CAD作為一種專業(yè)制圖軟件,在建筑領(lǐng)域中得到了廣泛的應(yīng)用,在建筑施工圖紙繪制方面發(fā)揮著舉足輕重的作用,現(xiàn)如今已經(jīng)成為建筑領(lǐng)域所不可缺少的一個(gè)重要繪圖工具。但生活質(zhì)量得到改善提升的人們住房需求在不斷增長(zhǎng),而住房需求的增長(zhǎng)直接推動(dòng)了建筑產(chǎn)業(yè)的快速發(fā)展。建筑產(chǎn)業(yè)在不斷發(fā)展的過程中,施工圖紙繪制需求也在隨之動(dòng)態(tài)變化,社會(huì)各界都對(duì)建筑施工圖紙繪制提出了更高的要求,要求CAD實(shí)現(xiàn)大批量數(shù)據(jù)處理,以減少大量測(cè)繪數(shù)據(jù)處理工作量,降低由數(shù)據(jù)處理制圖所帶來(lái)的巨大工作壓力。在這樣的情形下,在今天繪圖需求與要求不斷增長(zhǎng)的狀態(tài)下,原有CAD制圖軟件已難以滿足現(xiàn)代建筑工程項(xiàng)目繪圖質(zhì)量要求,CAD二次開發(fā)需求迅速高漲,CAD二次開發(fā)勢(shì)在必行。
2 應(yīng)用VB自動(dòng)化技術(shù)二次開發(fā)CAD的一般流程
2.1 選擇開發(fā)工具
CAD制圖軟件選擇Auto CAD 2008,VB自動(dòng)化技術(shù)選擇VB.NET。2008版CAD支持.NET二次開發(fā),即在CAD平臺(tái)上,利用VB.NET可以實(shí)現(xiàn)對(duì)CAD的二次開發(fā)。因?yàn)樵赩B中,提供有CAD庫(kù)文件,通過引用與CAD相關(guān)的部件、文件就可以實(shí)現(xiàn)二次開發(fā)。其中,需要調(diào)用的對(duì)象主要包括根對(duì)象,即應(yīng)用程序?qū)ο螅ˋpplication)、文檔對(duì)象(Document)和優(yōu)先設(shè)置對(duì)象(Preference)。文檔對(duì)象主要為所有實(shí)體集合和非實(shí)體集合提供訪問機(jī)制,而優(yōu)先設(shè)置對(duì)象主要為CAD對(duì)應(yīng)對(duì)話框各選項(xiàng)提供訪問,優(yōu)先設(shè)置想要訪問的對(duì)象,并為圖紙空間實(shí)體集合訪問和模型空間實(shí)體集合的訪問提供相應(yīng)通道,通過聲明這些對(duì)象CAD就可以在這樣的配置環(huán)境下進(jìn)行工作。
2.2 開發(fā)過程
首先,準(zhǔn)備數(shù)據(jù),包括點(diǎn)數(shù)據(jù)樣式(X,Y,H,點(diǎn)號(hào))、線數(shù)據(jù)樣式(X,Y,H;X,Y,H)和文字?jǐn)?shù)據(jù)樣式(X,Y,H,位置)。點(diǎn)數(shù)據(jù)樣式需要準(zhǔn)備一個(gè)TXT點(diǎn)數(shù)據(jù)文件,將所有點(diǎn)數(shù)據(jù)樣式存儲(chǔ)其中,X、Y、H為坐標(biāo);線數(shù)據(jù)樣式前三個(gè)為起點(diǎn)的X、Y、H,而后三個(gè)為終點(diǎn)的X、Y、H,準(zhǔn)備一個(gè)TXT線數(shù)據(jù)文件,存儲(chǔ)所有線數(shù)據(jù)樣式;文字?jǐn)?shù)據(jù)樣式同樣制作一個(gè)TXT文字?jǐn)?shù)據(jù)文件,用于存儲(chǔ)所有文字?jǐn)?shù)據(jù)樣式,其中位置變量可以是房子、房子中的某一點(diǎn),工廠等。
接著,在VB.NET軟件中建立一個(gè)成圖.dll文件,讓該文件可以在CAD平臺(tái)下進(jìn)行加載運(yùn)行。具體建立步驟為制定解決方案,添加相關(guān)類項(xiàng)目,引用.NET(如acmgd.dll等),進(jìn)行可行性分析與需求分析,編寫代碼及生成源代碼文件(包括菜單代碼、工具欄代碼、功能代碼、CAD連接代碼等)。對(duì)于菜單(繪制點(diǎn)、線、塊和圓)、工具欄、功能代碼等的編寫應(yīng)在VB.NET中的CAD配置環(huán)境下來(lái)完成,最終生成可以在CAD下加載運(yùn)行的成圖.dll文件。需注意的是,成圖.dll文件的生成是在VB.NET環(huán)境下完成的,其打包也是直接在VB.NET下進(jìn)行的,因?yàn)樯稍撐募闹饕康木褪墙⒊鲆粋€(gè)可以在CAD下運(yùn)行的文件,以為基于VB.NET的CAD二次開發(fā)打好基礎(chǔ)。
將生成的成圖.dll文件導(dǎo)入到CAD中進(jìn)行加載運(yùn)行,先輸入NETLOAD命令,根據(jù)幫助或窗口依次加載生成的成圖.dll文件。再輸入addmenu命令,對(duì)菜單成圖.dll文件進(jìn)行加載,加載后即可進(jìn)行點(diǎn)、線或圓的繪制。打開菜單欄,點(diǎn)擊新建數(shù)據(jù)庫(kù),創(chuàng)建一個(gè)用于存放繪制圖形的數(shù)據(jù)庫(kù)文件;點(diǎn)擊錄入數(shù)據(jù),選擇測(cè)繪的數(shù)據(jù)文件,然后開始繪制圖形,在繪制圖形的同時(shí),系統(tǒng)會(huì)自動(dòng)生成與圖形對(duì)應(yīng)的數(shù)據(jù),并將數(shù)據(jù)自動(dòng)保存到數(shù)據(jù)文件中。如,選擇繪制點(diǎn),就可以在CAD下運(yùn)行繪制點(diǎn)的代碼,并根據(jù)數(shù)據(jù)文件中相應(yīng)的數(shù)據(jù)在圖形文件上添加點(diǎn)元素,線、圓的繪制也是同樣的操作。將繪制好的圖形CAD文件保存,這樣就完成了圖形的繪制,即完成了VB.NET下CAD的二次開發(fā)。
按照上述一般流程基本上就可以實(shí)現(xiàn)利用VB自動(dòng)化技術(shù)對(duì)CAD進(jìn)行二次開發(fā),但在整個(gè)開發(fā)過程中有幾處關(guān)鍵點(diǎn)需要開發(fā)人員加強(qiáng)控制,包括代碼編寫,成圖文件創(chuàng)建等。用于CAD二次開發(fā)的相關(guān)代碼編寫,以功能代碼為例要求程序員具備高水平的開發(fā)技術(shù),并對(duì)VB.NET軟件操作熟練,這樣才能保證各功能正常實(shí)現(xiàn)。CAD二次開發(fā)的實(shí)現(xiàn)會(huì)使CAD制圖軟件性能得到有效提升,應(yīng)用功能得到進(jìn)一步豐富。這不僅有利于其本身功能的強(qiáng)化,而且可以進(jìn)一步擴(kuò)大其在建筑領(lǐng)域繪圖中的應(yīng)用范圍,提高施工圖紙繪制精確性,提高測(cè)繪數(shù)據(jù)處理效率,從而達(dá)到相互促進(jìn)、共同進(jìn)步的效果。
3 總結(jié)
從VB自動(dòng)化技術(shù)在CAD二次開發(fā)中的應(yīng)用分析可知,它可以實(shí)現(xiàn)很多以往開發(fā)技術(shù)難以實(shí)現(xiàn)的事情,且具有便捷、高效的特點(diǎn),可以實(shí)現(xiàn)較好的CAD二次開發(fā),賦予CAD新的、更強(qiáng)大的應(yīng)用功能,如圖形與數(shù)據(jù)統(tǒng)計(jì)、對(duì)比檢查等,提高CAD制圖軟件的自動(dòng)化處理水平。業(yè)內(nèi)人員在注重CAD應(yīng)用的同時(shí),應(yīng)加強(qiáng)對(duì)CAD的二次開發(fā)利用,加強(qiáng)對(duì)VB自動(dòng)化技術(shù)的應(yīng)用。
參考文獻(xiàn)
[1]賀杰高.三維機(jī)械CAD系統(tǒng)的二次開發(fā)技術(shù)及在風(fēng)機(jī)設(shè)計(jì)中的應(yīng)用[D].蘭州:蘭州理工大學(xué),2013.
[2]羅碧君.基于CAD利用VB.NET二次開發(fā)自動(dòng)化繪圖應(yīng)用研究[J].科技創(chuàng)新與應(yīng)用,2013(09):35-36.
[3]唐鵬.CAD二次開發(fā)技術(shù)與變壓器參數(shù)化設(shè)計(jì)技術(shù)的研究及應(yīng)用[D].廣州:廣東工業(yè)大學(xué),2011.
作者簡(jiǎn)介
王治(1994-),男,遼寧省沈陽(yáng)市人?,F(xiàn)就讀于沈陽(yáng)理工大學(xué)自動(dòng)化專業(yè)。
作者單位
沈陽(yáng)理工大學(xué) 遼寧省沈陽(yáng)市 110159