APP下载

基于Web3D技术的煤矿BIM模型集成及可视化研究

2020-07-24张建中

煤炭工程 2020年7期
关键词:矿用可视化对象

张建中

(北京天地龙跃科技有限公司,北京 100013)

随着新一代信息技术的发展,BIM作为协同设计的一项关键技术在工程建设领域展开了一次重大革命,BIM技术是贯穿于工程项目规划、设计、施工(建造)、运营和拆除(报废)等全生命周期内的,面向多源信息融合、共享和增值利用的虚拟仿真技术。其核心价值在于多方参与、多方协同与信息集成,这一核心价值的完整实现依赖于构建满足项目特性的BIM模型与系统,以BIM模型作为信息的载体并与项目多参与方和多客户端进行信息交互[1]。在煤炭行业,绝大多数企业仍停留在二维专题图形化办公和管理阶段[2],矿井设计数字化交付尤其是以BIM技术为主导的正向设计仍然远未在煤矿行业开展广泛应用,由于煤炭开采的特殊性,研究实现符合“智慧矿山”建设的高精度模型空间几何数据及属性描述框架及集成标准,开发形成贯穿矿井全生命周期的数字模型承载和电子交付平台,仍然是现阶段亟待解决的问题,高精度的矿山对象模型数据转换、存储、发布和轻量化展示是实现智慧矿山深层次应用的前提和基础。

1 煤炭行业数字化及BIM技术应用现状

1.1 煤矿数字化

煤炭行业黄金十年期间,数字化矿山建设如火如荼,矿山数字化主要表现出三种技术路线,其一是以煤矿CAD或GIS为技术支撑的煤矿地测地理信息系统,代表性的有萨贤春研发的MSGIS、北京龙软开发的LRGIS系统[3,4];其二是以3DMAX/3DGIS为技术支撑的三维矿山设计及数字矿山信息平台,代表性的有北京三维吉斯系统、山东蓝光工程设计CAD系统和天地常州的3DGIS系统[5];其三是以ArcGIS、Skyline等国外GIS平台为技术支撑的三维可视化和矿山数字化综合展示平台[6]。

上述技术路线基本上是在各自三维可视化、3DGIS、三维CAD设计平台上的应用开发,提出了数字化的核心,即信息的感知、采集、传输、存储、可视化和增值利用问题,这些研究实践并未引入BIM技术理念但与BIM技术思想十分相似,其内涵和价值理念上却又存在很大不同。

1.2 煤矿BIM技术应用

煤炭开采过程极其复杂,基于BIM技术理念是将模型贯穿于矿井生产建设全生命周期各个阶段,然而各个阶段BIM工具和数据层级、量级又是不同的,随着BIM模型的流转信息量不断增长,而且信息更加趋向多源、异构,并且叠加了时间、成本要素,其模型空间几何和属性信息描述要求更高。

矿井BIM应用目前一般都是采用国外专业化BIM工具功能建模和部分二次开发[7-10],进行了GIS+BIM模式的应用,且主要是应用于矿井设计,施工及运营应用尚不成熟,从应用效果来看,各部分功能彼此相互割裂,未建立统一的BIM模型描述标准和集成技术规范,未见面向Web的BIM应用案例,较智慧矿山应用场景对BIM技术及平台的要求还有一段距离。建筑领域BIM技术及其应用已经较为成熟[10-12],尤其是形成了一定的行业BIM标准,基于BIM思想和技术标准相关研究人员在逐步向Web端、数据集成交互和融合方向进行了较为深度的应用[13],这些值得借鉴到煤炭行业应用中来,数据增值利用来看,基于BIM理念的技术框架对实施煤炭行业数字化矿山和智慧矿山建设应该是一项有益的探索实践,尤其是面向Web端和移动端的轻量化集成应用方向是目前研究的难点和重点。

对BIM应用形式从单一的C/S架构的工具化软件逐步向B/S应用转移,这样对BIM模型的轻量化处理,面向互联网的分布式存储和应用提出了更高要求。

2 研究目标与方法

2.1 研究目标

本文的主要目标是研究基于Web3D开源三维引擎的BIM模型集成与可视化实现技术,开发构建具备自主知识产权的支持免插件、跨平台的web三维可视化平台及工具组件,分析验证BIM模型相关格式和符合煤炭行业数据集成标准,采用云计算架构搭建BIM模型集成存储、显示和交互操作框架,为智慧矿山信息平台及多场景应用提供解决方案思路。

2.2 研究方法

将不同软件、不同数据来源和不同阶段的数据进行规范的集成和平滑的交互浏览,必将遵循一套规范的数据集成标准,本文从BIM模型数据集成标准研究出发,通过研究现有商用及开源CAD、GIS和BIM软件开放明码标准格式基础上,利用空间数据处理技术及工具组件,实现煤矿要素通用且开放的BIM模型信息表达技术路线,以开源Web3D技术构建BIM模型显示和交互操作框架,并对模型的一体化存储及共享进行设计。

2.2.1 BIM模型数据集成标准分析

IFC标准是连接各种不同软件之间的桥梁,很好地解决了项目各参与方、各阶段间的信息,是目前广泛应用于BIM软件的兼容性、信息模型的数据交互格式研究。随着行业认识的深入,各国也纷纷以IFC标准制定了相关国家BIM标准,包括定制了以Revit和Bentley等相关软件数据格式为标准的细则。中国于2010年制定了中国建筑信息模型标准框架(China Building Information Model Standards,简称CBIMS),2017年5月颁布的《建筑信息模型施工应用标准》(GB/T 51235—2017)中已引入LOD标准,其中规定了总体模型在项目生命周期各阶段应用的信息精度和深度的要求[14]。

虽然煤矿地表工业广场建筑业涵盖在内,但并不能代表煤炭行业特征,对于煤矿地质条件、井巷环境、生产系统及装备的BIM模型数据标准尚未形成统一规范。本文采用建筑行业现有做法,进行了一系列的研究,相关BIM标准发展离不开行业和企业的推动作用,在国际、国家标准框架下,建立多层次、符合行业和企业自身应用的标准尤为重要,而煤炭行业相关标准的落地需要煤炭企业和技术服务单位进行无缝协作,开展BIM标准组织实施的管理模式、团队框架、管理流程、模型及技术要求、各部门参与方协同作业要求及各自的职责要求、成果交付标准等。

2.2.2 矿井BIM模型数据集成方法

煤矿设计阶段一般采用Autodesk系列软件平台进行设计,Revit适用于煤矿建构筑物、巷道设计,Cvil3D用于地质建模,SolidWorks适用于机械三维施工图设计,Bentley的AutoPlant进行洗煤厂设计等,这些设计阶段产生的模型需要在统一标准下制定接口规范,以IFC为标准框架扩展编制符合煤炭行业不同阶段的BIM标准,实现具有行业特点的模型与信息的无损转换规则,基于Web3D可视化平台进行模型的集成可视化展示。

1)集成方法。基于不同设计阶段和工程范围,采用专用的设计软件,基于开放明码DXF格式、IFC格式、OBJ格式,解析DWG、DGN等文件格式,兼容其他OPENBIM数据格式,如gbXML、LandXML等,实现几何和属性信息的转换集成。目前大部分商用或开源软件都提供了特定的工具包或组件解析相关文件格式,如EPM Technology、EurostepIFC ActiveTool-box、BIMserver、IFC Tools Project等,利用这些工具或插件提供的一系列较为完整的API,即可定制符合需求的IFC相关文件读取和加载方法,开发模型实体和属性的解析和关联功能,以此为基础构建一套专用的模型数据融合工具包,实现跨不同应用软件间的数据转换和共享。

2)处理流程。为兼容目前煤炭行业设计及煤矿地测绘图应用需求现状,①基于AutoCAD平台采用ARX二次开发方法,实现二三维数据批量处理功能,包括空间位置、关键特征数据点、拓扑关联等;②通过CAD平台导出DXF格式并导入3DMax/Maya等建模软件,构建精细化的工厂、设备等模型,并根据标准要求和业务需求必要性划分模型精度和粒度,利用建模软件提供的脚本实现基于3DS/OBJ等通用格式及属性文件的导入导出;③成果模型能够提供给3DGIS用于场景集成,也可提供给BIM设计软件作为构件或族库的单元,另外根据CAD平台导出的DXF格式文件可作为3DGIS、BIM软件的关键骨架数据,进行参数化建模和空间位置集成;④利用GIS/BIM平台功能进行数据的导出转换,但需注意属性信息的类目和层次的全面性,并将模型进行轻量化处理;⑤通过构建适用的空间数据和BIM模型存储数据中心,分析不同BIM模型结构化、半结构化和非机构化类型数据进行规范化存储,并优化存储结构,以满足海量、异构、不同尺度的数据存储和共享需求,通过基于Web3D技术的三维可视化前端引擎实现模型的集成显示和交互浏览操作,从而更加灵活的定制面向智慧矿山不同应用场景APP。模型数据集成流程如图1所示。

图1 模型数据集成流程

2.2.3 BIM模型存储、显示及交互框架方法

1)总体原则。不同来源的BIM模型进行数据集成后,获取的多尺度、多层次的数据需按IFC标准及行业特点进行规范的组织,构建统一的模型对象空间和属性参考中心,对数据进行持久化,并提供一系列二次开发API,形成基于自主知识产权的核心数据服务,利用开放的API在第三方CAD、3DMax、3DGIS和BIM等平台上进行定制化二次开发,实现不同的软件平台之间的共享和存储。

2)总体技术路线。①基于ORM架构思想,采用C++语言定制开发一套可扩展、可定制的矿山对象数据中心,数据中心对矿山要素类和字典进行了定义,从业务上划分为井巷、地质体、设备、配件、材料、设施、区域、网络等,本文称之为“矿用对象”,从技术实现上划分为要素类、要素类属性、要素、要素属性、关系等,并开发管理器实现矿用要素、字典配置、权限安全等定义和管理功能;②基于上述“矿用对象”管理技术框架构建平台存储及索引组织结构,采用关系数据库如MySQL、Oracle实现矿用对象实体及属性、关系存储,采用文本数据库及分布式数据库存储方式实现模型材质等存储,如MongoDB/Hbase等,开发提供“矿用对象”的二次开发API及发布面向Web访问的service数据服务;③开发免插件、跨平台的面向Web和移动应用的开源三维引擎前端,为适用不同的应用场景,需对现有的开源三维引擎进行封装,并搭建支持云计算架构的平台存储结构,面向不同应用场景时可对平台计算进行伸缩配置,降低客户端压力。

以目前被广泛支持的IFC2x3版本为基础,解析面向IFC核心层、共享层和领域层应用的类型定义、函数、规则和属性等内容,一一对应到“矿用对象”的定义和实现中,要素及实体对应IFC的IFCObjectDefinition,要素类关系对应IFCRelationship,要素属性对应IFCPropertyDefinition,通过接口组件进行解析关联,统一在矿用对象数据中心进行集成,这样既能兼顾IFC标准本身的规则,又能够灵活扩展面向行业需求定制,并且能够形成体系化的服务,以满足上层应用需求。矿用对象与IFC标准解析结构如图2所示。

图2 矿用对象与IFC标准解析结构

3 基于Web的三维可视化平台研发

3.1 基于WebGL引擎的三维可视化框架对比

GIS应用从二维到三维,从本地PC端到互联网Web端、移动端扩展,浏览器逐步对OPENGL实现了原生支持,逐步实现基于免插件方式的WebGL引擎的出现,WebGL可以为HTML5 Canvas提供硬件3D加速渲染,这样Web开发人员就可以借助系统显卡来在浏览器里更流畅地展示3D场景和模型了,进而一系列三维平台公司开始进行底层技术升级,基于开源的Web3D引擎开发专有的Web3DGIS、WebCAD和WebBIM商业化平台。WebGL是一种偏底层的技术,为了降低开发难度和节省开发成本,一般不会直接基于WebGL进行开发。目前业内大都采用基于WebGL实现的3D引擎进行开发。面向基于WebGL技术封装的平台主要包括有Three.js、Babylon.js、Cesium.js、Echarts、EchartsGL和ScenceJS等框架。各框架对比见表1。

表1 常用Web3D开源组件库

综合分析得出对于中小型场景采用Three.js,对于大场景基于Earth的开源三维JS引擎采用Cesium.js,二者支持stl,obj+mtl+png、FBX和glTF格式模型数据。从技术框架活跃度来看,Three.js和Cesium.js也是商业化程度最高、应用最广的,本文主要针对Three.js技术框架进行应用研究。

3.2 三维模型显示与功能封装

3.2.1 基于Three.js的模型显示

在Three.js中,要渲染物体到网页中,主要需要3个组件:场景(Scene)、相机(Camera)和渲染器(Renderer),基于3个基础组件,分别由Three.js绘图、相光源、加载器、材质、数学库、纹理和动画构成,进行三维场景的开发。渲染结构如图3所示。

图3 基于Three.js的三维渲染结构

3.2.2 基于Three.js的功能与可视化渲染

1)绘图功能。包括画线、绘制几何体、创建文字、载入3D模型、绘制辅助对象等,其中载入3D模型功能是web端模型载入的主要方法,3D模型的格式有成千上万种可供选择,但每一种格式都具有不同的目的、用途以及复杂性。一般使用glTF(gl传输格式)较多,.GLB和.GLTF是这种格式的这两种不同版本。由于glTF这种格式是专注于在程序运行时呈现三维物体的,所以它的传输效率非常高,且加载速度非常快。功能方面则包括了网格、材质、纹理、皮肤、骨骼、变形目标、动画、灯光和摄像机。除支持glTF格式外,FBX、OBJ或者COLLADA等也具备相应的支持。

2)模型的真实感渲染。基于OpenGL的真实感主要利用光照和材质,Three.js提供了一个材质基类THREE.Material,该基类拥有three.js所有材质的公有属性,分为三类:基础属性,融合属性,高级属性。包括基础材质、基于深度的着色材质、联合材质、计算法向量的颜色材质、为几何体每一面都指定的材质、高级材质、光亮材质、阴影材质和线段几何材质。

3)模型轻量化处理与渲染。一方面,主要包括模型本身的轻量化处理,利用现有成熟软件模块转换为统一格式的轻量化模型,体量一般能够缩小为原来的5%~60%,加载和展示是大大减少系统资源占用。另一方面,模型载入场景后由于数量多,多材质情况下还需在场景绘制多次,导致drawcall过载,虽然设置视椎体剪裁下,剔除了视椎外部模型仍然不能较好解决,经测试,采用多实例渲染和定点合并能够较为明显优化模型渲染速率,drawcall降低70%左右。

3.2.3 三维场景管理

创建一个三维空间,整个三维空间我们称之为“场景”(scene),在场景内我们可以创建对象,比如矿区,建筑,车辆,设备、传感器等等。为了便于模型管理,需要将载入场景的模型进行分级分类,通过构建场景管理目录、层级、属性实现不同模型的组合关系,从而实现对场景模型的规范化和数据化管理。场景模型管理关系如图4所示。

图4 矿井三维生产系统场景构建

3.2.4 二三维场景界面融合

三维场景与应用程序框架是一体化的,在显示场景时往往是相互结合在一起的,分为三维容器内和三维容器外,三维容器内外根据模型显示、标注、选择、查询、指示等不同应用目的不同,进行组件化集成,使三维场景展示更加丰满,如图5所示。

3.2.5 三维模型要素数据结构设计

为实现通过类别和层级管理三维模型,基于矿用对象数据中心提供的API进行要素定义,并为每类要素创建对象,对象则一一对应场景中的三维模型,如定义三维模型为Box,Sphere,Plane,Cylinder,Tetrahedron等,均继承自BaseObject,创建示例如下:

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:设置的对象名字,用户可自行定义

·position:世界坐标系下位置

·localPosition:父对象坐标下的位置

·angles:世界坐标系下三轴旋转角度

·localAngles:世界父对象坐标系下三轴旋转角度

·scale:自身坐标系下三轴缩放量

·visible:是否显示

·style:效果控制

·children:获取所有子物体

·brothers:获取所有兄弟(排除自己)

·parent:获取父对象

·parents:获取所有父对象(返回的Selector结果中,第0位为直属父对象parent,最后一位为根对象root)

图5 二三维场景界面融合

创建对象时通过自定义UUID也可用generateUUID()方法自动生成全局唯一标识,以此来关联和索引矿用对象数据及模型资源。

2)类专属属性:BaseObject在type清单规定每个类支持的属性类别,CamObject中用户添加的自定义属性。

3.3 基于云计算架构的模型存储与共享

采用矿用对象数据中心实现了模型的数据组织和检索,面向工程应用时则需根据数据规模、业务范围、模型精度要求和成本综合考虑进行平台的存储架构搭建,针对处理海量、多源、高精度模型的综合应用时,本文提出采用面向服务的云计算架构,结合分布式数据存储及计算进行设计,可伸缩和分布式部署前提是基于矿用对象数据中心提供了对业务对象分类、分级和分版本管理,能够将海量多源的数据及业务应用进行水平和垂直业务拆分,以支持数据库的分库、分表存储,在大场景应用中充分利用云计算数据中心的能力解决数据浏览的效率瓶颈和用户体验。

平台基于公有云、私有云和或混合云基础设施,采用Hadoop分布式存储架构结合NoSQL数据库、关系型数据库进行集群搭建,按矿用对象ORM引擎管理方式,将BIM模型及数据资源划分为IFC数据库、BIM元数据库、索引数据库、文件数据库和数据仓库(规范后的成果库),通过矿用对象ORM引擎封装外部访问的API接口和一系列service服务,为设计阶段、建设阶段和运营阶段不同客户端提供数据查询、模型浏览、模型集成、数据转换和数据检查等,如图6所示。

图6 基于云计算架构的模型存储与共享

4 BIM模型数据集成可视化应用

4.1 集成可视化案例

本文基于自主研发的数据定义与采集工具,实现从矿用要素类定义、属性自定义、空间信息采集到二三维一体化建模及验证,模型集成与属性映射、三维场景模型发布与可视化展示,主要包括如下方面:

4.1.1 二三维对象基础信息采集与建模

以某井工矿为例,基于AutoCAD二次开发,实现矿用要素类定义与空间几何信息采集、属性赋值,基于矿用要素类进行三维建模。主要方法包括基于3DMax二次开发的地表建筑建模、基于Revit二次开发的井巷工程建模、基于Navisworks4D模拟、基于Civil3D的地表等高线建模、地质体建模和基于Bentley的碰撞检测,如图7所示。

图7 井巷工程建模与4D模拟

4.1.2 模型集成与属性映射

基于统一参考坐标集成不同来源模型,通过定义矿用要素模型集成标准、属性规范,开发数据转换、格式自定义工具,根据模型矿用要素对象统一UUID关联获取属性,如图8所示。

图8 属性要素定义及关联

4.1.3 三维场景建模集成

基于Web3D引擎三维场景建模分为批量导入和实时建模,如图9所示:①利用3DMAX、Maya、Revit、Civil3D等建模和三维设计软件,批量制作而成的模型按管理要求进行分级、分类,并附加一定属性,进行轻量化处理导入导出;②对于动态数据和相对结构简单的模型可以使用实时建模方式,即利用获取到的参数进行模型批量加载、特殊模型构建等。

图9 基于Web3D引擎的模型集成与可视化展示

4.2 案例应用分析

通过采用AutoCAD、Revit、3DMax等一系列平台进行二次开发和集成能够将数据进行规范集中的采集和存储,开发一系列工具组件,充分利用原有平台的能力,实现了基于Web3D可视化平台的模型浏览和交互操作,但还存在一些尚待解决和完善的问题,主要有:

1)基于three.js框架的三维前端进行封装适用于中小型应用场景,通过扩展库实现对LOD的功能支持,但对于大场景、多尺度BIM模型集成中,诸如GIS坐标系统、矢量、影像、地图数据支持缺乏。此外,有些BIM软件模型的描述是参数化的,其模型显示是动态绘制的,在导出时会造成三角网片缺失,需要平台从模型或渲染时进行底层支持。

2)可视化平台构建了以矿用对象ORM引擎为核心的数据组织模式,是参考IFC标准进行的集成策略和手段,对实体模型和属性信息的转换,支持实体、属性和关系的识别与映射,并能够根据标准和软件定制化需求进行更新和校验,以保障数据完整。但目前只是参考建筑行业相关标准的做法,对于煤炭行业不同阶段和应用范围还需将标准和流程进一步细化,并制定相关软件平台文件格式和接口标准。

3)平台设计了基于云计算的BIM模型存储架构,根据矿用对象ORM引擎数据组织方式将数据进行分类、分级,对结构化、非结构化和半结构化数据分别进行存储,从机制上保障BIM模型软件服务部署架构能够通过负载均衡灵活配置和服务器扩容实现性能提升。Web模型加载和存储上虽然支持了obj、gltf、json等格式,在数据压缩和优化上还需进一步研究,以实现最大程度从软件架构上解决效率问题,降低服务器成本。

5 结论及展望

本文通过分析矿山数字化及煤炭行业BIM应用现状,研发基于开源三维引擎的Web3D可视化平台,并基于现有BIM领域相关标准,进行模型和属性信息的集成、转换,利用不同领域BIM设计和建模软件进行模型检验和集成,在Web3D可视化平台进行模型发布与可视化展示。主要得出如下结论:

5.1 亟需建立面向煤炭行业的BIM应用专用工具平台与相关集成标准

商业化的BIM软件各厂家自成体系,面向工民建、轨道交通、水利水电、地质、矿山、工厂等不同领域有着专用的BIM工具,依靠各自市场份额和影响力制定相关行业BIM标准和软件格式及接口规范等,煤炭行业相关BIM研究起步较晚,尚未形成相关行业企业标准和具备自主知识产权的专用工具化平台,亟需建立和应用面向煤炭行业智慧矿山建设的BIM标准和数据规范,以真正能够支持实现基于BIM技术的矿山全生命周期智慧模型构建和信息集成。

5.2 基于Web的BIM引擎是实现全生命周期BIM模型综合应用的关键

本文研制面向Web应用的BIM模型集成、发布、可视化、共享传递和应用引擎,为实现跨设计、施工、运维等全生命周期煤炭开采过程BIM应用协同交付平台进行了尝试,该技术路线支持免插件、轻量化和跨平台应用需求,并支持应用与数据前后端分离,但在系统设计上还需进行深入研究,优化支持云计算、大数据技术的后端BIM服务架构。

5.3 面向智慧矿山多场景应用APP构建及协同

面向智慧矿山应用场景也必然是多种技术组建、工具和平台综合架构而成,面向Web的BIM可视化引擎是综合应用场景和电子交付的综合展示平台,贯穿从设计、施工到运营全过程信息集成,从而开发面向不同阶段的应用集合。主要包括:

1)设计阶段BIM建模。利用Revit、Archicad BIM、Civil3D、Bentely、Solidworks、3Dmine等配套软件进行多项BIM协同深化设计,设计成果以BIM模型交付矿方,此阶段主要以矿井仿真算量为主,为招投标提供标的。

2)施工阶段BIM仿真。由设计阶段交付的BIM模型指导矿井开拓施工过程,对施工过程进行模拟仿真,采用三维激光扫描技术、物探技术结合数据解译和建模技术,解决高精度地质体重建、巷道开挖过程、设备安装、设施与构筑物之间的碰撞等问题,优化施工过程,大大降低施工成本、减少返工,其应用价值是巨大的。

3)生产运营阶段BIM应用。设计阶段的设计模型经过施工建造阶段修正后的BIM模型为生产运营阶段提供了高精度、多层次的精细化模型,同时将设计阶段、建造阶段的数据与模型进行了关联与流转,并在运营阶段将矿井生产过程中产生的设备状态监测数据、环境监测数据、地应力数据等集成,实现面向智慧矿山应用的矿井三维可视化、数字孪生、CPS系统应用APP等,满足矿山智能体的状态感知、实时分析、科学决策、精准执行的信息承载框架,从而加快推进煤矿智能化、智慧化迈向新阶段。

猜你喜欢

矿用可视化对象
基于CiteSpace的足三里穴研究可视化分析
思维可视化
涉税刑事诉讼中的举证责任——以纳税人举证责任为考察对象
判断电压表测量对象有妙招
基于CGAL和OpenGL的海底地形三维可视化
“融评”:党媒评论的可视化创新
攻略对象的心思好难猜
基于ARM9 技术的矿用智能云起爆器设计
矿用巡检机器人设计及其应用
稀土元素对矿用低钴超粗硬质合金性能的影响