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