高 磊
(合肥工業(yè)大學(xué) 土木與水利工程學(xué)院,安徽 合肥 230009)
目前BIM建模軟件普遍不具備有限元分析的功能,BIM模型和有限元計算模型常常分開建模,無法充分發(fā)揮BIM模型三維可視化和模型信息管理方面的優(yōu)勢。針對這種現(xiàn)象,劉照球等[1]通過Revit模型生成IFC文件來實現(xiàn)Revit軟件和有限元軟件之間的轉(zhuǎn)換。曲強龍[2]通過建立Revit模型,從中提取信息生成連續(xù)梁橋的混凝土MCT命令流,實現(xiàn)BIM模型和有限元模型的轉(zhuǎn)換。陳志為等[3]通過C#語言編制Revit模型二次開發(fā)程序接口,將Revit模型的信息生成ANSYS命令流,實現(xiàn)BIM模型向有限元分析模型的轉(zhuǎn)換。
關(guān)于BIM模型和有限元模型的轉(zhuǎn)換研究,目前主要集中在建筑工程方面,但在橋梁工程方面,已有的BIM模型與有限元軟件聯(lián)動的研究較少,且都集中在較為簡單的橋梁結(jié)構(gòu),對于復(fù)雜的鋼箱梁斜拉橋轉(zhuǎn)換研究尚未發(fā)現(xiàn)。本文利用Revit軟件中Dynamo插件和Python編程語言,研究鋼箱梁斜拉橋BIM模型轉(zhuǎn)換為ANSYS有限元計算模型。
某獨塔斜拉橋為雙索面鋼箱梁結(jié)構(gòu),邊跨跨徑為80 m,中跨跨徑為100 m。該橋采用塔梁墩固結(jié)體系,拉索布置為20對共40根斜拉索,索面形式為雙索面扇形,拉索橫向間距為1.0 m,順橋向間距邊跨為6.0 m,中跨為8.0 m,橋面寬35.5 m。主塔采用順橋向雙柱式傾斜布置,傾斜角度為向邊跨傾斜75°,主塔中心線長度為5 900 cm,主塔主要構(gòu)件為2根直徑為250 cm的圓形鋼管,材質(zhì)為Q345qD鋼。主梁采用單箱三室結(jié)構(gòu),橋面寬35.56 m,中間為箱室結(jié)構(gòu),橋面橫向設(shè)置2%排水坡。箱梁橫向中心高度為3.0 m,鋼箱梁頂板中部位置厚度為16 mm,兩側(cè)邊緣2.1 m位置厚度為12 mm,底板厚度為12 mm。全橋共20對拉索。
目前BIM模型轉(zhuǎn)換為有限元模型,大致可以分為三種類型:①通過將BIM模型輸出為IFC格式[4],然后再通過支持IFC格式的結(jié)構(gòu)分析有限元軟件進行讀入得到對應(yīng)有限元模型;②通過二次開發(fā),對BIM模型的信息進行提取轉(zhuǎn)換,創(chuàng)建BIM模型和有限元模型轉(zhuǎn)換接口或者直接輸出為對應(yīng)有限元分析軟件的命令流文本,從而實現(xiàn)BIM模型和有限元模型的轉(zhuǎn)換;③通過BIM軟件內(nèi)帶的計算插件進行轉(zhuǎn)換,從而生成有限元模型[5]。如圖1所示。
圖1 BIM模型和有限元模型的轉(zhuǎn)換三種類型
本文選擇二次開發(fā)方式研究BIM模型對有限元模型的轉(zhuǎn)換,轉(zhuǎn)換的有限元模型為ANSYS模型。ANSYS有限元軟件是大型有限元結(jié)構(gòu)分析軟件,在橋梁工程領(lǐng)域有著重要應(yīng)用[6],APDL(ANSYS Parametric Design Language)文件為ANSYS特有的參數(shù)化設(shè)計語言,是記錄ANSYS有限元模型數(shù)據(jù)的文本文件,APDL文件通過命令流的方式編輯表達ANSYS有限元模型的相應(yīng)數(shù)據(jù)。轉(zhuǎn)換的流程主要為:①通過BIM模型信息訪問,提取所需模型的幾何和物理等信息;②將該信息轉(zhuǎn)換為有限元模型設(shè)計語言;③對有限元模型進行運算分析。
本橋BIM模型通過參數(shù)化建模所得,建立的鋼箱梁斜拉橋Revit模型過程如圖2所示。
圖2 整橋Revit模型建立過程
建立的整橋Revit模型包含構(gòu)件的幾何及物理信息,使用Dynamo插件進行二次開發(fā)[7],主要使用其中PythonScripe節(jié)點,利用Python語言進行模型信息的轉(zhuǎn)換。對于Revit模型橋梁信息,選擇Dynamo可視化編程插件進行提取。在節(jié)點庫中選擇SelectModelElement、Get.GetParameterValueByName等節(jié)點進行Revit模型的構(gòu)件信息提取,主要的過程為:使用SelectModelElement節(jié)點進行BIM模型構(gòu)件的選擇,然后將其中儲存的模型幾何信息和物理信息提取備用。提取Revit模型的信息過程如圖3所示。
圖3 提取Revit模型結(jié)構(gòu)信息
模型信息提取后,通過Python Scripe節(jié)點進行Python語言的編程,利用編程語言將提取的信息轉(zhuǎn)換成APDL命令流文本。Python Scripe節(jié)點擁有輸出端和輸入端,通過接收輸入端的信息,然后利用內(nèi)含的Python腳本編程,將前面提取接收的BIM模型信息進行轉(zhuǎn)換輸出為APDL命令。雙擊Python Scripe節(jié)點,即可在Python腳本空間中進行編寫,Python腳本工作空間如圖4所示。
圖4 Python腳本工作空間
以BIM模型中鋼箱梁轉(zhuǎn)換輸出為例,對于Python語言編程轉(zhuǎn)換成APDL命令流文本的部分關(guān)鍵編程代碼如下:
str5_1=str(AaN1)+"-"+str(s5)+"*I"+","
str5_2=str5_1+"+"+str(AbN21)+","
str5_3="0-"+str5_1+"*"+str(a)+","
str5_4="0-"+str5_1+"*"+str(a)+"-"+str(AaN21)
sec5="*DO,"+"I,"+str(a51)+","+str(a52)+","+str(a53)+" "+"RECTNG,"+str5_1+str5_2+str5_3+str5_4+" "+"*ENDDO"+" "
str6_1=str(s6)+"*I"+","
str6_2=str6_1+"+"+str(AbN23)+","
str6_3="0-"+str6_1+"*"+str(a)+","
str6_4="0-"+str6_1+"*"+str(a)+"-"+str(AaN23)
sec6="*DO,"+"I,"+str(a61)+","+str(a62)+","+str(a63)+" "+"RECTNG,"+str6_1+str6_2+str6_3+str6_4+" "+"*ENDDO"+" "
材料定義部分編程代碼:
mat1="mp"+","+"prxy"+","+"m1"+","+"m11"+" "+"mp"+","+"ex"+","+"m1"+","+"m12"+" "+"mp"+","+"dens"+","+"m1"+","+"m13"+" "
mat2="mp"+","+"prxy"+","+"m2"+","+"m21"+" "+"mp"+","+"ex"+","+"m2"+","+"m22"+" "+"mp"+","+"dens"+","+"m2"+","+"m23"+" "
上述部分編程代碼中的具體參數(shù)均由Revit模型提取對應(yīng)信息,信息提取完成后生成在列表之中,通過Python語言將信息轉(zhuǎn)換成為APDL命令流,將轉(zhuǎn)換的APDL命令流輸入ANSYS軟件,轉(zhuǎn)換所成的有限元截面為簡化的截面,得到的截面形成的示例如圖5所示。
圖5 轉(zhuǎn)換APDL命令生成ANSYS截面
參照上述將BIM模型信息轉(zhuǎn)換成APDL命令流的方法,將所需Revit模型信息全部轉(zhuǎn)換成APDL命令流,使用ANSYS軟件讀入,生成ANSYS有限元模型。但是在轉(zhuǎn)換的過程中,對于ANSYS模型的約束問題,轉(zhuǎn)換較為不便,本文中類似于約束等少部分命令仍需在ANSYS軟件中進行完成。轉(zhuǎn)換生成ANSYS有限元模型如圖6所示。
圖6 Revit模型轉(zhuǎn)換而成的ANSYS有限元模型
為檢驗轉(zhuǎn)換模型的計算結(jié)果是否準確,將轉(zhuǎn)換的ANSYS有限元模型和單獨建立的ANSYS有限元模型進行計算結(jié)果對比,對比內(nèi)容為主梁撓度值,結(jié)果如圖7所示:
圖7 ANSYS有限元模型主梁變形值
從圖中可以看出,兩個模型的撓度最大差值僅為1.61 mm,可認為兩個有限元模型主梁豎向變形結(jié)果一致。
本文對復(fù)雜的鋼箱梁斜拉橋BIM模型進行了ANSYS有限元模型轉(zhuǎn)換的研究,利用Dynamo插件進行可視化編程,通過Python語言將信息轉(zhuǎn)換為APDL命令文本,從而轉(zhuǎn)換為ANSYS有限元模型。雖然過程中約束等部分操作依然需要在ANSYS中完成,但節(jié)省了大量的建模時間,轉(zhuǎn)換的有限元模型運算結(jié)果較為準確,提升了BIM技術(shù)在橋梁工程建設(shè)中的一體化使用水平。