(1.杭州市城市建設(shè)科學(xué)研究院,杭州 310003;2.杭州市路橋集團(tuán)股份有限公司,杭州 310000)
BIM(Building Information Modeling,建筑信息模型)是利用BIM的特性改進(jìn)建筑工程設(shè)計(jì)、施工、運(yùn)維等過程的技術(shù)[1]。BIM技術(shù)的實(shí)現(xiàn)得益于計(jì)算機(jī)軟硬件的整體發(fā)展,是一次從二維平面到三維空間,從抽象投影到真實(shí)映射的跨越。
BIM軟件種類繁多,各有側(cè)重領(lǐng)域,沒有一個(gè)軟件能涵蓋所有功能。目前多數(shù)BIM軟件功能主要集中在工程項(xiàng)目的規(guī)劃設(shè)計(jì)及施工階段,以實(shí)現(xiàn)快速搭建三維模型為主,其它功能有:利用各種算法實(shí)現(xiàn)模型的碰撞檢查[2-3],模型中加入時(shí)間維度來模擬施工工序[4-5],模型與材料單價(jià)掛鉤進(jìn)行算量和成本管理[6-7]等。BIM在運(yùn)維階段雖有一定研究應(yīng)用,但基本還處于初期階段[8]。究其原因,是因?yàn)椴煌愋偷墓こ添?xiàng)目,其運(yùn)維工作、管理需求千差萬別,即使大型的軟件供應(yīng)商也無法做出一個(gè)大而全的解決方案。所以運(yùn)維階段的BIM應(yīng)用必定以二次開發(fā)和自主開發(fā)為主,這些開發(fā)工作中三維的展示和交互就存在一定的技術(shù)門檻。降低這道門檻將對(duì)BIM技術(shù)在運(yùn)維管理階段的應(yīng)用起到巨大的推動(dòng)。
在運(yùn)維管理階段,因?yàn)楣こ桃呀?jīng)建設(shè)完畢,應(yīng)用本身對(duì)模型的創(chuàng)建與更改的需求不多,如果能將模型從復(fù)雜的建模軟件中分離出來,在保證信息完整的前提下,用輕便的網(wǎng)頁形式展現(xiàn)出來,同時(shí)提供接口實(shí)現(xiàn)Web程序與模型之間的信息交互,這樣運(yùn)維開發(fā)工作就可以充分利用Web技術(shù)強(qiáng)大的功能和普及性,大大降低了BIM運(yùn)維開發(fā)工作的門檻。
在網(wǎng)頁端展示三維模型的主要技術(shù)有:MI/ⅪD、Cult3D、Java3D、Viewpoint、Shout3D、Blaze3D、Flash3D、WebGL、Unity3D、WebMax等[9]。其中WebGL以純javascript腳本形式提供接口,免去了開發(fā)專用插件的麻煩,被廣泛應(yīng)用在Web三維展示和交互中。Autodesk公司也基于WebGL開發(fā)了“View and Data API”項(xiàng)目,現(xiàn)在更名為“FORGE”,該項(xiàng)目使用戶可以通過API在瀏覽器中調(diào)用和查詢上傳到云端的BIM模型。國內(nèi)也有擎曙軟件公司開發(fā)了BimViz平臺(tái),并支持私有云布置,但所提供的API功能有限,還在完善階段。
本文介紹的項(xiàng)目首先使用微軟的Visual Studio開發(fā)工具,針對(duì)目前常用的BIM軟件Revit開發(fā)了模型導(dǎo)出插件,將模型信息寫出到文件,并在服務(wù)器端將模型信息提取存儲(chǔ)在數(shù)據(jù)庫中。然后在瀏覽器端使用腳本語言異步加載數(shù)據(jù),利用WebGL進(jìn)行渲染,同時(shí)提供接口與其它運(yùn)維功能進(jìn)行信息交互。
圖1 開發(fā)流程
圖2 模型文件片段
在計(jì)算機(jī)屏幕上顯示三維物體,實(shí)際上就是使用數(shù)學(xué)算法將三維物體轉(zhuǎn)化為計(jì)算機(jī)顯示器柵格形式的過程。這一過程包含兩個(gè)方面:一是三維物體的數(shù)字化,也就是如何通過數(shù)字信息來描述三維物體; 二是如何利用這些數(shù)字信息得到最終的柵格圖像。
三維物體的數(shù)字信息是一系列的頂點(diǎn)、線段和三角面。BIM軟件的一個(gè)重要功能就是構(gòu)建三維物體的數(shù)字信息,模型的導(dǎo)出就是將模型中每個(gè)構(gòu)件的點(diǎn)線面信息進(jìn)行導(dǎo)出。插件通過遍歷revit三維視圖中的構(gòu)件,將每個(gè)構(gòu)件的點(diǎn)線面信息寫入到新的文件中,以達(dá)到信息導(dǎo)出的目的。導(dǎo)出的信息不僅僅可以包括構(gòu)件的幾何信息,還可以包括BIM軟件自帶的屬性信息,比如“樓層”、“材質(zhì)”等。導(dǎo)出的文件可以采用xml格式,也可以采用json格式或者其他格式。
以json格式為例,見圖2,在
圖3 OpenGL 工作流程
有了這些數(shù)字信息,接下來就是如何得到柵格圖像。目前三維圖形開發(fā)主流的做法是通過OpenGL來實(shí)現(xiàn)。OpenGL是行業(yè)領(lǐng)域中最為廣泛接納的2D/3D 圖形 API,它包括了100多個(gè)圖形操作函數(shù),開發(fā)者可以利用這些函數(shù)來構(gòu)造景物、渲染模型。渲染過程可看作是一個(gè)流水線,圖形數(shù)據(jù)包括點(diǎn)、線、面從流水線的開端流經(jīng)流水線每個(gè)階段并經(jīng)過處理后到達(dá)流水線的終端,最后顯示在設(shè)備屏幕上[10]。OpenGL的基本工作流程如圖3所示。
圖中的“幾何頂點(diǎn)數(shù)據(jù)”正是從BIM軟件中導(dǎo)出的頂點(diǎn)、線段和三角面等數(shù)據(jù)。
OpenGL只適合于本地應(yīng)用程序,Web程序則可以借助WebGL。WebGL將OpenGL ES 2.0(OpenGL的嵌入式版本)作為在HTML網(wǎng)頁內(nèi)的3D繪圖環(huán)境,它使用OpenGL渲染語言GLSL ES。WebGL可以為HTML5 Canvas提供硬件3D加速渲染,是使用JavaScript編程語言開發(fā)交互式3D網(wǎng)頁應(yīng)用的理想工具,并已廣泛被各主流互聯(lián)網(wǎng)瀏覽器集成。
以下是筆者主持開發(fā)的一個(gè)B-S架構(gòu)的隧道運(yùn)維管理平臺(tái),該平臺(tái)利用WebGL技術(shù)在網(wǎng)頁中實(shí)現(xiàn)了土建結(jié)構(gòu)、機(jī)電設(shè)備和管道線路的三維可視化,并開發(fā)了巡檢工作與BIM模型的交互應(yīng)用模塊:
圖4 結(jié)構(gòu)展示
平臺(tái)能將所有運(yùn)維管理涉及的對(duì)象以三維的形式展現(xiàn)在網(wǎng)頁中,并能通過接口的方式實(shí)時(shí)獲取管理對(duì)象的相關(guān)數(shù)據(jù),并同樣呈現(xiàn)在三維界面中。
常規(guī)的隧道巡檢記錄都是以列表的形式進(jìn)行展示。對(duì)于檢測照片,由于拍攝角度和拍攝范圍的因素,管理者很難根據(jù)照片快速定位到相應(yīng)的結(jié)構(gòu),即使是拍攝者自己,經(jīng)過一段時(shí)間后也很難再精確地找到拍攝的位置。因此系統(tǒng)開發(fā)了巡檢信息定位功能,可以在拍攝照片后直接將照片的拍攝點(diǎn)標(biāo)注在三維模型上,方便后續(xù)查詢管理。
圖5 變電所模型及設(shè)備信息
圖6 巡檢信息三維展示
由于Web應(yīng)用程序的跨平臺(tái)性,該平臺(tái)可以運(yùn)行在安裝windows操作系統(tǒng)的計(jì)算機(jī)上,也可以運(yùn)行在安裝Mac操作系統(tǒng)的電腦上,甚至運(yùn)行在各種安裝 Andriod系統(tǒng)的移動(dòng)設(shè)備上。這樣極大地?cái)U(kuò)展了能夠使用BIM技術(shù)的設(shè)備范圍,尤其為工程現(xiàn)場作業(yè)提供了方便。
平臺(tái)中運(yùn)維對(duì)象先通過Revit軟件進(jìn)行建模,然后利用插件導(dǎo)出成模型文件。再將模型文件上傳至服務(wù)器。平臺(tái)在服務(wù)器端對(duì)模型文件進(jìn)行解析,提取出每一個(gè)管理單元的幾何、材質(zhì)以及附帶的其他屬性信息,并將這些信息存儲(chǔ)進(jìn)數(shù)據(jù)庫。當(dāng)客戶端功能模塊需要三維展示構(gòu)件時(shí),客戶端會(huì)去服務(wù)器的數(shù)據(jù)庫中調(diào)取構(gòu)件的幾何和材質(zhì)信息加載進(jìn)瀏覽器,在瀏覽器中進(jìn)行渲染和交互。數(shù)據(jù)庫中對(duì)應(yīng)的信息,會(huì)在新模型再次上傳時(shí)進(jìn)行更新。服務(wù)器端始終維護(hù)著最新的模型,很好地貫徹了BIM中“一個(gè)模型”的理念。
此外,當(dāng)某Web應(yīng)用模塊,對(duì)構(gòu)件增加了新的信息(如建筑時(shí)間信息、造價(jià)信息或者巡檢信息)時(shí),這些信息也會(huì)通過Web應(yīng)用程序保存至服務(wù)器端的數(shù)據(jù)庫中,并與該構(gòu)件進(jìn)行關(guān)聯(lián)。隨著建筑物經(jīng)歷各個(gè)階段(規(guī)劃、設(shè)計(jì)、施工、運(yùn)營等),每個(gè)階段的數(shù)據(jù)都會(huì)積累下來供后一階段或其他的BIM應(yīng)用系統(tǒng)進(jìn)行調(diào)用,達(dá)到了對(duì)模型信息進(jìn)行擴(kuò)展的功能,使模型真正成為“信息模型”,這也就是前面提到的利用Web技術(shù)強(qiáng)大的信息功能去承載BIM中的“I”,其運(yùn)行框架如圖7所示。
圖7 系統(tǒng)框架
實(shí)現(xiàn)了在網(wǎng)頁中展示并交互三維模型的功能,就打開了利用Web應(yīng)用程序來實(shí)現(xiàn)BIM運(yùn)維的大門,降低了運(yùn)維應(yīng)用的開發(fā)門檻。Web應(yīng)用程序輕安裝,依靠瀏覽器作為運(yùn)行環(huán)境,運(yùn)行使用方便,降低了運(yùn)維應(yīng)用的使用門檻。Web應(yīng)用程序通過統(tǒng)一的HTML(超文本標(biāo)記語言)和JavaScript(腳本語言)在瀏覽器中實(shí)現(xiàn)功能。統(tǒng)一的語言意味著跨平臺(tái)性,同時(shí)也順應(yīng)了當(dāng)下移動(dòng)設(shè)備蓬勃發(fā)展的趨勢,能較好地滿足用戶便攜使用的需求。Web應(yīng)用程序數(shù)據(jù)統(tǒng)一存儲(chǔ)在服務(wù)器端,客戶端通過服務(wù)器進(jìn)行數(shù)據(jù)交互。這種架構(gòu)和BIM中“一個(gè)模型多方應(yīng)用,多階段應(yīng)用”的理念正好“不謀而合”。同時(shí)也為物聯(lián)網(wǎng)、云服務(wù)、大數(shù)據(jù)分析等技術(shù)融入BIM運(yùn)維框架提供了基礎(chǔ)。
目前Web應(yīng)用程序還存在受制于網(wǎng)速、無法充分調(diào)動(dòng)本地資源等缺點(diǎn),因此對(duì)大場景模型的分層級(jí)顯示還有待進(jìn)一步研究。
隨著計(jì)算機(jī)軟硬件技術(shù)的不斷發(fā)展,以及BIM模型標(biāo)準(zhǔn)的不斷完善,相信越來越多的BIM特性將會(huì)由Web應(yīng)用程序來承載。到那時(shí),BIM技術(shù)會(huì)走進(jìn)每一個(gè)建筑人的手里,應(yīng)用到整個(gè)行業(yè)的方方面面。
參考文獻(xiàn)
[1] 馬智亮. 追根溯源看BIM技術(shù)的應(yīng)用價(jià)值和發(fā)展趨勢[J].施工技術(shù), 2015, 44(6): 1-3.
[2] 曾東海, 周文瓊.基于BIM技術(shù)的碰撞檢查軟件的研究與設(shè)計(jì)[J].江西師范大學(xué)學(xué)報(bào)(自然科學(xué)版), 2016, 40(3): 313-317.
[3] 劉卡丁. 基于BIM技術(shù)的地鐵車站管線綜合安裝碰撞分析研究[J].土木工程與管理學(xué)報(bào), 2015, 32(1): 54-58.
[4] 盧祝清.BIM在鐵路建設(shè)項(xiàng)目中的應(yīng)用分析.鐵道標(biāo)準(zhǔn)設(shè)計(jì)[J].2011, 10(1): 4-7.
[5] 高永剛, 李光金.基于 BIM可視化技術(shù)在杭州東站中的應(yīng)用[J].土木建筑工程信息技術(shù), 2010, 2(4): 55-58.
[6] 張洋, 李明,陳永鴻.BIM在工程項(xiàng)目成本計(jì)算中的應(yīng)用[J].有色金屬設(shè)計(jì), 2013, 40(2): 48-49.
[7] 裴艷, 王君峰.基于BIM技術(shù)的精細(xì)化算量實(shí)現(xiàn)方法研究[J].工程經(jīng)濟(jì), 2016, 26(4): 40-44.
[8] 胡振中, 彭陽,田佩龍.基于BIM的運(yùn)維管理研究與應(yīng)用綜述[J].圖學(xué)學(xué)報(bào), 2015, 36(5): 803-810.
[9] Sixto0niz Jr.Is 3D Finally Ready for the web?[J].Computer, 2010, 43: 14-16.
[10] 孫偉, 李瑞豹,丁偉等.基于OpenGL ES的移動(dòng)終端三維地圖可視化[J].計(jì)算機(jī)應(yīng)用與軟件, 2017, 34(3): 155-159.