裴愛華 谷呈朋 黃慧超 吳凱偉
(中鐵工程設(shè)計(jì)咨詢集團(tuán)有限公司,北京 100055)
近年來(lái),我國(guó)城市軌道交通處于高速發(fā)展階段,與此同時(shí),三維建筑信息模型(BIM)技術(shù)作為建筑行業(yè)的全新技術(shù)也逐漸被應(yīng)用于城市軌道交通工程中[1]。城市軌道交通工程是一項(xiàng)多專業(yè)、多角色,在多約束、長(zhǎng)周期、大投入下的復(fù)雜系統(tǒng)工程,采用BIM技術(shù)是實(shí)現(xiàn)其高效率、規(guī)范化、低成本、全面協(xié)同的關(guān)鍵[2]。國(guó)內(nèi)軌道交通常用的BIM設(shè)計(jì)平臺(tái)主要有Revit、Bentley和Catia等。其中,Revit在目前國(guó)內(nèi)建筑市場(chǎng)核心建模軟件中市場(chǎng)占有率高,全球通用性強(qiáng),并與歐特克旗下多款軟件數(shù)據(jù)交互性好[3]。
目前,城市軌道交通BIM設(shè)計(jì)主要基于Revit平臺(tái),已有許多學(xué)者開展相關(guān)研究,余元波以地鐵車站通風(fēng)空調(diào)系統(tǒng)為例,從模塊化設(shè)計(jì)和自動(dòng)化設(shè)計(jì)兩個(gè)方面探討B(tài)IM正向設(shè)計(jì)方法[4];李雙雙以武漢地鐵5號(hào)線楊園車站為例,開展結(jié)構(gòu)施工圖正向設(shè)計(jì)應(yīng)用探索[5];楊陳相以理論結(jié)合實(shí)際方法,研究基于BIM技術(shù)的地鐵車站建筑結(jié)構(gòu)協(xié)同設(shè)計(jì)方法[6];阮曉晨等以廣州地鐵番禺廣場(chǎng)站為例,開展地鐵車站施工管理中的應(yīng)用研究[7];王志則從建設(shè)單位角度,對(duì)采用BIM技術(shù)把控項(xiàng)目質(zhì)量,提高軌道交通工程建造水平進(jìn)行探索[8];邵志國(guó)等從運(yùn)營(yíng)角度開展地鐵車站安全疏散模擬研究[9]。然而,對(duì)于城市軌道交通中的帶狀工程,Revit軟件內(nèi)置工具往往不能滿足高效的建設(shè)需求,還需結(jié)合各自工程特點(diǎn)在建設(shè)過(guò)程中開展研究和探索[10-13]。
當(dāng)前,軌道工程主要依靠設(shè)計(jì)人員利用Revit內(nèi)置命令手工完成,過(guò)程中需頻繁進(jìn)行拾取、移動(dòng)、旋轉(zhuǎn)、拉伸、放樣、融合等操作,機(jī)械重復(fù)性工作多,影響設(shè)計(jì)效率,難以高效地開展BIM設(shè)計(jì)工作。
Dynamo是Revit的可視化編程工具,通過(guò)簡(jiǎn)單的節(jié)點(diǎn)連接可以實(shí)現(xiàn)“所見即所得”的編程模式。節(jié)點(diǎn)是Dynamo程序的基本組成單元,它可以進(jìn)行數(shù)據(jù)處理。用戶只需要像搭積木—樣按照自己的需求將節(jié)點(diǎn)拖拽到編程窗口,并用流程線將節(jié)點(diǎn)連接起來(lái),就可以實(shí)現(xiàn)特定功能。Dynamo節(jié)點(diǎn)由輸入接口和輸出接口兩部分組成,通過(guò)輸入接口指定要處理的數(shù)據(jù),通過(guò)輸出接口獲取處理結(jié)果。Dynamo內(nèi)置許多常用的節(jié)點(diǎn)形成節(jié)點(diǎn)庫(kù),如構(gòu)建點(diǎn)、構(gòu)建曲線、構(gòu)建面、拉伸操作、放樣操作、文件讀寫等。除此之外, Dynamo還允許用戶通過(guò)Python編寫自定義節(jié)點(diǎn)并加入到現(xiàn)有節(jié)點(diǎn)庫(kù),讓用戶實(shí)現(xiàn)—些特殊需求[14-15]。以下針對(duì)軌道BIM設(shè)計(jì)特點(diǎn),對(duì)基于Dynamo中Python腳本編程的方法進(jìn)行軌道結(jié)構(gòu)BIM設(shè)計(jì)方法的研究和探討。
軌道結(jié)構(gòu)主要由鋼軌、軌枕及扣件、道床3個(gè)部分構(gòu)成。城市軌道交通中,正線主要采用60 kg/m鋼軌、車輛段主要采用50 kg/m鋼軌。軌枕主要有埋入式長(zhǎng)枕、短枕及軌道板等。根據(jù)隧道形式,有矩形道床、圓形道床及馬蹄形道床等。其中,軌枕一般沿著線路中心線等間距布置,并根據(jù)線路方向、坡度及超高調(diào)整其放置方向,鋼軌和道床可視為一定形狀的斷面沿線路拉伸形成的實(shí)體,可根據(jù)超高、線下基礎(chǔ)形式等調(diào)整斷面形式和尺寸。
地鐵線路是由平縱斷面疊加起來(lái)的復(fù)雜空間曲線,尤其在豎緩曲線重合地段,無(wú)法通過(guò)數(shù)學(xué)方式表達(dá),只能通過(guò)點(diǎn)坐標(biāo)的方式近似模擬。而Revit自適應(yīng)構(gòu)件是一類高自由度的族類型,可通過(guò)控制點(diǎn)動(dòng)態(tài)驅(qū)動(dòng)模型的形狀,適用于復(fù)雜概念設(shè)計(jì)與復(fù)雜曲面建模。因此,結(jié)合軌道結(jié)構(gòu)特點(diǎn)和Revit提供的建模方法,可采用自適應(yīng)構(gòu)件的方法建立軌道模型。
為使軌枕(軌道板)可以根據(jù)超高旋轉(zhuǎn)并垂直線路,需把軌枕(軌道板)族做成有3個(gè)自適應(yīng)點(diǎn)的自適應(yīng)構(gòu)件族。
(1)建立基于平面的軌枕(軌道板)族
首先分別建立扣件和軌枕(軌道板)的族文件,見圖1、圖2。扣件和軌枕可以用常規(guī)的建模方法,建立公制常規(guī)模型或公制體量模型,但族參數(shù)必須設(shè)置為基于平面的族,見圖3。根據(jù)不同階段的精度要求,可以建立不同精度的族模型,然后把扣件族文件載入到軌枕(軌道板)族中組裝成一個(gè)族文件。
圖1 扣件常規(guī)模型族
圖2 軌枕常規(guī)模型族
圖3 族屬性設(shè)置
(2)建立自適應(yīng)點(diǎn)
按照?qǐng)D4所示的順序及位置建立3個(gè)自適應(yīng)點(diǎn),線12和線13的長(zhǎng)度為2 000 mm,且線12與線13垂直,線12控制軌枕(軌道板)的超高,線13控制軌枕(軌道板)的方向,點(diǎn)1為線路中心線上的點(diǎn)。這3個(gè)點(diǎn)根據(jù)軌枕放置的位置,采用Dynamo計(jì)算獲得。
圖4 軌枕(軌道板)族自適應(yīng)點(diǎn)
(3)設(shè)置工作平面放置軌枕(軌道板)族
設(shè)置工作平面前,首先繪制參照平面及參照線,并根據(jù)閉合環(huán)生成表面和三維捕捉選項(xiàng)(見圖5),按照順序選擇1、2、3、1,由3個(gè)點(diǎn)生成參照平面,然后選擇此參照平面為工作平面。之后載入基于平面軌枕或軌道板族文件,再調(diào)整軌枕(軌道板)面到參考平面的距離以及方向,建成后的前視圖模型見圖6。
圖5 設(shè)置工作平面
圖6 軌道板自適應(yīng)族
道床及鋼軌族是由多個(gè)相同斷面創(chuàng)建實(shí)心形狀的自適應(yīng)族,單個(gè)斷面由多個(gè)點(diǎn)組成。不同道床類型和鋼軌可以建成多個(gè)自適應(yīng)構(gòu)件族,每個(gè)截面的自適應(yīng)點(diǎn),通過(guò)Dynamo計(jì)算后,再賦給對(duì)應(yīng)的自適應(yīng)構(gòu)件。
以圓形道床為例,首先在參考標(biāo)高平面上定義一個(gè)道床截面所需的自適應(yīng)點(diǎn),然后按照順序通過(guò)線把自適應(yīng)點(diǎn)連接起來(lái)(注意要選擇三維捕捉選項(xiàng)),圓弧采用“起點(diǎn)-終點(diǎn)-半徑弧”繪制,見圖7。
圖7 圓形道床自適應(yīng)點(diǎn)分布
切換到前視圖,在前視圖上再?gòu)?fù)制多個(gè)之前定義的道床截面,斷面數(shù)可根據(jù)精度要求進(jìn)行加密,全選所有截面,單擊創(chuàng)建形狀按鈕中的實(shí)心形狀,生成圓形道床族,見圖8。
圓形道床每個(gè)斷面由9個(gè)自適應(yīng)點(diǎn)組成,這9個(gè)點(diǎn)的坐標(biāo)可由軌道結(jié)構(gòu)高度、水溝深、道床半寬、橫坡、平直段半寬、平直段高度、盾構(gòu)半徑、軌道結(jié)構(gòu)高度以及線路位置、超高等參數(shù)通過(guò)Dynamo程序計(jì)算獲得。對(duì)于其他類型道床及鋼軌,需補(bǔ)充相關(guān)算法,即可獲得不同道床及鋼軌模型。
圖8 圓形道床自適應(yīng)構(gòu)件族
由于Revit本身不能通過(guò)平縱斷面模擬線路三維曲線,故提出一種通過(guò)平縱斷面數(shù)據(jù)直接計(jì)算線路空間位置來(lái)布置軌道結(jié)構(gòu)的方法。
線路平面曲線一般由交點(diǎn)坐標(biāo)、曲線半徑、緩和曲線長(zhǎng)度等組成,見圖9。線路縱斷面由坡度、坡長(zhǎng),變坡點(diǎn)高程、豎曲線半徑等組成,見圖10。
圖9 線路平面示意
圖10 線路縱斷面示意
線路平面曲線數(shù)據(jù),可以采用交點(diǎn)法表示,見表1;縱斷面采用坡長(zhǎng)、坡度、變坡點(diǎn)高程及豎曲線半徑見表2。
表1 線路平面曲線數(shù)據(jù)格式
表2 線路縱斷面數(shù)據(jù)格式
(1)線路平面坐標(biāo)及方向計(jì)算
城市軌道交通線路一般采用三次拋物線形緩和曲線,要計(jì)算線路平面上的任意點(diǎn)坐標(biāo)及方向,首先要計(jì)算曲線常數(shù)。
① 曲線常數(shù)計(jì)算見圖11、式(1)
圖11 曲線常數(shù)計(jì)算模型>
(1)
式中,α為轉(zhuǎn)向角;β0為緩和曲線切線角;p為圓曲線移動(dòng)量;m為切垂距;T為切線長(zhǎng);L0為圓曲線長(zhǎng)。
②直線上任意里程中線坐標(biāo)推導(dǎo)
要計(jì)算直線上任意里程坐標(biāo),首先要計(jì)算緩直點(diǎn)(HZ)的坐標(biāo),在世界坐標(biāo)系下,JD→HZ的方向角為δ,見圖12。HZ點(diǎn)坐標(biāo)參數(shù)方程見式(2),則直線上任意點(diǎn)坐標(biāo)可以通過(guò)HZ點(diǎn)坐標(biāo)計(jì)算獲得,見式(3)。
圖12 曲線常數(shù)計(jì)算模型
(2)
(3)
式中,xJD、yJD為交點(diǎn)坐標(biāo),取線路的原始數(shù)據(jù);方向角δ可通過(guò)兩個(gè)交點(diǎn)坐標(biāo)計(jì)算獲得;li為直線點(diǎn)i到緩直點(diǎn)的距離,同時(shí)δ也是直線點(diǎn)i的方向。
③緩和曲線上任意里程中線坐標(biāo)推導(dǎo)
建立以直緩(ZH)點(diǎn)或緩直(HZ)點(diǎn)為原點(diǎn)、以對(duì)應(yīng)點(diǎn)切線為x軸、以對(duì)應(yīng)點(diǎn)切線垂線為y軸的二維直角坐標(biāo)系(見圖13),利用緩和曲線參數(shù)方程,推導(dǎo)出局部坐標(biāo)系下緩和曲線上任意里程的中線坐標(biāo)及切線角,即
圖13 緩和曲線計(jì)算模型
(4)
④圓曲線上任意里程中線坐標(biāo)推導(dǎo)
以直緩(ZH)點(diǎn)或緩直(HZ)點(diǎn)為原點(diǎn)、以對(duì)應(yīng)點(diǎn)切線為x軸、以對(duì)應(yīng)點(diǎn)切線垂線為y軸建立二維直角坐標(biāo)系(見圖14),利用圓曲線參數(shù)方程,可以推導(dǎo)出局部坐標(biāo)系下圓曲線上任意里程的中線坐標(biāo)及切線角,即
(5)
式中,αi為圓曲線的切向角;li為曲線點(diǎn)i的曲線長(zhǎng);p為圓曲線移動(dòng)量;m為切垂距。
圖14 圓曲線計(jì)算模型
⑤局部坐標(biāo)的變換
通過(guò)二維直角坐標(biāo)系變換公式,可以推導(dǎo)出平面曲線上任意點(diǎn)坐標(biāo)。
(2)線路縱斷面高程及方向計(jì)算
縱斷面上直線段的高程可通過(guò)變坡點(diǎn)高程、坡度及計(jì)算點(diǎn)到變坡點(diǎn)距離通過(guò)簡(jiǎn)單計(jì)算獲得,下面主要介紹豎曲線地段高程的計(jì)算。計(jì)算模型見圖15,利用式(6),可推導(dǎo)出豎曲線上任意點(diǎn)的高程Hi及切線方向γ,即
(6)
式中,i1為變坡點(diǎn)前坡度(上坡為正,下坡為負(fù));i2為變坡點(diǎn)后坡度(上坡為正,下坡為負(fù));li為到變坡點(diǎn)距離(變坡點(diǎn)前為正,變坡點(diǎn)后為負(fù));HZ為變坡點(diǎn)高程;T為切線長(zhǎng),T=R(i2-i1)/2;α=arctan(i1);β=(T-li)/R。
圖15 豎曲線計(jì)算模型
采用Dynamo建立軌道BIM模型前,首先按照第3章的方法建立族庫(kù),然后準(zhǔn)備線路數(shù)據(jù)和軌道數(shù)據(jù),保存在Excel文件中。線路數(shù)據(jù)格式參考第4章,道床地段表數(shù)據(jù)格式見表3。
表3 道床地段表數(shù)據(jù)格式
道床類型參數(shù)可根據(jù)不同道床給出各自的參數(shù),通過(guò)這些參數(shù)可計(jì)算出各自適應(yīng)點(diǎn)坐標(biāo),如3.2節(jié)中圓形道床,可由軌道結(jié)構(gòu)高度、水溝深、道床半寬、橫坡、平直段半寬、平直段高度、盾構(gòu)半徑、軌道結(jié)構(gòu)高度參數(shù)組成。自適應(yīng)族、線路數(shù)據(jù)及道床數(shù)據(jù)準(zhǔn)備完成后,可采用Dynamo進(jìn)行道床布置。
Dynamo程序有兩種實(shí)現(xiàn)方式[16]。
(1)節(jié)點(diǎn)(Nodes)和接線(Wires)可視化編程方式。
節(jié)點(diǎn)作為在Dynamo的可視化編程中最基本的要素,每一個(gè)節(jié)點(diǎn)都有其功能,節(jié)點(diǎn)之間通過(guò)接線按照一定的邏輯關(guān)系進(jìn)行連接,起到傳遞數(shù)據(jù)的作用,從而形成可視化程序,每一個(gè)節(jié)點(diǎn)表達(dá)正確則可運(yùn)行程序得到想要的目標(biāo)效果。
(2)PythonScript二次開發(fā)方式。
用PythonScript二次開發(fā)是將所有節(jié)點(diǎn)轉(zhuǎn)化為Python腳本代碼,然后打包成dll文件,再用Dynamo中用PythonScript節(jié)點(diǎn)調(diào)用該dll進(jìn)行建模,這種方法可以很好保護(hù)算法,以下采用此方法進(jìn)行軌道BIM模型建立。
軌道工程BIM建模流程為:通過(guò)對(duì)道床地段表進(jìn)行遍歷,獲得每段道床的起終點(diǎn)里程、鋼軌族、軌枕族及道床族名稱;通過(guò)4.2節(jié)的方法,可以計(jì)算出道床段上各點(diǎn)的坐標(biāo)和方向;由坐標(biāo)和方向建立局部坐標(biāo)系,然后在局部坐標(biāo)系下計(jì)算出鋼軌、軌枕及道床自適應(yīng)構(gòu)件各自適應(yīng)點(diǎn)的坐標(biāo),然后按照規(guī)則進(jìn)行軌道結(jié)構(gòu)布置,其流程見圖16,最終成果模型見圖17。
圖16 軌道模型流程
圖17 軌道模型成果
研究城市軌道交通軌道BIM建模設(shè)計(jì)方法,采用Dynamo計(jì)算線路空間位置、方向及自適應(yīng)構(gòu)件自適應(yīng)點(diǎn)坐標(biāo),然后在Revit中生成自適應(yīng)構(gòu)件,建立軌道BIM模型。采用該方法可以建立不同精度的BIM模型,滿足不同設(shè)計(jì)階段的需求。該方法還可以通過(guò)擴(kuò)展不同道床自適應(yīng)構(gòu)件適應(yīng)點(diǎn)坐標(biāo)的算法,來(lái)實(shí)現(xiàn)多種道床類型的模型建立。軌道BIM模型生成后,還可從中提取出相關(guān)的設(shè)計(jì)成果,如結(jié)構(gòu)分析報(bào)告、設(shè)計(jì)圖紙、接口設(shè)計(jì)資料、工程數(shù)量清單等,同時(shí)在此基礎(chǔ)上還可以進(jìn)一步開展施工交底、施工模擬、碰撞檢測(cè)、運(yùn)維管理、結(jié)合監(jiān)測(cè)系統(tǒng)等數(shù)字化平臺(tái)構(gòu)建等研究。研究成果已在蘇州地鐵6號(hào)線、南通地鐵1號(hào)線等項(xiàng)目初步設(shè)計(jì)及施工圖設(shè)計(jì)中進(jìn)行應(yīng)用,實(shí)現(xiàn)了軌道工程設(shè)計(jì)的高效BIM建模。