CN116258804A - 基于数模分离与压缩优化的bim模型轻量化方法 - Google Patents
基于数模分离与压缩优化的bim模型轻量化方法 Download PDFInfo
- Publication number
- CN116258804A CN116258804A CN202211095573.8A CN202211095573A CN116258804A CN 116258804 A CN116258804 A CN 116258804A CN 202211095573 A CN202211095573 A CN 202211095573A CN 116258804 A CN116258804 A CN 116258804A
- Authority
- CN
- China
- Prior art keywords
- data
- component
- model
- bim model
- geometric
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000007906 compression Methods 0.000 title claims abstract description 41
- 238000000034 method Methods 0.000 title claims abstract description 41
- 230000006835 compression Effects 0.000 title claims abstract description 39
- 238000005457 optimization Methods 0.000 title claims abstract description 24
- 238000000926 separation method Methods 0.000 title claims abstract description 23
- 238000012545 processing Methods 0.000 claims abstract description 35
- 238000009877 rendering Methods 0.000 claims abstract description 35
- 239000000463 material Substances 0.000 claims abstract description 28
- 238000004458 analytical method Methods 0.000 claims abstract description 12
- 238000004364 calculation method Methods 0.000 claims description 12
- 238000013500 data storage Methods 0.000 claims description 12
- 239000013598 vector Substances 0.000 claims description 11
- 238000006243 chemical reaction Methods 0.000 claims description 9
- 238000007781 pre-processing Methods 0.000 claims description 9
- 238000010276 construction Methods 0.000 claims description 7
- 238000005259 measurement Methods 0.000 claims description 6
- 230000000694 effects Effects 0.000 claims description 5
- 238000013507 mapping Methods 0.000 claims description 5
- 230000006837 decompression Effects 0.000 claims description 3
- 230000000977 initiatory effect Effects 0.000 claims description 3
- 239000011159 matrix material Substances 0.000 claims description 3
- 238000011156 evaluation Methods 0.000 claims description 2
- 238000000691 measurement method Methods 0.000 claims description 2
- 238000004321 preservation Methods 0.000 claims 1
- 238000011161 development Methods 0.000 abstract description 5
- 238000005516 engineering process Methods 0.000 description 7
- 238000007405 data analysis Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000006467 substitution reaction Methods 0.000 description 4
- 230000004075 alteration Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 239000013585 weight reducing agent Substances 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 238000009430 construction management Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/10—Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本发明公开了基于数模分离与压缩优化的BIM模型轻量化方法,包括:进行Revit二次开发;继承重写IExportContext类,将Rvt模型的构件数据解析转换为的可操作数据;BIM模型数模分离,包括:遍历节点获取构件分类,分离构件几何数据与构件属性数据,读取构件几何数据;简化模型的三角网格;读取构件属性数据;处理纹理材质数据;优化字段字节位数;分析构件;压缩处理;结构化存储和非结构化存储;模型发布;模型渲染展示。本发明提供多种轻量化方式;保证BIM模型轻量化后细节不丢失;通过结构化的构件信息与非结构化的渲染信息数据分离,提高BIM模型轻量化程度。
Description
技术领域
本发明属于施工管理技术领域,尤其涉及基于数模分离与压缩优化的BIM模型轻量化方法。
背景技术
随着元宇宙、数字孪生、智慧城市等概念不断提出,以及BIM(BuildingInformation Modeling,建筑信息模型)技术在实际工程项目中的运用和发展,BIM模型已成为重要的微观数据来源。但由于BIM模型存在数据结构复杂、数据体量较大等特点,导致“重量级”的BIM模型运用在实际工程项目中遇到因缓存时间过长带来的体验差、建筑细节丢失等问题。
目前“重量级”的BIM模型在Web端、移动终端的可视化渲染与管理控制仍是一项具有挑战的任务,急需一种既能保留模型几何特征与必要的渲染信息,又能保证BIM模型的加载渲染效率,同时支持在Web端、移动端等多终端跨平台的BIM模型轻量化技术。
发明内容
本发明的目的是通过Revit二次开发将BIM模型的结构化的构件信息与非结构化的渲染信息数据进行压缩优化,并根据数据类型采用对应的数据存储方式进行分离存储,以达BIM模型的高度轻量化,基于该轻量化模型在BIM应用中能获取到完整的构件信息,实现在多终端多平台渲染展示BIM模型,支持BIM模型的交互和属性查询。有鉴于此,本发明提出了基于数模分离与压缩优化的BIM模型轻量化方法,为“重量级”的BIM模型提供完整、快速、便捷的审阅浏览平台。采用数模分离、压缩优化、渲染优化、文件格式优化等方法对BIM轻量化体系进行搭建。在BIM模型构建工具中采用插件的方式解析几何三角面,并使用边折叠算法对几何三角面进行优化,并根据模型几何特征、构建属性提供对应的存储方式,在渲染层面使用Web Worker多线程加载技术,完成“重量级”的BIM模型针对多终端、多平台快速加载渲染并流畅展示目标,为数字孪生、智慧城市的建设奠定基础。。
本发明采用的技术方案为基于数模分离与压缩优化的BIM模型轻量化方法,主要包括如下步骤:
S1:继承IExternalCommand,重写Execute方法;
S2:获取当前选中的View3D对象;
S3:继承IExportContext类,重写OnViewBegin、OnElementBegin、OnInstanceBegin、OnFaceBegin、OnMaterial、OnPolymesh方法;
S4:继承重写IExportContext类,在内部将Rvt模型分为视图、图元、实体、材质、面、mesh步骤来进行遍历,将Rvt模型的构件数据解析转换为的可操作数据;
S5:BIM模型数模分离,包括:遍历节点获取构件分类,分离构件几何数据与构件属性数据,读取构件几何数据;简化模型的三角网格;读取构件属性数据;处理纹理材质数据;优化字段字节位数,以减小数据存储量;分析构件;压缩处理;结构化存储和非结构化存储;
S6:模型发布;
S7:模型渲染展示。
进一步的,步骤S4具体包括:
重写Start()、Finish()和IsCanceled();
非链接模型按如下的顺序执行:Start->OnViewBegin->onElementBegin->OnInstanceBegin->OnMaterial->OnFaceBegin OnPolymesh->OnFaceEnd->OnInstanceEnd->OnElementEnd->OnViewEnd->IsCanceled->Finish;
假如有链接模型在执行完非链接的OnElementBegin以后,执行OnLinkBegin,然后执行链接模型里的OnElementBegin……依次类推。
进一步的,所述遍历节点获取构件分类,具体包括:
遍历节点获取构件分类:从插件中遍历每个子构件,记录和分析构件的属性信息数据,将所有构件的属性信息数据提取并映射到构件唯一ID和字符串字典数据;暂存为构件字典数据;
所述构件几何数据与构件属性数据分离,包括:逐个遍历构件字典数据,处理和分析构件信息数据类型,将构件几何数据与构件属性数据进行分离处理;
所述读取构件几何数据,包括:首先根据网格相似性匹配算法对各构件进行相似性分析,并对几何外形相似的构件采用同一组三角网格表示;并通过转换矩阵的方式,存储其空间位置信息,并将三角网格组映射到相应位置,从而使得相似的构件只存储一次,降低模型的几何数据大小;
所述模型的三角网格简化,通过复杂构建进行三角网格简化,降低显示所需的三角形数量,包括:在边界特征保持的几何网格模型分级二次误差简化算法基础上加入面划分及关联点识别、模型特征点识别与预处理、权值计算及累积简化误差度量方法,实现在保证精度的基础上还原真实模型效果;
所述读取构件属性数据,包括:构件的属性数据分为两种:一种是非结构化的材质纹理数据,一种是结构化的属性值数据,通过读取构件字典数据对构件属性数据进行分类处理;
所述处理纹理材质数据,包括:读取构件非结构化的的材质纹理信息,遍历材质纹理信息的名称和值,通过读取构件属性数据中绑定的材质纹理ID,判断构件属性数据中对应的纹理ID是否存在,如果不存在则将材质纹理非结构化数据进行存储,并在构件属性数据中记录对应的材质纹理存储路径;
所述优化字段字节位数,减小数据存储量,包括:读取构件结构化的属性数据,对属性字段名称优化,剪短字段名称存储的字节位数,并对数据属性值进行精度优化,在保证不损伤构件精度的情况下简化字节位数减小数据存储量;
所述分析构件,包括:读取BIM模型文件里的楼层分层信息,分析构件的标高高度信息,通过构件的底部标高高度信息数据将所有构件归类到每个实际物理楼层中;
所述压缩处理,包括:将压缩后的构件几何数据拆解为N份,采用Zstd无损压缩的形式对拆分后的构件几何数据按每500个构件压缩为一个包,并根据拆分标识与构件编号生成数据索引,降低几何模型的体积为模型轻量化做进一步的无损压缩处理;
所述结构化存储,包括:对分析处理后的楼层分层信息数据、构件标识与构件数据包的索引数据、优化后的属性数据进行序列化压缩,并将其存储到平台数据库中;
所述非结构化存储,包括:将前置步骤中压缩处理后的构件数据包文件、纹理材质信息的非结构化数据存储以文件方式进行存储。
进一步的,基于网格相似性匹配的构件存储优化的算法流程详细步骤包括3步:
初始定位:即计算构件的质心位置,并将质心移到原点位置;
粗略快速判断:包括构件类型判断、包围盒对比判断、质心位置对比判断;
三角网格相似性计算:对初始定位处理后的网格进行分析,按照距离与法向量加权误差最小的原则,寻找最近点对序列,并对两个最近点对序列进行相似度评估。
进一步的,所述距离与法向量加权误差最小的原则,包括:判断距离与法向量加权均方误差,根据同一个误差函数,首先得到构件栅格集然后对栅格集按全局空间分配,选择不同的阈值权重因子使加权误差最小化,并根据阈值权重因子计算顶点重叠,得到相似部分的最大、误差、平均误差;
所述相似度评估包括:根据两构件顶点的平均距离、分割三角网格模型得到的维度向量、提取的一组旋转不变的维度向量,并加入邻近三角形面积和作为权值、构件的尺寸大小因素,来计算定义两三角网格的相似度,来衡量构件的相似性;取出相同特征,判断三角网格间的相似度如大于指定阀值,则认为两构件外形相同,对相似的构件只存储一次,复用重复几何,以达到降低模型的几何数据大小。
进一步的,所述在边界特征保持的几何网格模型分级二次误差简化算法基础上加入面划分及关联点识别、模型特征点识别与预处理、权值计算及累积简化误差度量方法,包括:
进行构件的面划分与关键点识别,并对构件特征点进行识别与预处理,保留构件关键特征点;
采用QEM网格简化算法结合权值计算及累积简化误差度量进行三角网格简化,在不损失模型精细度的情况下考虑局部简化最优性,计算两个顶点收缩到最优顶点,将三角网格表面收缩一条边,使得顶点数与三角面数减少,并优化构件几何特征值精度,在保证不损伤构件精度的情况下简化字节位数减小数据存储量,并根据几何数据类型将数据分组合并,同时把数据转换为Utf8Array进行压缩。
进一步的,所述BIM模型发布,包括:
将BIM模型文件上传到模型云平台进行在线轻量化,模型上传后通过云平台实时反馈模型处理进度以及处理状态;
基于Revit本地环境进行BIM模型的轻量化,具体包括:通过在Revit中安装BIM模型轻量化插件进行轻量化处理,或本地支持生成BIM模型轻量化压缩包以及上传至云平台。
进一步的,所述模型渲染展示,包括:
在模型渲染展示首先发起渲染请求,模型云平台收到请求后反馈回模型索引数据,前端根据索引数据通过Web Worker多线程请求与解压处理模型数据包,并解析相应的几何数据,在前端进行渲染。
本发明由于采用上述技术方案,使其具有以下有益效果:
1)本发明提供多种轻量化方式:包括基于Revit本地环境进行BIM模型的轻量化,BIM模型质量易于把控;将BIM模型文件上传到模型云平台进行在线轻量化,操作方便,无环境要求随时随地访问云平台进行实时模型轻量化。
2)本发明能保证BIM模型轻量化后模型细节不丢失、构件的属性信息数据不丢失,对后续利用该轻量化BIM模型进行BIM应用时提供了准确的BIM模型与建筑属性信息;
3)通过结构化的构件信息与非结构化的渲染信息数据分离的办法,可以有效提高BIM模型轻量化的程度,经测试118.6M的BIM建筑模型采用此方法进行轻量化后传输大小仅为1.7M,资源大小为3.7M,渲染完成耗时1.9秒,真实压缩比达到69.7倍。相比市面上BIM模型轻量化工具,提供更快的渲染,更优的展示效果,同时支持多终端、多平台的模型快速加载。
4)本发明将BIM模型几何数据转换为轻量化的二进制缓存数据,并通过压缩优化处理将数据进行分离存储,采用Web Worker多线程加载技术,提升模型渲染加载效率。
附图说明
图1本发明的整体流程图;
图2本发明的模型数据解析转化流程图;
图3本发明的模型数模分离流程图;
图4本发明的模型发布流程图;
图5本发明的模型渲染展示流程图。
具体实施方式
下面结合附图对本发明作进一步的说明,但不以任何方式对本发明加以限制,基于本发明教导所作的任何变换或替换,均属于本发明的保护范围。
如图1所示,本发明采用的技术方案为:一种基于数模分离与压缩优化的BIM模型轻量化方法,主要包括两个环节:二次开发、模型轻量化。数模分离压缩优化主要处理操作在模型轻量化环节,主要包括:模型数据解析转化、模型数模分离、模型发布、模型渲染展示。二次开发包括以下步骤:继承IExternalCommand,重写Execute方法;获取当前选中的View3D对象;继承IExportContext类,重写OnViewBegin、OnElementBegin、OnInstanceBegin、OnFaceBegin、OnMaterial、OnPolymesh方法。
具体地,模型轻量化包括以下步骤:
模型数据解析转化:
将Rvt模型的构件数据解析转换为的可操作数据需要继承重写IExportContext类,就能实现Rvt模型文件的数据导出和数据转换。IExportContext自带有17个方法,在内部将Rvt模型分为视图、图元、实体、材质、面、mesh等几个步骤来进行遍历,首先重写Start()、Finish()和IsCanceled(),这三个方法分别定义开始、结束和中止,接口在数据解析转换中,非链接模型按如下的顺序执行:Start->OnViewBegin->onElementBegin->OnInstanceBegin->OnMaterial->OnFaceBegin OnPolymesh->OnFaceEnd->OnInstanceEnd->OnElementEnd->OnViewEnd->IsCanceled->Finish。假如有链接模型在执行完非链接的OnElementBegin以后,执行OnLinkBegin,然后执行链接模型里的OnElementBegin……依次类推。具体模型数据解析转化如图2所示。
参考图3,数模转换包括以下步骤:
1)遍历节点获取构件分类:从插件中遍历每个子构件,记录和分析构件的属性信息数据,将所有构件的属性信息数据提取并映射到构件唯一ID和字符串字典数据;暂存为构件字典数据;
2)构件几何数据与构件属性数据分离:逐个遍历构件字典数据,处理和分析构件信息数据类型,将构件几何数据与构件属性数据进行分离处理。
3)读取构件几何数据
基于映射的几何模型处理:基于映射的几何模型处理方式,可以大量减少构构件的存储量,并可降低用户终端的显存消耗。首先根据网格相似性匹配算法对各构件进行相似性分析,并对几何外形相似的构件采用同一组三角网格表示;并通过转换矩阵的方式,存储其空间位置信息,并将三角网格组映射到相应位置,从而使得相似的构件只存储一次,降低模型的几何数据大小。基于网格相似性匹配的构件存储优化的算法流程详细步骤包括3步:
⑴初始定位:即计算构件的质心位置,并将质心移到原点位置。对构件进行初始定位可以使两个模型之间的位置差异减小,从而具有相同的校准条件。
⑵粗略快速判断:包括构件类型判断、包围盒对比判断、质心位置对比判断3个方面。
⑶三角网格相似性计算:对初始定位处理后的网格进行分析,按照距离与法向量加权误差最小的原则寻找最近点对序列,并对两个最近点对序列进行相似度评估。通过考虑两构件顶点的平均距离(加入邻近三角形面积和作为权值)、构件的尺寸大小等因素,定义两三角网格的相似度计算方式,来衡量构件的相似性。取出相同特征,判断三角网格间的相似度如大于指定阀值,则认为两构件外形相同,对相似的构件只存储一次,复用重复几何,以达到降低模型的几何数据大小。
4)模型的三角网格简化:通过复杂构建进行三角网格简化,可通过降低显示所需的三角形数量,从而达到提升存储效率的目的。在边界特征保持的几何网格模型分级二次误差简化算法基础上加入面划分及关联点识别、模型特征点识别与预处理、权值计算及累积简化误差度量三个关键技术,从而实现在保证最大精度的基础上还原真实模型效果。首先进行构件的面划分与关键点识别并对构件特征点进行识别与预处理保留构件关键特征点,在采用QEM网格简化算法结合权值计算及累积简化误差度量进行三角网格简化,在不损失模型精细度的情况下考虑局部简化最优性,计算两个顶点收缩到最优顶点,将三角网格表面收缩一条边,使得顶点数与三角面数减少,并优化构件几何特征值精度,在保证不损伤构件精度的情况下简化字节位数减小数据存储量,并根据几何数据类型将数据分组合并,同时把数据转换为Utf8Array进行压缩。
5)读取构件属性数据:构件的属性数据分为两种:一种是非结构化的材质纹理数据,一种是结构化的属性值数据(如构件ID、材质纹理ID、构件类型、构件族等),通过读取构件字典数据对构件属性数据进行分类处理。
6)处理纹理材质数据:读取构件非结构化的的材质纹理信息,遍历材质纹理信息的名称和值,由于构件大部分材质纹理是相同的,通过读取构件属性数据中绑定的材质纹理ID,判断构件属性数据中对应的纹理ID是否存在,如果不存在则将材质纹理非结构化数据进行存储,并在构件属性数据中记录对应的材质纹理存储路径,经此步骤根据模型重复构件与重复贴图数量可优化N=1的数据存储空间。
7)优化字段字节位数,减小数据存储量:读取构件结构化的属性数据,对属性字段名称优化,剪短字段名称存储的字节位数(如PublicId=PI,UniqueId=UI)。并对数据属性值进行精度优化,在保证不损伤构件精度的情况下简化字节位数减小数据存储量。
8)分析构件;读取BIM模型文件里的楼层分层信息,分析构件的标高高度信息,通过构件的底部标高高度信息数据将所有构件归类到每个实际物理楼层中。
9)压缩处理:将压缩后的构件几何数据拆解为N份,采用Zstd无损压缩的形式对拆分后的构件几何数据按每500个构件压缩为一个包,并根据拆分标识与构件编号生成数据索引,降低几何模型的体积为模型轻量化做了进一步的无损压缩处理。所谓的无损压缩处理,是利用数据的统计冗余进行压缩,可完全恢复原始数据而不引起任何失真,解决建筑细节丢失问题。
10)结构化存储:对分析处理后的楼层分层信息数据、构件标识与构件数据包的索引数据、优化后的属性数据进行序列化压缩,并将其存储到平台数据库中。
11)非结构化存储:将前置步骤中压缩处理后的构件数据包文件、纹理材质信息的非结构化数据存储以文件方式进行存储。
参考图4,BIM模型发布包括以下步骤:
基于Revit本地环境进行BIM模型的轻量化,BIM模型质量易于把控,具体操作方式是通过在Revit中安装BIM模型轻量化插件进行轻量化处理,本地支持生成BIM模型轻量化压缩包以及上传至云平台两种方式。针对于“重量级”BIM模型可在本地生成轻量化包手动上传至云平台,减少模型处理失败,网络不稳定传输造成的处理失败问题,同时支持将轻量化压缩包进行本地部署,提高模型加载效率与模型安全性。上传至云平台是指在本地环境中将模型预处理后的轻量级压缩包上传至云平台进行后续压缩计算,有着不占用本地资源,批量处理的优势。
参考图5,模型渲染展示包括以下步骤:
在模型渲染展示首先发起渲染请求,模型云平台收到请求后反馈回模型索引数据,前端根据索引数据通过Web Worker多线程请求与解压处理模型数据包,并解析相应的几何数据,在前端进行渲染。
本实施例中,采用BIM建模工具构建BIM模型,构建完成后生成的Rvt文件也称为BIM模型,使用轻量化插件对BIM模型文件进行轻量化处理,并通过Web Worker多线程加载技术进行模型渲染展示。
本发明由于采用上述技术方案,使其具有以下有益效果:
1)本发明提供多种轻量化方式:包括基于Revit本地环境进行BIM模型的轻量化,BIM模型质量易于把控;将BIM模型文件上传到模型云平台进行在线轻量化,操作方便,无环境要求随时随地访问云平台进行实时模型轻量化。
2)本发明能保证BIM模型轻量化后模型细节不丢失、构件的属性信息数据不丢失,对后续利用该轻量化BIM模型进行BIM应用时提供了准确的BIM模型与建筑属性信息;
3)通过结构化的构件信息与非结构化的渲染信息数据分离的办法,可以有效提高BIM模型轻量化的程度,经测试118.6M的BIM建筑模型采用此方法进行轻量化后传输大小仅为1.7M,资源大小为3.7M,渲染完成耗时1.9秒,真实压缩比达到69.7倍。相比市面上BIM模型轻量化工具,提供更快的渲染,更优的展示效果,同时支持多终端、多平台的模型快速加载。
4)本发明将BIM模型几何数据转换为轻量化的二进制缓存数据,并通过压缩优化处理将数据进行分离存储,采用Web Worker多线程加载技术,提升模型渲染加载效率。
本文所使用的词语“优选的”意指用作实例、示例或例证。本文描述为“优选的”任意方面或设计不必被解释为比其他方面或设计更有利。相反,词语“优选的”的使用旨在以具体方式提出概念。如本申请中所使用的术语“或”旨在意指包含的“或”而非排除的“或”。即,除非另外指定或从上下文中清楚,“X使用A或B”意指自然包括排列的任意一个。即,如果X使用A;X使用B;或X使用A和B二者,则“X使用A或B”在前述任一示例中得到满足。
而且,尽管已经相对于一个或实现方式示出并描述了本公开,但是本领域技术人员基于对本说明书和附图的阅读和理解将会想到等价变型和修改。本公开包括所有这样的修改和变型,并且仅由所附权利要求的范围限制。特别地关于由上述组件(例如元件等)执行的各种功能,用于描述这样的组件的术语旨在对应于执行所述组件的指定功能(例如其在功能上是等价的)的任意组件(除非另外指示),即使在结构上与执行本文所示的本公开的示范性实现方式中的功能的公开结构不等同。此外,尽管本公开的特定特征已经相对于若干实现方式中的仅一个被公开,但是这种特征可以与如可以对给定或特定应用而言是期望和有利的其他实现方式的一个或其他特征组合。而且,就术语“包括”、“具有”、“含有”或其变形被用在具体实施方式或权利要求中而言,这样的术语旨在以与术语“包含”相似的方式包括。
本发明实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以多个或多个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。上述提到的存储介质可以是只读存储器,磁盘或光盘等。上述的各装置或系统,可以执行相应方法实施例中的存储方法。
综上所述,上述实施例为本发明的一种实施方式,但本发明的实施方式并不受所述实施例的限制,其他的任何背离本发明的精神实质与原理下所做的改变、修饰、代替、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
Claims (8)
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是否存在,如果不存在则将材质纹理非结构化数据进行存储,并在构件属性数据中记录对应的材质纹理存储路径;
所述优化字段字节位数,减小数据存储量,包括:读取构件结构化的属性数据,对属性字段名称优化,剪短字段名称存储的字节位数,并对数据属性值进行精度优化,在保证不损伤构件精度的情况下简化字节位数减小数据存储量;
所述分析构件,包括:读取BIM模型文件里的楼层分层信息,分析构件的标高高度信息,通过构件的底部标高高度信息数据将所有构件归类到每个实际物理楼层中;
所述压缩处理,包括:将压缩后的构件几何数据拆解为N份,采用Zstd无损压缩的形式对拆分后的构件几何数据按每500个构件压缩为一个包,并根据拆分标识与构件编号生成数据索引,降低几何模型的体积为模型轻量化做进一步的无损压缩处理;
所述结构化存储,包括:对分析处理后的楼层分层信息数据、构件标识与构件数据包的索引数据、优化后的属性数据进行序列化压缩,并将其存储到平台数据库中;
所述非结构化存储,包括:将前置步骤中压缩处理后的构件数据包文件、纹理材质信息的非结构化数据存储以文件方式进行存储。
4.根据权利要求3所述的基于数模分离与压缩优化的BIM模型轻量化方法,其特征在于,基于网格相似性匹配的构件存储优化的算法流程详细步骤包括3步:
初始定位:即计算构件的质心位置,并将质心移到原点位置;
粗略快速判断:包括构件类型判断、包围盒对比判断、质心位置对比判断;
三角网格相似性计算:对初始定位处理后的网格进行分析,按照距离与法向量加权误差最小的原则,寻找最近点对序列,并对两个最近点对序列进行相似度评估。
5.根据权利要求4所述的基于数模分离与压缩优化的BIM模型轻量化方法,其特征在于,所述距离与法向量加权误差最小的原则,包括:判断距离与法向量加权均方误差,根据同一个误差函数,首先得到构件栅格集然后对栅格集按全局空间分配,选择不同的阈值权重因子使加权误差最小化,并根据阈值权重因子计算顶点重叠,得到相似部分的最大、误差、平均误差;
所述相似度评估包括:根据两构件顶点的平均距离、分割三角网格模型得到的维度向量、提取的一组旋转不变的维度向量,并加入邻近三角形面积和作为权值、构件的尺寸大小因素,来计算两三角网格的相似度,来衡量构件的相似性;取出相同特征,判断三角网格间的相似度如大于指定阀值,则认为两构件外形相同,对相似的构件只存储一次,复用重复几何,以达到降低模型的几何数据大小。
6.根据权利要求3所述的基于数模分离与压缩优化的BIM模型轻量化方法,其特征在于,所述在边界特征保持的几何网格模型分级二次误差简化算法基础上加入面划分及关联点识别、模型特征点识别与预处理、权值计算及累积简化误差度量方法,包括:
进行构件的面划分与关键点识别,并对构件特征点进行识别与预处理,保留构件关键特征点;
采用QEM网格简化算法结合权值计算及累积简化误差度量进行三角网格简化,在不损失模型精细度的情况下考虑局部简化最优性,计算两个顶点收缩到最优顶点,将三角网格表面收缩一条边,使得顶点数与三角面数减少,并优化构件几何特征值精度,在保证不损伤构件精度的情况下简化字节位数减小数据存储量,并根据几何数据类型将数据分组合并,同时把数据转换为Utf8Array进行压缩。
7.根据权利要求1所述的基于数模分离与压缩优化的BIM模型轻量化方法,其特征在于,所述BIM模型发布,包括:
将BIM模型文件上传到模型云平台进行在线轻量化,模型上传后通过云平台实时反馈模型处理进度以及处理状态;
基于Revit本地环境进行BIM模型的轻量化,具体包括:通过在Revit中安装BIM模型轻量化插件进行轻量化处理,或本地支持生成BIM模型轻量化压缩包以及上传至云平台。
8.根据权利要求1所述的基于数模分离与压缩优化的BIM模型轻量化方法,其特征在于,所述模型渲染展示,包括:
在模型渲染展示首先发起渲染请求,模型云平台收到请求后反馈回模型索引数据,前端根据索引数据通过Web Worker多线程请求与解压处理模型数据包,并解析相应的几何数据,在前端进行渲染。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211095573.8A CN116258804A (zh) | 2022-09-06 | 2022-09-06 | 基于数模分离与压缩优化的bim模型轻量化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211095573.8A CN116258804A (zh) | 2022-09-06 | 2022-09-06 | 基于数模分离与压缩优化的bim模型轻量化方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116258804A true CN116258804A (zh) | 2023-06-13 |
Family
ID=86681508
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211095573.8A Pending CN116258804A (zh) | 2022-09-06 | 2022-09-06 | 基于数模分离与压缩优化的bim模型轻量化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116258804A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117171867A (zh) * | 2023-11-03 | 2023-12-05 | 临沂大学 | 一种建筑模型显示方法及系统 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101741038B1 (ko) * | 2017-04-25 | 2017-06-15 | 한국건설기술연구원 | HTML5-WebGL 기반의 BIM 모델 활용을 위한 BIM 데이터 경량화 방법 및 장치 |
CN108647330A (zh) * | 2018-05-11 | 2018-10-12 | 厦门海迈科技股份有限公司 | 一种基于bim模型文件的3d轻量化转换方法 |
CN110414148A (zh) * | 2019-07-30 | 2019-11-05 | 中北大学 | 基于WebGL的开放式BIM跨平台在线可视化方法 |
CN112465958A (zh) * | 2020-12-16 | 2021-03-09 | 中国电建集团昆明勘测设计研究院有限公司 | 一种基于WebGL的BIM模型轻量化显示方法 |
CN112818429A (zh) * | 2021-01-19 | 2021-05-18 | 中国建筑第八工程局有限公司 | 基于数模分离的bim模型轻量化方法 |
CN114169055A (zh) * | 2021-12-09 | 2022-03-11 | 深圳市易景空间智能科技有限公司 | 使bim模型轻量化的方法及系统 |
CN114372308A (zh) * | 2022-01-05 | 2022-04-19 | 武汉烽火富华电气有限责任公司 | 一种基于ifc的bim模型轻量化方法 |
CN114880742A (zh) * | 2022-04-27 | 2022-08-09 | 垒知(成都)科技研究院有限公司 | 一种面向webgl引擎的Revit模型轻量化方法 |
-
2022
- 2022-09-06 CN CN202211095573.8A patent/CN116258804A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101741038B1 (ko) * | 2017-04-25 | 2017-06-15 | 한국건설기술연구원 | HTML5-WebGL 기반의 BIM 모델 활용을 위한 BIM 데이터 경량화 방법 및 장치 |
CN108647330A (zh) * | 2018-05-11 | 2018-10-12 | 厦门海迈科技股份有限公司 | 一种基于bim模型文件的3d轻量化转换方法 |
CN110414148A (zh) * | 2019-07-30 | 2019-11-05 | 中北大学 | 基于WebGL的开放式BIM跨平台在线可视化方法 |
CN112465958A (zh) * | 2020-12-16 | 2021-03-09 | 中国电建集团昆明勘测设计研究院有限公司 | 一种基于WebGL的BIM模型轻量化显示方法 |
CN112818429A (zh) * | 2021-01-19 | 2021-05-18 | 中国建筑第八工程局有限公司 | 基于数模分离的bim模型轻量化方法 |
CN114169055A (zh) * | 2021-12-09 | 2022-03-11 | 深圳市易景空间智能科技有限公司 | 使bim模型轻量化的方法及系统 |
CN114372308A (zh) * | 2022-01-05 | 2022-04-19 | 武汉烽火富华电气有限责任公司 | 一种基于ifc的bim模型轻量化方法 |
CN114880742A (zh) * | 2022-04-27 | 2022-08-09 | 垒知(成都)科技研究院有限公司 | 一种面向webgl引擎的Revit模型轻量化方法 |
Non-Patent Citations (12)
Title |
---|
"BIM轻量化之路(二)-revit导出GLTF", pages 1 - 10, Retrieved from the Internet <URL:https://blog.csdn.net/nihaozhe/article/details/108752…> * |
"WebGL轻量化BIM引擎如何突破大体量BIM模型加载瓶颈", pages 1 - 8, Retrieved from the Internet <URL:https://zhuanlan.zhihu.com/p/148675693> * |
FANG WAN ET AL.: "Application research of web-based BIM model lightweight platform", 《INTERNATIONAL CONFERENCE ON COMPUTATIONAL MODELING, SIMULATION, AND DATA ANALYSIS (CMSDA 2021)》, 11 March 2022 (2022-03-11), pages 1 - 7 * |
H. TIAN ET AL.: "Super-Large Building Oriented BIM Lightweight Method", 《2022 14TH INTERNATIONAL CONFERENCE ON INTELLIGENT HUMAN-MACHINE SYSTEMS AND CYBERNETICS (IHMSC)》, 21 August 2022 (2022-08-21), pages 160 - 164, XP034200643, DOI: 10.1109/IHMSC55436.2022.00045 * |
刘峻等: "结合边折叠和局部优化的网格简化算法", 《计算机应用》, no. 02, 10 February 2016 (2016-02-10), pages 251 - 256 * |
吕婧等: "glTF在BIM模型轻量化中的应用", 《科技创新与应用》, no. 06, 25 February 2020 (2020-02-25), pages 180 - 182 * |
张萍: "BIM专业模型轻量化处理方法研究", 《中国管理信息化》, no. 14, 15 July 2020 (2020-07-15), pages 124 - 125 * |
彭琛等: "面向运维的建筑BIM模型轻量化技术及实践研究", 《建筑科技》, vol. 5, no. 3, 25 June 2021 (2021-06-25), pages 107 - 111 * |
胡夏恺等: "基于Revit二次开发的BIM+WebGIS融合应用研究", 《中南大学学报(自然科学版)》, vol. 52, no. 11, 26 November 2021 (2021-11-26), pages 3930 - 3942 * |
郭云峰等: "BIM专业模型轻量化处理方法研究", 《石油化工建设》, vol. 43, no. 6, 20 December 2021 (2021-12-20), pages 66 - 70 * |
金伟祖等: "基于网格分割的三维模型轻量化算法及构建", 《实验室科学》, no. 05, 28 October 2015 (2015-10-28), pages 26 - 29 * |
陈前等: "BIM模型轻量化及三维显示关键技术研究", 《广东土木与建筑》, vol. 29, no. 5, 15 May 2022 (2022-05-15), pages 1 - 5 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117171867A (zh) * | 2023-11-03 | 2023-12-05 | 临沂大学 | 一种建筑模型显示方法及系统 |
CN117171867B (zh) * | 2023-11-03 | 2024-01-26 | 临沂大学 | 一种建筑模型显示方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113158288B (zh) | 一种基于构件复用与重装配的信息模型几何轻量化方法 | |
Ciampalini et al. | Multiresolution decimation based on global error | |
Puppo et al. | Simplification, LOD and multiresolution: Principles and applications | |
US20220121688A1 (en) | Parallel data access method and system for massive remote-sensing images | |
US11188738B2 (en) | System and method associated with progressive spatial analysis of prodigious 3D data including complex structures | |
CN110134752B (zh) | 三维大场景建模数据处理方法及装置 | |
US20020030677A1 (en) | Method and apparatus for generating atomic parts of graphic representation through skeletonization for interactive visualization applications | |
CN111291016A (zh) | 一种海量遥感影像数据分层混合存储与索引方法 | |
EP3563353A1 (en) | Systems and methods for lightweight precise 3d visual format | |
CN112132954B (zh) | 一种面向三维激光点云实体对象的分布式管理方法及系统 | |
Zhou et al. | A streaming framework for seamless building reconstruction from large-scale aerial lidar data | |
CN116258804A (zh) | 基于数模分离与压缩优化的bim模型轻量化方法 | |
CN110991553A (zh) | Bim模型对比方法 | |
Wong et al. | Using geometry-based metrics as part of fitness-for-purpose evaluations of 3D city models | |
CN113947000B (zh) | 地下洞室围岩复杂块体建模与稳定分析一体化方法 | |
CN113780475B (zh) | 一种基于gis环境下山岭隧道模型融合方法 | |
Yang et al. | A hybrid spatial index for massive point cloud data management and visualization | |
CN114820975A (zh) | 基于全要素参数符号化的三维场景仿真重构系统及方法 | |
CN114463548A (zh) | 一种基于视觉特征与胶囊网络的图像分类方法 | |
CN112817545B (zh) | 在线即分析影像与格网立方体数据存储管理方法及系统 | |
Höfle et al. | Using airborne laser scanning data in urban data management-set up of a flexible information system with open source components | |
Ganovelli et al. | OCME: out-of-core mesh editing made practical | |
CN116467540B (zh) | 一种基于HBase的海量空间数据快速可视化方法 | |
Fei et al. | An Adaptive Sampling Scheme for Out‐of‐Core Simplification | |
Ponchio | Multiresolution structures for interactive visualization of very large 3D datasets |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |