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