基于数模分离与压缩优化的BIM模型轻量化方法技术

技术编号:37870141 阅读:13 留言:0更新日期:2023-06-15 20:59
本发明专利技术公开了基于数模分离与压缩优化的BIM模型轻量化方法,包括:进行Revit二次开发;继承重写IExportContext类,将Rvt模型的构件数据解析转换为的可操作数据;BIM模型数模分离,包括:遍历节点获取构件分类,分离构件几何数据与构件属性数据,读取构件几何数据;简化模型的三角网格;读取构件属性数据;处理纹理材质数据;优化字段字节位数;分析构件;压缩处理;结构化存储和非结构化存储;模型发布;模型渲染展示。本发明专利技术提供多种轻量化方式;保证BIM模型轻量化后细节不丢失;通过结构化的构件信息与非结构化的渲染信息数据分离,提高BIM模型轻量化程度。型轻量化程度。型轻量化程度。

【技术实现步骤摘要】
基于数模分离与压缩优化的BIM模型轻量化方法


[0001]本专利技术属于施工管理
,尤其涉及基于数模分离与压缩优化的BIM模型轻量化方法。

技术介绍

[0002]随着元宇宙、数字孪生、智慧城市等概念不断提出,以及BIM(Building Information Modeling,建筑信息模型)技术在实际工程项目中的运用和发展,BIM模型已成为重要的微观数据来源。但由于BIM模型存在数据结构复杂、数据体量较大等特点,导致“重量级”的BIM模型运用在实际工程项目中遇到因缓存时间过长带来的体验差、建筑细节丢失等问题。
[0003]目前“重量级”的BIM模型在Web端、移动终端的可视化渲染与管理控制仍是一项具有挑战的任务,急需一种既能保留模型几何特征与必要的渲染信息,又能保证BIM模型的加载渲染效率,同时支持在Web端、移动端等多终端跨平台的BIM模型轻量化技术。

技术实现思路

[0004]本专利技术的目的是通过Revit二次开发将BIM模型的结构化的构件信息与非结构化的渲染信息数据进行压缩优化,并根据数据类型采用对应的数据存储方式进行分离存储,以达BIM模型的高度轻量化,基于该轻量化模型在BIM应用中能获取到完整的构件信息,实现在多终端多平台渲染展示BIM模型,支持BIM模型的交互和属性查询。有鉴于此,本专利技术提出了基于数模分离与压缩优化的BIM模型轻量化方法,为“重量级”的BIM模型提供完整、快速、便捷的审阅浏览平台。采用数模分离、压缩优化、渲染优化、文件格式优化等方法对BIM轻量化体系进行搭建。在BIM模型构建工具中采用插件的方式解析几何三角面,并使用边折叠算法对几何三角面进行优化,并根据模型几何特征、构建属性提供对应的存储方式,在渲染层面使用Web Worker多线程加载技术,完成“重量级”的BIM模型针对多终端、多平台快速加载渲染并流畅展示目标,为数字孪生、智慧城市的建设奠定基础。。
[0005]本专利技术采用的技术方案为基于数模分离与压缩优化的BIM模型轻量化方法,主要包括如下步骤:
[0006]S1:继承IExternalCommand,重写Execute方法;
[0007]S2:获取当前选中的View3D对象;
[0008]S3:继承IExportContext类,重写OnViewBegin、OnElementBegin、OnInstanceBegin、OnFaceBegin、OnMaterial、OnPolymesh方法;
[0009]S4:继承重写IExportContext类,在内部将Rvt模型分为视图、图元、实体、材质、面、mesh步骤来进行遍历,将Rvt模型的构件数据解析转换为的可操作数据;
[0010]S5:BIM模型数模分离,包括:遍历节点获取构件分类,分离构件几何数据与构件属性数据,读取构件几何数据;简化模型的三角网格;读取构件属性数据;处理纹理材质数据;优化字段字节位数,以减小数据存储量;分析构件;压缩处理;结构化存储和非结构化存储;
[0011]S6:模型发布;
[0012]S7:模型渲染展示。
[0013]进一步的,步骤S4具体包括:
[0014]重写Start()、Finish()和IsCanceled();
[0015]非链接模型按如下的顺序执行:Start

>OnViewBegin

>onElementBegin

>OnInstanceBegin

>OnMaterial

>OnFaceBegin OnPolymesh

>OnFaceEnd

>OnInstanceEnd

>OnElementEnd

>OnViewEnd

>IsCanceled

>Finish;
[0016]假如有链接模型在执行完非链接的OnElementBegin以后,执行OnLinkBegin,然后执行链接模型里的OnElementBegin
……
依次类推。
[0017]进一步的,所述遍历节点获取构件分类,具体包括:
[0018]遍历节点获取构件分类:从插件中遍历每个子构件,记录和分析构件的属性信息数据,将所有构件的属性信息数据提取并映射到构件唯一ID和字符串字典数据;暂存为构件字典数据;
[0019]所述构件几何数据与构件属性数据分离,包括:逐个遍历构件字典数据,处理和分析构件信息数据类型,将构件几何数据与构件属性数据进行分离处理;
[0020]所述读取构件几何数据,包括:首先根据网格相似性匹配算法对各构件进行相似性分析,并对几何外形相似的构件采用同一组三角网格表示;并通过转换矩阵的方式,存储其空间位置信息,并将三角网格组映射到相应位置,从而使得相似的构件只存储一次,降低模型的几何数据大小;
[0021]所述模型的三角网格简化,通过复杂构建进行三角网格简化,降低显示所需的三角形数量,包括:在边界特征保持的几何网格模型分级二次误差简化算法基础上加入面划分及关联点识别、模型特征点识别与预处理、权值计算及累积简化误差度量方法,实现在保证精度的基础上还原真实模型效果;
[0022]所述读取构件属性数据,包括:构件的属性数据分为两种:一种是非结构化的材质纹理数据,一种是结构化的属性值数据,通过读取构件字典数据对构件属性数据进行分类处理;
[0023]所述处理纹理材质数据,包括:读取构件非结构化的的材质纹理信息,遍历材质纹理信息的名称和值,通过读取构件属性数据中绑定的材质纹理ID,判断构件属性数据中对应的纹理ID是否存在,如果不存在则将材质纹理非结构化数据进行存储,并在构件属性数据中记录对应的材质纹理存储路径;
[0024]所述优化字段字节位数,减小数据存储量,包括:读取构件结构化的属性数据,对属性字段名称优化,剪短字段名称存储的字节位数,并对数据属性值进行精度优化,在保证不损伤构件精度的情况下简化字节位数减小数据存储量;
[0025]所述分析构件,包括:读取BIM模型文件里的楼层分层信息,分析构件的标高高度信息,通过构件的底部标高高度信息数据将所有构件归类到每个实际物理楼层中;
[0026]所述压缩处理,包括:将压缩后的构件几何数据拆解为N份,采用Zstd无损压缩的形式对拆分后的构件几何数据按每500个构件压缩为一个包,并根据拆分标识与构件编号生成数据索引,降低几何模型的体积为模型轻量化做进一步的无损压缩处理;
[0027]所述结构化存储,包括:对分析处理后的楼层分层信息数据、构件标识与构件数据
包的索引数据、优化后的属性数据进行序列化压缩,并将其存储到平台数据库中本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.基于数模分离与压缩优化的BIM模型轻量化方法,其特征在于,包括以下步骤:S1:继承IExternalCommand,重写Execute方法;S2:获取当前选中的View3D对象;S3:继承IExportContext类,重写OnViewBegin、OnElementBegin、OnInstanceBegin、OnFaceBegin、OnMaterial、OnPolymesh方法;S4:继承重写IExportContext类,在内部将Rvt模型分为视图、图元、实体、材质、面、mesh步骤来进行遍历,将Rvt模型的构件数据解析转换为的可操作数据;S5:BIM模型数模分离,包括:遍历节点获取构件分类,分离构件几何数据与构件属性数据,读取构件几何数据;简化模型的三角网格;读取构件属性数据;处理纹理材质数据;优化字段字节位数,以减小数据存储量;分析构件;压缩处理;结构化存储和非结构化存储;S6:模型发布;S7:模型渲染展示。2.根据权利要求1所述的基于数模分离与压缩优化的BIM模型轻量化方法,其特征在于,步骤S4具体包括:重写Start()、Finish()和IsCanceled();非链接模型按如下的顺序执行:Start

>OnViewBegin

>onElementBegin

>OnInstanceBegin

>OnMaterial

>OnFaceBegin OnPolymesh

>OnFaceEnd

>OnInstanceEnd

>OnElementEnd

>OnViewEnd

>IsCanceled

>Finish;假如有链接模型在执行完非链接的OnElementBegin以后,执行OnLinkBegin,然后执行链接模型里的OnElementBegin
……
依次类推。3.根据权利要求1所述的基于数模分离与压缩优化的BIM模型轻量化方法,其特征在于,所述遍历节点获取构件分类,具体包括:遍历节点获取构件分类:从插件中遍历每个子构件,记录和分析构件的属性信息数据,将所有构件的属性信息数据提取并映射到构件唯一ID和字符串字典数据;暂存为构件字典数据;所述构件几何数据与构件属性数据分离,包括:逐个遍历构件字典数据,处理和分析构件信息数据类型,将构件几何数据与构件属性数据进行分离处理;所述读取构件几何数据,包括:首先根据网格相似性匹配算法对各构件进行相似性分析,并对几何外形相似的构件采用同一组三角网格表示;并通过转换矩阵的方式,存储其空间位置信息,并将三角网格组映射到相应位置,从而使得相似的构件只存储一次,降低模型的几何数据大小;所述模型的三角网格简化,通过复杂构建进行三角网格简化,降低显示所需的三角形数量,包括:在边界特征保持的几何网格模型分级二次误差简化算法基础上加入面划分及关联点识别、模型特征点识别与预处理、权值计算及累积简化误差度量方法,实现在保证精度的基础上还原真实模型效果;所述读取构件属性数据,包括:构件的属性数据分为两种:一种是非结构化的材质纹理数据,一种是结构化的属性值数据,通过读取构件字典数据对构件属性数据进行分类处理;所述处理纹理材质数据,包括:读取构件非结构化的的材质纹理信息,遍历材质纹理信息的名称和值,通过读取构件属性数据中绑定的材质纹理ID,判断构件属性数据中对应的
纹理ID是否存在,如果不存在则将材质纹理非结构化数据进行存储,并在构件...

【专利技术属性】
技术研发人员:张彦鹏肖康施晨欢李安幸苟富军
申请(专利权)人:华建数创上海科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1