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