






關鍵詞:斜拉橋;模型轉換;Dynamo混合編程;Revit;Midas/Civil
中圖分類號:TP312;TU391 文獻標志碼:A
在建筑結構尤其是橋梁結構日益大型化、規模化、復雜化的今天[1],BIM(Building Information Modeling)技術的正向應用使得信息傳遞變得更為順暢、完整[2-5],而且攜帶信息的BIM模型可以繼續應用于施工和運維階段,使得BIM不僅可作為設計階段的工具,更可作為整個建造周期的工具[6]. 然而現在的BIM 建模軟件不具備專業有限元分析功能,且BIM模型同有限元軟件之間的信息轉換并不通暢,這使得在BIM正向應用過程中,結構設計人員必須分別建立兩個模型,導致時間成本高、重復性強、建模效率低[7],而且還可能出現兩個模型物理信息不一致的問題.
BIM模型集成了建筑結構構件的三維尺寸、空間位置、材料特性等幾何物理信息[8-9],能夠較為完整地表達出設計結果,而有限元軟件可以為我們提供構件的應力、應變、位移等力學分析結果,通過對BIM模型的二次開發提取結構分析所需的結構建模信息,并傳遞至有限元軟件,可以使BIM模型更好地實現正向應用[10-11].
常用的橋梁工程BIM及有限元建模軟件分別是Revit和Midas/Civil[12-14].文獻[15]利用Dynamo 將橋梁中心線以及截面信息以.dxf 格式傳輸給Midas/Civil實現模型轉換;文獻[16-17]使用C#語言借助Revit API獲取Revit橋梁模型預設的截面參數與材料特性,實現Revit向Midas/Civil的信息轉換,但由于沒有計算截面特性,故只能適用于Midas/Civil標準截面,且需要提前在Revit模型中預設截面參數;文獻[18]對比了Revit和Midas/Civil的交互方式,提出使用Dynamo和MCT實現兩個軟件之間的信息交互,并實現Midas/Civil向Revit節點信息的轉換;文獻[7]提出基于皮爾森系數的區域生長算法,對Revit模型構件進行分解,將三維的Revit 構件轉換為Midas/Civil桿系模型;文獻[1]在文獻[16]的基礎上添加了施工階段信息的傳遞;文獻[19]提出使用三角單元法實現Revit構件截面特性的計算與轉換.關于有限元分析結果反饋至Revit模型并且進行可視化展示的研究很少.
本文結合已有方案,在既有Revit橋梁模型的基礎上,提出基于Dynamo實現:1)Revit模型構件分解、截面特性計算、材料參數提取、拉索及梁塔彈性連接處理,并將之轉換為Midas/Civil建模MCT格式數據;2)Midas/Civil有限元分析結果反饋至Revit模型,實現有限元數據可視化.
1 模型轉換程序開發
1.1 開發工具
Revit除了可以使用GUI對構件創建修改外,其開放的API接口為外部程序的訪問提供了極大的方便.基于Revit API.dll和Revit APIUI.dll程序集,可以深入訪問Revit底層數據庫,獲取模型的幾何和非幾何信息.Revit API 是.NET 類型的,只要支持.NETFramework 的語言都可以訪問,故C#、Visual Basic、Visual C++以及安裝了.NET綁定庫的Python都可以調用.采用這些方法訪問或修改構件信息,其本質都是對Revit API操作.
本文以Revit 2022 為BIM 建模平臺,利用Revit擴展應用Dynamo2.10 訪問Revit API 的方式進行二次開發,并選擇IronPython2為編程語言,提出了一種Revit-Midas/Civil模型交互方法(見圖1).
1.2 開發流程
Midas/Civil有限元模型的建立要素大致可以分為:1)建立節點、單元;2)賦予邊界條件;3)定義截面特性;4)選擇材料力學參數.這些信息都可以用程序從Revit中獲取.利用Dynamo二次開發對數據進行提取與轉存,實現Revit與Midas/Civil之間的模型轉換.MCT是兩者之間數據載體,因此從Revit中提取出來的信息必須遵循MCT文件規范,程序開發流程如圖2所示.轉換具體步驟如下:
1)模型創建并處理.BIM 模型尤其是鋼箱梁橋模型中多了很多有限元模型創建時不需要的構件,比如過人孔、橫隔板加勁等.這些構件在有限元模型建立中并不必要,且對后續的構件分解會產生較大影響,需提前將這些構件從主體結構中分離出來.
2)材質獲取與構件分解.通過窗口選擇并過濾出需要的構件實例,并將之傳輸至Dynamo空間中.遍歷構件以下信息:①獲取構件的材料信息;②通過計算Pearson系數方式尋找構件變截面點,截取變截面點處截面輪廓.具體流程如圖3所示.
3)通過三角分塊法計算截面特性.橋梁結構中,不管是上部結構、下部結構還是樁基礎,構件截面都可以用多個封閉輪廓來表達.實心截面由一個封閉輪廓構成,空心截面需要有多個封閉輪廓,定義輪廓中最外層的為外輪廓,其余統稱為內輪廓.如圖4(a)中的箱梁截面,截面由一個外輪廓、一個內輪廓構成.
在三角單元劃分完成之后,在已知三角單元三個角點坐標的情況下[見圖4(b)],可以計算出該三角單元的面積Ai、單元對X軸面積矩Sxi以及單元對X軸慣性矩Ixi.
4)整合構件信息.獲取各個構件的節點坐標、截面特性、材料信息之后,由于相鄰構件建模時緊貼在一起,故需清除重復信息.將各構件信息整合在一起,然后以MCT 格式輸出文件并存放至預先選擇路徑.
5)有限元模型建立.Midas/Civil 軟件通過讀取MCT文件建立有限元模型,對于Revit模型中支座、荷載、施工階段等缺失的信息,可以在生成的有限元模型上手動添加.
6)有限元分析及反饋.有限元計算分析完成后,將需要的計算結果導出至Excel 文件中,通過Dynamo讀取該文件作為Revit原始模型的變化信息,并對變化信息按數值大小賦予漸變顏色,實現在BIM模型中顯示有限元分析結果的展示功能.
2 模型轉換方法驗證
為驗證本文方法的可行性,以博士大橋主橋為例進行驗證.主橋橋型為獨塔雙索面斜拉橋,跨徑布置為2×100 m,主塔采用人字形,主梁采用分離式鋼箱梁,斜拉索采用馬鞍形索面,大橋結構采用漂浮體系,塔墩固結,塔梁分離.建立的全橋以及箱梁Revit模型見圖5和圖6.
2.1 構件材料信息提取
Revit中族實例的材質屬性存儲于結構材質這一參數中,該參數是可讀可更改的,Revit開放了該參數的API接口,故可以通過Dynamo訪問修改族實例的材質參數.
博士大橋Revit模型鋼結構部分為Q345 材質,混凝土部分為C50,由程序讀取材料參數如表1 所示.Dynamo獲取材質程序執行過程界面如圖7所示.
2.2 構件截面信息獲取
截取Revit模型中鋼箱梁(見圖8)為例,用本文程序計算其截面特性,得到本文結果,另采用CAD繪制截面導入Midas/Civil,采用其SPC截面特性計算器進行計算,兩者計算結果對比如表2所示,結果表明計算精度滿足要求.
經整合橋梁線形、截面特性、拉索及梁塔彈性連接等數據之后,博士大橋Midas/Civil有限元模型如圖10所示.
手動添加支座、拉索張拉力等計算參數后,取一次成橋狀態進行有限元計算(計算結果見圖11),并將有限元分析結果以Excel表格輸出.
為了驗證本文模型轉換的正確性,與采用Mi?das/Civil 軟件直接建模分析的結果對比,如表4 所示.限于篇幅,表中僅列出兩種方法計算的主梁撓度、應力最值,主塔應力和典型索力值,結果表明相對誤差基本在5%以內,滿足計算精度要求.
2.5 有限元結果反饋與展示
通過Dynamo讀取Excel表格的計算結果,經格式轉換并輸入Revit模型作為作用效應信息,并將作用效應信息按其數值大小賦予漸變顏色.以一次成橋施工階段主梁Z 方向位移沿X 軸變化情況為例,如圖12所示,顏色越紅表示Z 方向正向位移越大,由圖可知主梁在遠離橋塔位置處Z向位移大.
3 結論
1)本文提出一種Revit與Midas/Civil間的模型數據交互方法,即通過Dynamo-IronPython 訪問RevitAPI的方式,編寫了模型轉換程序,獲取Revit模型中構件的節點、材料、截面等信息,并將其轉換為Mi?das/Civil軟件語言格式MCT文件,實現了兩種模型之間的轉換.
2)有限元計算結果導出至Excel 文件,通過Dynamo讀取該文件作為Revit原始模型的變化信息,并對變化信息按數值大小賦予漸變顏色,實現了在BIM模型中顯示有限元分析結果的展示功能.通過在博士大橋上的應用,驗證了模型轉換方法與程序的可行性.
3)由Revit模型直接轉換為有限元模型,避免了分別建模可能產生模型物理信息不一致的弊端,并且提高了建模效率,也彌補了BIM技術在橋梁結構分析方面的不足.