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