一种适合于运维管理的BIM数据轻量化存储方法技术

技术编号:35634155 阅读:16 留言:0更新日期:2022-11-19 16:22
本发明专利技术公开了一种适合于运维管理的BIM数据轻量化存储方法,涉及BIM技术领域。该方法包括:根据Revit文件创建TjsBuilding对象;读取Revit文件中所有三维图元的网格信息,创建TjsMesh对象和TjsMesh列表;解析Revit文件的建筑和结构类三维图元,创建TjsPlan列表、TjsRoom列表和TjsFurniture列表;解析Revit文件的机电类三维图元,创建TjsMepType列表、TjsMepSystem列表和TjsEquipment列表;通过三维图元Element的ID分别读取TjsPlan、TjsRoom、TjsFurniture、TjsMepType、TjsMepSystem和TjsEquipment所属的三维图元列表对应的TjsMesh对象,并存储为用于web端渲染的预设传输格式;将TjsBuilding对象进行结构化存储。本存储方法降低了内存消耗,提升了三维模型加载能力,保证了数据安全。保证了数据安全。保证了数据安全。

【技术实现步骤摘要】
一种适合于运维管理的BIM数据轻量化存储方法


[0001]本专利技术涉及BIM
,尤其涉及一种适合于运维管理的BIM数据轻量化存储方法。

技术介绍

[0002]BIM是基础数据模型,涵盖了整个建筑物的所有信息。Revit提供的BIM 模型虽然具有一定的数据结构,但真正应用到智慧楼宇这样的运维平台,需要平台后端进行大量的人为梳理以及前端显示效果的一系列定制代码,这无疑增加了大量额外的工作量。

技术实现思路

[0003]为了解决上述技术问题,本专利技术提供了一种适合于运维管理的BIM数据轻量化存储方法,实现了BIM数据的轻量化存储。
[0004]第一个方面,提供了一种适合于运维管理的BIM数据轻量化存储方法,包括:
[0005]获取包含待存储数据的Revit文件,根据所述Revit文件创建TjsBuilding 对象;
[0006]读取所述Revit文件中所有三维图元的网格信息,根据所述网格信息创建TjsMesh对象,根据所述TjsMesh对象生成所述TjsBuilding对象的TjsMesh 列表;
[0007]解析所述Revit文件的建筑和结构类三维图元,创建TjsPlan列表、TjsRoom列表和TjsFurniture列表;
[0008]解析所述Revit文件的机电类三维图元,创建TjsMepType列表、 TjsMepSystem列表和TjsEquipment列表;
[0009]通过三维图元Element的ID分别读取TjsPlan、TjsRoom、TjsFurniture、 TjsMepType、TjsMepSystem和TjsEquipment所属的三维图元列表对应的 TjsMesh对象,并存储为用于web端渲染的预设传输格式;
[0010]将所述TjsBuilding对象进行结构化存储。
[0011]在第一个方面的一种可能实现中,获取包含待存储数据的Revit文件,根据所述Revit文件创建TjsBuilding对象,具体包括:
[0012]获取包含待存储数据的Revit文件,采用递归的方式遍历所有关联的 Revit文件,读取所述Revit文件中的项目信息,根据所述项目信息创建 TjsBuilding对象。
[0013]在第一个方面的一种可能实现中,读取所述Revit文件中所有三维图元的网格信息,根据所述网格信息创建TjsMesh对象,根据所述TjsMesh对象生成所述TjsBuilding对象的TjsMesh列表,具体包括:
[0014]用IExportContext接口遍历,读取所述Revit文件中所有三维图元的空间位置及轻量化后的几何、材质、纹理和贴图信息;
[0015]对每个所述三维图元的几何、材质、纹理和贴图信息进行合并处理,生成完整的多边形网格TjsMesh对象,每个三维图元与TjsMesh对象一对一映射;
[0016]根据全部类型的三维图元对应的TjsMesh对象生成TjsMesh列表。
[0017]在第一个方面的一种可能实现中,解析所述Revit文件的建筑和结构类三维图元,创建TjsPlan列表,具体包括:
[0018]遍历所述Revit文件的建筑和结构类三维图元的所有楼层标高,对不同专业相同楼层的标高进行合并处理,创建TjsPlan对象;
[0019]遍历每个所述楼层标高的房间边界以外的三维图元,将所述房间边界以外的三维图元统一存储到所述TjsPlan对象的三维图元列表中,且相同标高值的TjsPlan对象只记录一份;
[0020]剔除不包含三维图元的TjsPlan对象,并将剩余的TjsPlan对象统一记录在所述TjsBuilding对象的TjsPlan列表中。
[0021]在第一个方面的一种可能实现中,创建TjsRoom列表具体包括:
[0022]遍历每个所述楼层标高的所有房间,读取每个房间的属性信息,创建 TjsRoom对象;
[0023]按照房间边界获取每个房间内的除建筑设备类以外的三维图元,将所述除建筑设备类以外的三维图元统一存储到所述TjsRoom对象的三维图元列表中,且相同ID的TjsRoom对象只记录一份;
[0024]剔除包围盒大小为0的TjsRoom对象,并将剩余的TjsRoom对象统一记录在每个TjsPlan对象的TjsRoom列表中。
[0025]在第一个方面的一种可能实现中,创建TjsFurniture列表具体包括:
[0026]遍历每个所述房间内的建筑设备类三维图元,并读取每个所述建筑设备类三维图元的属性信息,生成TjsFurniture对象;
[0027]将所述建筑设备三维图元存储到所述TjsFurniture对象的三维图元列表中;
[0028]把创建好的每个TjsFurniture对象统一存储到所属TjsRoom对象的 TjsFurniture列表中。
[0029]在第一个方面的一种可能实现中,解析所述Revit文件的机电类三维图元,创建TjsMepType列表具体包括:
[0030]遍历所述Revit文件的所有机电系统类别,根据不同的所述机电系统类别创建TjsMepType对象;
[0031]遍历每个所述机电系统类别的机电系统所属以外的三维图元,将所述机电系统所属以外的三维图元统一存储到所述TjsMepType对象的三维图元列表中;
[0032]将创建好的所有TjsMepType对象统一存储到所述TjsBuilding对象的 TjsMepType列表中。
[0033]在第一个方面的一种可能实现中,创建TjsMepSystem列表具体包括:
[0034]遍历每个所述机电系统类别的所有机电系统,读取每个所述机电系统的属性信息,生成TjsMepSystem对象;
[0035]遍历每个所述机电系统下的除机电设备类以外的三维图元,将所述机电设备类以外的三维图元统一存储到所述TjsMepSystem对象的三维图元列表中,且相同ID的TjsMepSystem对象只记录一份;
[0036]将创建的全部TjsMepSystem对象统一记录在每个所述TjsMepType对象的TjsMepSystem列表中。
[0037]在第一个方面的一种可能实现中,创建TjsEquipment列表具体包括:
[0038]读取所述机电系统的管件和机电设备之间的连接关系,通过Domain信息获取与每个所述机电系统相连的所有机电设备类三维图元,并读取每个机电设备类三维图元的属性信息,创建TjsEquipment对象;
[0039]将所述机电设备类三维图元存储到所述TjsEquipment对象的三维图元列表中;
[0040]将创建好的TjsEquipment对象统一存储到所属TjsMepSystem对象的 TjsEquipment列表中。
[0041]在第一个方面的一种可能实现中,将所述TjsBuilding对象进行结构本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种适合于运维管理的BIM数据轻量化存储方法,其特征在于,包括:获取包含待存储数据的Revit文件,根据所述Revit文件创建TjsBuilding对象;读取所述Revit文件中所有三维图元的网格信息,根据所述网格信息创建TjsMesh对象,根据所述TjsMesh对象生成所述TjsBuilding对象的TjsMesh列表;解析所述Revit文件的建筑和结构类三维图元,创建TjsPlan列表、TjsRoom列表和TjsFurniture列表;解析所述Revit文件的机电类三维图元,创建TjsMepType列表、TjsMepSystem列表和TjsEquipment列表;通过三维图元Element的ID分别读取TjsPlan、TjsRoom、TjsFurniture、TjsMepType、TjsMepSystem和TjsEquipment所属的三维图元列表对应的TjsMesh对象,并存储为用于web端渲染的预设传输格式;将所述TjsBuilding对象进行结构化存储。2.根据权利要求1所述的适合于运维管理的BIM数据轻量化存储方法,其特征在于,获取包含待存储数据的Revit文件,根据所述Revit文件创建TjsBuilding对象,具体包括:获取包含待存储数据的Revit文件,采用递归的方式遍历所有关联的Revit文件,读取所述Revit文件中的项目信息,根据所述项目信息创建TjsBuilding对象。3.根据权利要求1所述的适合于运维管理的BIM数据轻量化存储方法,其特征在于,读取所述Revit文件中所有三维图元的网格信息,根据所述网格信息创建TjsMesh对象,根据所述TjsMesh对象生成所述TjsBuilding对象的TjsMesh列表,具体包括:用IExportContext接口遍历,读取所述Revit文件中所有三维图元的空间位置及轻量化后的几何、材质、纹理和贴图信息;对每个所述三维图元的几何、材质、纹理和贴图信息进行合并处理,生成完整的多边形网格TjsMesh对象,每个三维图元与TjsMesh对象一对一映射;根据全部类型的三维图元对应的TjsMesh对象生成TjsMesh列表。4.根据权利要求1所述的适合于运维管理的BIM数据轻量化存储方法,其特征在于,解析所述Revit文件的建筑和结构类三维图元,创建TjsPlan列表,具体包括:遍历所述Revit文件的建筑和结构类三维图元的所有楼层标高,对不同专业相同楼层的标高进行合并处理,创建TjsPlan对象;遍历所述楼层标高的所有房间边界以外的三维图元,将所述房间边界以外的三维图元统一存储到所述TjsPlan对象的三维图元列表中,且相同标高值的TjsPlan对象记录一份;剔除不包含三维图元的TjsPlan对象,并将剩余的TjsPlan对象统一记录在所述TjsBuilding对象的TjsPlan列表中。5.根据权利要求4所述的适合于运维管理的BIM数据轻量化存储方法,其特征在于,创建TjsRoom列表具体包括:遍历每个所述楼层标高的所有房间,读取每个房间的属性信息,创建TjsRoom对象;按照房间边界获取每个房间内的除建筑设备类以外的三维图元,将所述除建筑设备类以外的三...

【专利技术属性】
技术研发人员:李学范陈傲寒魏新征柴浩然唐鑫张亚坤
申请(专利权)人:北京优锘科技有限公司
类型:发明
国别省市:

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

1