模型材料

建筑交通基于BS架构的BIM模型轻量

发布时间:2022/8/9 15:58:09   

1研究背景

《关于推进建筑信息模型BIM应用的指导意见》中明确提出,到年末,建筑行业甲级勘察、设计单位,以及特级、一级房屋建筑工程施工企业应掌握并实现BIM与企业管理系统和其他信息技术的一体化集成应用,而在国家和地方的绿色建筑评价标准,要求使用BIM技术,在甲方的招标文件中也要求设计院、施工单位、造价咨询公司等建筑行业单位采用BIM技术。

目前,随着信息化时代与大数据时代的发展,由于BIM技术在建筑行业应用越来越广泛,传统的BIM轻量化引擎在国外出现较早,但采用WebGL技术的轻量化引擎则较晚,国外主要以美国为主出现了很多开源的轻量化引擎,如XBIM、BIMServer等。而国内技术基本与国外技术处于同一水平,如广联达BIMFace、葛兰岱尔的GLWebGLBIMEngine等。这些引擎处理BIM模型数据的软件和方法也大不相同,那么现在由于BIM模型的体量越来越大,现有的引擎并不能真正实现轻量化并给予用户良好的体验,一些小型企业如果想要流畅的应用BIM软件技术,还需要购买高端图形化工作站来运行,导致成本支出巨大,这对于小型企业是无法接受的。为提高BIM应用在设计、施工、运维等方面的优势,使得广大企业能够使用BIM技术为公司创造价值,BIM轻量化引擎需要提高模型处理性能和Web端性能,以保证模型在Web端运行流畅。

2轻量化的技术研究

BIM关键核心技术是描述贯穿整个建筑物全生命周期内产品数据的中间数据标准,IFC标准是其中之一,IFC标准是由国际协同工作联盟IAI为建筑行业发布的建筑产品数据表达标准,本质上是建筑物和建筑工程数据的定义,反映的是现实世界中的对象,它采用了一种面向对象的、规范化的数据描述语言EXPRESS语言作为数据描述语言,定义所用到的数据。本文使用IFC来作为模型信息展示的标准,BIM项目运用开源的BIMServer作为本次研究的模型引擎,BIMServer为建筑信息模型服务器,能够存储和管理建筑项目相关的信息,数据存储在开放数据标准IFC中,它不是一个文件服务器,但是它使用的模型驱动的体系结构方法。

Three.JS作为在Web端渲染的框架进行展示,是一个JavaScript的开源三维引擎,通过对WebGL的封装使,可以直接运行在Web端,也可以在Web中创建各种三维场景,包括摄像机、光影、材质等各种对象。从设计模型到转换BIM模型再到最终在电脑或者移动终端看到的模型,中间经历了1个解析过程和2个处理过程,解析过程利用BIMServer项目在上传模型时进行模型数据解析,这个过程在本文中不予讨论。本文将讨论几何转换和渲染处理2个处理过程,这2个处理过程的好坏直接影响到最终轻量化的效果,是BIM模型轻量化的关键环节。

3几何转换

从微观角度来讲,几何转换过程就是将设计模型转换到BIM模型的过程。目前的处理方式有参数化几何描述和三角化几何描述。

参数化几何描述就是用多个参数来描述一个几何体,比如画一个圆柱体模型可以使用3个参数来进行表达,参数1为底面原点坐标(x、y、z,3个数据),参数2为底面半径(r,1个数据),参数3为柱子高度(h,1个数据),可以使用5个数据来完成一个圆柱体的搭建,这样比较精简,这种参数化几何描述可以将单个图元做到最极致的轻量化。

三角几何描述就是用多个三角形来描述一个几何体,三角形可以拼接成任意的平面或者曲面,而多个三角形的面最终拼成一个三维体,在屏幕上看到的任意一个三维模型都是由一个一个的三角形拼接而成的,一个模型三角形越多,模型看上去就越为精细,反之越粗糙,这就是LOD的原理,用N个三角形作为圆柱的各个面来画一个圆柱体,N值越大,柱子表面越光滑,当小于某个值时,圆柱的曲面将会是带有棱角的,而这个值的设定需要看具体模型的体量。

由这两种方法可见,从微观角度来说参数化的轻量效果要比几何描述方法好一些。但是还存在一些问题,参数化几何描述需要解析设计模型的原始几何信息,还需要转化为自由的几何描述,这个过程需要几何算法库的支撑,技术难度比较大,对比三角形的几何描述,这点从技术角度实现要复杂一点,三角形几何描述只需要将设计模型转换为三角数据保存即可,主流的设计软件一般都提供相关的二次开发接口或者SDK来获取三角形数据。

从宏观角度来讲,当模型体量巨大、数据为海量数据时,一个模型会有很多个相同构件,比如一座房屋的桩基,它们的构件形状是一模一样的,但位置不同,这时可以选择只保留一个桩的数据,其他桩可以记录引用并加上空间坐标,这样大大减少了构件数量,在这其中需要判断两个构件是否一样,对此可运用相似行算法。

4渲染处理

为了实现流畅、实时显示,通常绘制达到30帧/秒,如果模型数据量较大,比如楼宇建筑模型,模型的三角面片数会达到上千万,内存就需要几十G的容量来与之对应,正常一台电脑无法完全无法满足要求,通过对WebGL轻量化BIM引擎工作机理的解析,可以看出轻量化引擎处理BIM大模型的重点在于,如何实现对模型几何数据的有效规划,进而解决本地电脑从三维几何数据的下载,到本地的内存管理和高效的渲染,需要通过各种手段来加速场景的绘制并精简,控制内存开销。本文分别从微观和宏观的角度对渲染处理做以说明。

从微观角度来讲,多重LOD方式加速单图元渲染速度,当场景中的一些物体距离视点较远或者物体本身比较小时,最终投射到屏幕上的像素并不多,如果用过多的几何图元来表示这些物体会浪费存储并影响性能,用多重LOD不同级别的构件来表示物体,距离越远加载的模型越粗糙,距离越近,系统才需要将这些构件加载内存并进行实时渲染。同时,系统会将视野外的构件数据从内存中清除掉,从而在不影响视觉效果的前提下提高显示效率并降低内存,确保流畅的渲染,其计算方法为单次渲染体量=图元数量×图元精度,视点远时图元数量多,图元精度低视点近,精度高图元数量小,体量是不变的。所以,使用LOD技术可以确保在大场景和局部场景都能够流畅渲染模型。

从宏观角度来说,整体思路为遮挡剔除和运用批次绘制技术,遮挡剔除是在场景绘制中剔除当前视点下被遮挡的对象,对图元做八叉树空间索引,根据视点计算要剔除的图元,只绘制最前面的对象,从而带来显示效率的提升。批量绘制技术是为了将一个物体绘制到屏幕上,需要发起一次图形API绘制调用,绘制调用非常耗费CPU,并且通常会造成GPU时间闲置,为了优化性能、平衡CPU和GPU负载,可以将具有相同状态(例如相同材质)的物体合并到一次绘制调用中。这种方法通过合并物体来减少绘制调用,从而带来性能的优化,批次绘制可以预先处理,形成静态的批次,或者绘制每帧时进行动态调整,这种称为动态批次合并,有时需要用这种动态和静态批次合并策略,达到渲染流畅度的提升。

5结语

本文通过对BIM模型加载渲染中轻量化技术方法作以描述可知,轻量化主要从几何转换和渲染处理两个环节着手进行优化,针对技术利弊以及应用需求来对技术进行选用,其轻量化模型数据有参数几何描述和相似性图元合并,提升渲染效果有遮挡提出和批量绘制及LOD技术等。这些技术为模型轻量化的核心技术,把这些技术运用到基于B/S架构的BIM项目中,能够整体提升模型的加载和渲染速度,大大提升用户在使用BIM项目操作中的体验。

撰稿:金广龙(-),男,吉林松原人,渤海石油航务建筑工程有限责任公司工程师,研究方向:工程材料试验检测、金属材料检测。

(转自《中国高新科技》杂志年第12期)



转载请注明:http://www.aideyishus.com/lkjg/1096.html
------分隔线----------------------------

热点文章

  • 没有热点文章

推荐文章

  • 没有推荐文章