SuperMap BIM+GIS-Revit模型处理-第三节 Revit模型优化方法及模型缓存策略

312 篇文章 79 订阅

在模型导入SuperMap平台之后,在应用过程中必然会遇到性能问题,随之而来的就是如何优化模型。本文将总结使用经验和理解,从实际出发介绍几种优化方法和缓存策略。以下操作均在SuperMap iDesktop 11i(2022)中进行。

本文为对Revit模型优化方法及模型缓存策略的补充博文,原文为:SuperMap BIM+GIS-Revit模型处理-第三节 Revit模型优化方法及模型缓存策略_supermapsupport的博客-CSDN博客

一、数据性能优化

在项目中,有时会遇到由多个BIM数据组成的场景。该类场景中,数据范围不大,但主要数据类型为BIM类型数据,数据精细且集中分布。

比如在一个工厂的场景中,存在有原料库,成品库,水处理设施,加热炉等建筑,每一栋建筑都是一个BIM模型。每个模型都很精细,并且有很多类别组成,比如,一栋建筑可以由常规模型,窗,门,墙,结构框架,楼板,幕墙,屋顶,楼梯等等很多种类别。

如果按照常规的方式,一个类别对应一个图层,会使得图层的数量急剧膨胀;如果一栋建筑对应一个图层,也会导致性能与效果的问题。

本模块将介绍如何组织处理该类数据

重新组织数据结构

数据结构组织原则:内外分离、地上地下分离。

1.1内外分离:将所有建筑的外壳对象,整理到一个图层里面;再将所有建筑的内部结构对象整理到一个图层里面。通过设置图层的可见距离,在远处观察时,只加载建筑外壳的数据;进入到建筑内部时,再加载内部结构的数据。

例如:

建筑外轮廓图层:墙、窗、屋顶等对象

建筑内部结构图层:家具、结构连接、天花板、楼板边缘、卫浴装置、墙饰条等对象

1.2地上地下分离:将地上部分的模型与地下部分的模型,分离开来。通过开关按钮等控制方式,只加载需要观察的数据部分。

例如:

地上部分:地上管道、地上管件、地上软管

地下部分:地下管道、地下管件、地下软管

1.3特殊处理对象

有的模型中,存在有共用次数成百上千的对象,它们是具有实例化信息的,比如螺丝钉、螺丝帽、铁轨枕木、电杆、绝缘子串等等。

可把该种类型的对象,单独提取出来,做为一个图层,通过点外挂的方式生成缓存(具体方法及步骤参考Bentley导出插件点位+模型功能使用说明及注意事项,如果不是DGN格式的数据,且已经将BIM数据导出为UDBX格式的数据集,需要我们提供的工具,来生成支持点外挂的模型数据集)。

注意事项:

1.如果是少量模型是共用的,不需要勾选实例化;

2.如果共用对象较多,类别又比较多的,常规生成缓存有较大切片,可以使用实例化

3.如果对象共用次数很多、类型少,使用点外挂模型的方式

二、模型优化方法

1、导出设置模型精细度

BIM模型的一个特征就是比较精细,特别是管子、圆弧状等构件,三角面较多,在导出过程中进行适当的简化可以很好的提高性能。通常默认模型精细度为100%,可进行调整,例如设置精细度为80%。


导出设置模型精细度
2、模型拆分子对象(【三维地理设计】-【模型编辑】-【模型拆分】)

    部分模型在建模时,创建的族类型较为复杂,在最终的模型中单个对象存在较多对象,且三角面过多,导致场景性能较差,此时可以使用拆分子对象的方式,将单个对象拆分为多个小对象。

拆分子对象
3、模型切分(【三维地理设计】-【模型编辑】-【模型切分】)

在管道模型中,常存在单个管道对象非常长,长度能达到几千米以上,三角面数几十万,此时模型就相对非常复杂,不利于使用。对此类型数据的优化通常采用模型切分的方式,将长的模型切分成多段小模型。


4、移除重复顶点和重复面

    导出的模型通常存在一些重复顶点和重复面,这些重复顶点和重复面在渲染过程中是不必要的,会造成资源的消耗。


 


5、三角网简化

在导出模型设置简化之后发现三角面任然较多,性能较差,可使用三角网简化功能对模型进行再次简化,简化过程可以预览,不断尝试简化率以达到比较理想的效果。


6、子对象操作

在以上操作之后发现个别对象的子对象仍然比较大,可单独选中对象,对该对象的子对象进行简化和编辑。


模型缓存策略

BIM模型和传统的Max模型区别非常明显,BIM模型对象通常尺寸较小,对象非常多,模型复杂切三角面比较多。如果再使用传统的Max切片边长值,必然会出现单个.s3m文件过大,加载慢的情况,不利于web端应用。根据BIM模型的特征,需要适当的减小切片边长,个人推荐50或者100,视具体的数据情况可适当的做调整。

小结

不同类型的模型具有独特的数据特征,需要根据具体的数据特征具体分析,同时注重理论的应用和操作方法。尤其在Web端应用的过程中,数据存在下载和渲染的过程,下载过程中要求数据碎片化,单文件不宜过大,渲染过程中,三角面越少渲染越快。

笔者:wzr

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值