【摘要】在模擬電子技術(shù)考試系統(tǒng)當(dāng)中,需要解決的一個(gè)重要內(nèi)容就是電路圖的編輯功能如何實(shí)現(xiàn),這是整個(gè)考試系統(tǒng)的基本內(nèi)容,也是整個(gè)考試系統(tǒng)的設(shè)計(jì)難點(diǎn)之一。利用VB對AutoCAD進(jìn)行二次開發(fā),從而滿足系統(tǒng)對電路圖編輯與修改的功能。
【關(guān)鍵詞】電路繪圖軟件 開發(fā) VB AutoCAD
一、引言
AutoCAD軟件是美國Autodesk公司所開發(fā)的一款繪圖軟件,由于其實(shí)用性較強(qiáng),在我國一直有著較為廣泛的運(yùn)用。AutoCAD的用戶界面較為友好,繪圖功能相比其他軟件較為發(fā)達(dá),同時(shí)AutoCAD軟件的結(jié)構(gòu)體系時(shí)開放的,允許人們對其進(jìn)行二次開發(fā),從而使得AutoCAD被廣泛運(yùn)用在各行各業(yè)當(dāng)中,如電氣、建筑、設(shè)計(jì)等。AutoCAD在進(jìn)行二次開發(fā)之后,可以根據(jù)用戶的需求在AutoCAD的基礎(chǔ)之上再提供一些較為有用的功能,可以實(shí)現(xiàn)快速作圖,例如在國內(nèi)應(yīng)用的較為廣泛的天正建筑、探索者等軟件都是基于AutoCAD進(jìn)行二次開發(fā)的產(chǎn)品。在模擬電子技術(shù)計(jì)算機(jī)考試系統(tǒng)當(dāng)中,學(xué)生在考試或者練習(xí)的過程當(dāng)中,需要多電路圖進(jìn)行編輯與修改,這就必然要求需要開發(fā)一種所對應(yīng)的電路圖繪圖軟件,考慮到AutoCAD的開放性,以及繪圖的功能較為強(qiáng)大,同時(shí)也簡單易學(xué)的特點(diǎn),采用對AutoCADJ進(jìn)行二次開發(fā)的方式進(jìn)行電路繪圖軟件的開發(fā)。
二、利用VB對AutoCAD進(jìn)行二次開發(fā)的過程
在利用VB進(jìn)行AutoCAD的二次開發(fā)過程當(dāng)中,其中有一項(xiàng)較為關(guān)鍵的技術(shù),ActiveX自動(dòng)化界面技術(shù)是對整個(gè)開發(fā)的過程都有著重要的作用。通過ActiveX自動(dòng)化界面技術(shù),可以將AutoCAD當(dāng)成是VB程序當(dāng)中的一個(gè)圖形窗口,用VB 語言通過編程操縱AutoCAD對其進(jìn)行打開、繪圖、編輯、打印和關(guān)閉等操作。
(一)AutoCAD對象
在實(shí)際的開發(fā)過程當(dāng)中,必須要通過VB實(shí)現(xiàn)對AutoCAD 的操作,現(xiàn)階段VB操作AutoCAD大部分都是通過對AutoCAD的對象的屬性與方法所實(shí)現(xiàn)的。AutoCAD的對象具有多種多樣的類型,例如包括圖形對象、樣式設(shè)置對象、組織結(jié)構(gòu)、圖形顯示對象、AutoCAD應(yīng)用程序(Application)和文檔(Document)。根據(jù)其功能所存在的的一些差異,可以將這些對象分為不同的層次,與隸屬關(guān)系,在AutoCAD的對象的所有屬性當(dāng)中應(yīng)用程序是整個(gè)對象模型的最基礎(chǔ)部分,對整通過對Application對象的屬性和方法可對AutoCAD應(yīng)用程序進(jìn)行操作。Application對象具有4個(gè)下級對象,其中包括一個(gè)對象(Preferences)3個(gè)集合對象(Document、MenuBar、MenuGroups),4個(gè)下級對象又分別具有它們的下級對象,可以通過Application對象的屬性和方法逐級向下訪問。圖一所示為Application對象的下級對象。
(二)VB與AutoCAD之間的連接
在利用VB對AutoCAD進(jìn)行開發(fā)的過程當(dāng)中,所面臨的一個(gè)重要問題就是如何實(shí)現(xiàn)VB與AutoCAD之間的連接,這是保障二次開發(fā)過程得以順利進(jìn)行的重要保障,因此,必須要順利的實(shí)現(xiàn)這一過程。正常情況下VB與AutoCAD之間的連接實(shí)現(xiàn)過程可以通過以下兩個(gè)步驟實(shí)現(xiàn)。首先是需要VB的編程環(huán)境之下引用AutoCAD的對象庫,引用的具體方式為工程~引用~AutoCAD。第二,創(chuàng)建AutoCAD對象,啟動(dòng)AutoCAD。程序的具體代碼如下所示:
Public Acad as Application//定義AutoCAD對象
Set Acad=GetObject(,"AutoCAD.Applica-tion")//創(chuàng)建AutoCAD對象
(三)AutoCAD圖形文件的操作
AutoCAD在正常的運(yùn)用過程當(dāng)中,在對圖形進(jìn)行編輯與修改時(shí),都需要在其圖形文件中進(jìn)行,因此利用VB進(jìn)行AutoCAD的二次開發(fā)過程其本質(zhì)就是利用VB對AutoCAD的圖形文件實(shí)行控制的過程,同時(shí)在圖形文件中實(shí)現(xiàn)電路圖的新建、編輯、修改等過程。在AutoCAD 圖形文件建立完成之后,可以通過添加功能在AutoCAD的模型當(dāng)中或者布局當(dāng)中創(chuàng)建出所需要的二維或者三維空間,從而實(shí)現(xiàn)對相關(guān)對象的編輯,在進(jìn)行電路圖的繪制時(shí)往往都是利用二維空間進(jìn)行繪制。VB不僅對AutoCAD 中點(diǎn)、線等圖形文件的創(chuàng)建能夠?qū)崿F(xiàn)直接的操作,同時(shí)也可以允許用戶通過更改實(shí)體對象屬性的方式來實(shí)現(xiàn)對對象的編輯與修改,還可以實(shí)現(xiàn)對圖層、線型等非實(shí)體對象的創(chuàng)建、設(shè)置和編輯。
三、結(jié)語
通過VB對AutoCAD進(jìn)行二次開發(fā),可以對現(xiàn)有的AutoCAD軟件進(jìn)行更好的升級,從而使其能夠在模擬電子技術(shù)計(jì)算機(jī)考試系統(tǒng)中能夠讓學(xué)生在日常的練習(xí)或者考試過程當(dāng)中更加方便的對電路圖進(jìn)行繪制與編輯,從而實(shí)現(xiàn)模擬電子技術(shù)計(jì)算機(jī)考試系統(tǒng)的基礎(chǔ)功能。此外,由于VB計(jì)算機(jī)語言在程序設(shè)計(jì)當(dāng)中的簡便性,設(shè)計(jì)人員對VB的上手較快,其開發(fā)過程也相對簡單,此外VB還具有開發(fā)周期被大大縮短,代碼效率相對較高等特點(diǎn),由于以上因素,利用VB進(jìn)行AutoCAD的二次開發(fā),具有較高的效率。
參考文獻(xiàn):
[1]郭道宜,李永生.基于Solid Works的波形膨脹節(jié)三維參數(shù)化繪圖軟件的開發(fā)[J]. 壓力容器,2006,08:36-39.
[2]張燕中,柴業(yè)宏,許高建.關(guān)于田徑人體動(dòng)作計(jì)算機(jī)繪圖軟件開發(fā)的研究[J]. 安徽農(nóng)業(yè)大學(xué)學(xué)報(bào),2009,01:155-159.
[3]張軍,張紅雷.基于AutoLISP語言繪圖軟件的CAD二次開發(fā)[J].煤礦機(jī)械,2003,08:49-51.
[4]李博.基于面向?qū)ο蠹夹g(shù)的二維電磁場有限元前處理系統(tǒng)研究[D].沈陽工業(yè)大學(xué),2002.
[5]許新啟,羅映青.基于AutoCAD的礦山井巷工程繪圖軟件的開發(fā)[J].有色冶煉,2002,06:168-169.
基金項(xiàng)目:湖南省教育廳科學(xué)研究項(xiàng)目(項(xiàng)目編號:16C0941)
作者簡介:周博沙(1984-),男,講師,工學(xué)碩士。