余亮平
(中國(guó)五環(huán)工程有限公司,湖北 武漢 430223)
目前,工程設(shè)計(jì)圖紙主要由人工繪制,重復(fù)繁瑣的繪圖工作,往往占用設(shè)計(jì)人員大量的工作時(shí)間;少部分圖形雖可利用設(shè)計(jì)軟件生成,但其局限性較大;特別是在當(dāng)前共建“一帶一路”的時(shí)代背景下,國(guó)際工程項(xiàng)目對(duì)于制圖規(guī)則、表達(dá)深度要求不一,國(guó)內(nèi)傳統(tǒng)圖紙的表達(dá)方式與現(xiàn)有設(shè)計(jì)繪圖軟件暫不能與之接軌,使得繪圖工作量顯著增加。如何滿足特定項(xiàng)目要求,使工程繪圖,尤其是重復(fù)性較大的繪圖工作實(shí)現(xiàn)高效化、便捷化、自動(dòng)化,成為繪圖人員應(yīng)當(dāng)思考的問(wèn)題。此前,一些論文[1,2]對(duì)于如何利用Excel表格進(jìn)行數(shù)據(jù)整理和輔助繪制簡(jiǎn)單圖形等有所介紹,但其應(yīng)用程度尚淺。本文介紹的表格繪圖法,從設(shè)計(jì)條件參數(shù)化出發(fā),通過(guò)Excel函數(shù)[3]對(duì)條件數(shù)據(jù)進(jìn)行轉(zhuǎn)化處理,將條件數(shù)據(jù)與AutoCAD命令[4](或相關(guān)繪圖插件命令)整合編制,并通過(guò)VBA獲取繪圖軟件可識(shí)別并連續(xù)執(zhí)行的命令流,最終實(shí)現(xiàn)施工圖的快速自動(dòng)生成。
表格繪圖法本質(zhì)上是利用Excel表格中豐富的公式及函數(shù)庫(kù),將設(shè)計(jì)條件、規(guī)范規(guī)定及功能要求等進(jìn)行數(shù)據(jù)處理、命令匯編的一種參數(shù)化繪圖方法。本文基于實(shí)際工程應(yīng)用的表格繪圖經(jīng)驗(yàn),對(duì)表格繪圖法的基本框架(見(jiàn)圖1)予以歸納和介紹。
圖1 表格繪圖法的基本思路
(1)設(shè)計(jì)條件。此為編制繪圖表格的初始輸入條件之一,同時(shí)也是表格編制完成后工程應(yīng)用的設(shè)計(jì)變量輸入,如數(shù)量、尺寸、標(biāo)高、角度等設(shè)計(jì)參數(shù)。
(2)規(guī)范、標(biāo)準(zhǔn)。此為編制繪圖表格的初始輸入條件之一,在表格編制完成后的工程應(yīng)用中,基本不再變動(dòng),即將規(guī)范、標(biāo)準(zhǔn)中的相關(guān)規(guī)定(如規(guī)范允許值、條文規(guī)定、標(biāo)準(zhǔn)形狀及尺寸等),利用比較函數(shù)(如MAX、MIN)、查詢函數(shù)(如VLOOKUP、INDEX、MID)、邏輯函數(shù)(如IF、AND、OR)等轉(zhuǎn)換為數(shù)據(jù)或邏輯條件,再將其輸入Excel表格,作為數(shù)據(jù)處理時(shí)的計(jì)算、判別或篩選依據(jù)。
(3)圖形控制。此為編制繪圖表格的初始輸入條件之一,在表格編制完成后的工程應(yīng)用中,允許進(jìn)行調(diào)整,從而實(shí)現(xiàn)對(duì)圖形顯示的控制,如繪圖比例、圖形分布、字號(hào)、線寬、線型、顏色、圖層等環(huán)境參數(shù)。
本文稱之為繪圖表格,其中包含數(shù)據(jù)處理、命令處理兩類(lèi)模塊。
(1)數(shù)據(jù)處理模塊。此用于對(duì)輸入的條件進(jìn)行轉(zhuǎn)換、批量計(jì)算、條件判斷等,例如表格繪圖中的“定位”、“長(zhǎng)度”、“數(shù)量”等關(guān)鍵數(shù)據(jù),即在數(shù)據(jù)處理模塊中產(chǎn)生。部分常用數(shù)據(jù)處理轉(zhuǎn)換關(guān)系或Excel函數(shù)見(jiàn)表1。
表1 部分常用數(shù)據(jù)處理轉(zhuǎn)換關(guān)系或Excel函數(shù)
(2)命令處理模塊。該模塊是在數(shù)據(jù)處理模塊的基礎(chǔ)上,將AutoCAD 或其應(yīng)用插件能夠識(shí)別的命令字符,按照命令執(zhí)行規(guī)則,與數(shù)據(jù)處理模塊生成的各類(lèi)數(shù)據(jù)進(jìn)行整合,形成可自動(dòng)執(zhí)行的命令片段,最后匯總為可連續(xù)執(zhí)行的命令流。部分典型繪圖功能對(duì)應(yīng)的CAD命令及命令流格式見(jiàn)表2。
表2 部分典型繪圖功能對(duì)應(yīng)的CAD命令及表格繪圖法命令流格式
注:①表中□表示空格(執(zhí)行命令);②CHAR(13)為Excel表格中的回車(chē)函數(shù);③命令流中斜體文字內(nèi)容為通過(guò)數(shù)據(jù)處理模塊輸出的繪圖數(shù)據(jù)。
(1)TXT命令文本。為獲得Excel表格處理得到的繪圖命令流,采用VBA代碼控件,將命令流輸出保存為與Excel表格同目錄文件夾下的TXT命令文本,VBA代碼如下:
Dim nm$
nm = ThisWorkbook.Path & "" & Range("B6") & ".txt" ‘新建文本并以單元格B6內(nèi)容命名’
Open nm For Output As #1
Print #1, Range("E31")
由表3可知:Yoder法與WS處理測(cè)定的MWD呈極顯著相關(guān),與FW、WS處理呈顯著相關(guān);Yoder法和FW處理測(cè)定的GMD呈顯著相關(guān),F(xiàn)W處理與WS、SW處理呈顯著相關(guān),其他處理間相關(guān)性不顯著;Yoder法和SW處理測(cè)定的R0.25值相關(guān)性顯著,WS處理與FW處理也呈顯著相關(guān),其他處理間相關(guān)性不顯著??梢钥闯觯和ㄟ^(guò)Yoder法測(cè)定的MWD、GMD、R0.25值與FW處理均有相關(guān)性,LB法三種處理測(cè)定的MWD、GMD、R0.25值大部分呈顯著相關(guān),說(shuō)明植被混凝土團(tuán)聚體在機(jī)械擾動(dòng)下的崩解作用與消散作用顯著正相關(guān),LB法中團(tuán)聚體崩解的三種機(jī)制之間有內(nèi)在的聯(lián)系。
Close #1 ‘將單元格E31中內(nèi)容寫(xiě)入文本’
ActiveWorkbook.Save ‘保存工作表’
End Sub
由以上VBA代碼輸出的命令流滿足兩個(gè)自動(dòng)繪圖要求:一是可被繪圖軟件識(shí)別;二是可被繪圖軟件連續(xù)執(zhí)行。
(2)DWG繪圖模板。該模板為使用AutoCAD程序或其應(yīng)用插件創(chuàng)建的模板文件,可在其中預(yù)設(shè)繪圖環(huán)境(如圖層、線型、顏色等),還可預(yù)置工程圖形的“標(biāo)準(zhǔn)件”(即一般為標(biāo)準(zhǔn)做法的工程圖形),供自動(dòng)繪圖過(guò)程中調(diào)用,從而有效節(jié)省Excel表中相應(yīng)繪圖數(shù)據(jù)編制處理工作、命令字符數(shù)量以及命令執(zhí)行時(shí)間。
(3)圖形生成。將TXT命令文本中的命令復(fù)制粘貼在DWG繪圖模板命令行,AutoCAD程序即開(kāi)始執(zhí)行命令流,完成自動(dòng)繪圖。
在表格編制過(guò)程中,數(shù)據(jù)、命令處理框架搭建的合理與否將直接決定表格編制的難易甚至成敗。在搭建處理框架時(shí),首先需要選擇各個(gè)部分圖形的基本控制點(diǎn)或參數(shù),如同工程測(cè)量或放線中的控制點(diǎn),后續(xù)的繪圖工作可以基于該控制點(diǎn)或參數(shù)逐漸發(fā)散、細(xì)化;其次,應(yīng)考慮各個(gè)參數(shù)在表格中的布局,以充分利用Excel表格橫向與縱向二維填充功能。
一方面,繪圖表格在編制時(shí)可以考慮個(gè)人使用習(xí)慣、應(yīng)用要求,使之具備一定的開(kāi)放性。表格繪圖允許使用者自定義繪圖命令縮寫(xiě),使生成的命令流與繪圖軟件中用戶自定義的快捷命令相匹配;允許根據(jù)設(shè)計(jì)需要更改繪圖環(huán)境參數(shù),如比例、線寬、線性、顏色、字體、字號(hào)等;另一方面,為保護(hù)已通過(guò)驗(yàn)證的表格數(shù)據(jù)不被篡改出錯(cuò),有必要對(duì)表格各部分進(jìn)行不同程度的加密保護(hù),設(shè)置可編輯區(qū)、允許自動(dòng)計(jì)算區(qū)和完全不可編輯區(qū)。其中,可編輯區(qū)一般用于設(shè)計(jì)條件輸入,允許更改內(nèi)容;完全不可編輯區(qū)一般用于參數(shù)說(shuō)明、使用說(shuō)明等;允許自動(dòng)計(jì)算區(qū),不接受人為輸入或改寫(xiě),但可接受Excel程序內(nèi)部運(yùn)算結(jié)果的刷新與存儲(chǔ)。
表格使用時(shí),首先須允許表格使用宏,以便執(zhí)行VBA代碼獲取命令流;第二,命令執(zhí)行時(shí)(即從命令文本復(fù)制粘貼到DWG繪圖模板文件的過(guò)程),不可隨意增補(bǔ)或刪減命令內(nèi)容,任何多余或遺漏的分步命令(如空格、回車(chē)等)都可能導(dǎo)致命令執(zhí)行錯(cuò)誤或中斷。
表格繪圖法充分發(fā)揮了Excel表格對(duì)數(shù)據(jù)的批量處理和AutoCAD軟件自動(dòng)執(zhí)行命令流的功能,不但能夠達(dá)到圖面整潔、深度足夠的工程標(biāo)準(zhǔn),并且相對(duì)于人工繪制,還表現(xiàn)出以下幾方面的應(yīng)用優(yōu)勢(shì):
人工操作數(shù)小時(shí),表格繪圖幾秒鐘。利用表格繪圖,將重復(fù)的圖形繪制工作交給Excel表格數(shù)據(jù)處理和AutoCAD命令流執(zhí)行,同類(lèi)圖形批量生成,節(jié)省的繪圖時(shí)間非??捎^。
人工繪圖難免出現(xiàn)人為錯(cuò)誤,而表格繪圖一旦通過(guò)試用驗(yàn)證,則可完全避免重復(fù)工作中可能出現(xiàn)的人為錯(cuò)誤。
人工繪圖過(guò)程中,受計(jì)算精度、捕捉誤差等影響,易造成制圖誤差以及誤差累積。而表格繪制的圖形定位、長(zhǎng)度、比例等均是通過(guò)精確數(shù)據(jù)結(jié)果生成,確保了圖形繪制的精確性。
根據(jù)具體工程要求,自定義繪圖條件和繪圖輸出,針對(duì)性和實(shí)用性強(qiáng)。在設(shè)計(jì)條件方面,可按需設(shè)置輸入?yún)?shù),還可接口現(xiàn)有設(shè)計(jì)軟件導(dǎo)出的成品數(shù)據(jù),簡(jiǎn)化輸入過(guò)程。在輸出功能方面,比例可選、圖層可調(diào)、字高可設(shè),一鍵生成命令文本并自動(dòng)命名保存,可隨時(shí)重復(fù)使用。
表格編制與使用方便快捷,通用性好。首先,相比使用AutoLISP等二次開(kāi)發(fā)方式,繪圖表格的編制對(duì)于編程能力要求較低,適合大部分工程人員使用;其次,用于生成命令文件的Excel表格和TEXT文本,為最基本的辦公文件程序或格式,無(wú)需安裝其他程序文件,且一般不受限于系統(tǒng)版本及程序兼容性要求。
化工塔設(shè)備圓形塔平臺(tái)結(jié)構(gòu)圖的表格繪圖見(jiàn)圖2。
(1)輸入界面。如圖2,輸入界面各部分分別為:①繪圖使用說(shuō)明;②設(shè)計(jì)條件輸入;③輸入?yún)⒖紙D例;④圖形控制輸入;⑤命令生成控件。
圖2 圓形塔平臺(tái)表格繪圖參數(shù)輸入界面
(2)命令文本及繪圖模板。塔平臺(tái)繪圖命令文本及繪圖模板見(jiàn)圖3,命令文本自動(dòng)以設(shè)備位號(hào)命名;繪圖模板預(yù)設(shè)繪圖環(huán)境、圖形“標(biāo)準(zhǔn)件”(如鋼梯平面圖)等內(nèi)容。
圖3 塔平臺(tái)繪圖命令文本及繪圖模板
(3)自動(dòng)繪圖成品。圖形塔平臺(tái)繪圖成品見(jiàn)圖4。成品圖為按條件層數(shù)生成的化工塔設(shè)備圓形塔平臺(tái)平面圖,含塔周?chē)脚_(tái)與塔頂平臺(tái)。圖形主要以化工行業(yè)塔平臺(tái)標(biāo)準(zhǔn)圖集[5]為計(jì)算與設(shè)計(jì)依據(jù),按施工圖標(biāo)準(zhǔn)與深度,繪制包含軸線、設(shè)備外形、支耳、托架、鋼梯、欄桿、角度、尺寸和標(biāo)高及相應(yīng)文字標(biāo)注等內(nèi)容。在無(wú)后續(xù)專業(yè)協(xié)調(diào)要求的前提下,該成品圖基本可直接用于工程施工。
某境外總包項(xiàng)目混凝土梁配筋詳圖的表格繪圖見(jiàn)圖5。
(1)輸入界面。梁配筋詳圖的表格繪圖參數(shù)輸入界面見(jiàn)圖5,輸入界面各部分為:①繪圖使用說(shuō)明;②、③、④設(shè)計(jì)條件輸入1(從設(shè)計(jì)軟件MIDAS程序中導(dǎo)出的混凝土梁截面、配筋數(shù)據(jù)等條件);⑤設(shè)計(jì)條件輸入2(需手動(dòng)輸入的設(shè)計(jì)條件);⑥圖形控制輸入;⑦命令生成控件。
(2)命令文本及繪圖模板。梁配筋詳圖繪圖命令文本及繪圖模板見(jiàn)圖6,命令文本自動(dòng)按用戶輸入的梁編號(hào)命名;繪圖模板預(yù)設(shè)繪圖環(huán)境、圖形“標(biāo)準(zhǔn)件”(如美標(biāo)規(guī)定的鋼筋標(biāo)準(zhǔn)彎鉤)等內(nèi)容。
圖6 梁配筋詳圖繪圖命令文本及繪圖模板
(3)自動(dòng)繪圖成品。梁立面、剖面配筋詳圖繪圖成品見(jiàn)圖7,成品圖為按條件跨數(shù)繪制的連續(xù)梁配筋立面圖和各跨跨左、跨中、跨右梁配筋剖面圖。繪圖內(nèi)容基于美標(biāo)構(gòu)造要求[6,7]與MIDAS軟件計(jì)算、設(shè)計(jì)結(jié)果,包含鋼筋布置、鋼筋截?cái)辔恢?、配筋?shù)量與直徑、加密區(qū)和非加密區(qū)的箍筋布置,以及相關(guān)尺寸標(biāo)注和文字標(biāo)注等連續(xù)梁配筋信息,在該成品圖基礎(chǔ)上進(jìn)一步細(xì)化調(diào)整至施工圖深度,可節(jié)省大部分繪圖時(shí)間。
圖7 梁立面、剖面配筋詳圖繪圖成品
表格繪圖法作為一種創(chuàng)新的參數(shù)化繪圖方法,其應(yīng)用可遵循本文歸納的基本方法:從輸入條件出發(fā),設(shè)計(jì)并搭建好數(shù)據(jù)處理框架,以“模塊化”方式完成不同屬性圖形的數(shù)據(jù)與命令處理,并通過(guò)VBA代碼實(shí)現(xiàn)命令整合與導(dǎo)出,最后在預(yù)設(shè)環(huán)境參數(shù)的DWG模板文件中執(zhí)行命令,生成圖形。從實(shí)例一、實(shí)例二工程圖形繪制的應(yīng)用結(jié)果可見(jiàn),表格繪圖法可大大縮減繪圖時(shí)間,同時(shí)還具有無(wú)人為錯(cuò)誤、繪圖精度高、實(shí)用性強(qiáng)、通用性好等優(yōu)勢(shì),值得推廣應(yīng)用。
本文所列舉的兩個(gè)實(shí)例表格,為相關(guān)的繪圖工作帶來(lái)了極大便利,節(jié)省了大量繪圖時(shí)間。但由于作者不具有專業(yè)的編程水平,在設(shè)計(jì)條件讀取、命令執(zhí)行啟動(dòng)、表格封裝處理等方面有待進(jìn)一步深入和優(yōu)化。