裴愛華 谷呈朋 黃慧超 吳凱偉
(中鐵工程設計咨詢集團有限公司,北京 100055)
近年來,我國城市軌道交通處于高速發展階段,與此同時,三維建筑信息模型(BIM)技術作為建筑行業的全新技術也逐漸被應用于城市軌道交通工程中[1]。城市軌道交通工程是一項多專業、多角色,在多約束、長周期、大投入下的復雜系統工程,采用BIM技術是實現其高效率、規范化、低成本、全面協同的關鍵[2]。國內軌道交通常用的BIM設計平臺主要有Revit、Bentley和Catia等。其中,Revit在目前國內建筑市場核心建模軟件中市場占有率高,全球通用性強,并與歐特克旗下多款軟件數據交互性好[3]。
目前,城市軌道交通BIM設計主要基于Revit平臺,已有許多學者開展相關研究,余元波以地鐵車站通風空調系統為例,從模塊化設計和自動化設計兩個方面探討BIM正向設計方法[4];李雙雙以武漢地鐵5號線楊園車站為例,開展結構施工圖正向設計應用探索[5];楊陳相以理論結合實際方法,研究基于BIM技術的地鐵車站建筑結構協同設計方法[6];阮曉晨等以廣州地鐵番禺廣場站為例,開展地鐵車站施工管理中的應用研究[7];王志則從建設單位角度,對采用BIM技術把控項目質量,提高軌道交通工程建造水平進行探索[8];邵志國等從運營角度開展地鐵車站安全疏散模擬研究[9]。然而,對于城市軌道交通中的帶狀工程,Revit軟件內置工具往往不能滿足高效的建設需求,還需結合各自工程特點在建設過程中開展研究和探索[10-13]。
當前,軌道工程主要依靠設計人員利用Revit內置命令手工完成,過程中需頻繁進行拾取、移動、旋轉、拉伸、放樣、融合等操作,機械重復性工作多,影響設計效率,難以高效地開展BIM設計工作。
Dynamo是Revit的可視化編程工具,通過簡單的節點連接可以實現“所見即所得”的編程模式。節點是Dynamo程序的基本組成單元,它可以進行數據處理。用戶只需要像搭積木—樣按照自己的需求將節點拖拽到編程窗口,并用流程線將節點連接起來,就可以實現特定功能。Dynamo節點由輸入接口和輸出接口兩部分組成,通過輸入接口指定要處理的數據,通過輸出接口獲取處理結果。Dynamo內置許多常用的節點形成節點庫,如構建點、構建曲線、構建面、拉伸操作、放樣操作、文件讀寫等。除此之外, Dynamo還允許用戶通過Python編寫自定義節點并加入到現有節點庫,讓用戶實現—些特殊需求[14-15]。以下針對軌道BIM設計特點,對基于Dynamo中Python腳本編程的方法進行軌道結構BIM設計方法的研究和探討。
軌道結構主要由鋼軌、軌枕及扣件、道床3個部分構成。城市軌道交通中,正線主要采用60 kg/m鋼軌、車輛段主要采用50 kg/m鋼軌。軌枕主要有埋入式長枕、短枕及軌道板等。根據隧道形式,有矩形道床、圓形道床及馬蹄形道床等。其中,軌枕一般沿著線路中心線等間距布置,并根據線路方向、坡度及超高調整其放置方向,鋼軌和道床可視為一定形狀的斷面沿線路拉伸形成的實體,可根據超高、線下基礎形式等調整斷面形式和尺寸。
地鐵線路是由平縱斷面疊加起來的復雜空間曲線,尤其在豎緩曲線重合地段,無法通過數學方式表達,只能通過點坐標的方式近似模擬。而Revit自適應構件是一類高自由度的族類型,可通過控制點動態驅動模型的形狀,適用于復雜概念設計與復雜曲面建模。因此,結合軌道結構特點和Revit提供的建模方法,可采用自適應構件的方法建立軌道模型。
為使軌枕(軌道板)可以根據超高旋轉并垂直線路,需把軌枕(軌道板)族做成有3個自適應點的自適應構件族。
(1)建立基于平面的軌枕(軌道板)族
首先分別建立扣件和軌枕(軌道板)的族文件,見圖1、圖2。扣件和軌枕可以用常規的建模方法,建立公制常規模型或公制體量模型,但族參數必須設置為基于平面的族,見圖3。根據不同階段的精度要求,可以建立不同精度的族模型,然后把扣件族文件載入到軌枕(軌道板)族中組裝成一個族文件。

圖1 扣件常規模型族

圖2 軌枕常規模型族

圖3 族屬性設置
(2)建立自適應點
按照圖4所示的順序及位置建立3個自適應點,線12和線13的長度為2 000 mm,且線12與線13垂直,線12控制軌枕(軌道板)的超高,線13控制軌枕(軌道板)的方向,點1為線路中心線上的點。這3個點根據軌枕放置的位置,采用Dynamo計算獲得。

圖4 軌枕(軌道板)族自適應點
(3)設置工作平面放置軌枕(軌道板)族
設置工作平面前,首先繪制參照平面及參照線,并根據閉合環生成表面和三維捕捉選項(見圖5),按照順序選擇1、2、3、1,由3個點生成參照平面,然后選擇此參照平面為工作平面。之后載入基于平面軌枕或軌道板族文件,再調整軌枕(軌道板)面到參考平面的距離以及方向,建成后的前視圖模型見圖6。

圖5 設置工作平面

圖6 軌道板自適應族
道床及鋼軌族是由多個相同斷面創建實心形狀的自適應族,單個斷面由多個點組成。不同道床類型和鋼軌可以建成多個自適應構件族,每個截面的自適應點,通過Dynamo計算后,再賦給對應的自適應構件。
以圓形道床為例,首先在參考標高平面上定義一個道床截面所需的自適應點,然后按照順序通過線把自適應點連接起來(注意要選擇三維捕捉選項),圓弧采用“起點-終點-半徑弧”繪制,見圖7。

圖7 圓形道床自適應點分布
切換到前視圖,在前視圖上再復制多個之前定義的道床截面,斷面數可根據精度要求進行加密,全選所有截面,單擊創建形狀按鈕中的實心形狀,生成圓形道床族,見圖8。
圓形道床每個斷面由9個自適應點組成,這9個點的坐標可由軌道結構高度、水溝深、道床半寬、橫坡、平直段半寬、平直段高度、盾構半徑、軌道結構高度以及線路位置、超高等參數通過Dynamo程序計算獲得。對于其他類型道床及鋼軌,需補充相關算法,即可獲得不同道床及鋼軌模型。

圖8 圓形道床自適應構件族
由于Revit本身不能通過平縱斷面模擬線路三維曲線,故提出一種通過平縱斷面數據直接計算線路空間位置來布置軌道結構的方法。
線路平面曲線一般由交點坐標、曲線半徑、緩和曲線長度等組成,見圖9。線路縱斷面由坡度、坡長,變坡點高程、豎曲線半徑等組成,見圖10。

圖9 線路平面示意

圖10 線路縱斷面示意
線路平面曲線數據,可以采用交點法表示,見表1;縱斷面采用坡長、坡度、變坡點高程及豎曲線半徑見表2。

表1 線路平面曲線數據格式

表2 線路縱斷面數據格式
(1)線路平面坐標及方向計算
城市軌道交通線路一般采用三次拋物線形緩和曲線,要計算線路平面上的任意點坐標及方向,首先要計算曲線常數。
① 曲線常數計算見圖11、式(1)

圖11 曲線常數計算模型>

(1)
式中,α為轉向角;β0為緩和曲線切線角;p為圓曲線移動量;m為切垂距;T為切線長;L0為圓曲線長。
②直線上任意里程中線坐標推導
要計算直線上任意里程坐標,首先要計算緩直點(HZ)的坐標,在世界坐標系下,JD→HZ的方向角為δ,見圖12。HZ點坐標參數方程見式(2),則直線上任意點坐標可以通過HZ點坐標計算獲得,見式(3)。

圖12 曲線常數計算模型

(2)

(3)
式中,xJD、yJD為交點坐標,取線路的原始數據;方向角δ可通過兩個交點坐標計算獲得;li為直線點i到緩直點的距離,同時δ也是直線點i的方向。
③緩和曲線上任意里程中線坐標推導
建立以直緩(ZH)點或緩直(HZ)點為原點、以對應點切線為x軸、以對應點切線垂線為y軸的二維直角坐標系(見圖13),利用緩和曲線參數方程,推導出局部坐標系下緩和曲線上任意里程的中線坐標及切線角,即

圖13 緩和曲線計算模型

(4)
④圓曲線上任意里程中線坐標推導
以直緩(ZH)點或緩直(HZ)點為原點、以對應點切線為x軸、以對應點切線垂線為y軸建立二維直角坐標系(見圖14),利用圓曲線參數方程,可以推導出局部坐標系下圓曲線上任意里程的中線坐標及切線角,即
(5)
式中,αi為圓曲線的切向角;li為曲線點i的曲線長;p為圓曲線移動量;m為切垂距。

圖14 圓曲線計算模型
⑤局部坐標的變換
通過二維直角坐標系變換公式,可以推導出平面曲線上任意點坐標。
(2)線路縱斷面高程及方向計算
縱斷面上直線段的高程可通過變坡點高程、坡度及計算點到變坡點距離通過簡單計算獲得,下面主要介紹豎曲線地段高程的計算。計算模型見圖15,利用式(6),可推導出豎曲線上任意點的高程Hi及切線方向γ,即

(6)
式中,i1為變坡點前坡度(上坡為正,下坡為負);i2為變坡點后坡度(上坡為正,下坡為負);li為到變坡點距離(變坡點前為正,變坡點后為負);HZ為變坡點高程;T為切線長,T=R(i2-i1)/2;α=arctan(i1);β=(T-li)/R。

圖15 豎曲線計算模型
采用Dynamo建立軌道BIM模型前,首先按照第3章的方法建立族庫,然后準備線路數據和軌道數據,保存在Excel文件中。線路數據格式參考第4章,道床地段表數據格式見表3。

表3 道床地段表數據格式
道床類型參數可根據不同道床給出各自的參數,通過這些參數可計算出各自適應點坐標,如3.2節中圓形道床,可由軌道結構高度、水溝深、道床半寬、橫坡、平直段半寬、平直段高度、盾構半徑、軌道結構高度參數組成。自適應族、線路數據及道床數據準備完成后,可采用Dynamo進行道床布置。
Dynamo程序有兩種實現方式[16]。
(1)節點(Nodes)和接線(Wires)可視化編程方式。
節點作為在Dynamo的可視化編程中最基本的要素,每一個節點都有其功能,節點之間通過接線按照一定的邏輯關系進行連接,起到傳遞數據的作用,從而形成可視化程序,每一個節點表達正確則可運行程序得到想要的目標效果。
(2)PythonScript二次開發方式。
用PythonScript二次開發是將所有節點轉化為Python腳本代碼,然后打包成dll文件,再用Dynamo中用PythonScript節點調用該dll進行建模,這種方法可以很好保護算法,以下采用此方法進行軌道BIM模型建立。
軌道工程BIM建模流程為:通過對道床地段表進行遍歷,獲得每段道床的起終點里程、鋼軌族、軌枕族及道床族名稱;通過4.2節的方法,可以計算出道床段上各點的坐標和方向;由坐標和方向建立局部坐標系,然后在局部坐標系下計算出鋼軌、軌枕及道床自適應構件各自適應點的坐標,然后按照規則進行軌道結構布置,其流程見圖16,最終成果模型見圖17。

圖16 軌道模型流程

圖17 軌道模型成果
研究城市軌道交通軌道BIM建模設計方法,采用Dynamo計算線路空間位置、方向及自適應構件自適應點坐標,然后在Revit中生成自適應構件,建立軌道BIM模型。采用該方法可以建立不同精度的BIM模型,滿足不同設計階段的需求。該方法還可以通過擴展不同道床自適應構件適應點坐標的算法,來實現多種道床類型的模型建立。軌道BIM模型生成后,還可從中提取出相關的設計成果,如結構分析報告、設計圖紙、接口設計資料、工程數量清單等,同時在此基礎上還可以進一步開展施工交底、施工模擬、碰撞檢測、運維管理、結合監測系統等數字化平臺構建等研究。研究成果已在蘇州地鐵6號線、南通地鐵1號線等項目初步設計及施工圖設計中進行應用,實現了軌道工程設計的高效BIM建模。