劉 秀,余文成,夏詩畫
(1.桂林理工大學 土木與建筑工程學院,廣西 桂林 541004;2.招商局重慶交通科研設計院有限公司,重慶 400067)
隨著交通建設領域BIM應用的興起,參數(shù)化建模思想在橋梁工程中被廣泛應用[1-7]。國內相關學者對Dynamo在橋梁工程中的應用做了相關研究。何樹凱[8]在重慶雙碑嘉陵江大橋工程中利用BIM技術對大橋施工設計進行精細化處理,合理安排施工進度,有效避免了人為因素造成的失誤,保證了工期進度。董耀文等[9]結合參數(shù)化建模的實例,減少了BIM建模的工作量,降低了BIM建模的復雜程度,實現(xiàn)了信息的完整、精確和無縫的傳遞。邱珂[10]將BIM技術應用到高跨立體有軌專用橋梁的設計中,對高跨立體有軌電車專用橋梁的設計有一定指導作用。吳樊等[11]利用Dynamo參數(shù)化的建模思想實現(xiàn)了鋼板樁和結構鉆孔樁快速、高效放置,并提出基于Dynamo自行編寫Python節(jié)點擴充到節(jié)點庫,有效提高了Dynamo建模效率。李庶安等[12]將Revit平臺的Dynamo插件應用到橋梁緩和曲線段建模過程中,解決了緩和曲線段建模過程中以直代曲產生的誤差,提高了建模的精度,并就Dynamo的可視化編程語言的靈活性、代碼的開源性提出Dynamo發(fā)展的無限可能性[13-15]。
本文以重慶曾家?guī)r嘉陵江大橋工程為背景,針對工程中主橋橋墩為空間曲面結構,提出利用參數(shù)化建模思想完成模型創(chuàng)建的方法,以解決橋梁復雜異形構件設計難、精度低的問題,同時利用參數(shù)動態(tài)控制設計尺寸,快速完成設計,實現(xiàn)實時修改造型的目的。
重慶曾家?guī)r嘉陵江大橋位于重慶市主城區(qū)中心地帶,橋型為鋼性懸索加勁連續(xù)鋼桁架梁橋,全長566.09 m,由跨江大橋及南橋頭明挖框架2部分組成,跨徑布置為(135+270+135)m=540 m。大橋為公軌兩用橋,上層為雙向6車道城市道路,下層為雙線軌道交通,曾家?guī)r大橋立面布置如圖1所示。
單位:cm
P1(北)、P2(南)是大橋的2個主橋墩,墩身均為變截面空心薄壁箱型結構。橋墩墩身高41.0 m,順橋向墩身寬9.0 m,順橋向墩頂15.0 m高度范圍內采用外弧造型修飾,圓弧半徑5.141 m;橋墩橫橋向外側為圓弧造型,墩頂寬34.8 m,墩底寬29.0 m,距墩底19.0 m高度處墩身寬27.4 m。橋墩內部采用橢圓形挖空,橢圓長軸半徑為16.0 m,短軸半徑為7.0 m。
主墩墩身為帶圓端的矩形空心截面,圓端半徑為4.764 m,墩身順橋向及橫橋向壁厚均為1.0 m,墩底3.0 m高度范圍內采用空心截面;沿墩身高設置2道橫隔板,橫隔板厚度為0.5 m,為方便施工,在橫隔板中心留有人孔。橋墩各截面構造如圖2所示。
(a)順橋向
根據(jù)設計構想,橋墩墩身各結構面為空間曲面,墩身設計線條簡潔、流暢,空間定位精度要求很高,二維表達及施工難度大,一般BIM建模軟件很難精確設計墩身各曲面。針對曲面、復雜結構在設計和表達上的工程設計難點,借助Dynamo軟件通過參數(shù)化的建模思想對曾家?guī)r主橋橋墩進行模型的搭建,通過參數(shù)調整結構外型達到最佳狀態(tài)。完成模型的搭建后,再按照幾何控制系統(tǒng)確定的定位原則整合至Revit平臺,既降低了Revit建模的復雜度,又提高了模型的精確度和質量。
Dynamo參數(shù)化建模的思路如下:
1)根據(jù)項目需要對異形結構進行拆分,通過邊界條件對邊緣進行約束;
2)定位曲面空間關鍵點的坐標、原點等;
3)對構件的尺寸賦予參數(shù),通過節(jié)點將參數(shù)化的尺寸寫入Dynamo;
4)在Dynamo中利用參數(shù)確定點,并生成對應的曲線;
5)通過節(jié)點List、Poly Surface.By Loft Guides將生成的曲線創(chuàng)建出多段閉合的曲線,并由閉合的曲線創(chuàng)建曲面;
6)通過節(jié)點Solid.By Joined Surfaces將各個曲面形成的一組面的列表創(chuàng)建模型;
7)根據(jù)項目需要通過改變參數(shù)自動調整模型;
8)輸出到專業(yè)軟件進行后續(xù)工作。
在Dynamo構建橋墩模型前,要先在Revit中新建相應的族文件。在本項目中可選擇的族有公制常規(guī)模型,也可選擇公制結構柱,這2種族類型都適合墩柱結構。由于公制常規(guī)模型可智能適應截面變化,這可為后期空間曲面進行網(wǎng)格劃分做準備,因此在族類型的選擇上優(yōu)先選擇公制常規(guī)模型。
2.2.1 節(jié)點數(shù)據(jù)處理
將圓端半徑、墩底寬、順橋向墩身寬、距墩底高度處墩身寬、橋墩墩身高、墩頂寬等基礎控制數(shù)據(jù)作為輸入端Number,控制墩身尺寸參數(shù)并賦予初始尺寸參數(shù)值,對尺寸進行參數(shù)化賦值。主橋的2個橋墩P1、P2完全相同,且每一個橋墩都是對稱結構,設定坐標原點,根據(jù)幾何關系分別給各點賦予參數(shù)化的邏輯關系,并將這些數(shù)據(jù)關系在Code Block中表示出來,如圖3所示。
圖3 節(jié)點數(shù)據(jù)處理及參數(shù)賦值
2.2.2 建模過程
由前文可知,橋墩墩身是空間異形曲面的實體,而實體的生成由點到線再到面,最后成體。基于成體思想,對組成橋墩的各個曲面分別由點到線最后生成墩身曲面。在創(chuàng)建曲面前,先定義曲面上的關鍵點,墩底底面有A~F 六個關鍵點,墩頂頂面有10個關鍵點,側曲面上有6個關鍵點,并將墩底底面設定坐標原點A,向上為Z軸,根據(jù)右手螺旋定則,中指指向為Y軸正方向。曲面上各點的定義如圖4所示。
1)第一曲面—墩底底面建模
建模前,定義基準特征,如圖4所示。墩身底面是由2個半圓和一個長方形組成。通過節(jié)點Point.By Coordinates得到墩底底面A~F 六個關鍵點,其中A、F、E三點和B、C、D三點通過節(jié)點Arc.By Three Points創(chuàng)建圓弧,A、B點和D、E點通過節(jié)點Line.By Start Point End Point得到2條直線,共4條曲線,如圖5(a)所示。對生成的4條曲線利用節(jié)點List Create創(chuàng)建包含4條曲線的一組列表,再通過Poly Curve.By Joined Curves將4條曲線生成一個閉合的多線段,最后將閉合的多段線通過節(jié)點Surface.By Patch生成曲面,即墩底底面,如圖5(b)所示。
(a)墩底底面
(a)曲線創(chuàng)建過程
2)第二曲面—墩頂頂面建模
第二曲面的創(chuàng)建是以第一曲面為基礎。第一個曲面的6個關鍵點通過節(jié)點Geometry.Translate沿著Z軸進行平移,平移距離為墩身的高度,得到墩頂對應的6個關鍵點A′~F′;利用節(jié)點Curve.Point At Parameter分別獲取線段A′B′和D′E′的中點G和H,再通過節(jié)點Geometry.Translate分別向Y軸的負、正方向平移200個單位,得到點G′和點H′。由此共得到8個墩頂關鍵點A′~H′。與第一曲面不同的是8個關鍵點所生成的曲線都是弧線,只需要利用節(jié)點Arc.By Three Points生成弧線即可。最后依次通過節(jié)點List Create、Poly Curve.By Joined Curves和Surface.By Patch生成第二曲面,即墩頂頂面,如圖6所示。
圖6 第二曲面—墩頂頂面的生成
同理,余下幾個面都是以橋墩墩身上下2個面為基礎,通過已確定的點、曲線等關系,利用相應的節(jié)點創(chuàng)建組列表并生成對應的曲面,進而完成對整個墩身各個曲面的創(chuàng)建,如圖7所示。
圖7 橋墩墩身立面
2.2.3 建模中的腳本編寫
Dynamo可視化編程軟件參數(shù)化建模也可通過Design Script腳本進行模型創(chuàng)建。Design Script是一個簡潔可讀的語言,而Code Block是Design Script在Dynamo中的運行窗口,可動態(tài)鏈接到一個可視化編程環(huán)境與基于文本的環(huán)境。在Code Block可直接編寫Design Script代碼,通過編寫Design Script腳本可實現(xiàn)節(jié)點與文本之間的相互轉換,進而驗證通過節(jié)點創(chuàng)建模型結果的可行性。下面是利用腳本具體創(chuàng)建模型的過程,其編寫腳本的建模流程如下。
1)參數(shù)化賦值
根據(jù)橋墩墩身的結構設計特點,由幾何關系對墩身尺寸賦予參數(shù),對節(jié)點數(shù)據(jù)進行處理并賦予參數(shù)化的值,將其寫入Code Block中,如圖3所示,其參數(shù)化的幾何尺寸數(shù)據(jù)如下:
l1_1;
l1_2=l1_1-640;
l1_3;
h2;
l2_1;
l2_2=l2_1-640;
l2_3=l1_3;
h3;
l3_1;
l3_2=l3_1-640;
l3_3=l1_3;
l3_4=l3_3+400;
h4=h3-500。
2)編寫代碼創(chuàng)建模型
第一曲面—墩底底面通過編寫腳本創(chuàng)建的過程如下,新創(chuàng)建一個Code Block節(jié)點用于編寫代碼創(chuàng)建模型,其流程如圖5所示。
p1_1=Point.ByCoordinates(-l1_2/2,-l1_3/2,0);
p1_2=Point.ByCoordinates(l1_2/2,-l1_3/2,0);
p1_3=Point.ByCoordinates(l1_1/2,0,0);
p1_4=Point.ByCoordinates(l1_2/2,l1_3/2,0);
p1_5=Point.ByCoordinates(-l1_2/2,l1_3/2,0);
p1_6=Point.ByCoordinates(-l1_1/2,0,0);
c1_1=Line.ByStartPointEndPoint(p1_1,p1_2);
c1_2=Arc.ByThreePoints(p1_2,p1_3,p1_4);
c1_3=Line.ByStartPointEndPoint(p1_4,p1_5);
c1_4=Arc.ByThreePoints(p1_5,p1_6,p1_1);
list1_1=[c1_1,c1_2,c1_3,c1_4];
polycurve1_1=PolyCurve.ByJoinedCurves(list1_1);
surf1_1=Surface.ByPatch(polycurve1_1)。
腳本中P1_1~P1_6表示墩底底面的6個關鍵點A~F,C1_1和C1_3表示直線AB和DE,C1_2和C1_4表示弧線AFE和BCD。通過List將2條直線和2條曲線創(chuàng)建一組列表,即list1_1=[c1_1,c1_2,c1_3,c1_4];利用Poly Curve創(chuàng)建多段閉合曲線,即poly curve1_1=Poly Curve.By Joined Curves(list1_1);最后通過surf1_1=Surface.By Patch(poly curve1_1)創(chuàng)建墩底底面,并利用Watch3D進行查看驗證,如圖8(a)所示。
其余曲面的形成均可用Design Script腳本表示出來,原理同可視化編程節(jié)點,最后將所有的Surfaces進行整合,即[surf1_1,surf3_1,surfv_1_1,surfv_1_2,surfv_2_1,surfv_2_2,surfv_3_1,surfv_3_2,surfv_4_1,surfv_4_2],初步得到橋墩模型,如圖6、圖7所示,并用Watch3D查看,如圖8(b)所示。
(a)墩底底面
由于橋墩內部采用橢圓形挖空,在Dynamo中對其進行參數(shù)化賦值,通過節(jié)點Ellipse.By Origin Vectors創(chuàng)建橢圓,節(jié)點Surface.By Patch形成閉合曲線,并通過節(jié)點Surface.Thicken對橢圓進行加厚得到橢圓實體。最后將橢圓實體與初步得到的墩身模型通過節(jié)點Solid.Difference進行剪切,將兩實體切割分開,通過Export To SAT導出所需的實體模型到文件路徑中。對于創(chuàng)建完成的橋墩墩身模型,可通過Revit查看模型的三維視圖和各個立面圖等是否滿足設計要求,若不滿足要求可通過調整相應參數(shù)修改模型,參數(shù)調整輸入與模型聯(lián)動,通過設置滑條或其他類型輸入窗口進行大范圍參數(shù)輸入,所變即所見,大大提升工作效率。
對于異形構件橋墩,基于Dynamo平臺采用參數(shù)化的建模思想完成了模型的創(chuàng)建。
1)基于Dynamo參數(shù)化建模,設置構件參數(shù),通過連接相應的節(jié)點完成模型的創(chuàng)建,并通過修改構件參數(shù)修改模型,完成設計要求。建模過程直觀、易懂且邏輯性強,適用于編程基礎較弱的工程設計人員。
2)基于Dynamo可視化編程節(jié)點,對構件尺寸進行數(shù)據(jù)處理,通過對節(jié)點進行腳本的編寫完成對模型的創(chuàng)建,體現(xiàn)出Dynamo通過編寫程序創(chuàng)建模型的優(yōu)點。
3)基于Dynamo平臺創(chuàng)建結構模型,最終以.dyn 文件格式保存,后期對模型的修改,只需要打開相應的.dyn文件,修改對應參數(shù),或在結構視圖中設置參數(shù)輸入方式進行聯(lián)動微調,Dynamo可快速更新修改設計,并驅動Revit生成新的模型,無需重復建?;驅δP瓦M行較大的改動,即可達到對模型修改的設計效果,對模型在設計方案階段不斷調整更新非常適用。
本文以曾家?guī)r嘉陵江大橋工程為依托,基于橋梁工程中異形構件建模難的問題,提出了參數(shù)化的建模思想,實現(xiàn)了異形構件模型的創(chuàng)建,提高了模型的精度和深度,為設計階段利用BIM技術深化施工圖設計奠定基礎,主要認識如下:
1)以橋墩墩身設計尺寸為基礎,根據(jù)幾何關聯(lián)關系分別對各點具體賦予參數(shù)信息,并通過Code lock將這些參數(shù)作為輸入端控制各個曲面的形成,最終根據(jù)項目需求通過修改輸入端的相關參數(shù)調整模型,直到符合工程設計要求即可,不需重復建模,可通過少量的工作量制作出復雜空間曲面模型,極大豐富了造型設計能力,設計控制精度得到較大提升,節(jié)省了人力和時間,提升了工作效率。
2)基于Dynamo參數(shù)化創(chuàng)建橋墩三維模型可滿足初步設計的要求,但對后期施工設計階段的精細化設計仍存在較大的差距,如橋墩鋼筋精細化設計,需要根據(jù)專業(yè)需求進一步進行歸納和總結,找出其中的參數(shù)關聯(lián)關系,通過不停的探索和實踐,最終實現(xiàn)異形構件參數(shù)化高精度設計。