一种基于Revit的BIM模型轻量化方法及系统技术方案

技术编号:26376296 阅读:20 留言:0更新日期:2020-11-19 23:45
本发明专利技术公开了一种基于Revit的BIM模型轻量化方法,包括:步骤1、获取Revit提供的接口的数据,根据所述数据建立预处理映射表;步骤2、通过Revit提供的导出接口提取BIM模型中的几何数据与非几何数据;步骤3、通过所述预处理映射表对剔除掉所述非几何数据后的数据进行处理通过该方法适用于建筑信息模型(BIM)在线可视化领域,可以避免数据丢失的问题,同时可以减少转换时长及转换文件的尺寸。

【技术实现步骤摘要】
一种基于Revit的BIM模型轻量化方法及系统
本专利技术涉及建筑信息模型(BIM)在线可视化领域,尤其涉及一种基于Revit的BIM模型轻量化方法及系统。
技术介绍
目前业内已有的基于IFC格式的BIM轻量化方案,需要先将BIM数据转换成IFC文件,再将IFC文件转换WebGL支持的文件格式,此方案存在过程繁冗,原始数据可变更或丢失等问题,且目前存在一些Revit文件转换的开源工具如revit-stl-extension和RvtVa3c,但是都存在着转换耗时长,转换后的文件尺寸过大等问题。
技术实现思路
本专利技术所要解决的技术问题是针对现有技术的不足,提供一种。本专利技术解决上述技术问题的技术方案如下:一种基于Revit的BIM模型轻量化方法,包括:步骤1、获取Revit提供的接口的数据,根据所述数据建立预处理映射表;步骤2、通过Revit提供的导出接口提取BIM模型中的几何数据与非几何数据;步骤3、通过所述预处理映射表对剔除掉所述非几何数据后的数据进行处理。本专利技术的有益效果是:本方法能够实现文件压缩,且随着可重用构件的增多压缩率越高通过对预处理映射表的建立跳过了对相同Solid对象的处理,节省了处理时间,并提升了处理效率。在上述技术方案的基础上,本专利技术还可以做如下改进。进一步,根据所述数据建立预处理映射表具体为:建立Solid对象与Face对象之间的预处理映射表。采用上述进一步方案的有益效果是:通过预处理映射表的建立可以将相同Solid对象的处理工作放入前期进行,为整个流程提升了处理的效率。进一步,步骤2具体为:通过所述数据中的Element参数对BIM模型中的非几何数据进行提取,根据所述非几何数据创建非几何数据属性表,并将所述非几何数据属性表存入数据库中。采用上述进一步方案的有益效果是:将几何数据剔除可以有效的减少对于不必要数据的计算从而节省了处理的时间。进一步,步骤3具体为:对同一个Solid对象下的全部Face对象进行合并,在glTF文件中记录合并后的数据。本专利技术解决上述技术问题的另一种技术方案如下:一种基于Revit的BIM模型轻量化系统,包括:获取模块、用于获取Revit提供的接口的数据,根据所述数据建立预处理映射表;提取模块、用于通过Revit提供的导出接口提取BIM模型中的几何数据与非几何数据;处理模块、用于通过所述预处理映射表对剔除掉所述非几何数据后的数据进行处理。采用上述方案的有益效果:本方法能够实现文件压缩,且随着可重用构件的增多压缩率越高通过对预处理映射表的建立跳过了对相同Solid对象的处理,节省了处理时间,并提升了处理效率。进一步,根据所述数据建立预处理映射表具体为:建立Solid对象与Face对象之间的预处理映射表。采用上述进一步方案的有益效果:通过预处理映射表的建立可以将相同Solid对象的处理工作放入前期进行,为整个流程提升了处理的效率。进一步,提取模块模块具体用于:通过所述数据中的Element参数对BIM模型中的非几何数据进行提取,根据所述非几何数据创建非几何数据属性表,并将所述非几何数据属性表存入数据库中。采用上述进一步方案的有益效果是:将非几何数据从glTF文件中剔除可以减小文件尺寸并缩短网络传输时间,在渲染glTF文件时,根据Element可以快速查询其对应的非几何数据。进一步,处理模块模块具体用于:对同一个Solid对象下的全部Face对象进行合并,在glTF文件中记录合并后的数据。本专利技术附加的方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本专利技术实践了解到。附图说明图1为本专利技术一种基于Revit的BIM模型轻量化方法实施例提供的流程示意图;图2为本专利技术一种基于Revit的BIM模型轻量化方法其他实施例提供的建立Solid对象与Face对象的映射关系流程示意图;图3为本专利技术一种基于Revit的BIM模型轻量化方法其他实施例提供的Revit几何结构的树形图;图4为本专利技术一种基于Revit的BIM模型轻量化系统实施例提供的结构框架图。具体实施方式以下结合附图对本专利技术的原理和特征进行描述,所举实施例只用于解释本专利技术,并非用于限定本专利技术的范围。如图1所示,本专利技术一种基于Revit的BIM模型轻量化方法实施例提供的流程示意图,包括:步骤1、获取Revit提供的接口的数据,根据数据建立预处理映射表;步骤2、通过Revit提供的导出接口提取BIM模型中的几何数据与非几何数据;步骤3、通过预处理映射表对剔除掉非几何数据后的数据进行处理。本方法能够实现文件压缩,且随着可重用构件的增多压缩率越高通过对预处理映射表的建立跳过了对相同Solid对象的处理,节省了处理时间,并提升了处理效率。需要注意的是,创建构件属性信息表,以构件Id号为索引,属性名及属性值为列。利用IExportContext提供的参数获取当前正在处理的构件Id并提取构件的属性信息写入表中;使用预处理装置建立Solid对象与Face对象的映射表,如图2所示:使用深度优先算法遍历构件的几何构成,其包含了GeometryInstance、GeometryElement和Solid对象,构件的顶点坐标和材质等信息存放于Face对象内,而Face对象又包含于Solid对象内,所以该装置的目的就是检查构件内所有Solid对象,并利用Hashcode值的唯一性建立Solid对象的Hashcode值与Face对象Hashcode值之间的映射;计算构件的变换矩阵,利用栈结构保存矩阵,以图3为例,计算P1顶点坐标集的矩阵,根据深度遍历的顺序首先遍历到T1矩阵,将T1矩阵存入栈中,然后遍历到T2矩阵,T2矩阵右乘T1矩阵得到T3,即T3=T2*T1,该值即为P1顶点集使用的矩阵,然后将T3存入栈中;判断该Solid对象是否已经处理过,如果处理过则直接复用处理后的数据,并继续下一个Solid对象处理,如未处理则进行下一步;处理Face对象的材质与顶点坐标信息,利用IExportContext提供的参数获取该构件的所有Face对象的材质和顶点坐标信息;利用前面获取的映射表,合并同一个Solid对象下的所有Face对象所包含的材质与顶点信息,以及Solid对象对应的矩阵信息;在glTF文件中创建与该构件对应的Node根节点,同时创建该节点下的Node子节点,其与该构件所包含Solid对象一一对应,将矩阵信息写入对应的Node子节点中,在每个Node子节点下创建Mesh节点,将上一步合并后的材质与顶点信息写入对应的Mesh节点中;继续处理下一个构件。优选地,在上述任意实施例中,根据数据建立预处理映射表具体为:建立Solid对象与Face对象之间的预处理映射表。通过预处理映射表的建立可以将相同Soli本文档来自技高网...

【技术保护点】
1.一种基于Revit的BIM模型轻量化方法,其特征在于,包括:/n步骤1、获取Revit提供的接口的数据,根据所述数据建立预处理映射表;/n步骤2、通过Revit提供的导出接口提取BIM模型中的几何数据与非几何数据;/n步骤3、通过所述预处理映射表对剔除掉所述非几何数据后的数据进行处理。/n

【技术特征摘要】
1.一种基于Revit的BIM模型轻量化方法,其特征在于,包括:
步骤1、获取Revit提供的接口的数据,根据所述数据建立预处理映射表;
步骤2、通过Revit提供的导出接口提取BIM模型中的几何数据与非几何数据;
步骤3、通过所述预处理映射表对剔除掉所述非几何数据后的数据进行处理。


2.根据权利要求1所述的一种基于Revit的BIM模型轻量化方法,其特征在于,根据所述数据建立预处理映射表具体为:
建立Solid对象与Face对象之间的预处理映射表。


3.根据权利要求1所述的一种基于Revit的BIM模型轻量化方法,其特征在于,步骤2具体为:
通过所述数据中的Element参数对BIM模型中的非几何数据进行提取,根据所述非几何数据创建非几何数据属性表,并将所述非几何数据属性表存入数据库中。


4.根据权利要求2所述的一种基于Revit的BIM模型轻量化方法,其特征在于,步骤3具体为:
对同一个Solid对象下的全部Face对象进行合并,在glTF文件中记录合并后的数据。


5...

【专利技术属性】
技术研发人员:马骁陈雷行陶海波叶宇飞廖灿灿陈欢
申请(专利权)人:中煤科工重庆设计研究院集团有限公司
类型:发明
国别省市:重庆;50

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

1