鮑英基,劉俊,鄧慶奧
(江蘇建筑職業(yè)技術(shù)學(xué)院交通工程學(xué)院,江蘇 徐州 221116)
隨著B(niǎo)IM技術(shù)在橋梁工程規(guī)劃、設(shè)計(jì)、施工和運(yùn)營(yíng)管理階段的廣泛應(yīng)用,橋梁工程建設(shè)正向信息化和智能化發(fā)展。在公路、鐵路和城市道路的橋梁工程建設(shè)中采用較多的預(yù)制拼裝法也隨著B(niǎo)IM技術(shù)的應(yīng)用轉(zhuǎn)型升級(jí),預(yù)制梁場(chǎng)的信息化管理便是其中重要的一個(gè)環(huán)節(jié)。但是現(xiàn)階段的管理需要多種BIM軟件協(xié)同,而各種軟件間的格式又不一致,且BIM軟件多是桌面端,無(wú)法滿足用戶隨時(shí)隨地查看模型的要求,這些因素都阻礙了工程技術(shù)人員使用BIM技術(shù)的積極性[1]。
BIM輕量化是一種將BIM模型中的非幾何數(shù)據(jù)剝離減小模型的數(shù)據(jù)量,并轉(zhuǎn)化為Web三維引擎可以識(shí)別的數(shù)據(jù)格式,通過(guò)瀏覽器進(jìn)行展示的技術(shù)[2]。使用者無(wú)須安裝BIM軟件,只須通過(guò)瀏覽器便可查看和管理BIM模型,大大提高了便利性。本文針對(duì)具體工程項(xiàng)目,利用Revit創(chuàng)建三維BIM模型,并將模型導(dǎo)出為IFC標(biāo)準(zhǔn)格式,利用Xbim進(jìn)行模型的輕量化,最后通過(guò)WebGL技術(shù)實(shí)現(xiàn)模型的可視化開(kāi)發(fā),提高了預(yù)制梁場(chǎng)的管理水平。
模型開(kāi)發(fā)的思路如圖1所示,首先通過(guò)BIM軟件Revit創(chuàng)建預(yù)制梁場(chǎng)三維BIM模型,然后將模型導(dǎo)出為IFC標(biāo)準(zhǔn)文件,通過(guò)Xbim對(duì)模型輕量化處理后再通過(guò)IFC導(dǎo)入Revit中,利用OBJ Exporter For Autodesk將模型導(dǎo)出為T(mén)hree.js可識(shí)別的OBJ格式,最后對(duì)模型進(jìn)行可視化開(kāi)發(fā)。
圖1 輕量化模型開(kāi)發(fā)思路
預(yù)制梁場(chǎng)BIM模型創(chuàng)建完成后,首先進(jìn)行模型的輕量化。目前,常用的BIM平臺(tái)有Autodesk、Bentley、Dassault和Tekla等,各個(gè)平臺(tái)間的數(shù)據(jù)格式一般是不同的。即使在同一個(gè)平臺(tái)內(nèi),各個(gè)軟件間的格式也不全相同,例如,Autodesk公司的 Revit和 Navisworks,Revit的文件格式為 rvt、rfa、rte,Navisworks的文件格式為nwd、nwc、nwf。不同格式的文件間需要一個(gè)統(tǒng)一的標(biāo)準(zhǔn),便于數(shù)據(jù)交換,這就是IFC(Industry Foundation Class)標(biāo)準(zhǔn),它是由國(guó)際協(xié)同聯(lián)盟(IAI)提出的,旨在建筑行業(yè)不同專業(yè)或同一專業(yè)的不同軟件間共享同一數(shù)據(jù)源,從而達(dá)到數(shù)據(jù)的共享和交互。
IFC標(biāo)準(zhǔn)包括資源層、核心層、交互層和領(lǐng)域?qū)覽3]。如圖2所示,每個(gè)層次都包含一些信息模塊,這些模塊間遵循引用規(guī)則,即上層資源可以引用同層和下層資源,當(dāng)上層資源的數(shù)據(jù)發(fā)生變化時(shí)不會(huì)影響到下層資源,保證了信息的穩(wěn)定性[4]。
圖2 IFC4.標(biāo)準(zhǔn)框架
由BIM模型導(dǎo)出的IFC文件包含模型所有的信息,數(shù)據(jù)量較大,模型的輕量化需要對(duì)IFC文件進(jìn)行解析。Xbim(eXtensible Building Information Modelling)是一個(gè).NET開(kāi)源軟件開(kāi)發(fā)工具包,它可以進(jìn)行IFC架構(gòu)驗(yàn)證、查詢數(shù)據(jù)提取語(yǔ)法、IFC數(shù)據(jù)剝離等。
本項(xiàng)目為272省道徐州至沛縣公路建設(shè)工程市區(qū)段,全線共橋梁34座,總長(zhǎng)約6 647.96 m,根據(jù)施工方案共設(shè)2個(gè)預(yù)制梁廠。使用Revit創(chuàng)建了一工區(qū)預(yù)制場(chǎng)的三維模型,然后導(dǎo)出為IFC格式文件并加載到Xbim中,如圖3所示。
圖3 預(yù)制梁場(chǎng)IFC文件導(dǎo)入Xbim中
WebGL是一項(xiàng)在網(wǎng)頁(yè)上繪制和渲染三維圖形并允許用戶與之進(jìn)行交互的技術(shù),用戶不需要高性能的計(jì)算機(jī)而只用通過(guò)網(wǎng)頁(yè)就可創(chuàng)建和渲染三維圖形。WebGL是內(nèi)嵌在瀏覽器中的,不需要安裝插件和庫(kù)就可以直接使用。WebGL的網(wǎng)頁(yè)包含3種語(yǔ)言,分別是HTML5(超文本標(biāo)記語(yǔ)言)、JavaScript和GLSL ES(著色器語(yǔ)言),由于GLSL ES通常是以字符串的形式在JavaScript中編寫(xiě)的,因此,WebGL僅需HTML文件和JavaScript文件[5]。
雖然通過(guò)WebGL可以創(chuàng)建三維圖形,但是直接使用WebGL編程十分復(fù)雜,而且GLSL ES語(yǔ)言有一定難度。Three.js提供了一個(gè)WebGL特性的JavaScript API,用戶不需要詳細(xì)地學(xué)習(xí)WebGL就可以創(chuàng)建三維圖形,對(duì)工程技術(shù)人員較為友好[6]。
Three.js除了可以創(chuàng)建三維模型外,還可以將已有的模型導(dǎo)入,支持的類型有obj格式等,因此,可以將Xbim輕量化后的模型再鏈接到Revit中,通過(guò)插件OBJ Exporter For Autodesk導(dǎo)出為obj格式,然后就可以順利地將模型導(dǎo)入Three.js中,如圖4所示。
圖4 Three.js中模型可視化開(kāi)發(fā)
通過(guò)Three.js可以對(duì)模型添加紋理和材質(zhì)、使用各種光源來(lái)裝飾場(chǎng)景、對(duì)三維場(chǎng)景進(jìn)行高級(jí)后期處理以及添加三維文本說(shuō)明等,實(shí)現(xiàn)了預(yù)制梁場(chǎng)模型的可視化開(kāi)發(fā)。
BIM技術(shù)具有信息化和智能化的特點(diǎn),在橋梁中的應(yīng)用將會(huì)越來(lái)越廣泛,但傳統(tǒng)的BIM軟件對(duì)計(jì)算機(jī)硬件要求較高,而且不便于隨時(shí)隨地查看,因此,模型的輕量化將是BIM技術(shù)應(yīng)用的一個(gè)重要方面。WebGL技術(shù)使用戶可以通過(guò)網(wǎng)頁(yè)進(jìn)行三維圖形的開(kāi)發(fā)和渲染,Three.js更是提供了強(qiáng)大的JavaScript API,使工程技術(shù)人員也可以很方便地進(jìn)行可視化開(kāi)發(fā)。