仇朝珍,賀波,葛勝錦
(1.青海交通職業(yè)技術(shù)學(xué)院,青海 西寧 810000;2.中交柏嘉工程技術(shù)研究院有限公司)
目前,BIM技術(shù)在交通建設(shè)領(lǐng)域的應(yīng)用尚處于初級階段,其主要建模工具依賴國外BIM軟件,建模功能尚不完備,如何利用有限的功能實現(xiàn)復(fù)雜交通結(jié)構(gòu)物的建模是BIM技術(shù)人員急需解決的問題。
CAD時代,專業(yè)繪圖軟件的使用大大提高了工程師的繪圖速度,使設(shè)計單位的生產(chǎn)效率得到了質(zhì)的飛躍。而BIM時代的主要任務(wù)是顛覆傳統(tǒng)的設(shè)計思路,完成工程項目在全生命周期內(nèi)的數(shù)字化、智能化和信息化建設(shè),因此一款好的軟件解決方案必不可少。
目前,中國國內(nèi)主流的BIM軟件包括以Revit為代表的A平臺軟件;以O(shè)penroads為代表的B平臺軟件;以Catia為代表的C平臺軟件等。
各類軟件都有各自的優(yōu)勢,也存在相應(yīng)不足,為工程技術(shù)人員帶來了很多困擾。
交通建設(shè)項目具有里程長、線形復(fù)雜、模型體量大等特點(diǎn),現(xiàn)階段任何一款軟件在處理這些問題時都面臨巨大挑戰(zhàn)。Bentley系列軟件在解決交通領(lǐng)域BIM模型有關(guān)問題方面有天然優(yōu)勢,但其在中國大陸的普及率較低,且學(xué)習(xí)、應(yīng)用門檻較高,掌握其應(yīng)用的技術(shù)人員仍在少數(shù);歐特克公司的BIM系列軟件在房建應(yīng)用領(lǐng)域具有入門迅速、操作簡單方便等優(yōu)勢,且市場普及率較高,但處理橋梁建模方面仍存在很多問題;而CATIA系列軟件更適用于鋼結(jié)構(gòu)等復(fù)雜結(jié)構(gòu)的設(shè)計,應(yīng)用領(lǐng)域受局限。
在交通建設(shè)領(lǐng)域,中國國內(nèi)大多數(shù)BIM工程師采用A系列軟件建模,隨著工程項目的增多及應(yīng)用的深化,Revit應(yīng)用的局限性愈發(fā)凸顯,復(fù)雜線形、異形曲面、長大橋梁的建模工作存在建模難、效率低等特點(diǎn)與不足,而Dynamo的出現(xiàn),完美地解決了這一難題。
Dynamo是Revit中的一個插件,通過可視化編程的方式,使用戶實現(xiàn)個性的建模功能。目前,Dynamo已廣泛應(yīng)用于交通、水利等結(jié)構(gòu)物的建模。
Revit中的圖形數(shù)據(jù)、信息可以通過Dynamo在多款軟件中交互(CSV、XLS、SAT、DWG、RHINO等),適應(yīng)各類使用人員的專業(yè)需求。在橋梁建模方面,Dynamo可實現(xiàn)的功能主要包括:數(shù)據(jù)批量處理、異形結(jié)構(gòu)創(chuàng)建、快速放置族構(gòu)件等。
Revit的模型結(jié)構(gòu)主要分為4個層級,即[Category]、[Family]、[Type]、[Instance]。
[Category]類別是最高級別的類型,例如結(jié)構(gòu)柱、墻、空間等。
[Family]族代表類別的類,是根據(jù)參數(shù)集的共用、圖形的相似對圖元分組的大類。例如橋墩的類別下,有雙柱墩、三柱墩、花瓶墩等不同的族。
[Type]族類別是根據(jù)規(guī)格、尺寸等對圖元的分組,是族的分類。例如矩形結(jié)構(gòu)族,又可細(xì)分界面為500 mm×500 mm的族類型以及界面為450 mm×550 mm的族類型等。
[Insrance]圖元是Revit建模過程中最小的單元。
按功能分類,Dynamo節(jié)點(diǎn)可分為5大類:設(shè)計輸入、數(shù)據(jù)處理、數(shù)據(jù)輸出、幾何體處理、Revit相關(guān)操作。
(1)設(shè)計輸入:主要包括任何作為設(shè)計條件的數(shù)據(jù)、構(gòu)件的節(jié)點(diǎn)。例如ImportExport下的節(jié)點(diǎn)、Input下的節(jié)點(diǎn)。
(2)數(shù)據(jù)處理:主要包括所有對數(shù)據(jù)(列表)相關(guān)操作的節(jié)點(diǎn)。例如List下的節(jié)點(diǎn)、Math下的節(jié)點(diǎn)。
(3)數(shù)據(jù)輸出:主要包括用于將數(shù)據(jù)導(dǎo)出到外部環(huán)境的節(jié)點(diǎn)。
(4)幾何體處理:主要包括任何對點(diǎn)、線、面、體進(jìn)行生成和處理的節(jié)點(diǎn)。如Geometry下的大部分節(jié)點(diǎn)。
(5)Revit相關(guān)操作:主要包括任何對Revit構(gòu)件進(jìn)行生成和操作的節(jié)點(diǎn)。如Revit下的大部分節(jié)點(diǎn)。
在Dynamo的節(jié)點(diǎn)庫中,有一個叫做“Revit”的專門節(jié)點(diǎn)分類,其包含了一系列用于選擇、創(chuàng)建、編輯、查詢Revit圖元的節(jié)點(diǎn),可以幫助用戶大幅降低重復(fù)性作業(yè)、提高建模效率及精度、創(chuàng)建異形構(gòu)件、輔助快速出圖,實現(xiàn)Revit本身無法實現(xiàn)的功能。
以下幾個節(jié)點(diǎn)為Dynamo與Revit交互的常用節(jié)點(diǎn),僅供示例參考。
(1)節(jié)點(diǎn)組合:Selection.Select Edgs(Face、Model)+Family.Types+數(shù)據(jù)處理+ImportInstance.ByGeometries。
節(jié)點(diǎn)釋義:Selection節(jié)點(diǎn)用于連接Revit中的點(diǎn)、線、面、體模型,F(xiàn)amily.Type用于族的選取,ImportInstance用于載入族。
(2)節(jié)點(diǎn)組合:Data.ImportExcel+數(shù)據(jù)處理+Family.Types+幾何體處理。
節(jié)點(diǎn)釋義:在Dynamo中,用Data節(jié)點(diǎn)讀取Excel文件,用Revit節(jié)點(diǎn)選取族,根據(jù)表格數(shù)據(jù)對族賦值。
(3)節(jié)點(diǎn)組合:All Elements In Active View+圖元篩選+數(shù)據(jù)處理+布爾運(yùn)算+字符串處理+Family Type+導(dǎo)入Revit。
節(jié)點(diǎn)釋義:在Dynamo中,選取所有圖元,對圖元進(jìn)行篩選,處理篩選出的圖元數(shù)據(jù)整理出需要的數(shù)據(jù)(循環(huán)、排列用Python腳本),得到數(shù)據(jù)后進(jìn)行條件選擇并拍平成表,將表格中的數(shù)據(jù)轉(zhuǎn)換為字符串,對字符串批量處理得到族所需要的參數(shù)值,選擇對應(yīng)的族進(jìn)行操作,最后將結(jié)果導(dǎo)入到Revit中。
Python Script可以認(rèn)為是Dynamo中一個帶有Python編程語言的節(jié)點(diǎn),技術(shù)人員可根據(jù)此節(jié)點(diǎn)編寫Python程序,同時也可以調(diào)取Revit的API,可解決數(shù)據(jù)處理節(jié)點(diǎn)不完善、邏輯判斷、循環(huán)嵌套等復(fù)雜程序,定制自己所需要的功能,極大地提高了Dynamo的應(yīng)用范圍。
(1)族構(gòu)件的快速放置
Revit傳統(tǒng)的族構(gòu)件放置采用建立標(biāo)高確定高程、軸網(wǎng)確定平面位置的方式,需確定放置點(diǎn)后,手工進(jìn)行放置,效率極低;采用Dynamo程序的方式,只需將族的高程信息、坐標(biāo)信息、族參數(shù)信息、偏轉(zhuǎn)角度等關(guān)鍵參數(shù)以統(tǒng)一格式通過Excel表格存儲,然后通過Dynamo程序讀取該表格數(shù)據(jù)自動放置,針對大型復(fù)雜項目,建模效率提高幾十倍以上。
(2)異形結(jié)構(gòu)的創(chuàng)建
Revit創(chuàng)建族的基本功能包括拉伸、融合、放樣以及在此基礎(chǔ)上的衍生功能,可以完成普通結(jié)構(gòu)的建模,對于異形復(fù)雜結(jié)構(gòu)如變截面梁、預(yù)應(yīng)力齒塊等則無法創(chuàng)建;采用Dynamo+自適應(yīng)族的方式,通過Excel數(shù)據(jù)控制自適應(yīng)點(diǎn)放樣軌跡,可快速實現(xiàn)異形結(jié)構(gòu)的建模。
通過Dynamo編程控制,可以自動將橋梁構(gòu)件(族)快速準(zhǔn)確地放置到正確的位置,快速完成橋梁結(jié)構(gòu)的拼接。具體實施思路如下:
(1)數(shù)據(jù)處理。利用Civil3d軟件可生成道路的平曲線、縱斷面設(shè)計線,根據(jù)圖紙中的《直曲轉(zhuǎn)角表》、《縱斷設(shè)計表》等文件,可生成項目的平縱設(shè)計圖。依據(jù)Civil3d提供的數(shù)據(jù)輸出工具,可提取樁號的坐標(biāo)、高程、方位角等基礎(chǔ)數(shù)據(jù),并導(dǎo)出CSV格式的表格。
(2)參數(shù)化建族。充分利用Revit強(qiáng)大的族功能,構(gòu)建不同類型的梁體、承臺、橋墩、樁基、護(hù)欄、標(biāo)線、照明裝置、管道等構(gòu)件參數(shù)化的BIM族庫。利用族的參數(shù)變化可實現(xiàn)“一次制作,永久使用”,極大地減輕了建模的工作量。
(3)Dynamo for Revit。利用Dynamo建模代碼塊可實現(xiàn)Revit族的批量快速放置。根據(jù)提取的路線樁號位置信息和設(shè)置構(gòu)件參數(shù)來自動放置各種構(gòu)件,通過設(shè)置橋梁構(gòu)件的參數(shù)、位置、高程、角度等,可實現(xiàn)快速精確BIM建模。
連續(xù)剛構(gòu)橋的墩身與主梁固結(jié),在建模過程中,主要考慮兩方面內(nèi)容:① 快速準(zhǔn)確建模,使模型與實際項目一致;② 按照工序工法對模型進(jìn)行拆分,符合施工實際。
3.2.1 快速建模思路
上部結(jié)構(gòu)采用Revit建族、Dynamo布設(shè)、Excel數(shù)據(jù)處理進(jìn)行建模。下部結(jié)構(gòu)采用Revit建族、Dynamo布設(shè)進(jìn)行建模。
采用放樣融合的邏輯進(jìn)行上部結(jié)構(gòu)建模。一個準(zhǔn)確的模型需要兩個元素:準(zhǔn)確的中心線與準(zhǔn)確的截面輪廓。為提高建模效率,考慮建立全參數(shù)化的輪廓族,參數(shù)化主要位置包括:箱梁高、腹板厚度、頂?shù)装搴穸?、倒角、翼緣尺寸等?/p>
相關(guān)參數(shù)通過Excel處理,可以根據(jù)箱梁底板下緣曲線方程或箱梁底板上緣曲線拋物線方程來計算各個截面的參數(shù)。
得到參數(shù)化輪廓和與之對應(yīng)的參數(shù),建模思路就非常清晰了:Revit中創(chuàng)建輪廓族-Excel中錄入?yún)?shù)數(shù)據(jù)-Dynamo中創(chuàng)建項目中心線、確定關(guān)鍵點(diǎn)樁號、樁號處向梁中心線偏移、中心線上的點(diǎn)在Z軸上加坡度、根據(jù)關(guān)鍵點(diǎn)將輪廓族放入、根據(jù)Excel數(shù)據(jù)給各輪廓族賦值、按照橋梁中心線和各截面依次放樣得出橋梁上部結(jié)構(gòu)。
下部結(jié)構(gòu)建模,根據(jù)項目下部結(jié)構(gòu)類型,在Revit中通過拉伸、放樣、放樣融合等手段將一個類型的下部結(jié)構(gòu)建立成為族,然后利用Dynamo程序?qū)⑾虏拷Y(jié)構(gòu)族放置到正確的位置上。
3.2.2 模型分塊
根據(jù)設(shè)計資料獲取對模型分塊的樁號值,并在這些樁號點(diǎn)處放置垂直于該樁號點(diǎn)切向量的面,實現(xiàn)n個面分割出n+1個構(gòu)件。但Dynamo自帶的Split節(jié)點(diǎn)只能進(jìn)行一次切割,缺乏循環(huán)切割的功能,因此考慮創(chuàng)造一個滿足循環(huán)切割功能的節(jié)點(diǎn)。
通過Dynamo內(nèi)置Python節(jié)點(diǎn)的編程功能,可實現(xiàn)循環(huán)功能。
根據(jù)Python節(jié)點(diǎn)創(chuàng)建的循環(huán)功能,可利用n個截面分割出n+1個構(gòu)件,即可實現(xiàn)模型的分塊。將分割的構(gòu)件導(dǎo)入Revit即可獲得準(zhǔn)確的構(gòu)件BIM模型,通過與設(shè)計圖紙的比較,工程量幾乎無差別。
彎橋在建模過程中往往采用“以折代曲”的方式,不僅可以避免大量的異形板,還可以減少設(shè)計工作量,并降低橋梁的施工難度。
基本思路:將曲線段內(nèi)橋梁的主梁近似為直線,計算內(nèi)外邊線的差值,同時確定主梁數(shù)量與間隔。當(dāng)跨徑、曲線半徑都較小時,可以通過調(diào)整邊梁的懸臂長度進(jìn)行彎曲設(shè)計。
該文通過兩種常用的方法,即扇形布設(shè)法與平行布設(shè)法進(jìn)行闡述。
3.3.1 墩臺扇形布設(shè)法
在墩臺扇形布設(shè)法中,各墩臺與路線中心線的夾角相同,但同一跨的主梁長度由內(nèi)向外逐漸變長。
該方法對于上部結(jié)構(gòu)的設(shè)計工作量相對較大,不能直接套用已設(shè)計完成的標(biāo)準(zhǔn)板。且不適用于曲線半徑較大、橋?qū)捿^小的彎橋,可通過調(diào)整主梁的封端長度來控制橋梁的總長。
首先根據(jù)橋梁中心線、邊線等設(shè)計資料,確定分孔線樁號等信息,然后輸入主梁數(shù)量、間距等參數(shù)后自動排梁,得出主梁定位點(diǎn)等設(shè)計信息。
T梁定位點(diǎn)數(shù)據(jù)包括T梁中心線起點(diǎn)、終點(diǎn)的坐標(biāo)值、高程信息。
(1)邊梁弧度控制
通過T邊梁懸臂端距T梁中線的距離,控制T梁翼緣的內(nèi)外弧度。內(nèi)外弧度的控制可采用“以折代曲”的思路對T梁進(jìn)行橫向分割,分割面設(shè)置越多,T梁內(nèi)外邊線越接近弧形,理論上可以無限接近弧形。具體分割段應(yīng)根據(jù)梁長、弧度等綜合確定。
(2)高程控制
根據(jù)樁號處的已知高程以及超高或橫坡率,采用三角函數(shù)確定各定位點(diǎn)相對于樁號點(diǎn)的相對高程,從而確定各定位點(diǎn)的高程。
(3)T梁建族
將主梁定位點(diǎn)坐標(biāo)、尺寸數(shù)據(jù)、高程等關(guān)鍵參數(shù)信息存儲于Excel中,利用這些設(shè)計數(shù)據(jù),用輪廓族自適應(yīng)的方式即可完成T梁建族。
完成T梁建族后,通過自適應(yīng)族放置功能,即可實現(xiàn)T梁快速自動排布。并計算出首尾夾角,設(shè)定伸縮縫寬度,并將這些參數(shù)輸入到T梁族中。
(4)濕接縫、橫隔板設(shè)計
完成主梁排布后,需進(jìn)行橫隔板、濕接縫設(shè)計。一般來說,根據(jù)標(biāo)準(zhǔn)圖集建立橫隔板模型,然后確定定位點(diǎn),最后用Dynamo程序完成橫隔板的自動布設(shè)。
對于濕接縫,可通過程序自動計算兩片主梁的間距,該間距即為濕接縫的寬度,確定定位點(diǎn)后,利用Dynamo程序完成濕接縫的布置。
3.3.2 墩臺平行布設(shè)法
建模思路:墩臺交角與路線中心線不等,曲線段內(nèi)各墩互相平行布置。
在該建模思路下,可以大幅減少主梁設(shè)計的工作量,甚至直接套用標(biāo)準(zhǔn)梁的尺寸。
但是,在橋跨較多的情況下,可能出現(xiàn)橋墩、橋臺中心線與線路中心線夾角變小,導(dǎo)致墩臺間凈距減小,橋墩數(shù)量增多,影響工程造價和橋下空間的利用,因此,該方法只適用于曲率半徑較大的橋型。
3.4.1 預(yù)應(yīng)力齒塊
預(yù)應(yīng)力齒塊一般作為預(yù)應(yīng)力鋼筋錨固用,其形狀較為復(fù)雜,一般根據(jù)橋梁箱式的形狀、尺寸而變化,五面體結(jié)構(gòu)居多。
因上述原因,由于齒塊形狀隨箱室內(nèi)壁調(diào)整,用傳統(tǒng)建模方法建模較為困難,在一個項目中齒塊類型一般有十幾種,有些大型項目甚至達(dá)到幾十種,其布設(shè)工作量巨大,且手工在Revit中布設(shè)的精度也較低,因此該文運(yùn)用Revit建模+Dynamo賦值及布設(shè)+Excel導(dǎo)入數(shù)據(jù)的形式進(jìn)行布設(shè)。
建模思路:根據(jù)齒塊類型在Revit自適應(yīng)族中建立參數(shù)化模型,該文根據(jù)貴州某連續(xù)剛構(gòu)橋數(shù)據(jù)作為演示。在Excel中對齒塊參數(shù)進(jìn)行統(tǒng)計,然后根據(jù)Dynamo中Revit.Selct Eges節(jié)點(diǎn)分別拾取箱室中對應(yīng)的布設(shè)邊(左下、右下、左上、右上),在Excel中算出布設(shè)齒塊的自適應(yīng)點(diǎn)1,再拾取線上的Parameter,并推出自適應(yīng)點(diǎn)2的Parameter,根據(jù)點(diǎn)的位置在Dynamo中放置相對應(yīng)的齒塊,放置完成后依次進(jìn)行齒塊參數(shù)的賦予,賦參數(shù)時運(yùn)用到Script.Python Script節(jié)點(diǎn)編程循環(huán)放置小程序。
3.4.2 橫隔板
橫隔板一般隨梁的位置變化而變化,所以橫隔板的形狀多為異形,在建模時如用傳統(tǒng)Revit建模方法在模型尺寸和放置中難免會有誤差且橫隔板在項目中數(shù)量較多,單個放置工作量巨大,擬結(jié)合Dynamo建模技術(shù)解決上述問題。
建模思路:根據(jù)項目橫隔板類型在Revit中建立橫隔板自適應(yīng)族,在Dynamo中找到需布設(shè)橫隔板的橋梁中心線,在中心線上找到梁起終點(diǎn)位置,以中心線上的點(diǎn)根據(jù)Excel表格進(jìn)行偏移,找到各梁的起終點(diǎn),在Excel中算出每片梁間橫隔板的位置,在Excel中計算出各橫隔板的參數(shù),用Dynamo放置橫隔板,用Dynamo賦予各橫隔板參數(shù)值。
通過Dynamo的應(yīng)用,極大地提高了A系列軟件的建模效率,根據(jù)不同的算法,也可畫出更復(fù)雜的異形模型,如拱橋、斜拉橋的異形構(gòu)件等。雖然可視化的編程極大地降低了操作門檻,但對于大多數(shù)工程技術(shù)人員來講,算法編程仍是難點(diǎn),Python基礎(chǔ)語言的學(xué)習(xí)需要從零開始。
目前,行業(yè)熟練掌握Dynamo操作的技術(shù)人員仍不多,面對巨大的市場需求及未來的發(fā)展趨勢,工程技術(shù)人員有必要不斷學(xué)習(xí)Dynamo的應(yīng)用及相關(guān)編程知識,提高建模效率。
Dynamo以其獨(dú)特的編程優(yōu)勢,實現(xiàn)了通過Revit快速構(gòu)建橋梁模型的方法,提高了Revit建模的效率與范圍。該文通過對多種不同類型橋梁及構(gòu)件建模方法的探討,提供了橋梁構(gòu)件的基本建模思路,可為廣大BIM從業(yè)者提供思路與借鑒經(jīng)驗。