彭 濤
(中國鐵路設計集團有限公司 電化電信工程設計研究院,天津 300308)
建筑信息模型(BIM,Building Information Modeling)技術為建設項目全生命周期信息化管理提供了先進的數字化工具和信息共享平臺[1]。在國家《“十四五”鐵路發展規劃》中,明確提出深化基于BIM技術的鐵路建設運維研究。BIM技術以其承載的高精度三維可視化模型和海量信息屬性,為鐵路項目全生命周期管理打下了堅實的數字化基礎[2]。然而,大體量BIM交互操作需要依賴專業的應用軟件及高配置計算機硬件資源,導致BIM應用技術的普及存在較高門檻。
近年來,隨著WebGL技術的迭代發展,基于B/S架構的BIM交互應用方案為BIM應用提供解決思路。文獻[3—6]均提出了基于B/S架構的BIM+地理信息系統(GIS,Geographic Information System)融合方案,實現對鐵路、軌道交通等項目中大范圍、大場景BIM的可視化操作。其基本原理是通過對BIM成果文件進行輕量化及切片處理,將BIM設計成果文件轉換成支持WebGL渲染的瓦片數據集;隨后利用前端Cesium、Three.js等渲染引擎,實現在瀏覽器端加載渲染BIM,并進行交互應用[7-8]。但這些應用方案仍存在以下不足之處:
(1)BIM切片處理技術難度較高,目前國內大部分研究方案[9-10]是通過SuperMap商業軟件進行處理;
(2)BIM在客戶端的呈現原理是根據用戶可視范圍需求,實時從服務端獲取相應切片數據集渲染,對網絡帶寬及穩定性要求較高,而部分工程現場遠離城市,較難滿足要求。因此,在某些僅在部分專業、場段而未全線開展BIM建模的情況下,BIM+GIS融合方案部署技術難度較大、成本較高,其超大場景渲染優勢也無法體現。
鑒于此,本文研發并設計了基于.NET6的鐵路BIM可視化綜合應用系統,著重實現對鐵路單工點、單場段范圍內BIM成果的可視化應用。并實現了模型動態場景演示、物資管理系統數據融合等功能,進一步豐富BIM數據交互應用場景。
基于.NET6的鐵路BIM可視化綜合應用系統主要使用對象是鐵路工程設計、建設、運營等過程中的各類專業人員。為滿足用戶便捷應用需求,系統采用B/S架構,用戶可通過電腦、手機等設備瀏覽器實現BIM交互應用。為方便非專業開發人員快捷部署及發布BIM,系統待用戶上傳模型數據后,服務器端可自動完成模型轉換、數模拆分發布等工作,同時發布標準數據接口以便與其他系統進行數據融合應用。鐵路BIM可視化綜合應用系統主要分為輸入層、數據處理層和應用層,總體架構如圖1所示。

圖1 BIM可視化綜合應用系統總體架構
利用各BIM設計平臺軟件生產BIM成果,并統一生成工業基礎類(IFC,Industry Foundation Class)文件,上傳到數據處理層的服務器中。
通過對IFC文件進行解析,對其進行數模分離。其中,幾何模型文件轉換為支持WebGL渲染的格式;非幾何數據進行數據清洗后得到有效數據,并通過數據庫進行存儲。同步建立各類數據分發接口,供應用層通過應用程序接口(API,Application Program Interface)訪問各類應用數據。
用戶通過電腦、手機等設備瀏覽器與數據處理層數據庫進行數據交互,實現BIM在瀏覽器端的各類基本操作、屬性數據查詢等功能,同時支持與物資管理系統等外部系統進行數據關聯操作,實現BIM與實體設備的狀態查詢與異常告警。
現階段鐵路項目BIM設計成果主要以IFC格式輸出交付。由于IFC文件包含許多語義屬性,在交付后的實際應用過程中,未簡化的模型會導致每次調用必須加載大量信息,渲染大規模的模型,使得加載時間延長甚至加載崩潰。而WebGL技術將Java Script和OpenGL ES 2.0結合在一起,實現在HTML5 Canvas DOM中繪制三維圖。但是在基于WebGL技術的B/S架構應用方案中,IFC格式本身無法支持WebGL技術的讀取和加載,因此需要對IFC文件進行解析轉換。
為了實現IFC文件的靈活解析,本文利用xBIM Essentials和xBIM Geometry 開源組件,在服務端部署文件自動轉換服務,對用戶上傳的IFC文件進行解析,通過遮擋剔除、相似合并、參數化轉片面和三角面等幾何數據處理過程后, 創建支持WebGL渲染的WexBIM文件[11-12];在前端通過部署Layui框架[13]及xBIM WebUI框架,實現網頁端對模型的加載渲染呈現,并提供基礎縮放、旋轉、漫游、隱藏、剖切等交互功能。
IFC文件可附加屬性信息,若每次交互訪問直接讀取IFC文件獲取屬性數據,需要較長的解析時間,影響用戶體驗。本文通過將IFC文件里的屬性數據與幾何模型數據進行拆分,將拆分后的數據直接存入數據庫中,后續利用數據庫高I/O性能直接訪問模型附加屬性數據,顯著提高訪問速度。IFC文件數模拆分原理如圖2所示。

圖2 IFC文件數模拆分原理
用戶上傳IFC文件后,由系統服務端對其進行數模拆分轉換,將幾何數據與非幾何數據進行分離。其中,幾何數據作為文件直接存儲,文件格式支持Web端直接渲染展示;非幾何數據中的模型附件屬性數據通過篩選得到有效設計數據后,轉換為JSON數據格式進行存儲,一個模型構件對應一條JSON屬性數據,有效減少數據存儲量,同步支持擴展施工數據、廠家數據及運營數據。
為了在數模拆分過程中保持數據與模型構件的關聯,可以利用每一個IFC構件的全球唯一標識(GUID,Global Unique Identifier)特性,將幾何構件ID與JSON屬性數據通過GUID綁定,實現數模分離后模型與附加屬性的關聯。用戶在瀏覽器端進行操作時,可通過幾何數據文件直接在網頁端渲染加載模型,并在點擊具體構件模型時,根據獲取的GUID在數據庫查詢模型對應的各類屬性信息。
將IFC文件轉換為支持WebGL渲染的WebBIM格式文件過程中,雖然通過模型輕量化處理后,文件體量得到顯著縮減,但是如果每次瀏覽器加載顯示都需要從服務器端訪問獲取WebBIM文件,文件在網絡傳輸過程中仍會延遲,在施工現場等網絡環境惡劣的條件下可能導致無法訪問使用。為了解決該問題,本文研究利用瀏覽器緩存技術,BIM文件首次下載渲染后,同步將模型緩存在用戶瀏覽器內,后續訪問相同BIM,則直接從本地瀏覽器端加載緩存數據,提高訪問速度。
由于瀏覽器緩存常用的cookie、localStorage 2種方法存儲空間有限,均不符合本次研究緩存要求。本文通過研究IndexedDB瀏覽器數據庫存儲技術,實現大容量緩存[14]。利用IndexedDB建立緩存模型數據表,每個BIM作為一條緩存數據,其中的Key和服務器端IFC文件的GUID編號保持一致,value設為三維模型文件的二進制Blob數據。此外,還需要對xBIM WebUI前端組件進行二次開發,修改其模型加載技術方案。
模型文件通過“項目–工點–模型文件”的3層級模式管理,使得一個項目可以承載多個工點,一個工點也可以承載多個模型文件。用戶在查看某一工點模型時,可先預覽該工點主模型,再在模型瀏覽界面對多個模型進行任意疊加、卸載。
客戶端通過瀏覽器加載模型后,用戶可在三維模型呈現頁面實現模型交互操作,包括模型縮放、旋轉、透視、剖切、漫游、標簽、測量等功能。通過對剖切數據進行云端存儲,可實現針對單體建筑的樓層剖切預設,用戶在后續使用過程中可通過剖切預設快速切換樓層視角。
服務器端對IFC文件進行數模分離后,IFC文件附加屬性數據以JSON格式存儲至服務器數據庫。在模型交互過程中,雙擊模型構件,系統可根據模型ID在服務器端快速獲取JSON格式屬性數據并在前端呈現。實現BIM在WebGL渲染交互模式下屬性數據的實時查詢。
在BIM交互應用過程中,尤其是利用BIM進行設計交底、運行維護培訓時,需要通過剖切、顏色調整、部分類型設備設施隱藏等方式,切換符合成需求的某個模型視角場景,并對這一場景預設保存。系統的動態場景演示功能模塊可供用戶提前創建BIM不同視角的快照記錄,并附以文字圖片說明進行預設保存,演示效果如圖3所示。

圖3 動態場景演示效果
通過動態場景演示功能,用戶點擊不同場景記錄縮略圖時,隨即自動渲染至創建該場景時的視角狀態,并自動打開備注說明頁面。該功能充分利用了BIM可視化、精細化的特點,提升了用戶體驗感。
結合主要設備BIM清單功能,通過公開的API接口規范,可將BIM可視化綜合應用系統與四電物資管理系統進行數據融合交互。由BIM可視化綜合應用系統將BIM設備清單直接推送至物資管理系統。物資管理系統根據主要設備清單進入采購流程,利用射頻識別(RFID,Radio Frequency Identification)、二維碼等方式綁定實際設備,并用現場手持終端在采購、出入庫、安裝等各個環節錄入物資狀態。BIM可視化綜合應用系統根據模型ID獲取實際設備物資狀態信息,同時,根據不同狀態對設備標記不同顏色,直觀展示整體工程進度,如圖4所示。

圖4 物資管理與BIM可視化綜合應用系統數據融合交互
通過對IFC文件解析轉換、數模分離發布、三維模型離線緩存等關鍵技術的研究,本文設計了一套基于.NET6的鐵路BIM可視化綜合應用系統。系統集模型解析、部署、應用于一體,針對鐵路單工點或單場段BIM進行部署應用時,有明顯的優勢,是對現有BIM+GIS大體量模型部署方案的有效補充。其動態場景演示功能,在設計施工交底、教學培訓中可任意切換預設場景展示,充分發揮BIM三維模型高精度可視化的優勢。此外,系統的數據融合功能可為BIM+RFID全生命周期鐵路物資管控提供更大的發展空間。