李爽 劉葦 章嘯程 宋百川
上??睖y設(shè)計研究院有限公司 上海 200335
三維可視化平臺[1]是利用計算機(jī)圖形學(xué)和圖像處理技術(shù),將數(shù)據(jù)、圖紙轉(zhuǎn)換成三維圖形,通過顯示終端進(jìn)行可視化描述,是可視化應(yīng)用開發(fā)中最為基礎(chǔ)也最為重要的部分[2]?,F(xiàn)有GIS與BIM服務(wù)采用的三維可視化技術(shù)較多[3],包括但不限于Bentley廠商的iModel平臺[4]、北京華創(chuàng)的三維可視化平臺、開建BIMBOX,Cesium[5]等。隨著可視化技術(shù)廠商的增多,以及落地項目數(shù)量的逐漸積累,導(dǎo)致使用的引擎也越來越多,引擎眾多導(dǎo)致圖形操作接口繁雜,單套圖形操作接口只能在對應(yīng)引擎技術(shù)下使用,其他引擎下服務(wù)無法使用該圖形操作接口進(jìn)行可視化功能開發(fā),極大的提高了開發(fā)成本與開發(fā)難度。
因此,有必要開展BIM+GIS可視化開發(fā)框架的集成研究,建設(shè)一套支持多種引擎并支持無限擴(kuò)展的圖形操作接口,最大限度的實現(xiàn)各類服務(wù)在可視化圖形操作接口層面的技術(shù)統(tǒng)一,并以底層接口的方式為后續(xù)項目提供BIM和GIS服務(wù)接口支撐技術(shù)與工具。
為了保證模型三維在BIM引擎讀取時接口統(tǒng)一,首先需要將模型的幾何、材質(zhì)信息進(jìn)行標(biāo)準(zhǔn)化。
2.1.1 可視化信息標(biāo)準(zhǔn)化
對于模型幾何信息,需要將原始的dgn、rvt模型中的幾何數(shù)據(jù)轉(zhuǎn)化為由三角面片組成的Mesh,每一個構(gòu)件轉(zhuǎn)化為一個獨立的Mesh體,每個Mesh由若干個Primitive(圖元)組成,其中Primitive保存了二進(jìn)制的三角面的頂點數(shù)據(jù)和索引信息。
對于材質(zhì)信息,將整個模型中的所有不同材質(zhì)保存在材質(zhì)集中,并對每種材質(zhì)創(chuàng)建Material Id,與構(gòu)件的Element Id創(chuàng)建關(guān)聯(lián)。材質(zhì)屬性暫時劃分為不透明材質(zhì):包括顏色、貼圖、反光度等屬性;半透明材質(zhì):包括顏色、透明度等屬性。
圖1 BIM內(nèi)部幾何信息結(jié)構(gòu)
2.1.2 數(shù)據(jù)標(biāo)準(zhǔn)化
設(shè)定一套數(shù)據(jù)標(biāo)準(zhǔn),現(xiàn)階段簡單設(shè)定模型的ID、空間、系統(tǒng)、分類幾個信息的所在字段,并用標(biāo)準(zhǔn)屬性來輸出
為了方便對模型數(shù)據(jù)進(jìn)行檢索,并提高模型加載速度,我們需要對模型屬性數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化獨立存儲,每個模型的屬性數(shù)據(jù)通過構(gòu)件的Element ID與三維模型進(jìn)行關(guān)聯(lián)?,F(xiàn)階段定義模型的屬性表結(jié)構(gòu)如下:
2.1.3 其他三維格式支持
支持通用的標(biāo)準(zhǔn)三維格式例如obj、3ds、gltf等。這些三維格式都是國際化通用標(biāo)準(zhǔn),因此可以通過研究對應(yīng)的格式說明文檔,編寫模型解析加載器,以擴(kuò)展插件的形式嵌入BIM引擎中。
現(xiàn)有多引擎并行的方式能夠擷取各引擎的優(yōu)點,在合適的場景中使用合適的引擎加載數(shù)據(jù)和服務(wù),然而對于開發(fā)人員來說會增加引擎接入的工作量,寫不同引擎采用的依賴版本也可能對前端調(diào)用產(chǎn)生影響,因此研究設(shè)計一套可視化標(biāo)準(zhǔn)框架,將不同引擎的調(diào)用方法封裝為同一套開發(fā)接口,既能屏蔽不同引擎帶來的依賴庫混亂問題,也能統(tǒng)一上層應(yīng)用開發(fā)過程,減少開發(fā)人員對不同引擎架構(gòu)的學(xué)習(xí)過程。
圖形引擎的封裝可以分為兩個部分,前端方法的封裝和數(shù)據(jù)接口的封裝。
2.2.1 前端方法封裝
前端方法分為二三維前端操作和前端集成組件:
二/三維前端操作
這部分前端操作將被封裝為標(biāo)準(zhǔn)方法(其中一部分既適用于二維和三維,一部分僅在三維中有效),這些方法可以采用方法函數(shù)調(diào)用,也提供相應(yīng)的觸發(fā)的按鈕圖標(biāo)前端。
(1)前端集成組件
表3 前端集成組件列表
(2)GIS相關(guān)組件
表4 GIS相關(guān)前端組件列表
2.2.2 數(shù)據(jù)接口封裝
表5 數(shù)據(jù)接口列表
2.2.3 三維操作接口
依據(jù)接口調(diào)用標(biāo)準(zhǔn),以下是三維視圖操作的接口。
表6 常用三維操作列表
表7 常用三維工具列表
表8 高級三維工具列表
通過建設(shè)本框架,可將多種GIS服務(wù)、BIM服務(wù)可視化引擎技術(shù)與內(nèi)部搭建的BIM+GIS數(shù)據(jù)集成管理平臺結(jié)合,實現(xiàn)了從數(shù)據(jù)上傳->數(shù)據(jù)管理->服務(wù)發(fā)布->服務(wù)管理->服務(wù)可視化->圖形可視化操作功能開發(fā)->場景搭建的全過程統(tǒng)一納管,為后續(xù)項目在三維可視化服務(wù)層面的系統(tǒng)研發(fā)、服務(wù)管理等方面提供了平臺支持與接口支持,減少了開發(fā)人員對不同引擎架構(gòu)的學(xué)習(xí)過程,提高了工作效率并降低了項目成本。