王俊博 張 宇 漆麗英
(1.北京理正股份有限公司,北京 100044;2.交通運(yùn)輸部科學(xué)研究院,北京 100029)
CAD技術(shù)將建筑師、工程師們從手工繪圖推向計(jì)算機(jī)輔助制圖,實(shí)現(xiàn)了工程設(shè)計(jì)領(lǐng)域的第一次信息革命[1]。從CAD技術(shù)普及以來(lái),設(shè)計(jì)成果一般都是CAD圖紙形式表達(dá)。但是近些年來(lái),隨著建筑的復(fù)雜程度日益增加,專(zhuān)業(yè)間的配合更加緊密。傳統(tǒng)的平面圖式的專(zhuān)業(yè)配合已經(jīng)無(wú)法滿足日益繁復(fù)的設(shè)計(jì)任務(wù)要求。究其原因,傳統(tǒng)的二維CAD圖紙存在的根本性問(wèn)題是,我們?cè)镜脑O(shè)計(jì)方式就是“反建筑”的,因?yàn)榻ㄖ橇Ⅲw的三維的,用二維的圖紙無(wú)法事無(wú)巨細(xì)地完美表達(dá)真實(shí)的三維建筑。
為了解決傳統(tǒng)CAD技術(shù)存在的瓶頸與問(wèn)題,BIM技術(shù)應(yīng)運(yùn)而生,BIM技術(shù)的誕生和使用被譽(yù)為建筑行業(yè)的第二次技術(shù)革命[1],它將多專(zhuān)業(yè)分別分步的繪圖方式轉(zhuǎn)換為共同繪圖,把傳統(tǒng)的二維空間模式轉(zhuǎn)換為三維空間,更加具有立體感。BIM設(shè)計(jì)相對(duì)于CAD二維設(shè)計(jì),具有無(wú)可比擬優(yōu)勢(shì),具體表現(xiàn)在:可視化設(shè)計(jì),便于業(yè)主決策,減少項(xiàng)目返工[2]; 各專(zhuān)業(yè)協(xié)同設(shè)計(jì),大幅度減少設(shè)計(jì)錯(cuò)誤,提高設(shè)計(jì)質(zhì)量[3]; 可解決機(jī)電管道打架老大難問(wèn)題[4]。項(xiàng)目通過(guò)引入BIM技術(shù),可大幅提高設(shè)計(jì)質(zhì)量,降低項(xiàng)目建造成本[5]。因此, BIM已成為建筑行業(yè)發(fā)展方向。
采用BIM的首要任務(wù)是建立BIM模型,BIM建模目前有兩條技術(shù)路線:一條是BIM正向設(shè)計(jì),就是項(xiàng)目從草圖設(shè)計(jì)階段至交付階段全部過(guò)程都是由BIM三維模型完成,設(shè)計(jì)圖紙是三維模型投影得到的衍生品[6]; 另一條是BIM翻模,就是先完成施工圖,然后根據(jù)施工圖再建立三維模型[7]。目前,限于BIM技術(shù)發(fā)展的現(xiàn)狀和設(shè)計(jì)人員掌握BIM技術(shù)的程度,BIM正向設(shè)計(jì)的全面推行將是一個(gè)漫長(zhǎng)的過(guò)程,在這個(gè)過(guò)渡過(guò)程中,BIM正向設(shè)計(jì)和BIM翻模兩種技術(shù)路線將長(zhǎng)期并存[8]。BIM翻模主要應(yīng)用在設(shè)計(jì)階段還是采用傳統(tǒng)的CAD 圖紙,在施工、運(yùn)維階段想應(yīng)用BIM做深化設(shè)計(jì)與管理[9],或者是存量建筑的BIM化[10],CIM(City Information Modeling)的數(shù)據(jù)快速積累等場(chǎng)景[11]?,F(xiàn)階段多數(shù)設(shè)計(jì)人員進(jìn)行BIM翻模還處于手工階段,存在大量的繁重的重復(fù)性工作。BIM建模效率低下成為其推廣使用最大障礙之一,如何提高BIM建模效率是當(dāng)前急需解決問(wèn)題之一?,F(xiàn)在市面上眾多BIM軟件中,其中要數(shù)Aulodesk Revit系列軟件可擴(kuò)展性最好,應(yīng)用程序接口較為完善。理正BIM翻模軟件基于Revit平臺(tái)二次開(kāi)發(fā),實(shí)現(xiàn)從CAD圖紙到Revit快速翻模。
為了讓用戶翻模過(guò)程更順暢更便捷,本插件采用在Revit直接鏈接CAD圖紙進(jìn)行翻模的方式。翻模過(guò)程主要分為兩步,第一步從鏈接的CAD圖紙二維圖元中識(shí)別出要翻模的建筑構(gòu)件,第二步將識(shí)別出的建筑構(gòu)件生成Revit相應(yīng)三維實(shí)體,識(shí)別與生成部分通過(guò)外部xml文件進(jìn)行數(shù)據(jù)傳遞。理正BIM翻模軟件包括建筑翻模、結(jié)構(gòu)翻模、噴淋系統(tǒng)翻模,水管翻模,風(fēng)管翻模,橋架翻模等。本文將僅以土建的建筑翻模和機(jī)電的噴淋系統(tǒng)翻模為例說(shuō)明具體實(shí)現(xiàn)過(guò)程。
廣泛適應(yīng)性:對(duì)CAD圖紙不作特別要求,確保插件具備廣泛的適應(yīng)性。
準(zhǔn)確性與效率:將翻模準(zhǔn)確性放在第一位,在滿足準(zhǔn)確性前提下,盡可能提高翻模效率。
易用性:插件操作力求簡(jiǎn)單,便于上手。
本插件基于Revit 2016-2018版本,主要開(kāi)發(fā)工具Visual Studio 2012。識(shí)別部分由于需要調(diào)用CAD二次開(kāi)發(fā)包ObjectARX SDK中一些函數(shù)來(lái)提取dwg文件中相關(guān)信息,采用C++語(yǔ)言編寫(xiě),該模塊命名為L(zhǎng)ZCADModel.dll。生成部分及界面開(kāi)發(fā)選擇Revit二次開(kāi)發(fā)推薦的C#語(yǔ)言編寫(xiě),該模塊命名為L(zhǎng)Z.BIM.Model.dll。為了讓C#編寫(xiě)的界面模塊可以直接調(diào)用C++語(yǔ)言編譯生成的LZCADModel.dll中的類(lèi),采用托管C++技術(shù)對(duì)LZCADModel.dll模塊中的類(lèi)進(jìn)行封裝,該模塊命名為L(zhǎng)ZRevitCadTrans.dll。插件主要由上面的3個(gè)DLL模塊組成。
建筑翻模界面如圖1所示,界面劃分為兩部分,上半部分為識(shí)別相關(guān)內(nèi)容,主要是確定各種構(gòu)件所在的CAD圖層,下半部分為生成相關(guān)內(nèi)容,主要是確定各類(lèi)構(gòu)件在Revit中對(duì)應(yīng)的族及在垂直方向上的位置。
圖1 建筑翻模界面
首先從軸線及軸號(hào)、墻邊線、門(mén)窗及門(mén)窗編號(hào)、柱邊線圖層中提取各類(lèi)CAD圖元,并根據(jù)圖層進(jìn)行分類(lèi)。然后對(duì)各類(lèi)構(gòu)件,調(diào)用各自特有的識(shí)別規(guī)則進(jìn)行識(shí)別匹配。各類(lèi)構(gòu)件具體識(shí)別規(guī)則與算法如下:
1)軸線支持直線和弧線,識(shí)別出軸線后,要從軸線延長(zhǎng)線上順藤摸瓜地根據(jù)軸號(hào)引線找到軸圈,進(jìn)而找到軸線編號(hào);
2)墻線支持直線和弧線,從墻線圖層上提取出直線和弧線后,要進(jìn)行雙線匹配,雙線匹配要用到翻模界面上設(shè)置的“最大墻寬”;
3)門(mén)窗必須為圖塊,識(shí)別出門(mén)窗圖塊后,要與門(mén)窗編號(hào)進(jìn)行匹配,這個(gè)匹配要用到翻模界面上設(shè)置的“門(mén)窗編號(hào)與門(mén)窗之間距離”這個(gè)參數(shù),門(mén)還會(huì)識(shí)別出門(mén)的開(kāi)啟方向;
4)柱子支持圖塊和非圖塊,但要求必須有封閉邊線,支持圓柱、方柱和異形柱。
識(shí)別模塊會(huì)將識(shí)別結(jié)果存儲(chǔ)在xml文件中,以便生成模塊讀取來(lái)構(gòu)建三維模型,各類(lèi)構(gòu)件主要存儲(chǔ)內(nèi)容如下:
1)軸線會(huì)記錄識(shí)別出多少根軸線,每根軸線是直線還是弧線,直線會(huì)記錄起點(diǎn)和終點(diǎn),弧線會(huì)記錄圓心、半徑、起始角度、終止角度,還會(huì)記錄軸號(hào),及哪側(cè)軸號(hào)顯示;
2)墻體會(huì)根據(jù)墻厚進(jìn)行分類(lèi),然后記錄每面墻的墻類(lèi)型編號(hào),墻也會(huì)分為直線和弧線,直線會(huì)記錄起點(diǎn)和終點(diǎn),弧線會(huì)記錄圓心、半徑、起始角度、終止角度,每面墻還記錄了墻寬;
3)門(mén)窗會(huì)根據(jù)編號(hào)進(jìn)行分類(lèi),并記錄該類(lèi)別的門(mén)窗寬度、高度,然后記錄每個(gè)門(mén)窗屬于哪個(gè)類(lèi)型和具體位置;
4)柱子會(huì)根據(jù)形狀尺寸進(jìn)行分類(lèi),方柱會(huì)記錄長(zhǎng)度、寬度,圓柱會(huì)記錄半徑,然后記錄每個(gè)柱子屬于哪個(gè)類(lèi)型和柱子的中心位置。
讀取識(shí)別生成的xml和界面上用戶交互輸入的相關(guān)參數(shù)生成Revit中相應(yīng)建筑構(gòu)件。各類(lèi)構(gòu)件具體生成算法如下:
1)根據(jù)識(shí)別出的軸線的起點(diǎn)、終點(diǎn)、軸號(hào),生成軸線;
2)根據(jù)識(shí)別出的墻線起點(diǎn)、終點(diǎn)、墻寬,及界面設(shè)置的墻類(lèi)型、墻頂標(biāo)高、墻底標(biāo)高,生成墻體;
3)根據(jù)識(shí)別出的柱子幾何形狀尺寸及界面設(shè)置的族名稱(chēng),生成柱子;
4)根據(jù)識(shí)別出的門(mén)寬、門(mén)高、門(mén)編號(hào)及界面設(shè)置的族名稱(chēng),生成門(mén);
5)根據(jù)識(shí)別出的窗寬度、窗高度及界面設(shè)置的窗臺(tái)高,族名稱(chēng),生成窗。
下面為某辦公樓建筑局部翻模效果,圖2是該建筑標(biāo)準(zhǔn)層CAD圖紙,圖3是該建筑標(biāo)準(zhǔn)層在Revit中翻模生成的相應(yīng)建筑模型(未經(jīng)過(guò)手工修改)。
圖2 建筑CAD圖紙圖
圖3 Revit中翻模生成的相應(yīng)建筑模型(未經(jīng)過(guò)手工修改)
噴漆翻模界面如圖4所示,界面劃分為兩部分,上半部分為識(shí)別相關(guān)內(nèi)容,主要是確定管道及管徑標(biāo)注、噴頭所在的CAD圖層,下半部分為生成相關(guān)內(nèi)容,主要是確定噴頭族和管道、噴頭的高度。
圖4 噴淋翻模界面
首先從管道及管徑標(biāo)注、噴頭圖層中提取CAD圖元,然后識(shí)別出首尾相聯(lián)的噴淋系統(tǒng),每個(gè)系統(tǒng)會(huì)形成一棵從樹(shù)根(系統(tǒng)入口點(diǎn))到樹(shù)葉(噴頭)的樹(shù)狀結(jié)構(gòu),然后開(kāi)始對(duì)每根管道與管徑標(biāo)注進(jìn)行匹配。
識(shí)別結(jié)果會(huì)輸出到在xml文件中,以便生成模塊讀取來(lái)構(gòu)建三維模型,各類(lèi)構(gòu)件主要存儲(chǔ)內(nèi)容如下:
1)管道會(huì)記錄起點(diǎn)、終點(diǎn),管徑;
2)噴頭會(huì)記錄噴頭位置。
讀取識(shí)別生成的xml和界面上用戶交互輸入的相關(guān)參數(shù)生成Revit中噴淋系統(tǒng)。具體生成算法如下:
1)根據(jù)識(shí)別出的管道起點(diǎn)、終點(diǎn)、管徑和界面設(shè)置的管道類(lèi)型、高度在對(duì)應(yīng)位置生成管道,并對(duì)相連管道,自動(dòng)生成彎頭、三通、四通、變徑等相應(yīng)連接件;
2)根據(jù)識(shí)別出的噴頭平面位置和界面設(shè)置噴頭類(lèi)型、高度在對(duì)應(yīng)位置生成噴頭,并自動(dòng)生成短立管與系統(tǒng)連接。
下面為某建筑噴淋系統(tǒng)翻模效果,圖5是該噴淋系統(tǒng)CAD圖紙,圖6是在Revit中翻模生成的相應(yīng)噴淋系統(tǒng)模型(未經(jīng)過(guò)手工修改)。
圖5 噴淋系統(tǒng)CAD圖紙
圖6 Revit中翻模生成的相應(yīng)噴淋系統(tǒng)模型(未經(jīng)過(guò)手工修改)
經(jīng)用戶實(shí)際驗(yàn)證,對(duì)于建筑翻模準(zhǔn)確率在98%以上,噴淋翻模的準(zhǔn)確率在99%以上。翻模效率相比手工翻模更是幾十倍的效率提升。對(duì)于建筑翻模,一個(gè)10萬(wàn)m210棟樓的小區(qū)的建筑模型,一個(gè)熟練的Revit建模人員加班加點(diǎn)至少也要花半個(gè)月的時(shí)間,但通過(guò)翻模插件只需要半天的時(shí)間就可以完成。對(duì)于噴淋翻模,一個(gè)1萬(wàn)多m2的地庫(kù)有1 000個(gè)噴頭的噴淋系統(tǒng),普通建模人員手工建??赡芤ㄉ弦粌商斓臅r(shí)間,通過(guò)噴淋翻模只需要幾分鐘的時(shí)間就可以完成。
BIM技術(shù)的全面應(yīng)用,將使建筑設(shè)計(jì)乃至整個(gè)工程的質(zhì)量和效率顯著提高,已逐漸成為業(yè)界共識(shí)[12]。但BIM技術(shù)的推廣與應(yīng)用不可能一蹴而就,需要建設(shè)單位,設(shè)計(jì)院,施工單位,監(jiān)理單位,運(yùn)維企業(yè)等各方的協(xié)作推進(jìn),還需要配套軟件、國(guó)家配套標(biāo)準(zhǔn)及管理模式逐步完善,才能比較順暢地全面推行,這個(gè)過(guò)程將是比較漫長(zhǎng)的[13]??傊?,現(xiàn)階段用Revit完全取代CAD進(jìn)行BIM正向設(shè)計(jì)還不現(xiàn)實(shí),對(duì)于采用BIM翻模的項(xiàng)目又面臨手工建模效率低下、工作量大等問(wèn)題,嚴(yán)重阻礙BIM技術(shù)發(fā)展[14],通過(guò)開(kāi)發(fā)Revit二次插件是提高建模效率較為可行方法之一[15]。
本文闡述了通過(guò)Revit二次開(kāi)發(fā)插件直接翻模構(gòu)建三維模型的方法,避免了手工建模的繁瑣重復(fù)性工作。實(shí)踐表明,插件具有廣泛適應(yīng)性,可大大提高CAD圖紙到Revit模型的轉(zhuǎn)換效率,翻模準(zhǔn)確率也高達(dá)98%以上。插件利用Revit二次開(kāi)發(fā)突破BIM發(fā)展瓶頸做了一些嘗試及實(shí)踐,取得了較好效果,但是即使翻模準(zhǔn)確率達(dá)到98%以上,還是會(huì)有部分構(gòu)件存在翻模錯(cuò)誤的問(wèn)題,用戶檢查模型將會(huì)是一件非常頭疼的事情,插件雖然在錯(cuò)誤提示方面做了很多工作,但還不能保證所有翻模錯(cuò)誤全部能提示出來(lái),在這方面還有待加強(qiáng)。
通過(guò)開(kāi)發(fā)BIM配套軟件,來(lái)降低BIM技術(shù)的推廣應(yīng)用門(mén)檻,是推動(dòng)BIM發(fā)展的有效途徑,值得建筑行業(yè)廣大從業(yè)人員和軟件企業(yè)共同研究及探討。