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