齊成龍
中國鐵路設計集團有限公司,天津 300308
接觸網作為動力供給線,以往多采用后植螺栓的方法安裝。該方法存在材質易腐蝕、人工機械打孔造成管片不可逆損傷、施工效率低下、環境污染嚴重等問題。預埋槽道技術可解決這些問題,地鐵項目一般采用全環預埋的方式設置槽道。但是由于結構尺寸大,鐵路盾構隧道全環預埋槽道會造成巨大浪費,因此一般采用局部塊體預埋的方式。
眾多學者開展了以管片排布為核心的盾構隧道BIM 設計方面的研究,并取得豐碩成果。陳曦等[1]基于Revit 軟件開發Dynamo 插件,實現區間隧道管片全過程自動拼裝。崔曉[2]使用Dynamo 開發可視化腳本程序,在腳本當中進行Revit族文件引用、坐標系旋轉,最終自動生成符合線路曲線特征并滿足錯縫拼裝要求的大直徑盾構隧道BIM 模型。王曉東等[3]新建Reivt管片族,通過三個自適應參照點實現對管片環空間位置和旋轉角度的綁定,完成管片批量BIM設計。
既有研究成果在一定程度上實現了盾構管片三維空間排布設計,但普遍存在自動化程度不足等缺陷,且不適用于局部塊體預埋槽道的大直徑盾構隧道[4-8]。本文基于 Dassault 平臺 CAA 架構開發盾構管片空間排布程序,與Dassault 平臺的基礎建模功能相結合,實現局部塊體預埋槽道的區間盾構隧道BIM 正向設計。
盾構隧道參數化BIM 設計分為通用管片環BIM建模、管片定位骨架設計、管片環BIM 模型的批量實例化三步。
充分利用Dassault 平臺的復雜幾何造型功能及其參數化設計優勢,創建盾構隧道通用管片環BIM 模型。利用knowledge pattern、rule 等知識工程工具以及EKL 參數化腳本語言,有效解決復雜曲面、孔洞等建模問題。
根據三類管片塊的環向分布規律,使用Dassault軟件action 知識工程工具,通過EKL 腳本語言命令InstantiateTemplate(),以分塊模板類型編號、沿環向起止邊界角度為輸入參數,快速完成各分塊BIM 建模,形成通用楔形盾構管片環參數化BIM模型。
基于Dassault平臺CAA架構開發盾構管片空間排布程序。該程序的用戶交互界面見圖1。

圖1 程序的用戶交互界面
創建盾構管片定位骨架BIM 模型前,需要準備程序輸入參數,包括平面左線、隧道理論中心線、斷鏈表、輸入數據表等。由于縱向螺栓將管片沿環向均勻劃分成若干區域,各區域是相鄰管片環相對轉動的基本角度單元。輸入數據表描述了管片環各塊體與環向分區的相對關系,以及基本設計參數。
用戶在交互界面的SelectInputSet和SelectOutputSet選擇框位置手動選擇輸入數據和輸出結果的幾何圖形集,并完成其他參數設置后,批量創建管片定位骨架坐標系BIM模型。運行結束后,程序在輸出的幾何圖形集中創建子集OrdinaryAxisGS、SlotEmbeddedAxisGS,分別存儲普通管片環、預埋槽道環的定位骨架坐標系BIM模型。
使用 Dassault 平臺中的 Assembly Pattern 功能,分別選擇上述程序生成的用于存儲定位骨架坐標系BIM模型的幾何圖形集,以及管片環BIM 模板,自動完成管片環BIM模型的批量實例化。
基于Dassault平臺CAA架構開發盾構管片空間排布程序,通過用戶交互模塊、數據存儲模塊和骨架設計模塊實現其功能。用戶交互模塊用于創建工具條和用戶交互窗口;數據存儲模塊用于輸入和輸出數據、管片環位置姿態數據的存儲和表達;骨架設計模塊實現最優管片環位置姿態的篩選功能,并批量創建骨架坐標系模型。以下依次介紹各模塊的關鍵開發技術。
管片空間排布程序運行時需要用戶手動選擇用于存儲輸入、輸出數據的幾何圖形集以及初始管片定位骨架坐標系,這些都屬于用戶與程序之間交互的功能范疇。交互界面模塊的開發分為創建工具按鈕和創建用戶交互窗口兩部分。
2.1.1 創建工具按鈕并與骨架批量建模命令關聯
工具條采用Add-in 的方式添加,為了將骨架批量建模功能嵌入到零件設計模塊,Add-in 必須首先重載CATIPrtCfgAddin接口的函數。再通過CATAfrCommand Header::CATCreateCommandHeader()成員函數使添加的工具條與骨架批量建模命令關聯,以實現在已有零件設計模塊中添加按鈕,用戶點擊按鈕,即可激活骨架坐標系批量建模命令。
2.1.2 在骨架批量建模命令中嵌入用戶交互窗口
首先創建用戶交互窗口Dialog 文件,該文件與骨架批量建模命令所在文件相互獨立。在骨架批量建模命令文件中,通過對CATMmrPanelStateCmd 類的派生,重載GiveMyPanel()方法,使包含骨架批量建模命令的派生類與Dialog文件關聯。對話流程操作是通過重載BuildGraph()方法實現的。
BuildGraph()方法通過命令狀態和代理兩個關鍵元素來實現用戶在界面中的交互響應[9]。代理的作用是將用戶在界面中的交互轉化為一種參數輸入。本程序使用了 CATDialogAgent、CATPathElementAgent、CATFeatureImportAgent 三種代理,分別用于捕獲幾何圖形集、對象路徑和坐標系模型。以代理為核心的命令狀態轉換流程見圖2。

圖2 命令狀態轉換流程
2.2.1 管片環的相對旋轉角度
理論上講,在沒有任何約束的情況下0 ~360°任何一個角度都可以作為管片環的相對旋轉角度,但在實際工程中管片環相對旋轉角度需要滿足以下四個層級的約束:①相鄰管片環的縱向螺栓孔須對齊;②管片須錯縫拼接,因為通縫時整體剛度小于錯縫,破壞時迅速失穩[10];③封頂塊須出現在下方區域,避免封頂塊朝下的不利工況[11];④預埋槽道塊須位于管片環的正上方。
2.2.2 管片環的旋轉位置
為了清晰表達當前管片相對于前一環的旋轉位置,以及當前環的絕對旋轉位置,建立用于表達管片環旋轉姿態的xoy絕對坐標系和x′oy′參考坐標系,見圖3。其中:A1—A7,B1—B2,K 分別是管片環的塊體編號。A2,A6 為預埋槽道塊,縱向螺栓沿環向將管片劃分為28個區域。可以看出,管片在環向被等間距的縱向螺栓孔分割,相鄰縱向螺栓構成的環向分區代表了最小相對旋轉范圍。相鄰管片環之間的旋轉角度只能是該環向分區的整數倍。本程序采用該最小分區的整數倍表征管片之間的相對旋轉角度。

圖3 絕對坐標系與參考坐標系之間的關系
縱向定位螺栓將盾構管片沿環向劃分出n個分區,x′oy′參考坐標系的ox′軸指向正上方,各分區與ox′、oy′軸的相對位置不變。
2.2.3 存儲方式
本程序讀取表格后,使用TunnelInputClass 類存儲xoy絕對坐標系與x′oy′參考坐標系重合時管片環的相對旋轉角度序列、管片環下方限制區域、各塊體的初始和結束分區的編號等數據。
使用結構體類型的對象TunnelSegmentResultStruct存儲每環管片的排布結果。具體包括管片環編號及里程、管片環中心與隧道理論中心線的距離、管片相對于前一環沿順時針方向的旋轉角度(以分區數目的整數倍表達)、當前環K 塊所在的分區編號、當前環正上方的塊體編號、當前管片是否預埋槽道。
2.3.1 生成管片環相對旋轉角度序列
使用GenRotateAreaAvailable()函數,考慮四層約束條件,生成當前管片環相對于前一環的旋轉角度序列。本函數的執行流程見圖4。

圖4 GenRotateAreaAvailable()函數的執行流程
2.3.2 從相對旋轉角度序列中篩選最優值
如圖5所示,管片環為楔形幾何體,假設在其初始端面、前進端面各有一個定位骨架坐標系。這些定位骨架坐標系的x軸指向封頂塊,z軸垂直于初始端面或前進端面。管片i+1 相對于管片i的轉角可從相對旋轉角度序列中選擇,圍繞初始端面坐標系o1x1y1z1的z1軸旋轉,得到與每個相對旋轉角度對應的前進端面坐標系o2x2y2z2,生成的每個前進端面坐標系原點都是一個試算點。

圖5 相鄰管片環未發生相對旋轉時端面坐標系示意
管片i+1 初始端面坐標系o3x3y3z3的原點與所有可能的前進端面坐標系o4x4y4z4的原點(也就是試算點)構成一個圓錐形(圖6)。從所有可能的試算點中選擇最靠近隧道理論中心線的一個,其對應的相對旋轉角度就是管片環i+1相對于管片環i的最優旋轉角度。

圖6 初始端面坐標系、隧道理論中心線與試算點幾何關系示意
2.3.3 根據最優旋轉角度生成管片定位骨架
已知管片i,確定i+1 及后續各管片的位置需要兩個關鍵步驟:①將管片i+1 的初始端面坐標系o3x3y3z3繞z3軸旋轉;②建立每個管片環初始端面坐標系與前進端面坐標系的相互關系。
1)坐標系繞z3軸旋轉
分別通過 GetOrigin()、GetDirections()成員函數獲取坐標系的原點和方向向量,將其作為輸入參數。調用構造函數生成CATMathLine 線對象,將其作為旋轉軸,生成CATMathTransformation 空間變換對象。調用該對象的成員函數ApplyToAxis()完成CATMathAxis類型坐標系的旋轉操作。
2)從初始端面坐標系生成前進端面坐標系
如圖7所示,根據楔形量w和管片環外徑d確定楔形角度θ。將初始端面坐標系x3o3z3先繞y軸順時針旋轉θ度,然后沿z軸平移標準幅寬s,再繞y軸順時針旋轉θ,得到前進端面坐標系x4o4z4。

圖7 管片徑向剖面
廣湛(廣州—湛江)高速鐵路湛江灣海底隧道為250 km/h 雙線盾構隧道,全長8.5 km,位于湛江市區,最大埋深約31 m。出于精細化設計和信息化建設管理需求,對該隧道開展BIM設計。
縱向螺栓將管片劃分為28 個環向分區。10 個塊體與分區的關系見表1。第4列“是否預埋”中“1”表示當前塊體為預埋槽道塊,否則是常規塊體。

表1 10個塊體與分區的關系
使用Dassault 軟件創建盾構管片環精細化BIM 模型,每個管片環所包含的封頂塊、標準塊、鄰接塊三種塊體模型見圖8。

圖8 每個管片環的三種塊體模型
以隧道理論中心線、空間左線為輸入條件,讀入數據表,開展管片定位坐標系批量建模,繼而使用Assembly Pattern 功能,完成管片環模型實例化,在Dassault平臺實現區間盾構隧道BIM設計。
每個預埋槽道環包含4 號、8 號兩個預埋槽道塊(參見表1)。BIM 設計成果見圖9。其中預埋槽道塊用紫色標識,各管片環錯縫拼接,預埋槽道環按預定間距沿縱向布置。對于每一個預埋槽道環,可以保證其兩個預埋槽道塊中的一個位于正上方,從而滿足接觸網等四電設施的基礎預埋要求。

圖9 廣湛高速鐵路湛江灣海底隧道BIM模型
針對盾構管片三維空間BIM 設計存在的自動化程度不足、不適用于局部塊體預埋槽道的大直徑盾構隧道等問題,本文基于Dassault 平臺CAA 架構開發管片空間排布程序,實現了考慮局部塊體預埋槽道的區間盾構隧道BIM設計。
本程序包含用戶交互、數據存儲和骨架設計三個重要模塊。用戶交互模塊通過Add-in 和代理機制創建工具條及用戶交互窗口。數據存儲模塊以縱向定位螺栓的環向分區為基準,建立xoy絕對坐標系和x′oy′參考坐標系,存儲和表達管片環的位置及姿態數據。骨架設計模塊考慮多層次約束條件,計算管片環的相對旋轉角度序列,以端面坐標系原點最接近隧道理論中心線為原則,篩選出最優的管片環相對旋轉角度,批量創建管片定位骨架坐標系模型。
使用Dassault 平臺的模型實例化等功能,并結合本程序,成功實現了廣湛高速鐵路湛江灣海底隧道BIM設計。