張建中
(北京天地龍躍科技有限公司,北京 100013)
隨著新一代信息技術(shù)的發(fā)展,BIM作為協(xié)同設(shè)計(jì)的一項(xiàng)關(guān)鍵技術(shù)在工程建設(shè)領(lǐng)域展開(kāi)了一次重大革命,BIM技術(shù)是貫穿于工程項(xiàng)目規(guī)劃、設(shè)計(jì)、施工(建造)、運(yùn)營(yíng)和拆除(報(bào)廢)等全生命周期內(nèi)的,面向多源信息融合、共享和增值利用的虛擬仿真技術(shù)。其核心價(jià)值在于多方參與、多方協(xié)同與信息集成,這一核心價(jià)值的完整實(shí)現(xiàn)依賴(lài)于構(gòu)建滿足項(xiàng)目特性的BIM模型與系統(tǒng),以BIM模型作為信息的載體并與項(xiàng)目多參與方和多客戶端進(jìn)行信息交互[1]。在煤炭行業(yè),絕大多數(shù)企業(yè)仍停留在二維專(zhuān)題圖形化辦公和管理階段[2],礦井設(shè)計(jì)數(shù)字化交付尤其是以BIM技術(shù)為主導(dǎo)的正向設(shè)計(jì)仍然遠(yuǎn)未在煤礦行業(yè)開(kāi)展廣泛應(yīng)用,由于煤炭開(kāi)采的特殊性,研究實(shí)現(xiàn)符合“智慧礦山”建設(shè)的高精度模型空間幾何數(shù)據(jù)及屬性描述框架及集成標(biāo)準(zhǔn),開(kāi)發(fā)形成貫穿礦井全生命周期的數(shù)字模型承載和電子交付平臺(tái),仍然是現(xiàn)階段亟待解決的問(wèn)題,高精度的礦山對(duì)象模型數(shù)據(jù)轉(zhuǎn)換、存儲(chǔ)、發(fā)布和輕量化展示是實(shí)現(xiàn)智慧礦山深層次應(yīng)用的前提和基礎(chǔ)。
煤炭行業(yè)黃金十年期間,數(shù)字化礦山建設(shè)如火如荼,礦山數(shù)字化主要表現(xiàn)出三種技術(shù)路線,其一是以煤礦CAD或GIS為技術(shù)支撐的煤礦地測(cè)地理信息系統(tǒng),代表性的有薩賢春研發(fā)的MSGIS、北京龍軟開(kāi)發(fā)的LRGIS系統(tǒng)[3,4];其二是以3DMAX/3DGIS為技術(shù)支撐的三維礦山設(shè)計(jì)及數(shù)字礦山信息平臺(tái),代表性的有北京三維吉斯系統(tǒng)、山東藍(lán)光工程設(shè)計(jì)CAD系統(tǒng)和天地常州的3DGIS系統(tǒng)[5];其三是以ArcGIS、Skyline等國(guó)外GIS平臺(tái)為技術(shù)支撐的三維可視化和礦山數(shù)字化綜合展示平臺(tái)[6]。
上述技術(shù)路線基本上是在各自三維可視化、3DGIS、三維CAD設(shè)計(jì)平臺(tái)上的應(yīng)用開(kāi)發(fā),提出了數(shù)字化的核心,即信息的感知、采集、傳輸、存儲(chǔ)、可視化和增值利用問(wèn)題,這些研究實(shí)踐并未引入BIM技術(shù)理念但與BIM技術(shù)思想十分相似,其內(nèi)涵和價(jià)值理念上卻又存在很大不同。
煤炭開(kāi)采過(guò)程極其復(fù)雜,基于BIM技術(shù)理念是將模型貫穿于礦井生產(chǎn)建設(shè)全生命周期各個(gè)階段,然而各個(gè)階段BIM工具和數(shù)據(jù)層級(jí)、量級(jí)又是不同的,隨著B(niǎo)IM模型的流轉(zhuǎn)信息量不斷增長(zhǎng),而且信息更加趨向多源、異構(gòu),并且疊加了時(shí)間、成本要素,其模型空間幾何和屬性信息描述要求更高。
礦井BIM應(yīng)用目前一般都是采用國(guó)外專(zhuān)業(yè)化BIM工具功能建模和部分二次開(kāi)發(fā)[7-10],進(jìn)行了GIS+BIM模式的應(yīng)用,且主要是應(yīng)用于礦井設(shè)計(jì),施工及運(yùn)營(yíng)應(yīng)用尚不成熟,從應(yīng)用效果來(lái)看,各部分功能彼此相互割裂,未建立統(tǒng)一的BIM模型描述標(biāo)準(zhǔn)和集成技術(shù)規(guī)范,未見(jiàn)面向Web的BIM應(yīng)用案例,較智慧礦山應(yīng)用場(chǎng)景對(duì)BIM技術(shù)及平臺(tái)的要求還有一段距離。建筑領(lǐng)域BIM技術(shù)及其應(yīng)用已經(jīng)較為成熟[10-12],尤其是形成了一定的行業(yè)BIM標(biāo)準(zhǔn),基于BIM思想和技術(shù)標(biāo)準(zhǔn)相關(guān)研究人員在逐步向Web端、數(shù)據(jù)集成交互和融合方向進(jìn)行了較為深度的應(yīng)用[13],這些值得借鑒到煤炭行業(yè)應(yīng)用中來(lái),數(shù)據(jù)增值利用來(lái)看,基于BIM理念的技術(shù)框架對(duì)實(shí)施煤炭行業(yè)數(shù)字化礦山和智慧礦山建設(shè)應(yīng)該是一項(xiàng)有益的探索實(shí)踐,尤其是面向Web端和移動(dòng)端的輕量化集成應(yīng)用方向是目前研究的難點(diǎn)和重點(diǎn)。
對(duì)BIM應(yīng)用形式從單一的C/S架構(gòu)的工具化軟件逐步向B/S應(yīng)用轉(zhuǎn)移,這樣對(duì)BIM模型的輕量化處理,面向互聯(lián)網(wǎng)的分布式存儲(chǔ)和應(yīng)用提出了更高要求。
本文的主要目標(biāo)是研究基于Web3D開(kāi)源三維引擎的BIM模型集成與可視化實(shí)現(xiàn)技術(shù),開(kāi)發(fā)構(gòu)建具備自主知識(shí)產(chǎn)權(quán)的支持免插件、跨平臺(tái)的web三維可視化平臺(tái)及工具組件,分析驗(yàn)證BIM模型相關(guān)格式和符合煤炭行業(yè)數(shù)據(jù)集成標(biāo)準(zhǔn),采用云計(jì)算架構(gòu)搭建BIM模型集成存儲(chǔ)、顯示和交互操作框架,為智慧礦山信息平臺(tái)及多場(chǎng)景應(yīng)用提供解決方案思路。
將不同軟件、不同數(shù)據(jù)來(lái)源和不同階段的數(shù)據(jù)進(jìn)行規(guī)范的集成和平滑的交互瀏覽,必將遵循一套規(guī)范的數(shù)據(jù)集成標(biāo)準(zhǔn),本文從BIM模型數(shù)據(jù)集成標(biāo)準(zhǔn)研究出發(fā),通過(guò)研究現(xiàn)有商用及開(kāi)源CAD、GIS和BIM軟件開(kāi)放明碼標(biāo)準(zhǔn)格式基礎(chǔ)上,利用空間數(shù)據(jù)處理技術(shù)及工具組件,實(shí)現(xiàn)煤礦要素通用且開(kāi)放的BIM模型信息表達(dá)技術(shù)路線,以開(kāi)源Web3D技術(shù)構(gòu)建BIM模型顯示和交互操作框架,并對(duì)模型的一體化存儲(chǔ)及共享進(jìn)行設(shè)計(jì)。
2.2.1 BIM模型數(shù)據(jù)集成標(biāo)準(zhǔn)分析
IFC標(biāo)準(zhǔn)是連接各種不同軟件之間的橋梁,很好地解決了項(xiàng)目各參與方、各階段間的信息,是目前廣泛應(yīng)用于BIM軟件的兼容性、信息模型的數(shù)據(jù)交互格式研究。隨著行業(yè)認(rèn)識(shí)的深入,各國(guó)也紛紛以IFC標(biāo)準(zhǔn)制定了相關(guān)國(guó)家BIM標(biāo)準(zhǔn),包括定制了以Revit和Bentley等相關(guān)軟件數(shù)據(jù)格式為標(biāo)準(zhǔn)的細(xì)則。中國(guó)于2010年制定了中國(guó)建筑信息模型標(biāo)準(zhǔn)框架(China Building Information Model Standards,簡(jiǎn)稱(chēng)CBIMS),2017年5月頒布的《建筑信息模型施工應(yīng)用標(biāo)準(zhǔn)》(GB/T 51235—2017)中已引入LOD標(biāo)準(zhǔn),其中規(guī)定了總體模型在項(xiàng)目生命周期各階段應(yīng)用的信息精度和深度的要求[14]。
雖然煤礦地表工業(yè)廣場(chǎng)建筑業(yè)涵蓋在內(nèi),但并不能代表煤炭行業(yè)特征,對(duì)于煤礦地質(zhì)條件、井巷環(huán)境、生產(chǎn)系統(tǒng)及裝備的BIM模型數(shù)據(jù)標(biāo)準(zhǔn)尚未形成統(tǒng)一規(guī)范。本文采用建筑行業(yè)現(xiàn)有做法,進(jìn)行了一系列的研究,相關(guān)BIM標(biāo)準(zhǔn)發(fā)展離不開(kāi)行業(yè)和企業(yè)的推動(dòng)作用,在國(guó)際、國(guó)家標(biāo)準(zhǔn)框架下,建立多層次、符合行業(yè)和企業(yè)自身應(yīng)用的標(biāo)準(zhǔn)尤為重要,而煤炭行業(yè)相關(guān)標(biāo)準(zhǔn)的落地需要煤炭企業(yè)和技術(shù)服務(wù)單位進(jìn)行無(wú)縫協(xié)作,開(kāi)展BIM標(biāo)準(zhǔn)組織實(shí)施的管理模式、團(tuán)隊(duì)框架、管理流程、模型及技術(shù)要求、各部門(mén)參與方協(xié)同作業(yè)要求及各自的職責(zé)要求、成果交付標(biāo)準(zhǔn)等。
2.2.2 礦井BIM模型數(shù)據(jù)集成方法
煤礦設(shè)計(jì)階段一般采用Autodesk系列軟件平臺(tái)進(jìn)行設(shè)計(jì),Revit適用于煤礦建構(gòu)筑物、巷道設(shè)計(jì),Cvil3D用于地質(zhì)建模,SolidWorks適用于機(jī)械三維施工圖設(shè)計(jì),Bentley的AutoPlant進(jìn)行洗煤廠設(shè)計(jì)等,這些設(shè)計(jì)階段產(chǎn)生的模型需要在統(tǒng)一標(biāo)準(zhǔn)下制定接口規(guī)范,以IFC為標(biāo)準(zhǔn)框架擴(kuò)展編制符合煤炭行業(yè)不同階段的BIM標(biāo)準(zhǔn),實(shí)現(xiàn)具有行業(yè)特點(diǎn)的模型與信息的無(wú)損轉(zhuǎn)換規(guī)則,基于Web3D可視化平臺(tái)進(jìn)行模型的集成可視化展示。
1)集成方法?;诓煌O(shè)計(jì)階段和工程范圍,采用專(zhuān)用的設(shè)計(jì)軟件,基于開(kāi)放明碼DXF格式、IFC格式、OBJ格式,解析DWG、DGN等文件格式,兼容其他OPENBIM數(shù)據(jù)格式,如gbXML、LandXML等,實(shí)現(xiàn)幾何和屬性信息的轉(zhuǎn)換集成。目前大部分商用或開(kāi)源軟件都提供了特定的工具包或組件解析相關(guān)文件格式,如EPM Technology、EurostepIFC ActiveTool-box、BIMserver、IFC Tools Project等,利用這些工具或插件提供的一系列較為完整的API,即可定制符合需求的IFC相關(guān)文件讀取和加載方法,開(kāi)發(fā)模型實(shí)體和屬性的解析和關(guān)聯(lián)功能,以此為基礎(chǔ)構(gòu)建一套專(zhuān)用的模型數(shù)據(jù)融合工具包,實(shí)現(xiàn)跨不同應(yīng)用軟件間的數(shù)據(jù)轉(zhuǎn)換和共享。
2)處理流程。為兼容目前煤炭行業(yè)設(shè)計(jì)及煤礦地測(cè)繪圖應(yīng)用需求現(xiàn)狀,①基于AutoCAD平臺(tái)采用ARX二次開(kāi)發(fā)方法,實(shí)現(xiàn)二三維數(shù)據(jù)批量處理功能,包括空間位置、關(guān)鍵特征數(shù)據(jù)點(diǎn)、拓?fù)潢P(guān)聯(lián)等;②通過(guò)CAD平臺(tái)導(dǎo)出DXF格式并導(dǎo)入3DMax/Maya等建模軟件,構(gòu)建精細(xì)化的工廠、設(shè)備等模型,并根據(jù)標(biāo)準(zhǔn)要求和業(yè)務(wù)需求必要性劃分模型精度和粒度,利用建模軟件提供的腳本實(shí)現(xiàn)基于3DS/OBJ等通用格式及屬性文件的導(dǎo)入導(dǎo)出;③成果模型能夠提供給3DGIS用于場(chǎng)景集成,也可提供給BIM設(shè)計(jì)軟件作為構(gòu)件或族庫(kù)的單元,另外根據(jù)CAD平臺(tái)導(dǎo)出的DXF格式文件可作為3DGIS、BIM軟件的關(guān)鍵骨架數(shù)據(jù),進(jìn)行參數(shù)化建模和空間位置集成;④利用GIS/BIM平臺(tái)功能進(jìn)行數(shù)據(jù)的導(dǎo)出轉(zhuǎn)換,但需注意屬性信息的類(lèi)目和層次的全面性,并將模型進(jìn)行輕量化處理;⑤通過(guò)構(gòu)建適用的空間數(shù)據(jù)和BIM模型存儲(chǔ)數(shù)據(jù)中心,分析不同BIM模型結(jié)構(gòu)化、半結(jié)構(gòu)化和非機(jī)構(gòu)化類(lèi)型數(shù)據(jù)進(jìn)行規(guī)范化存儲(chǔ),并優(yōu)化存儲(chǔ)結(jié)構(gòu),以滿足海量、異構(gòu)、不同尺度的數(shù)據(jù)存儲(chǔ)和共享需求,通過(guò)基于Web3D技術(shù)的三維可視化前端引擎實(shí)現(xiàn)模型的集成顯示和交互瀏覽操作,從而更加靈活的定制面向智慧礦山不同應(yīng)用場(chǎng)景APP。模型數(shù)據(jù)集成流程如圖1所示。
圖1 模型數(shù)據(jù)集成流程
2.2.3 BIM模型存儲(chǔ)、顯示及交互框架方法
1)總體原則。不同來(lái)源的BIM模型進(jìn)行數(shù)據(jù)集成后,獲取的多尺度、多層次的數(shù)據(jù)需按IFC標(biāo)準(zhǔn)及行業(yè)特點(diǎn)進(jìn)行規(guī)范的組織,構(gòu)建統(tǒng)一的模型對(duì)象空間和屬性參考中心,對(duì)數(shù)據(jù)進(jìn)行持久化,并提供一系列二次開(kāi)發(fā)API,形成基于自主知識(shí)產(chǎn)權(quán)的核心數(shù)據(jù)服務(wù),利用開(kāi)放的API在第三方CAD、3DMax、3DGIS和BIM等平臺(tái)上進(jìn)行定制化二次開(kāi)發(fā),實(shí)現(xiàn)不同的軟件平臺(tái)之間的共享和存儲(chǔ)。
2)總體技術(shù)路線。①基于ORM架構(gòu)思想,采用C++語(yǔ)言定制開(kāi)發(fā)一套可擴(kuò)展、可定制的礦山對(duì)象數(shù)據(jù)中心,數(shù)據(jù)中心對(duì)礦山要素類(lèi)和字典進(jìn)行了定義,從業(yè)務(wù)上劃分為井巷、地質(zhì)體、設(shè)備、配件、材料、設(shè)施、區(qū)域、網(wǎng)絡(luò)等,本文稱(chēng)之為“礦用對(duì)象”,從技術(shù)實(shí)現(xiàn)上劃分為要素類(lèi)、要素類(lèi)屬性、要素、要素屬性、關(guān)系等,并開(kāi)發(fā)管理器實(shí)現(xiàn)礦用要素、字典配置、權(quán)限安全等定義和管理功能;②基于上述“礦用對(duì)象”管理技術(shù)框架構(gòu)建平臺(tái)存儲(chǔ)及索引組織結(jié)構(gòu),采用關(guān)系數(shù)據(jù)庫(kù)如MySQL、Oracle實(shí)現(xiàn)礦用對(duì)象實(shí)體及屬性、關(guān)系存儲(chǔ),采用文本數(shù)據(jù)庫(kù)及分布式數(shù)據(jù)庫(kù)存儲(chǔ)方式實(shí)現(xiàn)模型材質(zhì)等存儲(chǔ),如MongoDB/Hbase等,開(kāi)發(fā)提供“礦用對(duì)象”的二次開(kāi)發(fā)API及發(fā)布面向Web訪問(wèn)的service數(shù)據(jù)服務(wù);③開(kāi)發(fā)免插件、跨平臺(tái)的面向Web和移動(dòng)應(yīng)用的開(kāi)源三維引擎前端,為適用不同的應(yīng)用場(chǎng)景,需對(duì)現(xiàn)有的開(kāi)源三維引擎進(jìn)行封裝,并搭建支持云計(jì)算架構(gòu)的平臺(tái)存儲(chǔ)結(jié)構(gòu),面向不同應(yīng)用場(chǎng)景時(shí)可對(duì)平臺(tái)計(jì)算進(jìn)行伸縮配置,降低客戶端壓力。
以目前被廣泛支持的IFC2x3版本為基礎(chǔ),解析面向IFC核心層、共享層和領(lǐng)域?qū)討?yīng)用的類(lèi)型定義、函數(shù)、規(guī)則和屬性等內(nèi)容,一一對(duì)應(yīng)到“礦用對(duì)象”的定義和實(shí)現(xiàn)中,要素及實(shí)體對(duì)應(yīng)IFC的IFCObjectDefinition,要素類(lèi)關(guān)系對(duì)應(yīng)IFCRelationship,要素屬性對(duì)應(yīng)IFCPropertyDefinition,通過(guò)接口組件進(jìn)行解析關(guān)聯(lián),統(tǒng)一在礦用對(duì)象數(shù)據(jù)中心進(jìn)行集成,這樣既能兼顧IFC標(biāo)準(zhǔn)本身的規(guī)則,又能夠靈活擴(kuò)展面向行業(yè)需求定制,并且能夠形成體系化的服務(wù),以滿足上層應(yīng)用需求。礦用對(duì)象與IFC標(biāo)準(zhǔn)解析結(jié)構(gòu)如圖2所示。
圖2 礦用對(duì)象與IFC標(biāo)準(zhǔn)解析結(jié)構(gòu)
GIS應(yīng)用從二維到三維,從本地PC端到互聯(lián)網(wǎng)Web端、移動(dòng)端擴(kuò)展,瀏覽器逐步對(duì)OPENGL實(shí)現(xiàn)了原生支持,逐步實(shí)現(xiàn)基于免插件方式的WebGL引擎的出現(xiàn),WebGL可以為HTML5 Canvas提供硬件3D加速渲染,這樣Web開(kāi)發(fā)人員就可以借助系統(tǒng)顯卡來(lái)在瀏覽器里更流暢地展示3D場(chǎng)景和模型了,進(jìn)而一系列三維平臺(tái)公司開(kāi)始進(jìn)行底層技術(shù)升級(jí),基于開(kāi)源的Web3D引擎開(kāi)發(fā)專(zhuān)有的Web3DGIS、WebCAD和WebBIM商業(yè)化平臺(tái)。WebGL是一種偏底層的技術(shù),為了降低開(kāi)發(fā)難度和節(jié)省開(kāi)發(fā)成本,一般不會(huì)直接基于WebGL進(jìn)行開(kāi)發(fā)。目前業(yè)內(nèi)大都采用基于WebGL實(shí)現(xiàn)的3D引擎進(jìn)行開(kāi)發(fā)。面向基于WebGL技術(shù)封裝的平臺(tái)主要包括有Three.js、Babylon.js、Cesium.js、Echarts、EchartsGL和ScenceJS等框架。各框架對(duì)比見(jiàn)表1。
表1 常用Web3D開(kāi)源組件庫(kù)
綜合分析得出對(duì)于中小型場(chǎng)景采用Three.js,對(duì)于大場(chǎng)景基于Earth的開(kāi)源三維JS引擎采用Cesium.js,二者支持stl,obj+mtl+png、FBX和glTF格式模型數(shù)據(jù)。從技術(shù)框架活躍度來(lái)看,Three.js和Cesium.js也是商業(yè)化程度最高、應(yīng)用最廣的,本文主要針對(duì)Three.js技術(shù)框架進(jìn)行應(yīng)用研究。
3.2.1 基于Three.js的模型顯示
在Three.js中,要渲染物體到網(wǎng)頁(yè)中,主要需要3個(gè)組件:場(chǎng)景(Scene)、相機(jī)(Camera)和渲染器(Renderer),基于3個(gè)基礎(chǔ)組件,分別由Three.js繪圖、相光源、加載器、材質(zhì)、數(shù)學(xué)庫(kù)、紋理和動(dòng)畫(huà)構(gòu)成,進(jìn)行三維場(chǎng)景的開(kāi)發(fā)。渲染結(jié)構(gòu)如圖3所示。
圖3 基于Three.js的三維渲染結(jié)構(gòu)
3.2.2 基于Three.js的功能與可視化渲染
1)繪圖功能。包括畫(huà)線、繪制幾何體、創(chuàng)建文字、載入3D模型、繪制輔助對(duì)象等,其中載入3D模型功能是web端模型載入的主要方法,3D模型的格式有成千上萬(wàn)種可供選擇,但每一種格式都具有不同的目的、用途以及復(fù)雜性。一般使用glTF(gl傳輸格式)較多,.GLB和.GLTF是這種格式的這兩種不同版本。由于glTF這種格式是專(zhuān)注于在程序運(yùn)行時(shí)呈現(xiàn)三維物體的,所以它的傳輸效率非常高,且加載速度非常快。功能方面則包括了網(wǎng)格、材質(zhì)、紋理、皮膚、骨骼、變形目標(biāo)、動(dòng)畫(huà)、燈光和攝像機(jī)。除支持glTF格式外,F(xiàn)BX、OBJ或者COLLADA等也具備相應(yīng)的支持。
2)模型的真實(shí)感渲染?;贠penGL的真實(shí)感主要利用光照和材質(zhì),Three.js提供了一個(gè)材質(zhì)基類(lèi)THREE.Material,該基類(lèi)擁有three.js所有材質(zhì)的公有屬性,分為三類(lèi):基礎(chǔ)屬性,融合屬性,高級(jí)屬性。包括基礎(chǔ)材質(zhì)、基于深度的著色材質(zhì)、聯(lián)合材質(zhì)、計(jì)算法向量的顏色材質(zhì)、為幾何體每一面都指定的材質(zhì)、高級(jí)材質(zhì)、光亮材質(zhì)、陰影材質(zhì)和線段幾何材質(zhì)。
3)模型輕量化處理與渲染。一方面,主要包括模型本身的輕量化處理,利用現(xiàn)有成熟軟件模塊轉(zhuǎn)換為統(tǒng)一格式的輕量化模型,體量一般能夠縮小為原來(lái)的5%~60%,加載和展示是大大減少系統(tǒng)資源占用。另一方面,模型載入場(chǎng)景后由于數(shù)量多,多材質(zhì)情況下還需在場(chǎng)景繪制多次,導(dǎo)致drawcall過(guò)載,雖然設(shè)置視椎體剪裁下,剔除了視椎外部模型仍然不能較好解決,經(jīng)測(cè)試,采用多實(shí)例渲染和定點(diǎn)合并能夠較為明顯優(yōu)化模型渲染速率,drawcall降低70%左右。
3.2.3 三維場(chǎng)景管理
創(chuàng)建一個(gè)三維空間,整個(gè)三維空間我們稱(chēng)之為“場(chǎng)景”(scene),在場(chǎng)景內(nèi)我們可以創(chuàng)建對(duì)象,比如礦區(qū),建筑,車(chē)輛,設(shè)備、傳感器等等。為了便于模型管理,需要將載入場(chǎng)景的模型進(jìn)行分級(jí)分類(lèi),通過(guò)構(gòu)建場(chǎng)景管理目錄、層級(jí)、屬性實(shí)現(xiàn)不同模型的組合關(guān)系,從而實(shí)現(xiàn)對(duì)場(chǎng)景模型的規(guī)范化和數(shù)據(jù)化管理。場(chǎng)景模型管理關(guān)系如圖4所示。
圖4 礦井三維生產(chǎn)系統(tǒng)場(chǎng)景構(gòu)建
3.2.4 二三維場(chǎng)景界面融合
三維場(chǎng)景與應(yīng)用程序框架是一體化的,在顯示場(chǎng)景時(shí)往往是相互結(jié)合在一起的,分為三維容器內(nèi)和三維容器外,三維容器內(nèi)外根據(jù)模型顯示、標(biāo)注、選擇、查詢、指示等不同應(yīng)用目的不同,進(jìn)行組件化集成,使三維場(chǎng)景展示更加豐滿,如圖5所示。
3.2.5 三維模型要素?cái)?shù)據(jù)結(jié)構(gòu)設(shè)計(jì)
為實(shí)現(xiàn)通過(guò)類(lèi)別和層級(jí)管理三維模型,基于礦用對(duì)象數(shù)據(jù)中心提供的API進(jìn)行要素定義,并為每類(lèi)要素創(chuàng)建對(duì)象,對(duì)象則一一對(duì)應(yīng)場(chǎng)景中的三維模型,如定義三維模型為Box,Sphere,Plane,Cylinder,Tetrahedron等,均繼承自BaseObject,創(chuàng)建示例如下:
var dev = app.create({
'id':'8EA88A93-3238-446E-B80D-0C61BEFC9950',
'name':'pDevcie01',
'type':'Object',
'url':'https://model.3dcoal.com/models/66b7f5979ff043afa4e79f7299853a4b/0/gltf/'
});
對(duì)象屬性類(lèi)別:
1)通用屬性:
·id:對(duì)象唯一編號(hào)
·name:設(shè)置的對(duì)象名字,用戶可自行定義
·position:世界坐標(biāo)系下位置
·localPosition:父對(duì)象坐標(biāo)下的位置
·angles:世界坐標(biāo)系下三軸旋轉(zhuǎn)角度
·localAngles:世界父對(duì)象坐標(biāo)系下三軸旋轉(zhuǎn)角度
·scale:自身坐標(biāo)系下三軸縮放量
·visible:是否顯示
·style:效果控制
·children:獲取所有子物體
·brothers:獲取所有兄弟(排除自己)
·parent:獲取父對(duì)象
·parents:獲取所有父對(duì)象(返回的Selector結(jié)果中,第0位為直屬父對(duì)象parent,最后一位為根對(duì)象root)
圖5 二三維場(chǎng)景界面融合
創(chuàng)建對(duì)象時(shí)通過(guò)自定義UUID也可用generateUUID()方法自動(dòng)生成全局唯一標(biāo)識(shí),以此來(lái)關(guān)聯(lián)和索引礦用對(duì)象數(shù)據(jù)及模型資源。
2)類(lèi)專(zhuān)屬屬性:BaseObject在type清單規(guī)定每個(gè)類(lèi)支持的屬性類(lèi)別,CamObject中用戶添加的自定義屬性。
采用礦用對(duì)象數(shù)據(jù)中心實(shí)現(xiàn)了模型的數(shù)據(jù)組織和檢索,面向工程應(yīng)用時(shí)則需根據(jù)數(shù)據(jù)規(guī)模、業(yè)務(wù)范圍、模型精度要求和成本綜合考慮進(jìn)行平臺(tái)的存儲(chǔ)架構(gòu)搭建,針對(duì)處理海量、多源、高精度模型的綜合應(yīng)用時(shí),本文提出采用面向服務(wù)的云計(jì)算架構(gòu),結(jié)合分布式數(shù)據(jù)存儲(chǔ)及計(jì)算進(jìn)行設(shè)計(jì),可伸縮和分布式部署前提是基于礦用對(duì)象數(shù)據(jù)中心提供了對(duì)業(yè)務(wù)對(duì)象分類(lèi)、分級(jí)和分版本管理,能夠?qū)⒑A慷嘣吹臄?shù)據(jù)及業(yè)務(wù)應(yīng)用進(jìn)行水平和垂直業(yè)務(wù)拆分,以支持?jǐn)?shù)據(jù)庫(kù)的分庫(kù)、分表存儲(chǔ),在大場(chǎng)景應(yīng)用中充分利用云計(jì)算數(shù)據(jù)中心的能力解決數(shù)據(jù)瀏覽的效率瓶頸和用戶體驗(yàn)。
平臺(tái)基于公有云、私有云和或混合云基礎(chǔ)設(shè)施,采用Hadoop分布式存儲(chǔ)架構(gòu)結(jié)合NoSQL數(shù)據(jù)庫(kù)、關(guān)系型數(shù)據(jù)庫(kù)進(jìn)行集群搭建,按礦用對(duì)象ORM引擎管理方式,將BIM模型及數(shù)據(jù)資源劃分為IFC數(shù)據(jù)庫(kù)、BIM元數(shù)據(jù)庫(kù)、索引數(shù)據(jù)庫(kù)、文件數(shù)據(jù)庫(kù)和數(shù)據(jù)倉(cāng)庫(kù)(規(guī)范后的成果庫(kù)),通過(guò)礦用對(duì)象ORM引擎封裝外部訪問(wèn)的API接口和一系列service服務(wù),為設(shè)計(jì)階段、建設(shè)階段和運(yùn)營(yíng)階段不同客戶端提供數(shù)據(jù)查詢、模型瀏覽、模型集成、數(shù)據(jù)轉(zhuǎn)換和數(shù)據(jù)檢查等,如圖6所示。
圖6 基于云計(jì)算架構(gòu)的模型存儲(chǔ)與共享
本文基于自主研發(fā)的數(shù)據(jù)定義與采集工具,實(shí)現(xiàn)從礦用要素類(lèi)定義、屬性自定義、空間信息采集到二三維一體化建模及驗(yàn)證,模型集成與屬性映射、三維場(chǎng)景模型發(fā)布與可視化展示,主要包括如下方面:
4.1.1 二三維對(duì)象基礎(chǔ)信息采集與建模
以某井工礦為例,基于AutoCAD二次開(kāi)發(fā),實(shí)現(xiàn)礦用要素類(lèi)定義與空間幾何信息采集、屬性賦值,基于礦用要素類(lèi)進(jìn)行三維建模。主要方法包括基于3DMax二次開(kāi)發(fā)的地表建筑建模、基于Revit二次開(kāi)發(fā)的井巷工程建模、基于Navisworks4D模擬、基于Civil3D的地表等高線建模、地質(zhì)體建模和基于Bentley的碰撞檢測(cè),如圖7所示。
圖7 井巷工程建模與4D模擬
4.1.2 模型集成與屬性映射
基于統(tǒng)一參考坐標(biāo)集成不同來(lái)源模型,通過(guò)定義礦用要素模型集成標(biāo)準(zhǔn)、屬性規(guī)范,開(kāi)發(fā)數(shù)據(jù)轉(zhuǎn)換、格式自定義工具,根據(jù)模型礦用要素對(duì)象統(tǒng)一UUID關(guān)聯(lián)獲取屬性,如圖8所示。
圖8 屬性要素定義及關(guān)聯(lián)
4.1.3 三維場(chǎng)景建模集成
基于Web3D引擎三維場(chǎng)景建模分為批量導(dǎo)入和實(shí)時(shí)建模,如圖9所示:①利用3DMAX、Maya、Revit、Civil3D等建模和三維設(shè)計(jì)軟件,批量制作而成的模型按管理要求進(jìn)行分級(jí)、分類(lèi),并附加一定屬性,進(jìn)行輕量化處理導(dǎo)入導(dǎo)出;②對(duì)于動(dòng)態(tài)數(shù)據(jù)和相對(duì)結(jié)構(gòu)簡(jiǎn)單的模型可以使用實(shí)時(shí)建模方式,即利用獲取到的參數(shù)進(jìn)行模型批量加載、特殊模型構(gòu)建等。
圖9 基于Web3D引擎的模型集成與可視化展示
通過(guò)采用AutoCAD、Revit、3DMax等一系列平臺(tái)進(jìn)行二次開(kāi)發(fā)和集成能夠?qū)?shù)據(jù)進(jìn)行規(guī)范集中的采集和存儲(chǔ),開(kāi)發(fā)一系列工具組件,充分利用原有平臺(tái)的能力,實(shí)現(xiàn)了基于Web3D可視化平臺(tái)的模型瀏覽和交互操作,但還存在一些尚待解決和完善的問(wèn)題,主要有:
1)基于three.js框架的三維前端進(jìn)行封裝適用于中小型應(yīng)用場(chǎng)景,通過(guò)擴(kuò)展庫(kù)實(shí)現(xiàn)對(duì)LOD的功能支持,但對(duì)于大場(chǎng)景、多尺度BIM模型集成中,諸如GIS坐標(biāo)系統(tǒng)、矢量、影像、地圖數(shù)據(jù)支持缺乏。此外,有些BIM軟件模型的描述是參數(shù)化的,其模型顯示是動(dòng)態(tài)繪制的,在導(dǎo)出時(shí)會(huì)造成三角網(wǎng)片缺失,需要平臺(tái)從模型或渲染時(shí)進(jìn)行底層支持。
2)可視化平臺(tái)構(gòu)建了以礦用對(duì)象ORM引擎為核心的數(shù)據(jù)組織模式,是參考IFC標(biāo)準(zhǔn)進(jìn)行的集成策略和手段,對(duì)實(shí)體模型和屬性信息的轉(zhuǎn)換,支持實(shí)體、屬性和關(guān)系的識(shí)別與映射,并能夠根據(jù)標(biāo)準(zhǔn)和軟件定制化需求進(jìn)行更新和校驗(yàn),以保障數(shù)據(jù)完整。但目前只是參考建筑行業(yè)相關(guān)標(biāo)準(zhǔn)的做法,對(duì)于煤炭行業(yè)不同階段和應(yīng)用范圍還需將標(biāo)準(zhǔn)和流程進(jìn)一步細(xì)化,并制定相關(guān)軟件平臺(tái)文件格式和接口標(biāo)準(zhǔn)。
3)平臺(tái)設(shè)計(jì)了基于云計(jì)算的BIM模型存儲(chǔ)架構(gòu),根據(jù)礦用對(duì)象ORM引擎數(shù)據(jù)組織方式將數(shù)據(jù)進(jìn)行分類(lèi)、分級(jí),對(duì)結(jié)構(gòu)化、非結(jié)構(gòu)化和半結(jié)構(gòu)化數(shù)據(jù)分別進(jìn)行存儲(chǔ),從機(jī)制上保障BIM模型軟件服務(wù)部署架構(gòu)能夠通過(guò)負(fù)載均衡靈活配置和服務(wù)器擴(kuò)容實(shí)現(xiàn)性能提升。Web模型加載和存儲(chǔ)上雖然支持了obj、gltf、json等格式,在數(shù)據(jù)壓縮和優(yōu)化上還需進(jìn)一步研究,以實(shí)現(xiàn)最大程度從軟件架構(gòu)上解決效率問(wèn)題,降低服務(wù)器成本。
本文通過(guò)分析礦山數(shù)字化及煤炭行業(yè)BIM應(yīng)用現(xiàn)狀,研發(fā)基于開(kāi)源三維引擎的Web3D可視化平臺(tái),并基于現(xiàn)有BIM領(lǐng)域相關(guān)標(biāo)準(zhǔn),進(jìn)行模型和屬性信息的集成、轉(zhuǎn)換,利用不同領(lǐng)域BIM設(shè)計(jì)和建模軟件進(jìn)行模型檢驗(yàn)和集成,在Web3D可視化平臺(tái)進(jìn)行模型發(fā)布與可視化展示。主要得出如下結(jié)論:
商業(yè)化的BIM軟件各廠家自成體系,面向工民建、軌道交通、水利水電、地質(zhì)、礦山、工廠等不同領(lǐng)域有著專(zhuān)用的BIM工具,依靠各自市場(chǎng)份額和影響力制定相關(guān)行業(yè)BIM標(biāo)準(zhǔn)和軟件格式及接口規(guī)范等,煤炭行業(yè)相關(guān)BIM研究起步較晚,尚未形成相關(guān)行業(yè)企業(yè)標(biāo)準(zhǔn)和具備自主知識(shí)產(chǎn)權(quán)的專(zhuān)用工具化平臺(tái),亟需建立和應(yīng)用面向煤炭行業(yè)智慧礦山建設(shè)的BIM標(biāo)準(zhǔn)和數(shù)據(jù)規(guī)范,以真正能夠支持實(shí)現(xiàn)基于BIM技術(shù)的礦山全生命周期智慧模型構(gòu)建和信息集成。
本文研制面向Web應(yīng)用的BIM模型集成、發(fā)布、可視化、共享傳遞和應(yīng)用引擎,為實(shí)現(xiàn)跨設(shè)計(jì)、施工、運(yùn)維等全生命周期煤炭開(kāi)采過(guò)程BIM應(yīng)用協(xié)同交付平臺(tái)進(jìn)行了嘗試,該技術(shù)路線支持免插件、輕量化和跨平臺(tái)應(yīng)用需求,并支持應(yīng)用與數(shù)據(jù)前后端分離,但在系統(tǒng)設(shè)計(jì)上還需進(jìn)行深入研究,優(yōu)化支持云計(jì)算、大數(shù)據(jù)技術(shù)的后端BIM服務(wù)架構(gòu)。
面向智慧礦山應(yīng)用場(chǎng)景也必然是多種技術(shù)組建、工具和平臺(tái)綜合架構(gòu)而成,面向Web的BIM可視化引擎是綜合應(yīng)用場(chǎng)景和電子交付的綜合展示平臺(tái),貫穿從設(shè)計(jì)、施工到運(yùn)營(yíng)全過(guò)程信息集成,從而開(kāi)發(fā)面向不同階段的應(yīng)用集合。主要包括:
1)設(shè)計(jì)階段BIM建模。利用Revit、Archicad BIM、Civil3D、Bentely、Solidworks、3Dmine等配套軟件進(jìn)行多項(xiàng)BIM協(xié)同深化設(shè)計(jì),設(shè)計(jì)成果以BIM模型交付礦方,此階段主要以礦井仿真算量為主,為招投標(biāo)提供標(biāo)的。
2)施工階段BIM仿真。由設(shè)計(jì)階段交付的BIM模型指導(dǎo)礦井開(kāi)拓施工過(guò)程,對(duì)施工過(guò)程進(jìn)行模擬仿真,采用三維激光掃描技術(shù)、物探技術(shù)結(jié)合數(shù)據(jù)解譯和建模技術(shù),解決高精度地質(zhì)體重建、巷道開(kāi)挖過(guò)程、設(shè)備安裝、設(shè)施與構(gòu)筑物之間的碰撞等問(wèn)題,優(yōu)化施工過(guò)程,大大降低施工成本、減少返工,其應(yīng)用價(jià)值是巨大的。
3)生產(chǎn)運(yùn)營(yíng)階段BIM應(yīng)用。設(shè)計(jì)階段的設(shè)計(jì)模型經(jīng)過(guò)施工建造階段修正后的BIM模型為生產(chǎn)運(yùn)營(yíng)階段提供了高精度、多層次的精細(xì)化模型,同時(shí)將設(shè)計(jì)階段、建造階段的數(shù)據(jù)與模型進(jìn)行了關(guān)聯(lián)與流轉(zhuǎn),并在運(yùn)營(yíng)階段將礦井生產(chǎn)過(guò)程中產(chǎn)生的設(shè)備狀態(tài)監(jiān)測(cè)數(shù)據(jù)、環(huán)境監(jiān)測(cè)數(shù)據(jù)、地應(yīng)力數(shù)據(jù)等集成,實(shí)現(xiàn)面向智慧礦山應(yīng)用的礦井三維可視化、數(shù)字孿生、CPS系統(tǒng)應(yīng)用APP等,滿足礦山智能體的狀態(tài)感知、實(shí)時(shí)分析、科學(xué)決策、精準(zhǔn)執(zhí)行的信息承載框架,從而加快推進(jìn)煤礦智能化、智慧化邁向新階段。