王 浩
(中國鐵路設(shè)計(jì)集團(tuán)有限公司 城市軌道交通設(shè)計(jì)研究院,天津 300251)
近些年,越來越多的建設(shè)項(xiàng)目開始引入建筑信息模型(BIM,Building Information Modeling)技術(shù)來輔助設(shè)計(jì)、施工和管理[1],例如廣州白云國際機(jī)場綜合交通樞紐,京張高鐵清華園隧道,西成客運(yùn)專線,泰和贛江特大橋等多個(gè)建設(shè)項(xiàng)目[2-5]。目前,各個(gè)行業(yè)的BIM研發(fā)主要集中在擴(kuò)展應(yīng)用上,如工程量計(jì)算,在線問題溝通,風(fēng)險(xiǎn)控制,數(shù)值分析等[6-9]。
隨著鐵路建設(shè)項(xiàng)目對(duì)BIM技術(shù)的應(yīng)用要求逐漸由試驗(yàn)工點(diǎn)轉(zhuǎn)變?yōu)槿范?、全專業(yè)的趨勢,其帶來的直接結(jié)果是各個(gè)設(shè)計(jì)團(tuán)隊(duì)面臨大量的BIM建模工作,特別是在傳統(tǒng)二維繪圖工作并沒有減少工作量的情況下,BIM建模工作占用了較大的人力。因此,提高BIM建模效率,讓設(shè)計(jì)人員有更充裕的時(shí)間進(jìn)行方案比選和優(yōu)化就成為了BIM研發(fā)工作的重點(diǎn)。
以中國鐵路設(shè)計(jì)集團(tuán)有限公司為例,采用達(dá)索平臺(tái),建模流程如圖1所示,主要由5步構(gòu)成[10]:(1)建模數(shù)據(jù)準(zhǔn)備;(2)參數(shù)化工程模板的建立;(3)批量生成隧道骨架線;(4)批量實(shí)例化工程模板;(5)實(shí)例化模型的修改。
圖1 建模流程
在上述建模流程中,真正占用設(shè)計(jì)人員大量時(shí)間又對(duì)提高設(shè)計(jì)質(zhì)量幫助較小的工作為第5步工作,實(shí)例化模型的修改。該部分工作瑣碎、重復(fù)量大、自動(dòng)化程度低。達(dá)索提供的EKL語言可以批量生成模型,但是無法批量修改模型。因此,采用C++語言進(jìn)行二次開發(fā)減少第5步工作的時(shí)間十分必要。本文以鐵路隧道洞室模型生成后如何快速的對(duì)正洞模型進(jìn)行修剪為例,初步探索了采用二次開發(fā)的方式提高建模效率。
中國鐵路設(shè)計(jì)集團(tuán)有限公司BIM建模采用的達(dá)索平臺(tái)最初是一款應(yīng)用于機(jī)械制造行業(yè)的設(shè)計(jì)-建模軟件。該軟件采用“骨架-模板”的建模思路[11],通過模板建立相似類型的模型,從而減少建模工作量。鐵路總公司成立BIM聯(lián)盟后,達(dá)索平臺(tái)開始進(jìn)入鐵路設(shè)計(jì)建模領(lǐng)域。
隧道工程中包含大量的綜合洞室以及各專業(yè)的專用洞室,這些洞室在修建過程中需要在隧道側(cè)壁開洞,而在隧道建模過程中由于洞室建模需要參考正洞模型的內(nèi)表面,所以洞室建模需要在正洞完成之后。隨之帶來的問題就是,正洞建模過程中由于洞室模型尚未完成無法依據(jù)洞室模型預(yù)留開孔位置。而在洞室建模過程中EKL語言難以修改已經(jīng)建立好的模型,無法再修剪正洞。因此,在洞室建模完成后設(shè)計(jì)者需要手動(dòng)對(duì)正洞構(gòu)件下初支、二襯、仰供等部分進(jìn)行修剪,消耗大量時(shí)間和精力。
如圖2所示,洞室被暗洞拱墻部分的初支、二襯完全堵住,不符合工程建設(shè)中的實(shí)際情況。在實(shí)際工程中,一條長度在5 km左右的高速鐵路隧道,僅此類修改消耗的時(shí)間大約在一天左右,極大地降低了設(shè)計(jì)效率。
采用C++編程方式將原本由設(shè)計(jì)者進(jìn)行的判斷和操作用計(jì)算機(jī)完成。計(jì)算機(jī)自動(dòng)獲取暗洞和洞室的結(jié)構(gòu),判斷修剪位置,并按照工程實(shí)際修剪相應(yīng)部分。圖3為修剪完成后的暗洞-洞室模型,暗洞-洞室位置關(guān)系比較簡單,但還有其他多種位置關(guān)系。
如圖4所示,圖中 A、B、C、D、E 表示暗洞段落,1、2、3、4表示洞室,可以看到,正洞與洞室的位置主要有4種:
圖2 修剪前的暗洞-洞室模型
圖3 修剪后的暗洞-洞室模型
圖4 暗洞-洞室位置關(guān)系圖
(1)如1-A,一個(gè)隧道暗洞段與一個(gè)洞室相交。直接采用洞室1對(duì)正洞段A進(jìn)行修剪。
(2)如2-B、2-C,洞室位于襯砌段落分界處,要用B、C兩段暗洞段分別與洞室2做布爾運(yùn)算。根據(jù)設(shè)計(jì)要求,洞室不能位于該位置,但是在初次設(shè)計(jì)當(dāng)中難以避免此種相交方式,除非在建模前進(jìn)行數(shù)據(jù)校核,將原本此類的相交方式篩選并調(diào)整后進(jìn)行建模。
(3)如D,暗洞段不與任何一個(gè)洞室相交,不需做修剪直接跳過進(jìn)入下一暗洞段。
(4)如3-E、4-E,一個(gè)暗洞段與兩個(gè)或兩個(gè)以上洞室相交,需要用3、4兩個(gè)洞室對(duì)暗洞段E進(jìn)行修剪。
根據(jù)上述情況,軟件運(yùn)行邏輯圖如圖5所示,具體如下:
(1)獲取暗洞總結(jié)點(diǎn)下的一個(gè)暗洞段,同時(shí)獲取洞室總結(jié)點(diǎn)下的一個(gè)洞室。
(2)判斷獲取的暗洞段是否與獲取的洞室相交。如果相交,用洞室修剪暗洞,如果不相交,獲取下一個(gè)洞室。
(3)每次獲取洞室后依據(jù)返回值是否為空判斷是否已經(jīng)遍歷結(jié)束,遍歷未結(jié)束,重復(fù)第2步,遍歷結(jié)束,獲取下一暗洞段。
(4)每當(dāng)獲取一個(gè)新的暗洞段,自動(dòng)重新獲取洞室總節(jié)點(diǎn)下第一個(gè)洞室。保證每個(gè)暗洞段和所有洞室進(jìn)行判斷。
圖5 軟件運(yùn)行邏輯圖
通過開發(fā),設(shè)計(jì)人員只需要簡單地選擇暗洞總結(jié)點(diǎn)和洞室,后續(xù)工作全部由計(jì)算機(jī)完成,極大地縮短了建模時(shí)間。本文所述開發(fā)成果已經(jīng)在牡佳客運(yùn)專線BIM項(xiàng)目中得到應(yīng)用。圖6為軟件界面,圖7為多段落暗洞段與洞室修剪對(duì)比。
圖6 軟件界面
牡佳客運(yùn)專線線路全長371.622 km,新建線路長度為367.190 km,共有隧道34座,總長約63.732 km,均為雙線隧道,占線路長度的17.36%。其中,長度在5 km以上的隧道共3座。
圖7 多段落暗洞段與洞室修剪對(duì)比
項(xiàng)目建模前期,由于程序尚未開發(fā)完成,為了按時(shí)完成建模任務(wù),設(shè)計(jì)團(tuán)隊(duì)采用手動(dòng)修剪方式完成工作。前期建模的約20座隧道修剪耗費(fèi)時(shí)間在一周左右。后期程序開發(fā)調(diào)試完成,剩余10余座隧道修剪僅耗費(fèi)半天時(shí)間。
盡管通過開發(fā)已經(jīng)極大地減少了設(shè)計(jì)人員的工作量,提高了設(shè)計(jì)效率,但由于軟件開發(fā)經(jīng)驗(yàn)不足,開發(fā)時(shí)間較短等原因,該程序還存在著許多的缺點(diǎn)和不足。
(1)對(duì)不規(guī)則結(jié)構(gòu)樹適應(yīng)性較差。由于程序遍歷結(jié)構(gòu)樹的規(guī)則較為固定,因此要求隧道專業(yè)暗洞段與洞室部分結(jié)構(gòu)樹嚴(yán)格按照軟件要求組織。在實(shí)際生產(chǎn)項(xiàng)目中,由于建模人員對(duì)軟件的不熟悉或溝通理解問題,經(jīng)常會(huì)有部分隧道由于結(jié)構(gòu)樹不規(guī)范無法使用該程序。
(2)生成的結(jié)構(gòu)為無參實(shí)體,不能隨著輸入條件的修改而自動(dòng)改變。為了追求開發(fā)速度和程序運(yùn)行效率,程序內(nèi)生成的結(jié)果全部去參數(shù)化,無法隨著輸入條件修改而改變。因此,此類生成去參實(shí)體的二次開發(fā)程序建議在建模結(jié)束階段,不必面臨大量修改時(shí)使用。
(3)操作不易撤銷。由于程序最終目的為修改每個(gè)暗洞段結(jié)構(gòu),最終生成的結(jié)果分別位于各個(gè)暗洞段結(jié)構(gòu)下。因此除了在執(zhí)行完后立即執(zhí)行撤銷操作外,沒有便捷的方式迅速將模型恢復(fù)到程序執(zhí)行前。而撤消操作在執(zhí)行了后續(xù)其他操作后由于操作記錄被覆蓋也無法執(zhí)行,所以在程序執(zhí)行完成后必須第一時(shí)間檢查結(jié)果,如果發(fā)生錯(cuò)誤立即撤銷。
(4)構(gòu)件類型識(shí)別依靠構(gòu)件名稱。由于程序開發(fā)時(shí)工業(yè)基礎(chǔ)類(IFC)類型尚未部署完成,只能通過構(gòu)件名稱來確定是否需要修剪,對(duì)于構(gòu)件命名不規(guī)則情況可能會(huì)發(fā)生修剪錯(cuò)誤。
本文通過C++語言進(jìn)行CAA二次開發(fā)的方式極大地提高了鐵路隧道BIM建模的效率,在工程應(yīng)用中節(jié)約了寶貴的時(shí)間和人力資源。本次開發(fā)仍然具有較大的局限性,未來的研究重點(diǎn)將放在以下幾個(gè)方面:(1)程序編寫盡量采用遞歸調(diào)用方式,提高適用性。(2)程序盡量與IFC屬性相結(jié)合,減少對(duì)模型命名的約束。(3)盡量采用自定義特征的方式編寫程序,輔助建模,實(shí)現(xiàn)信息在軟件內(nèi)部的聯(lián)動(dòng)。(4)后續(xù)開發(fā)著重探索優(yōu)化建模流程,從而縮減建模工作量。