曹 勇,蘇曉慧,孫夢夢,吳海亮
(1.黃河勘測規(guī)劃設(shè)計(jì)研究院有限公司,河南 鄭州 450003;2.黃河水利科學(xué)研究院,河南 鄭州 450003)
BIM的英文全稱是Building Information Modeling,即建筑模型信息化。BIM技術(shù)的理念是將信息化技術(shù)與建筑行業(yè)相結(jié)合,運(yùn)用建筑信息模型作為項(xiàng)目核心來貫穿整個項(xiàng)目,將設(shè)計(jì)、施工、管理各個環(huán)節(jié)的圖紙、資料等信息進(jìn)行整合,建立BIM平臺,持續(xù)更新工程建設(shè)過程中的各階段信息,從而實(shí)現(xiàn)設(shè)計(jì)到施工、運(yùn)營的全壽命周期管理[1-2]。
目前,我國BIM技術(shù)在水利工程行業(yè)仍處于起步階段,但從近年來實(shí)踐應(yīng)用情況來看,BIM在水利工程的設(shè)計(jì)、可視化、施工管理、運(yùn)行維護(hù)等方面都取得了快速發(fā)展[3-16]。
BIM軟件是實(shí)現(xiàn)BIM技術(shù)的重要工具,其中商業(yè)BIM軟件具有功能齊全、針對性強(qiáng)、售后服務(wù)好等優(yōu)點(diǎn),但其使用成本較高,對于許多中小型設(shè)計(jì)和施工企業(yè),形成較高的門檻,阻礙了BIM技術(shù)的廣泛應(yīng)用和推廣。本文以一款免費(fèi)開源三維建模軟件,實(shí)現(xiàn)了商業(yè)軟件的建模和結(jié)構(gòu)計(jì)算等功能,是開源三維建模軟件在水利工程BIM領(lǐng)域中一次成功嘗試和探索,對于BIM技術(shù)在水利行業(yè)的普遍推廣和應(yīng)用具有重要意義。
BIM技術(shù)的核心是信息,所有構(gòu)件或建筑物的幾何尺寸、物理特性、成本和施工要求等信息都可以通過參數(shù)方式來表達(dá),并運(yùn)用3D運(yùn)算和空間拓?fù)潢P(guān)系將這些信息進(jìn)行整合,集中存放在數(shù)據(jù)庫中,形成一個數(shù)字化BIM模型.
1.1.1參數(shù)化
以數(shù)字技術(shù)為依托,模型中構(gòu)件的屬性都可以用參數(shù)確定,具有面向?qū)ο蠡奶攸c(diǎn),能夠接收數(shù)據(jù)、處理數(shù)據(jù),并將數(shù)據(jù)傳達(dá)給其他對象;也可以接受信息的反饋,通過信息處理使模型更加完善。模型的參數(shù)化特點(diǎn)是其他功能的基礎(chǔ)。
1.1.2可視化
將二維線條式構(gòu)件通過三維立體實(shí)物圖形象展現(xiàn)出來,相關(guān)構(gòu)件之間還能夠形成互動性和反饋性的可視,實(shí)現(xiàn)視覺上的可視化,使項(xiàng)目從設(shè)計(jì)至運(yùn)營整個過程中的溝通、討論都能夠在可視化的狀態(tài)下進(jìn)行。
1.1.3模擬性
可以模擬設(shè)計(jì)出的建筑模型,進(jìn)行施工進(jìn)度模擬、節(jié)能模擬、日照模擬等在實(shí)際生活中不易操作的模擬。
1.1.4可協(xié)調(diào)性
BIM 模型可以模擬項(xiàng)目實(shí)際情況,便于及早發(fā)現(xiàn)各專業(yè)間的沖突及存在問題,及時協(xié)調(diào)解決,降低工作過程中變更的次數(shù)。
1.1.5可輸出性
BIM 數(shù)據(jù)庫是由參數(shù)化數(shù)據(jù)構(gòu)成,可以通過多種方式導(dǎo)出,例如建筑物不同角度的各種二維圖形信息,工程量清單、設(shè)備表等電子表格信息等。
BIM軟件的種類眾多,可依據(jù)專業(yè)類別做不同選擇。
選擇一款實(shí)用性強(qiáng)、性價比高、拓展性廣的BIM建模軟件往往是進(jìn)入BIM領(lǐng)域的第一步。當(dāng)前,市場常見的商業(yè)三維建模軟件如下:
1.2.1Revit
Revit軟件是Autodesk公司軟件,最重要的特點(diǎn)是所有組件、視圖和注釋之間的關(guān)系模式,使得任何組件的改變會自動傳播,保持模型內(nèi)容的一致性。Revit提供團(tuán)隊(duì)協(xié)作的機(jī)制,建立共享數(shù)據(jù)庫,可以多人同時開啟后,以工作集控制編輯權(quán),避免對象被不同的用戶同時編輯。
1.2.2Civil 3D
Civil 3D是Autodesk公司以AutoCAD為平臺開發(fā)的BIM軟件,以3D地形為基礎(chǔ),提供鐵公路定線、路廊、整地、土石方、重力管線、壓力管線等3D設(shè)計(jì)環(huán)境。利用Civil 3D可將傳統(tǒng)的測量數(shù)據(jù)或地形圖等高線轉(zhuǎn)換為3D地形,作為土木工程設(shè)計(jì)的基本數(shù)據(jù)。
1.2.3MicroStation
MicroStation是Bentley 工程軟件系統(tǒng)有限公司在建筑、土木工程、交通運(yùn)輸、加工工廠、離散制造業(yè)、政府部門、公用事業(yè)和電訊網(wǎng)絡(luò)等領(lǐng)域解決方案的基礎(chǔ)平臺。
1.2.4CATIA
CATIA是法國達(dá)索系統(tǒng)公司開發(fā)的跨平臺商業(yè)3維CAD設(shè)計(jì)軟件。CATIA作為達(dá)索系統(tǒng)產(chǎn)品生命周期管理軟件平臺的核心,主要應(yīng)用在航空工業(yè)和汽車工業(yè)。隨著CATIA已移植到建筑業(yè),應(yīng)用于大型而具有自由曲面的現(xiàn)代建筑,未來亦具有很大的市場潛力。
傳統(tǒng)三維建模多采用Autodesk公司的AutoCAD軟件,首先需畫出二維平面圖,通過拉伸、旋轉(zhuǎn)、合并、求交等步驟,生成三維實(shí)體,其優(yōu)點(diǎn)是設(shè)計(jì)人員在掌握二維繪圖技能的基礎(chǔ)上,能夠快速上手三維建模方法,目前大多數(shù)中小型設(shè)計(jì)院仍采用這種建模方式。
AutoCAD軟件在三維建模時存在以下缺點(diǎn):
(1)三維建模完成以后,一個細(xì)小的零件尺寸的調(diào)整,會影響到相關(guān)建筑物構(gòu)件的尺寸與位置,需要從頭開始繪制二維平面圖,重新建模。
(2)AutoCAD軟件的強(qiáng)項(xiàng)是二維平面制圖,三維建模屬于后期新增功能,軟件的基礎(chǔ)框架仍側(cè)重于二維,當(dāng)建筑物龐大、細(xì)部結(jié)構(gòu)過多時,就會頻繁卡死,儲存文件也很大。
(3)AutoCAD不能直接給物體賦屬性值,難以實(shí)現(xiàn)建筑模型信息化。
(4)AutoCAD輸出的三維文件格式種類有限,很難被結(jié)構(gòu)計(jì)算軟件、動畫制作軟件識別,常常需要導(dǎo)入其他軟件進(jìn)行轉(zhuǎn)換。
BIM建模軟件很好地彌補(bǔ)了以上的不足,其參數(shù)化建模功能可以讓模型的修改更加便捷、高效,物體的屬性值可以儲存在模型數(shù)據(jù)庫中,文件輸出格式的多樣化。
市場上的商業(yè)BIM軟件具備功能齊全、針對性強(qiáng)、專業(yè)化定制、售后服務(wù)及時、學(xué)習(xí)資料齊全等優(yōu)點(diǎn),但同時其價格昂貴,且有許多功能模塊采取綁定式銷售,實(shí)際應(yīng)用價值不大。對于許多中小型設(shè)計(jì)企業(yè),僅在價格上就已經(jīng)形成了很高的門檻,后期的培訓(xùn)、二次開發(fā)等則需花費(fèi)更多的費(fèi)用,已阻礙了BIM技術(shù)的廣泛推廣及應(yīng)用。
此外,商業(yè)BIM軟件都完全封裝其源代碼,我國大多數(shù)企業(yè)購買BIM軟件后,只擁有其使用權(quán),缺乏對于軟件的實(shí)現(xiàn)方法、基本原理等深層次研究。隨著西方國家在軟件版權(quán)、芯片技術(shù)等高科技領(lǐng)域的對我國的限制,長此以往,未來BIM軟件將會處于受制于人的局面。
FreeCAD是一款通用開源免費(fèi)的三維建模軟件,既能用于機(jī)械工程與工業(yè)產(chǎn)品設(shè)計(jì),也面向更廣泛的工程應(yīng)用如建筑或其他工程領(lǐng)域。它基于OpenCasCade之上,采用Coin 3D提供的與Open Inventor兼容的三維場景模型,提供豐富的Python API接口,支持簡體中文,并且跨平臺支持Windows、Mac 及 Linux系統(tǒng)。
FreeCAD具有與Catia、SolidWorks軟件相類似的工具,它基于功能的參數(shù)化建模器,具有模塊化軟件體系結(jié)構(gòu),可輕松開發(fā)附加功能,而無需修改核心系統(tǒng),具有許多2D組件以草繪2D形狀或從3D模型中提取設(shè)計(jì)細(xì)節(jié)以創(chuàng)建2D生產(chǎn)圖形。
FreeCAD擁有科學(xué)計(jì)算領(lǐng)域中所有出色的開源庫,包括功能強(qiáng)大的CAD內(nèi)核OpenCascade、UI框架Qt和Python腳本語言。FreeCAD本身也可以被其他程序用作庫。FreeCAD提出了工作臺的概念,工作臺是適用于特定任務(wù)的工具集合,比較常用的有用于處理建筑的Arch工作臺、有限元分析FEA工作臺、零件建模的PartDesign工作臺、建立幾何約束的Draft草圖工作臺、SpreadSheet電子表格工作臺等。
最核心的是FreeCAD是一款完全開源的三維建模程序,基于C++語言開發(fā),能夠在官方網(wǎng)站上下載到其全部源代碼;同時以 Python語言作為宏語言,可以通過編程可以實(shí)現(xiàn)三維建模,便于二次開發(fā)。
作為一款免費(fèi)開源的建模軟件,F(xiàn)reeCAD具有較強(qiáng)的靈活度和拓展性。以往該軟件多用于機(jī)械工程與工業(yè)產(chǎn)品設(shè)計(jì),近年來也逐漸向建筑工程領(lǐng)域發(fā)展,但在水利行業(yè)尚無相關(guān)的研究成果。
FreeCAD軟件提供了三種具體的建模方式,通過建立一個長為10mm,寬為5mm,高為1.5mm的長方體為例,具體步驟如下:
(1)繪制圖形后,利用限定約束直接給尺寸賦值
首先建立一個Body實(shí)體,新建草圖Sketch,繪制一個長方形,長邊設(shè)定水平約束參數(shù)值為30mm,將其命名為Length;其次對寬邊添加約束,值設(shè)為Sketch.Constraints.Length/2,名稱設(shè)為Width,此時就建立了長寬邊之間的函數(shù)約束關(guān)系,即寬邊是長邊的0.5倍;然后對草圖進(jìn)行拉伸,拉伸高度值設(shè)為(Sketch.Constraints.Length+Sketch.Constraints.Width)/10,即可建立長方體高度與長、寬約束值的函數(shù),使三種產(chǎn)生約束關(guān)系,生成三維實(shí)體圖。
(2)建立Spreadsheet表格,調(diào)用表格中的參數(shù)值
新建Spreadsheet表格,將其命名為Parameters,在表格中分別輸入長寬高,并設(shè)置A2、B2、C2的單元格屬性中“別名”分別是Length、Width和Height;在表格A2中輸入30(mm),在表格B2中輸入“Parameters.Length/2”,在表格C2中輸入“=(Parameters.Length+Parameters.Width)/10”,即在表格中建立長方體的長寬高約束函數(shù)關(guān)系。在繪制草圖過程中調(diào)用Parameters的單元格的別名,作為長方體的約束值,建立三維模型。
(3)利用Python語言通過編程生成三維實(shí)體
#導(dǎo)入模塊
import FreeCAD
隨著我國鐵路的不斷發(fā)展,鐵路在運(yùn)行過程中的安全性問題日益凸顯,視頻監(jiān)控在鐵路交通安全中起著至關(guān)重要的作用。通過攝像頭監(jiān)控、互聯(lián)網(wǎng)的傳播,監(jiān)控畫面實(shí)時顯示,鐵路部門可以利用視頻中的有效圖像信息,對視頻流進(jìn)行處理,從而有效地保證鐵路系統(tǒng)的正常運(yùn)營。因此,如何快速有效地提取鐵路視頻圖像中的關(guān)鍵幀信息,是本文研究的重點(diǎn)。
import PartDesign
import PartDesignGui
import Sketcher
#新建文件
App.activeDocument().addObject(′PartDesign::Body′,′Body′)#生成空實(shí)體
App.activeDocument().Body.newObject(′Sketcher::SketchObject′,′Sketch′)#建立新草圖
#設(shè)定作圖平面
App.activeDocument().Sketch.Support=(App.activeDocument().XY_Plane,[″])App.activeDocument().Sketch.MapMode=′FlatFace′
#設(shè)定長方體的長(Length)、寬(Width)、高(Height),可以根據(jù)需要任意設(shè)定長寬高值
Length=30.0
Width=Length/2.0
Height=(Length+Width)/10.0
#生成草圖
geoList=[]#生成長方體的草圖繪制參數(shù)列表
geoList.append(Part.LineSegment(App.Vector(0,0,0),App.Vector(Length,0,0)))
geoList.append(Part.LineSegment(App.Vector(Length,0,0),App.Vector(Length,Width,0)))
geoList.append(Part.LineSegment(App.Vector(Length,Width,0),App.Vector(0,Width,0)))
geoList.append(Part.LineSegment(App.Vector(0,Width,0),App.Vector(0,0,0)))
App.ActiveDocument.Sketch.addGeometry(geoList,F(xiàn)alse)
#由草圖拉伸成實(shí)體
App.activeDocument().Body.newObject("PartDesign::Pad","Pad")
App.activeDocument().Pad.Profile=App.activeDocument().Sketch
App.activeDocument().Pad.Length=Height
App.ActiveDocument.recompute()
#隱藏草圖繪制模式
Gui.getDocument("").getObject("Sketch").Visibility=False
以上三種建模方式,前兩種比較相似,即建立不同約束間的函數(shù)關(guān)系,建立不同參數(shù)之間的函數(shù)關(guān)系,其中第二種Spreadsheet表格方式較為直觀地表示了各單元格間的函數(shù)關(guān)系,也便于備注、保存和數(shù)據(jù)共享,對于熟悉Excel的工程人員,上手速度很快。第三種Python程序建模的方式,不顯示各步驟的渲染過程,可直接生成模型,極大地提高了計(jì)算機(jī)的運(yùn)算速度,但需掌握Python語言,有一定的學(xué)習(xí)難度。通過對比,本次選用第二種方式Spreadsheet表格進(jìn)行三維參數(shù)化建模。
彭樓穿堤閘工程位于河南范縣境內(nèi),閘址相應(yīng)黃河左岸大堤樁號為106+600,為一聯(lián)5孔鋼筋混凝土箱型涵洞式水閘,凈寬3.0m,孔口高度3.5m,中、邊墩厚度均為1.2m,閘室順?biāo)鞣较蜷L15m,閘室后接10m長涵洞14節(jié),水閘平面布置圖及縱剖面圖如圖1所示。
圖1 彭樓穿堤閘平面布置圖及縱剖面圖
本次以水閘閘室為例進(jìn)行參數(shù)化建模,具體步驟如下:
(1)首先建立Spreadsheet表格并命名為SluiceParameters,將閘墩、閘底板等詳細(xì)參數(shù)值填入單元格中,并設(shè)置每個賦值的單元格的屬性名稱。
(2)在草圖模式下繪制閘底板的平面二維草圖,通過屬性名稱調(diào)用SluiceParameters表格中單元格的值,給閘底板每條邊的尺寸賦值,繪制閘底板二維草圖,并通過拉伸生成閘底板三維實(shí)體。
(3)依次繪制閘室的其他結(jié)構(gòu),最后合并為一個實(shí)體,如圖2所示。
圖2 水閘閘室三維實(shí)體圖
以上基本完成閘室的三維建模,初次建模過程較為繁瑣。但如需新建一個不同孔數(shù)的涵洞式水閘,或者對已建模型的細(xì)部結(jié)構(gòu)尺寸調(diào)整,則需直接修改SluiceParameters表格中單元格的數(shù)值即可,三維模型將根據(jù)新的數(shù)值,通過已建立的函數(shù)關(guān)系計(jì)算每個約束的值,重新生成模型,極大地簡化了模型修改的工作量。
穿堤閘進(jìn)口兩側(cè)的擋土墻墻身高7.5m,墻厚0.6m,墻趾長1.5m,墻踵長7.5m,底板厚1.0m,扶壁厚0.6m,扶壁間距3.5m。
擋土墻建模過程與水閘建模類似,首先建立名為WallParameters的參數(shù)表格,各個尺寸調(diào)用WallParameters中的參數(shù)生成約束的函數(shù)關(guān)系,繪制草圖并拉伸,生成擋土墻三維實(shí)體,如圖3所示。擋土墻三維模型建立后,可通過修改WallParameters中的參數(shù)值,完成模型的自動更新。
圖3 扶壁式擋土墻三維圖
FreeCAD軟件自帶的FEM工作臺,具有有限元分析計(jì)算功能,可通過設(shè)定模型的約束和外部受力條件,完成有限元結(jié)構(gòu)內(nèi)力分析計(jì)算,操作方法簡單、便捷。具體步驟如下:
(1)從PartDesign工作臺切換至FEM工作臺;
(2)建立計(jì)算分析容器Analysis,設(shè)定模型為鋼筋混凝土材質(zhì);
(3)在閘底板下部設(shè)置固定約束;
(4)給定閘室的外部作用力,包括:閘后填土側(cè)向土壓力、閘后填土自重、啟閉機(jī)房、啟閉機(jī)重量;
(5)根據(jù)計(jì)算精度要求剖分網(wǎng)格,如圖4所示;
圖4 閘室結(jié)構(gòu)有限元網(wǎng)格劃分圖
(6)進(jìn)行結(jié)構(gòu)計(jì)算分析,生成應(yīng)力分布圖,如圖5所示,閘墩剖面應(yīng)力分布圖,如圖6所示。
圖5 閘室應(yīng)力分布圖
圖6 閘墩剖面應(yīng)力分布圖
按照以上步驟,對扶壁式擋土墻劃分網(wǎng)格,并做受力計(jì)算分析,應(yīng)力分布圖如圖7—8所示。
圖7 扶壁式擋土墻應(yīng)力分布圖
圖8 扶壁式擋土墻水平截面應(yīng)力分布圖
將水閘和擋土墻的有限元結(jié)構(gòu)計(jì)算結(jié)果與傳統(tǒng)手算結(jié)果進(jìn)行對比,可知同部位的有限元計(jì)算成果與手算成果的應(yīng)力差值在1%~3%之間,其中有限元計(jì)算成果應(yīng)力值偏小于手算成果。
將FreeCAD切換至TecDraw工作臺,選定三維實(shí)體后,根據(jù)指定的投向生成平面二維圖形,結(jié)構(gòu)尺寸會自動標(biāo)注。當(dāng)調(diào)整參數(shù)后,三維模型發(fā)生調(diào)整的同時,平面二維圖形和標(biāo)注尺寸也會自動更新。FreeCAD還可以將圖紙導(dǎo)出生成DWG文件,在AutoCAD中打開進(jìn)行細(xì)化調(diào)整,如圖9所示。
圖9 閘室縱向剖面圖二維圖
本文以水閘工程為例,以免費(fèi)開源三維建模軟件FreeCAD替代商業(yè)BIM軟件,實(shí)現(xiàn)三維參數(shù)化建模、有限元結(jié)構(gòu)計(jì)算等重要功能,極大地降低了BIM軟件的使用成本。本次主要側(cè)重于水利工程的建模應(yīng)用,下一步還需在FreeCAD軟件的二次開發(fā)、基本原理和源代碼等方面展開深入研究。開源三維建模軟件在水利工程BIM領(lǐng)域的應(yīng)用是一次成功的探索,一旦推廣,可以讓更多的人員參與到開源建模軟件的使用、設(shè)計(jì)和研發(fā)中,從根本上改變核心技術(shù)受制于人的被動局面,更好地促進(jìn)我國BIM技術(shù)的創(chuàng)新發(fā)展。