符志軍,王景景
(江西工程學(xué)院,江西新余 338029)
AutoCAD 軟件操作較為簡單,并且具有多種實(shí)用功能,在實(shí)現(xiàn)AutoCAD 軟件設(shè)計(jì)繪圖過程中,設(shè)計(jì)師要反復(fù)地對相似的內(nèi)容進(jìn)行繪圖和計(jì)算,所以會(huì)因?yàn)槠v的工作而出現(xiàn)錯(cuò)誤。在實(shí)現(xiàn)室內(nèi)設(shè)計(jì)的過程中,使用VB編程語言進(jìn)行AutoCAD 軟件的二次開發(fā),實(shí)現(xiàn)全新功能模塊的創(chuàng)建,從而使室內(nèi)設(shè)計(jì)更加方便且快捷。文件在實(shí)現(xiàn)開發(fā)設(shè)計(jì)以后都屬于可執(zhí)行文件、數(shù)據(jù)庫文件、幫助文件夾及圖塊庫文件夾。某室內(nèi)設(shè)計(jì).exe屬于二次開發(fā)總程序的入口,其他都是通過程序調(diào)用資料的數(shù)據(jù)。假如所創(chuàng)建CAD 圖像文件為雙擊室內(nèi)設(shè)計(jì),就會(huì)將二次開發(fā)功能界面及繪圖界面同時(shí)打開[1]。為了能夠?qū)崿F(xiàn)有效繪圖工作,本文對AutoCAD 二次開發(fā)室內(nèi)設(shè)計(jì)軟件進(jìn)行分析。
AutoCAD 軟件開發(fā)的方法主要包括兩種:第一種為通過大量技術(shù)人員實(shí)現(xiàn)自主版權(quán)AutoCAD 軟件的開發(fā);第二種是基于AutoCAD 軟件實(shí)現(xiàn)二次開發(fā)。假如AutoCAD 軟件具有自主版權(quán),那么需要大量人力、物力實(shí)現(xiàn)。使用二次開發(fā)軟件,過程較為便捷[2]。
1)VBA。VBA 屬于在AutoCAD 嵌套的將對象作為基礎(chǔ)的編程環(huán)境,其開發(fā)能力較為豐富,還具備面向?qū)ο蟮某绦蛟O(shè)計(jì)方法,能夠直接執(zhí)行在AutoCAD 內(nèi)部。VBA 工程能夠在圖形文件中單獨(dú)存儲,快速創(chuàng)建對話框,實(shí)現(xiàn)自動(dòng)化工作,而且程序也較為容易實(shí)現(xiàn),但會(huì)由于用戶誤操作,導(dǎo)致正常應(yīng)用程序崩潰。
2)AutoLisp 及VisualLisp。AutoLisp 屬于人工智能語言,在AutoCAD 內(nèi)部嵌入的主要目的就是使用戶在使用AutoCAD 實(shí)現(xiàn)二次開發(fā)的過程中充分發(fā)揮自身的作用。其屬于AutoCAD 二次開發(fā)工具的唯一解釋性語言,不僅能夠?qū)崿F(xiàn)AutoCAD 命令的修改及添加,還能夠擴(kuò)大圖形編輯功能,實(shí)現(xiàn)數(shù)據(jù)庫及圖形庫的創(chuàng)建,并且將所有AutoCAD 命令進(jìn)行調(diào)用。其語言規(guī)則較為簡單,容易學(xué)習(xí)也容易使用,應(yīng)用較為廣泛。但是其功能較為單一,綜合處理的能力比較差。VisualLisp 屬于使AutoLisp 能夠加速的軟件工具,使用戶源代碼、程序調(diào)試和測試過程中更加方便[3]。
3)Objet ARX。其屬于以C++語言為基礎(chǔ),并且面向應(yīng)用程序及對象開發(fā)環(huán)境的接口。其運(yùn)行速度比較快,并且運(yùn)行較為簡單、穩(wěn)定,能夠?qū)崿F(xiàn)多圖擋的操作,還能夠有效使用內(nèi)存。Object ARX 具有一組動(dòng)態(tài)鏈接庫,能夠直接使用AutoCAD 核心數(shù)據(jù)代碼及結(jié)構(gòu),還能夠直接調(diào)用AutoCAD 函數(shù)。但是要求開發(fā)人員具有較高的編程能力,并且開發(fā)的過程較為復(fù)雜,具有較大的程序運(yùn)行風(fēng)險(xiǎn)。
上述開發(fā)工具都屬于AutoCAD 內(nèi)嵌式的編程語言,用戶能夠通過此語言創(chuàng)建全新命令,實(shí)現(xiàn)AutoCAD 原本功能的擴(kuò)展。AutoLisp能夠便于添加AutoCAD 全新的命令,其利用內(nèi)部進(jìn)程通信和AutoCAD進(jìn)行通信。ADS屬于C 語言應(yīng)用程序,其屬于外部函數(shù)在AutoCAD 中的添加,要通過AutoLisp解釋器進(jìn)行調(diào)用[4]。三者的關(guān)系如圖1所示。
圖1 三者的關(guān)系Fig.1 Relationship of three programs
VBA 及ARX 能夠?qū)崿F(xiàn)龐大、復(fù)雜和接近AutoCAD底層數(shù)據(jù)軟件的編寫,AutoLisp 及VisualLisp 能夠靈活使用AutoCAD 功能,也是一般工程技術(shù)人員對AutoCAD進(jìn)行開發(fā)的理想工具。在選擇AutoCAD 二次開發(fā)工具的過程中,會(huì)對二次開發(fā)編程難度、周期、軟件后期維護(hù)、開發(fā)效率等具有直接影響。在進(jìn)行選擇的過程中,不僅要對程序運(yùn)行的速度進(jìn)行考慮,還要充分考慮其對于語言的成熟度、對于AutoCAD 的控制能力及穩(wěn)定性等。綜上,本文使用AutoLisp及VisualLisp實(shí)現(xiàn)二次開發(fā)。
利用CAD 圖像和編制及程序?qū)崿F(xiàn)計(jì)算參數(shù)的提取,同預(yù)先設(shè)計(jì)計(jì)算參數(shù)相結(jié)合實(shí)現(xiàn)房間參數(shù)的計(jì)算,通過CAD 圖形實(shí)現(xiàn)計(jì)算結(jié)果的繪制,之后通過Excel 文件格式生成計(jì)算書[5]。
在硬件設(shè)計(jì)過程中,其主要配置需求為:硬盤的容量為20 GB 以上,內(nèi)存為128 MB 以上。利用VB 編程及AutoCAD 實(shí)現(xiàn)二次開發(fā),安裝是通過Excel 軟件實(shí)現(xiàn)。
軟件的功能界面主要包括AutoCAD 軟件的繪圖界面及二次開發(fā)的功能界面,前者能夠?qū)崿F(xiàn)AutoCAD 軟件的自身功能;后者能夠有效設(shè)計(jì)室內(nèi)系統(tǒng)。
圖2 為主要的功能模塊設(shè)計(jì)流程。
圖2 主要的功能模塊設(shè)計(jì)流程Fig.2 Design flow chart of main function modules
2.2.1 墻線繪制模塊
打開二次開發(fā)功能節(jié)點(diǎn),并且點(diǎn)擊軸線繪制按鈕,利用會(huì)話界面能夠繪制墻面,在軸網(wǎng)創(chuàng)建以后,通過VB程序就能夠?qū)AD 圖形墻軸線信息進(jìn)行調(diào)用,實(shí)現(xiàn)墻軸線的復(fù)制,以墻體實(shí)際厚度進(jìn)行實(shí)現(xiàn),使其成為墻面,對墻面實(shí)現(xiàn)WALL圖形的定義。利用墻軸線的相交點(diǎn)創(chuàng)建墻線,從而能夠有效繪制墻線[6]。圖3為墻線繪制的流程。
圖3 墻線繪制流程Fig.3 Flow chart of drawing wall lines
2.2.2 門窗添加模塊
輸入?yún)?shù)化門窗尺寸,通過針對性的程序及CAD軟件有效繪制界面。在對門窗進(jìn)行添加時(shí)要求鼠標(biāo)能夠和其貼近,從而添加門窗墻線,通過VB 程序?qū)€方向進(jìn)行判斷,并且對門窗的方向進(jìn)行調(diào)整,使其和墻線的方向相同。另外,在安裝的過程中要求實(shí)現(xiàn)門窗墻線的安裝,VB 程序能夠利用安裝的位置需求及寬度繪制門窗,并且對門內(nèi)墻線進(jìn)行自動(dòng)修剪[7],門窗添加流程如圖4 所示。
圖4 門窗添加流程Fig.4 Flow chart of adding doors and windows
2.2.3 散熱器模塊的布置
基于標(biāo)準(zhǔn)圖塊對散熱器進(jìn)行繪制,分別使所有標(biāo)準(zhǔn)圖塊在CAD 圖形文件中單獨(dú)保存,方便后期的調(diào)用,還能夠?qū)崿F(xiàn)全新圖塊的添加。設(shè)計(jì)人員能夠基于圖塊選擇散熱器的布置方式,對所有散熱器布置的方式進(jìn)行點(diǎn)選,利用VB 程序?qū)D塊進(jìn)行隨時(shí)調(diào)用,利用設(shè)置的參數(shù)在CAD圖形中插入圖塊,圖5為散熱器界面的布置界面。
圖5 散熱器界面的布置界面Fig.5 Layout of radiator interface
2.2.4 埋地盤管模塊的繪制
埋地盤管布置是室內(nèi)設(shè)計(jì)的重點(diǎn),以計(jì)算房間熱負(fù)荷的結(jié)果,VB 程序?qū)Υ朔块g埋地盤管間距進(jìn)行自動(dòng)計(jì)算,默認(rèn)的埋地盤管規(guī)格為20 mm 外徑。通過設(shè)計(jì)人員預(yù)先設(shè)置埋地盤管的布置方式、彎曲半徑和墻的間距,VB 程序以設(shè)置的房間對埋地盤管進(jìn)行自動(dòng)繪制[8]。
設(shè)計(jì)人員能夠再次設(shè)計(jì)室內(nèi)細(xì)節(jié),利用圖庫中的真實(shí)圖片,將細(xì)節(jié)渲染圖及圖形展現(xiàn)出來,還能夠在掃描儀中實(shí)現(xiàn)真實(shí)圖片的掃描。之后,通過圖像的掃描實(shí)現(xiàn)自定義裝飾面的創(chuàng)建,另外,還能夠添加細(xì)微凹凸面,從而實(shí)現(xiàn)逼真渲染圖的制作。
室內(nèi)設(shè)計(jì)人員能夠利用即時(shí)渲染充分展現(xiàn)室內(nèi)空間色彩和材質(zhì),還能夠有效選擇多燈光、材質(zhì),利用對比實(shí)現(xiàn)最佳方案的選擇。室內(nèi)設(shè)計(jì)師能夠有效控制室內(nèi)設(shè)計(jì)效果,避免傳統(tǒng)設(shè)計(jì)過程中大量的調(diào)整圖片步驟、昂貴成本的效果圖渲染,室內(nèi)設(shè)計(jì)師能夠通過revit 使建筑信息模型中真實(shí)的照明情況及精準(zhǔn)材質(zhì)、飾面實(shí)現(xiàn)渲染圖的制作,實(shí)現(xiàn)在設(shè)計(jì)過程中制作逼真的效果。雖然revit 渲染器中的材質(zhì)燈光渲染速度有所提高,室內(nèi)設(shè)計(jì)師還需使用revit 模型及渲染圖片為制作人員提供所需的設(shè)計(jì)圖,從而對其再次潤色,才能夠?qū)⒃O(shè)計(jì)意圖精準(zhǔn)地表現(xiàn)出來,從而降低返工率。
設(shè)計(jì)師能夠利用鏈接圖形設(shè)計(jì)和其他設(shè)備的專業(yè)revit 文件,全面掌握室內(nèi)立體及空間的狀態(tài),能夠隨意在三維及二維之間進(jìn)行切換,從而將空間的缺點(diǎn)、優(yōu)點(diǎn)充分挖掘出來,實(shí)現(xiàn)空間自身特點(diǎn)的開發(fā)和設(shè)計(jì),而并不是套用某張圖片。利用更換不同視角,從而真實(shí)感受室內(nèi)設(shè)計(jì)立體性,通過立體特點(diǎn)實(shí)現(xiàn)設(shè)計(jì)。
對參數(shù)化模塊需求添加程序標(biāo)準(zhǔn)圖塊,優(yōu)先輸入旋轉(zhuǎn)方向、縮放尺寸、比例等參數(shù),通過程序在CAD 中實(shí)現(xiàn)合適文字、圖形、設(shè)備的繪制。一個(gè)圖形保存到單獨(dú)CAD 文件中,利用多CAD 圖塊實(shí)現(xiàn)聚集,利用不同的數(shù)據(jù)庫實(shí)現(xiàn)針對性的調(diào)用,還能夠?qū)崿F(xiàn)全新制作圖塊的添加。通過窗口提示的需求,程序就能夠方便地對多方式圖塊進(jìn)行選擇,在文件中實(shí)現(xiàn)相應(yīng)圖塊的插入。圖6 為繪圖功能實(shí)現(xiàn)的流程圖,以下為功能實(shí)現(xiàn)的代碼:
圖6 繪圖功能實(shí)現(xiàn)的流程圖Fig.6 Realization flow chart of drawing function
本文在辦公室實(shí)現(xiàn)測試,利用Radeon 9550 獨(dú)立顯卡、CPU C2.0 GB、1 GB 內(nèi)存、80 GB 硬盤及10/100 自適應(yīng)RTL8139 網(wǎng)卡等配置電腦,從而實(shí)現(xiàn)測試。
以下為測試內(nèi)容及結(jié)果:
1)插入圖塊。在圖形中實(shí)現(xiàn)插入圖塊的10 次測試,全部成功,圖塊插入的平均時(shí)間為1 s;
2)設(shè)計(jì)管線。將管線間距輸入進(jìn)去,實(shí)現(xiàn)不同供回水間距熱力管道繪制,在進(jìn)行繪制過程中具有較高的流暢度;
3)散干互聯(lián)。在系統(tǒng)中選擇供回水管道及散熱器,實(shí)現(xiàn)供回水管道和散熱器立管的自動(dòng)連接,一共測試10 次,10 次全部成功;
4)計(jì)算散熱器。輸入?yún)?shù),對散熱器進(jìn)行計(jì)算,計(jì)算結(jié)果表示與現(xiàn)實(shí)計(jì)算結(jié)果一致。
5)系統(tǒng)圖的生成。點(diǎn)擊供回水管線的始端,實(shí)現(xiàn)自動(dòng)系統(tǒng)圖的生成,其生成系統(tǒng)圖的位置精準(zhǔn),速度也比較快。
室內(nèi)設(shè)計(jì)師利用室內(nèi)工程制圖主要表現(xiàn)就是通過手繪階段進(jìn)入到電腦制圖階段,而且市場中很少利用手繪方式對大量施工圖進(jìn)行繪制,而是利用CAD 軟件代替。CAD 是使用較為廣泛的設(shè)計(jì)軟件,其是一種高效且快捷的設(shè)計(jì)手段,且CAD 全新功能也備受室內(nèi)設(shè)計(jì)人員的喜歡。通過本文分析表示,CAD 設(shè)計(jì)功能強(qiáng)大,能夠使室內(nèi)設(shè)計(jì)及繪圖效率得到進(jìn)一步的提高。