APP下载

基于IFC与WebGL的水利工程BIM轻量化应用研究

2020-11-23王海俊黄华东

中国农村水利水电 2020年11期
关键词:轻量化可视化解析

杜 政,王海俊,谈 震,黄华东

(1.南瑞集团(国网电力科学研究院)有限公司,南京 211106;2.江苏省水利勘测设计研究院有限公司,江苏 扬州 225009)

水利工程建筑物选型独特,技术复杂,设计效率低,且参建各方信息共享水平低,通过引入BIM技术建立水利工程信息模型可以有效解决这些问题[1],目前BIM技术主要应用于水利工程的设计阶段[2],国内水利水电行业设计单位采用不同厂家的协同设计基础平台,主要有欧特克(Autodesk)、奔特力(Bentley)、达索(Dassault)等平台[3],导致数据格式众多,很难以一种统一的格式进行管理,从而导致BIM应用过程中普遍存在数据交互效率低的问题[4]。而由buildingSMART组织所推进的工业基础类(industry foundation class,IFC)已成为BIM数据描述和交换的国际标准[5],基于IFC能够以标准化的方式构建、存储和交换BIM数据,横跨建筑生命期的各个阶段,在不同参与方、不同专业和应用软件之间传递数据[6]。同时上述平台是桌面端的建模软件,无法满足用户随时随地查看模型及其属性的需求,也无法满足用户在移动端查看的需求[7]。随着HTML5和WebGL等技术的发展,为B/S 架构的BIM轻量化带来了新的技术力量,通过BIM轻量化让BIM可视化脱离专业应用软件,实现BIM模型的WEB端浏览和交互操作[8]。本文将基于IFC标准与WebGL技术开展水利工程BIM轻量化应用研究。

1 总体思路

本文的研究核心是基于IFC标准与WebGL技术开展水利工程BIM轻量化应用的技术研究与应用开发,实现水利工程BIM数据的标准化、轻量化与可视化。BIM数据标准化通过引入IFC标准实现水利工程多源异构BIM数据的集成,并结合水利工程模型分类与编码相关标准对IFC标准进行扩展,从而实现水利工程BIM数据的标准化。BIM数据轻量化基于XBIM实现IFC 文件的解析与轻量化,利用数模分离原理将IFC文件拆分为三维几何数据与属性数据,实现模型的信息提取与格式转换,通过微观层面的参数化几何描述与宏观层面的相似性图元合并两种优化方法实现三维几何数据的轻量化处理。BIM数据可视化基于WebGL技术与WeXplorer框架开发Web-3D可视化应用功能模块,通过多重LOD、遮挡剔除与批量绘制多种技术融合提升模型的三维渲染效果,同时开发缩放、旋转、透明、剖切、漫游、标签、测量等功能,实现水利工程各类用户与BIM模型的交互。通过BIM数据标准化、轻量化与可视化方面的研究,最终完成水利工程BIM模型轻量化应用系统研发。原理框架图如图1。

图1 原理框架图Fig.1 The schematic frame diagram

2 关键技术

2.1 IFC标准扩展技术

IFC标准是BIM 数据描述和交换的国际标准,基于IFC能够以标准化的方式构建、存储和交换BIM数据,横跨建筑全生命周期的各个阶段,在不同参与方、不同专业和应用软件之间传递数据,所有专业软件创建的BIM 模型都可以转换为IFC格式文件输出[9]。IFC 模型结构由资源层、核心层、共享层与领域层 4 个层次组成(如图2)。

图2 IFC4标准体系结构Fig.2 IFC4 schema structure

最底层的资源层定义 21 类可重复利用的实体与类型,包括几何资源、属性资源、材料资源等,资源层的实体不能独立存在,仅供高层次调用。核心层定义 IFC 模型的基本结构、基础关系和公用概念,组织下层分散的基础信息,形成 IFC 模型的基本结构。共享层提供通用性的对象与关系,包括建筑服务元素、组件元素、建筑元素、管理元素、设备元素等,可供领域层多个领域使用。领域层定义特定专业领域所需的实体对象,如电气领域的电缆、变压器、电气设备等。[10]。

IFC标准是一个逐步更新发展的过程,历经6次更新,每次升级都扩充了大量IFC模型实体满足工程需要。目前,IFC 标准主要应用于建筑工程领域,缺少水利工程领域特有构件和属性描述[11]。IFC标准扩展方法是解决这个问题的有效手段,IFC具有IFC实体扩展、IFC属性集扩展与基于IFCProxy实体扩展3种扩展方式,其中IFC实体扩展通过新增实体或实体属性扩展 IFC 的描述范围,IFC属性集扩展通过新增或修改IFC 标准中的属性集提升实体描述的精细度、基于IFCProxy实体扩展通过实例化通用实体 IFCProxy的方式描述 IFC 中未定义的对象,实现自定义信息模型[12]。上述3种扩展方法各有优缺点,表1从易用性、兼容性、效率性与安全性四个方面对3种扩展方法进行了对比,说明了3种扩展方式各自的适用性。对于需要进行大量扩展的水利行业应用来说,可采用IFC实体扩展方式,运行效率较高,若得到行业认可将会应用于新的IFC版本中。

2.2 IFC文件解析与轻量化技术

由于IFC文件本身不支持WebGL的读取与加载,在实际应用中我们需要将 IFC 格式的文件解析成WebGL支持的文件格式,同时IFC文件信息全面而详实,导致模型数据量较大,对浏览器端的数据处理性能要求较高[13]。因此本文需要对IFC文件进行模型的解析与轻量化,然后基于WebGL实现模型的快速读取与加载。IFC文件可以通过文本编辑器查看和编辑,文本内容包括文件头部分和数据部分。文件头部分包括文件本身信息,例如文件描述、文件名称、IFC 标准版本等,数据部分是文件的核心,包括了项目的所有建筑模型信息[14]。IFC文件解析主要对IFC 文件数据段内容进行访问与处理,IFC 标准发布时均发布对应扩展名为.exp 的模式文件,基于该文件可进行 IFC 数据解析程序的设计,实现IFC 文件的内容遍历、查询以及信息提取。数据处理以构件对象的实体为主,通过遍历所有对象的实体信息获得组成建筑信息模型的全部对象,通过实体对象的引用关系获得与对象关联的全部信息数据,几何信息经过几何布尔运算、参数化转片面和三角化等几何数据处理过程,才能够转化为 WebGL 图形引擎可以绘制的三维可视化数据,最后通过数据整理完成IFC文件解析[15]。

表1 3种扩展方式的对比Tab.1 Comparison of the three extensions

BIM模型轻量化是指通过相关算法对模型中的属性信息、几何信息等内容进行压缩、简化等操作,目的是降低BIM源文件的数据量,保证BIM数据的精确性,实现BIM数据的无损压缩[16]。BIM模型轻量化的关键环节是几何信息的简化,可以从微观层面与宏观层面两个方面进行,微观层面是从单个构件着手,通过参数化几何描述、三角化几何描述等方式实现几何信息的简化表达,宏观层面则是通过各类数学算法对整个模型的几何信息进行简化处理[17]。比如利用构件几何复用算法将具有相同形状的同类型构件的几何信息进行唯一性表达,然后由各自的不同位置信息确定每个构件的空间坐标位置,同一类型的构件只需存储一份几何数据,从而实现BIM数据的无损压缩[18]。模型轻量化示意图见图3。

图3 模型轻量化示意图Fig.3 Diagram of model lightweighted

2.3 WebGL可视化技术

WebGL技术是由Khronos提出的新的Web3D图形规范,它是一项在浏览器中绘制、显示3D图形并支持交互的技术,其允许开发者在浏览器中直接调用图形硬件进行3D可视化的加速[19]。WebGL基于Open GLES2.0标准和OpenGL着色语言GLSL,是一个免费的、跨平台的Web端3D图形渲染的API,结合HTML5的标签和JavaScript可以在浏览器上进行三维模型的绘制,并可通过计算机显卡进行3D加速渲染[20]。和以往用户需要依赖于插件来实现3D动画效果的展示不同,WebGL不需要任何插件即可实现Web端的三维展示,使传统的三维可视化程序从桌面端到浏览器端成为了可能。目前,WebGL技术在三维协同设计、网页3D游戏、虚拟现实等多个领域得到了应用。

为了让WebGL 具有充分的灵活性,原生的WebGL API里面包括很多复杂的底层内容,因此利用原生的WebGL API进行开发时,需要具备扎实的计算机图形学知识,同时由于开发者对WebGL技术有着不同的需求,不同的WebGL应用又存在许多重复功能,直接利用WebGL底层程序进行开发既费时又费力。WebGL应用开发框架应运而生,目前常用的框架有o3djs、Scene.js、Three.js、GLGE、Spider.js、Copperlicht、CubicVR 等,他们对WebGL底层部分功能进行封装,避免每次开发都做很多重复性的复杂底层操作,减小了WebGL应用的开发难度和开发成本,缩短了开发周期,其中Three.js 框架使用最为广泛,它的复杂度较低,简单、直观,属于轻量级的 3D 框架,提供了丰富的 3D 图形渲染功能,可以方便快捷的创建包括摄影机、光源、材质等各种对象的交互式三维场景。Three.js 框架在进行 WebGL 图形渲染前,需要完成场景的构建,图4完整展示了 Three.js 的渲染流程,首先定义一个场景,然后在场景中定义灯光效果和相机效果,之后需要创建模型对象的网格,同时选择相应的材质信息,最后 Three.js 的渲染器根据场景中的相关数据以及选取的着色器程序,在屏幕上绘制出最终的图形。

图4 Three.js 的绘制流程Fig.4 The drawing process of Three.js

3 应用开发与实践

3.1 水利工程IFC标准扩展

水利工程项目规模庞大,涉及到的专业复杂多样,生命周期长,参与方众多,且建筑物众多且形状各异,数据信息繁杂,统一水利工程信息模型数据标准是实现水利工程信息模型共享的关键[21]。IFC 标准主要应用于建筑工程领域,缺少水利工程领域特有构件和属性描述。因此,基于IFC 构建水电工程信息模型必须对 IFC 标准进行相应扩展。本文参考《水利水电工程设计信息模型分类和编码标准》,借助Revit API开发了 IFC 定义设置功能,用户可进行任意构件的 IFC 定义,同时可以建立构件之间的关联关系,以长距离引供水工程为例,针对工程运维管理应用需要,实现了引供水工程IFC模型的分类与信息编码。长距离引供水工程样表见表2。

表2 长距离引供水工程样表Tab.2 Long-distance water supply project sample form

3.2 IFC文件的解析与轻量化

IFC文件结构复杂、信息丰富,从底层对 IFC文件进行解析需要深入研究Express 标准语言,耗时费力。为了实现IFC文件的灵活解析,本文选用了Xbim工具包作为解析工具,读取 IFC 格式文件的模型信息,以实现到自定义文件格式的保存。Xbim 工具包是一个开源的软件开发BIM工具,支持 BuildingSmart 数据模型。Xbim 允许开发人员以 IFC格式读取,创建和查看BIM数据,完全支持几何,拓扑操作和可视化。

Xbim主要有Xbim.Essentials、Xbim.Exchange、Xbim.Geometry、Xbim.WindowsUI、Xbim.WeXplorer等组件库,我们借助Xbim.Essentials来进行IFC文件的读写,将 IFC格式文件信息解析到model对象当中,然后借助Xbim.Geometry将model当中的几何数据读取出来并保存在mesh对象当中,完成IFC文件属性数据和几何数据的解析,实现IFC文件的数模分离。IFC文件轻量化主要是从微观层面和宏观层面对几何数据进行简化与压缩,在微观层面通过参数化几何描述、三角化几何描述等方式实现几何信息的简化表达,在宏观层面利用构件几何复用算法实现相似性图元的合并。在Xbim中我们利用Xbim.Essential与Xbim. Geometry来对IFC文件进行优化和压缩,创建支持WebGL能加载的wexBIM文件。以某个泵站枢纽工程的IFC文件为例,初始IFC文件大小为95 M,轻量化后的文件只有15 M左右,文件大小减少了85%左右,有助于提高浏览器端的加载效率和展示速度。数据流程图见图5。

图5 数据流程图Fig.5 Data flow chart

3.3 Web-3D可视化应用开发

Web-3D可视化应用开发主要分为三维可视化框架搭建与模型文件的解析读取两步,首先运行JavaScript程序,调用WebGL的相关方法; 然后调用顶点着色器和片元着色器在颜色缓冲区内进行绘制; 最后在浏览器上自动显示。Xbim工具包提供基于WebGL技术的三维可视化框架WeXplorer,使用预处理的wexBIM文件处理Web上的IFC数据的可视化。WeXplorer框架主要通过xViewer类来加载和呈现wexBIM格式的IFC模型,xViewer使用WebGL技术进行硬件加速的3D渲染,同时提供Xbrowser类实现JSON COBieLite数据的可视化。

本文基于WebGL技术开发BIM三维可视化应用功能模块,借助WeXplorer框架实现轻量化模型的展示,并通过多重LOD、遮挡剔除与批量绘制多种技术融合提升模型的三维渲染效果,同时开发缩放、旋转、透明、剖切、漫游、标签、测量等功能,实现用户与模型的交互。基于WebGL技术跨平台的特性,Web-3D可视化应用可运行于Firefox、Chrome等现代浏览器,同时iOS、Android移动设备上也可以运行,图6、7为Chrome浏览器运行界面。图8为IPad移动设备运行界面。

图6 模型可视化界面Fig.6 Model visualization interface

图7 模型放大与构件属性查看界面Fig.7 Model amplification and widget properties view interface

图8 IPad运行界面Fig.8 IPad run interface

4 结 语

本文从水利工程BIM数据的标准化、轻量化与可视化3个方面开展BIM轻量化应用研究。基于IFC标准实现了BIM数据格式的统一,针对IFC标准缺少水利工程领域特有构件和属性描述的问题,以引供水工程为例,通过Revit API二次开发实现了水利工程IFC标准扩展。同时采用开源的Xbim工具包实现了IFC文件的解析与轻量化,并基于WebGL技术完成Web-3D可视化应用的开发,为水利工程BIM轻量化应用提供了一种实用有效的方法,下一步工作重点是基于水利工程BIM轻量化应用构建水利工程全生命周期系统,推进BIM技术在水利工程的应用。

猜你喜欢

轻量化可视化解析
基于CiteSpace的足三里穴研究可视化分析
自然资源可视化决策系统
基于ABAQUS的某轻卡车蓄电池支架轻量化
思维可视化
自然资源可视化决策系统
三角函数解析式中ω的几种求法
一种轻量化自卸半挂车结构设计
一种轻量化自卸半挂车结构设计
睡梦解析仪
复合场中类抛体运动解析