應(yīng)用案例分享:基于Dynamo可視化編程技術(shù)的軌道BIM設(shè)計


編輯推薦:2021BIM考試復(fù)習(xí)必備:精選50題
溫馨提示:中國建設(shè)教育協(xié)會將會在4月24-25日組織進行BIM技能考試,考生們可以提前 免費預(yù)約短信提醒,及時獲取BIM考試時間節(jié)點信息。環(huán)球網(wǎng)校已開通BIM報考資格免費查詢?nèi)肟?/a>,輸入學(xué)歷等信息即可快速查詢。
Dynamo可視化編程技術(shù)
Dynamo是一款基于Revit的參數(shù)化設(shè)計輔助工具,除了幾何建模外,Dynamo還可以高效處理建筑信息模型中的信息,與Revit配合使用,可以大大提高BIM建模效率。Dynamo采用“所見即所得”的編程模式,傳統(tǒng)編程的代碼塊在Dynamo中由可視化節(jié)點代替。節(jié)點是Dynamo程序的基本組成單元,它可以進行數(shù)據(jù)處理,完成某項功能。用戶只需要像搭積木一樣按照自己的需求將節(jié)點拖拽到編程窗口,并用流程線將節(jié)點連接起來,就可以實現(xiàn)特定功能。
Dynamo節(jié)點由輸入接口和輸出接口兩部分組成,通過輸入接口指定要處理的數(shù)據(jù),通過輸出接口獲取處理結(jié)果。Dynamo內(nèi)置許多常用的節(jié)點形成節(jié)點庫,如構(gòu)建點、構(gòu)建曲線、構(gòu)建面、拉伸操作、放樣操作、文件讀寫等。除此之外,Dynamo還允許用戶通過Python編寫自定義節(jié)點并加入到現(xiàn)有節(jié)點庫,讓用戶實現(xiàn)一些特殊需求。
技術(shù)路線
模型構(gòu)成
鐵路有砟軌道模型由鋼軌、軌枕及扣件、道床等3個部分構(gòu)成。鋼軌主要有50、60、75kg/m等型號,每種型號的鋼軌其斷面形狀和技術(shù)指標(biāo)均有所差別。軌枕主要有Ⅰ類木枕、Ⅱ類木枕、Ⅰ型混凝土枕、Ⅱ型混凝土枕和Ⅲ型混凝土枕等類型,每種類型的軌枕尺寸均不同。道床的形狀則與線路等級、速度、路基等因素相關(guān),其幾何特征主要由頂面寬度、厚度、邊坡坡度等參數(shù)決定。
設(shè)計流程
利用Dynamo進行有砟軌道BIM設(shè)計的流程如下:
(1)基礎(chǔ)數(shù)據(jù)準(zhǔn)備。從線路設(shè)計軟件導(dǎo)出線路中線坐標(biāo),利用Revit建立鋼軌斷面輪廓族、軌枕族、扣件族。
(2)構(gòu)建線路中線。在Dynamo中讀取線路中線坐標(biāo)并建立線路中線。
(3)構(gòu)建鋼軌模型。利用Dynamo對鋼軌斷面進行放樣構(gòu)建鋼軌模型。
(4)放置軌枕及扣件。利用Dynamo將軌枕族放置到線路指定位置。
(5)構(gòu)建道床模型。根據(jù)道床參數(shù),分段建立道床模型并放置到線路指定位置。
(6)創(chuàng)建屬性并賦值。根據(jù)需要為模型定義特征屬性并輸入屬性信息。
(7)模型裝配與集成。
建模方法
線路曲線構(gòu)建
由于Revit本身不具備緩和曲線表達能力,在Revit中構(gòu)建線路曲線時,主要采用以直代曲來實現(xiàn),即將曲線劃分為若干較短的直線,將這些直線首尾相連構(gòu)成曲線。首先需要借助二維CAD,將線路中線按固定點距將線路坐標(biāo)導(dǎo)出到Excel。借助Dynamo中的Data.ImportExcel節(jié)點,可以快速地將Excel中的數(shù)據(jù)導(dǎo)入到Dynamo中。
當(dāng)模型坐標(biāo)的數(shù)值較大時,Revit模型會發(fā)生嚴(yán)重的變形,Revit給出的方案是設(shè)定項目基點,通過使用相對坐標(biāo)使坐標(biāo)值變小。一般項目基點會設(shè)置在項目中心位置,建模時使用的坐標(biāo)都是基于基點的相對坐標(biāo)。因此,構(gòu)建線路曲線時需要對讀入的坐標(biāo)值進行處理(減去項目基點),讓坐標(biāo)變成較小的相對坐標(biāo)。用讀取的坐標(biāo)創(chuàng)建點,并將點放到樣條曲線中,這樣就構(gòu)建完成了線路曲線,此后的建模都需要利用該曲線進行相關(guān)計算。
曲線方向計算
建模中無論是輪廓放樣,還是放置族實例,都涉及曲線某點處方向的計算。以鋼軌建模為例,鋼軌建模采用的是利用鋼軌斷面進行分段放樣的方法,即將鋼軌斷面輪廓沿線放置,然后將前后輪廓連接起來形成三維實體。斷面輪廓的放置要求與線路中線垂直,否則放樣出來的模型會出現(xiàn)變形,這需要計算放置點處線路的平面方位角和豎向傾角。
Dynamo中的Curve.CoordinateSystemAtSegmentLength節(jié)點可以用于計算線路上某點處的局部坐標(biāo)系統(tǒng),該坐標(biāo)系統(tǒng)的X軸指向線路法向,Y軸指向線路切向,Z軸符合右手定則。斷面放置后與線路中線垂直,也就是要與局部坐標(biāo)系統(tǒng)的Y軸垂直。假設(shè)斷面輪廓族建立在XZ平面上,可按以下步驟對斷面進行旋轉(zhuǎn)。
(1)獲取局部坐標(biāo)系X軸向量XVector,將XVector的Z值設(shè)置為0,使X軸向量變?yōu)樗矫娴耐队跋蛄俊?/p>
(2)利用Math.Atan2節(jié)點計算世界坐標(biāo)系的X軸與局部坐標(biāo)系X軸水平投影的角度XAngle。
(3)利用Geometry.Rotate節(jié)點將斷面繞世界坐標(biāo)系的Z軸旋轉(zhuǎn)XAngle,此時斷面與線路水平投影垂直。
(4)獲取局部坐標(biāo)系Y軸向量YVector,將YVector的Z值設(shè)置為0,使Y軸向量變?yōu)樗矫娴耐队跋蛄俊?/p>
(5)利用Math.Atan2節(jié)點計算世界坐標(biāo)系的Y軸與局部坐標(biāo)系Y軸水平投影的角度YAngle。
(6)利用Geometry.Rotate節(jié)點繞局部坐標(biāo)系X軸水平投影旋轉(zhuǎn)YAngle,此時斷面與線路中線垂直,至此旋轉(zhuǎn)完成。
鋼軌及軌枕建模
鋼軌建模時首先需要將事先建立的鋼軌斷面族加載到Revit項目中,然后利用Curve.PointAtSegment?Length節(jié)點計算斷面放置位置,然后利用Dynamo的FamilyInstance.ByPoint節(jié)點讀入斷面,并調(diào)整斷面方向,最后將斷面移動到線路指定點處。完成斷面放置后即可利用Solid.BySweep節(jié)點來創(chuàng)建鋼軌實體,創(chuàng)建的實體此時還只是處于內(nèi)存中,需要借助Spring.FamilyInstance.ByGeometry將創(chuàng)建的鋼軌實體放入到Revit文件中。
軌枕建模與鋼軌建模類似,只需將事先建立的軌枕實體族放置到線路處指定點并調(diào)整方向角度即可,由于放置的軌枕數(shù)量較多,建模所需要的時間會比軌道建模略長。
道床建模
由于道床尺寸是根據(jù)線路特征確定,采用參數(shù)化建模方法來創(chuàng)建道床模型。對于道床來說,主要的參數(shù)有頂寬、堆高、邊坡坡度、厚度等。為了能精確的控制道床位置,還需要軌道高度、軌道墊板厚度、軌枕軌下厚度、軌枕埋入深度等參數(shù),道床頂面高程Zs由下式確定:
Zs=Zr-Hr-Hc-Hsr+Hsd(1)
式中:Zr為軌頂標(biāo)高,可從線路中線獲取;Hr為鋼軌高度;Hc為墊板厚度;Hsr為軌枕軌下厚度;Hsd為軌枕埋入道砟的深度。
根據(jù)頂寬、堆高、邊坡坡度、厚度等參數(shù),利用Dynamo創(chuàng)建道床輪廓,并進行拉伸以創(chuàng)建道床實體族,并利用軌枕建模的思路將建立的道床實體族放置到指定位置。
模型裝配與集成
由于BIM模型的幾何特征較為精細(xì),使得BIM建模工具對計算機硬件資源的消耗較大,過多的硬件消耗會極大地影響運行效率。盡量減少模型文件的大小,建模時通常將鋼軌、軌枕及扣件、道床模型分別輸出到不同的rvt文件,必要時還需要對線路進行分段處理。待所有構(gòu)配件完成后,再進行模型統(tǒng)一裝配。Revit中提供了鏈接功能,可以將多個rvt文件鏈接到一起,從而將不同的模型組裝起來,實現(xiàn)模型的集成。
Revit對于大體量模型的承載能力較弱,而項目中的軌道有時會達到數(shù)十甚至上百公里,集成后Revit會出現(xiàn)嚴(yán)重卡頓。另外,項目集成通常還涉及鐵路工程的其他專業(yè),有時還需要加入地理信息模型,此時對集成軟件的要求更高,AutoDesk給出的大體量模型集成方案是采用Navisworks軟件。
集成的另一種方案是采用GIS軟件,相對而言,GIS軟件對大體量數(shù)據(jù)的承載能力要比BIM軟件強很多,因此對于全專業(yè)的BIM集成通常會采用GIS軟件來完成,除專業(yè)的BIM設(shè)計模型外,還加入了傾斜攝影模型,集成后場景運行流暢,效果良好。
BIM建模過程中有許多機械重復(fù)性的工作,手工完成效率較低,二次開發(fā)代價大,Dynamo可視化編程為完成此類工作提供了一條良好途徑。不需要大量煩瑣的程序開發(fā),就可以讓計算機來完成一系列建模任務(wù)。基于Dynamo可視化編程技術(shù)進行BIM設(shè)計,可以大大地提高建模速度,同時可以通過程序精準(zhǔn)控制模型的位置和方向,建模精度高。
但Dynamo在解決復(fù)雜問題方面的能力有限,一方面,內(nèi)置節(jié)點不夠豐富,對于一些問題需要自己編寫自定義節(jié)點,此過程較為耗時,另一方面,當(dāng)Dynamo程序過于復(fù)雜后,程序的運行效率顯著下降,特別是涉及復(fù)雜的幾何布爾運算時,此問題更加突出。因此,對于復(fù)雜的建模工作,目前可行的辦法還是有針對性地進行二次開發(fā)。
環(huán)球網(wǎng)校為大家準(zhǔn)備了BIM技術(shù)精品課,點擊限時免費領(lǐng)取,不要錯過。以上內(nèi)容就是“應(yīng)用案例分享:基于Dynamo可視化編程技術(shù)的軌道BIM設(shè)計”,更多BIM熱點資訊/教程分享歡迎關(guān)注微信公眾號“BIM實訓(xùn)”,也可點擊下方免費下載領(lǐng)取精品學(xué)習(xí)資料。
最新資訊
- BIM在地下車庫設(shè)計中的案例賞析!2025-08-15
- BIM視野:為什么說BIM是建筑行業(yè)的“新基建”?2025-08-15
- 速看!住建部答復(fù)鼓勵用BIM計量計價,探索新型招投標(biāo)政策2025-08-14
- 關(guān)于BIM正向設(shè)計,看這一篇就夠了!2025-08-13
- BIM應(yīng)用:BIM解決軋鋼工程土建施工的復(fù)雜工況和高標(biāo)準(zhǔn)要求2025-08-11
- 經(jīng)典案例!BIM全生命周期落地應(yīng)用!2025-08-08
- BIM在給水排水消防設(shè)計中的應(yīng)用2025-08-07
- 盤點BIM在城市建設(shè)中的應(yīng)用優(yōu)勢2025-08-06
- 5個BIM原則解決管綜問題,幫你把下班時間搶回來2025-08-05
- 從設(shè)計到拆除:BIM如何“承包”建筑的一生2025-07-29