CN115359208A - 一种适合于运维管理的bim数据轻量化存储方法 - Google Patents

一种适合于运维管理的bim数据轻量化存储方法 Download PDF

Info

Publication number
CN115359208A
CN115359208A CN202210698728.0A CN202210698728A CN115359208A CN 115359208 A CN115359208 A CN 115359208A CN 202210698728 A CN202210698728 A CN 202210698728A CN 115359208 A CN115359208 A CN 115359208A
Authority
CN
China
Prior art keywords
list
dimensional
primitives
creating
revit
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
Application number
CN202210698728.0A
Other languages
English (en)
Inventor
李学范
陈傲寒
魏新征
柴浩然
唐鑫
张亚坤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Younuo Technology Co ltd
Original Assignee
Beijing Younuo Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Younuo Technology Co ltd filed Critical Beijing Younuo Technology Co ltd
Priority to CN202210698728.0A priority Critical patent/CN115359208A/zh
Publication of CN115359208A publication Critical patent/CN115359208A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • G06T17/205Re-meshing

Abstract

本发明公开了一种适合于运维管理的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对象进行结构化存储。本存储方法降低了内存消耗,提升了三维模型加载能力,保证了数据安全。

Description

一种适合于运维管理的BIM数据轻量化存储方法
技术领域
本发明涉及BIM技术领域,尤其涉及一种适合于运维管理的BIM数据轻量化存储方法。
背景技术
BIM是基础数据模型,涵盖了整个建筑物的所有信息。Revit提供的BIM 模型虽然具有一定的数据结构,但真正应用到智慧楼宇这样的运维平台,需要平台后端进行大量的人为梳理以及前端显示效果的一系列定制代码,这无疑增加了大量额外的工作量。
发明内容
为了解决上述技术问题,本发明提供了一种适合于运维管理的BIM数据轻量化存储方法,实现了BIM数据的轻量化存储。
第一个方面,提供了一种适合于运维管理的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对象进行结构化存储。
在第一个方面的一种可能实现中,获取包含待存储数据的Revit文件,根据所述Revit文件创建TjsBuilding对象,具体包括:
获取包含待存储数据的Revit文件,采用递归的方式遍历所有关联的 Revit文件,读取所述Revit文件中的项目信息,根据所述项目信息创建 TjsBuilding对象。
在第一个方面的一种可能实现中,读取所述Revit文件中所有三维图元的网格信息,根据所述网格信息创建TjsMesh对象,根据所述TjsMesh对象生成所述TjsBuilding对象的TjsMesh列表,具体包括:
用IExportContext接口遍历,读取所述Revit文件中所有三维图元的空间位置及轻量化后的几何、材质、纹理和贴图信息;
对每个所述三维图元的几何、材质、纹理和贴图信息进行合并处理,生成完整的多边形网格TjsMesh对象,每个三维图元与TjsMesh对象一对一映射;
根据全部类型的三维图元对应的TjsMesh对象生成TjsMesh列表。
在第一个方面的一种可能实现中,解析所述Revit文件的建筑和结构类三维图元,创建TjsPlan列表,具体包括:
遍历所述Revit文件的建筑和结构类三维图元的所有楼层标高,对不同专业相同楼层的标高进行合并处理,创建TjsPlan对象;
遍历每个所述楼层标高的房间边界以外的三维图元,将所述房间边界以外的三维图元统一存储到所述TjsPlan对象的三维图元列表中,且相同标高值的TjsPlan对象只记录一份;
剔除不包含三维图元的TjsPlan对象,并将剩余的TjsPlan对象统一记录在所述TjsBuilding对象的TjsPlan列表中。
在第一个方面的一种可能实现中,创建TjsRoom列表具体包括:
遍历每个所述楼层标高的所有房间,读取每个房间的属性信息,创建 TjsRoom对象;
按照房间边界获取每个房间内的除建筑设备类以外的三维图元,将所述除建筑设备类以外的三维图元统一存储到所述TjsRoom对象的三维图元列表中,且相同ID的TjsRoom对象只记录一份;
剔除包围盒大小为0的TjsRoom对象,并将剩余的TjsRoom对象统一记录在每个TjsPlan对象的TjsRoom列表中。
在第一个方面的一种可能实现中,创建TjsFurniture列表具体包括:
遍历每个所述房间内的建筑设备类三维图元,并读取每个所述建筑设备类三维图元的属性信息,生成TjsFurniture对象;
将所述建筑设备三维图元存储到所述TjsFurniture对象的三维图元列表中;
把创建好的每个TjsFurniture对象统一存储到所属TjsRoom对象的TjsFurniture列表中。
在第一个方面的一种可能实现中,解析所述Revit文件的机电类三维图元,创建TjsMepType列表具体包括:
遍历所述Revit文件的所有机电系统类别,根据不同的所述机电系统类别创建TjsMepType对象;
遍历每个所述机电系统类别的机电系统所属以外的三维图元,将所述机电系统所属以外的三维图元统一存储到所述TjsMepType对象的三维图元列表中;
将创建好的所有TjsMepType对象统一存储到所述TjsBuilding对象的TjsMepType列表中。
在第一个方面的一种可能实现中,创建TjsMepSystem列表具体包括:
遍历每个所述机电系统类别的所有机电系统,读取每个所述机电系统的属性信息,生成TjsMepSystem对象;
遍历每个所述机电系统下的除机电设备类以外的三维图元,将所述机电设备类以外的三维图元统一存储到所述TjsMepSystem对象的三维图元列表中,且相同ID的TjsMepSystem对象只记录一份;
将创建的全部TjsMepSystem对象统一记录在每个所述TjsMepType对象的TjsMepSystem列表中。
在第一个方面的一种可能实现中,创建TjsEquipment列表具体包括:
读取所述机电系统的管件和机电设备之间的连接关系,通过Domain信息获取与每个所述机电系统相连的所有机电设备类三维图元,并读取每个机电设备类三维图元的属性信息,创建TjsEquipment对象;
将所述机电设备类三维图元存储到所述TjsEquipment对象的三维图元列表中;
将创建好的TjsEquipment对象统一存储到所属TjsMepSystem对象的TjsEquipment列表中。
在第一个方面的一种可能实现中,将所述TjsBuilding对象进行结构化存储,具体包括:
将所述TjsBuilding对象的从TjsPlan到TjsRoom到TjsFurniture的树状结构和从TjsMepType到TjsMepSystem到TjsEquipment的树状结构进行Json 序列化存储,且树结构的每个节点都是三维图元列表及子节点列表的相同模板;
将生成的所有文件统一压缩,并加密保存。
本存储方法通过完整地保留了常规的几何、材质、纹理、贴图、属性等原生态BIM信息的前提下,运用几何复用、模型合并、Draco压缩算法、文件加密等措施,降低了内存消耗,提升了三维模型加载能力,保证了数据安全,此外,本发明还实现了从“楼层—房间—建筑设备”、从“机电类别—机电系统—机电设备”的树状结构,简单有效、又快捷,为web渲染以及智慧楼宇平台的业务实现提供了强有力的支撑,本发明在保证BIM三维模型能够在针对楼宇管理平台上正确渲染的前提下,利用简单的BIM模型结构实现了Web端对模型的快速加载模和有效控制,为智慧楼宇的模型数据和业务关联建立了桥梁。
本发明附加的方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明实践了解到。
附图说明
图1为本发明存储方法的实施例提供的流程示意图;
图2为本发明存储方法的实施例提供的数据存储结构示意图;
图3为本发明智慧楼宇模型渲染示意图;
图4为本发明智慧楼宇模型的二层建筑模型渲染示意图;
图5为本发明智慧楼宇模型的房间模型渲染示意图;
图6为本发明智慧楼宇模型的机电类三维图元渲染示意图。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实施例只用于解释本发明,并非用于限定本发明的范围。
如图1所示,为本发明存储方法的实施例提供的流程示意图,该适合于运维管理的BIM数据轻量化存储方法,包括:
S1,获取包含待存储数据的Revit文件,根据Revit文件创建TjsBuilding 对象;
应理解,Revit建筑模型可以分成建筑、结构、机电等多个专业各自建模,利用链接的方式整合到一个总装文件。
S2,读取Revit文件中所有三维图元的网格信息,根据网格信息创建 TjsMesh对象,根据TjsMesh对象生成TjsBuilding对象的TjsMesh列表;
需要说明的是,网格信息可以包括三维图元的几何、材质、纹理和贴图信息。
S3,解析Revit文件的建筑和结构类三维图元,创建TjsPlan列表、 TjsRoom列表和TjsFurniture列表;
需要说明的是,TjsPlan、TjsRoom、TjsFurniture分别对应的是Revit文件中的楼层、房间和建筑设备类族实例。
S4,解析Revit文件的机电类三维图元,创建TjsMepType列表、 TjsMepSystem列表和TjsEquipment列表;
需要说明的是,TjsMepType、TjsMepSystem、TjsEquipment分别对应的是Revit文件中的机电类别、机电系统和机电设备类族实例。
通过将建筑和结构类三维图元与机电类三维图元分别解析存储,可以在加载时根据加载的层级,选择渲染不同的图元,例如,当显示整个建筑时,可以只加载建筑和结构类三维图元,当显示建筑内的具体楼层时,可以加载机电类三维图元,从而提高加载速度。
S5,通过三维图元Element的ID分别读取TjsPlan、TjsRoom、 TjsFurniture、TjsMepType、TjsMepSystem和TjsEquipment所属的三维图元列表对应的TjsMesh对象,并存储为用于web端渲染的预设传输格式;
需要说的是,可以把TjsBuilding对象的各层级三维图元,包括TjsPlan、TjsRoom、TjsMepType、TjsMepSystem、TjsEquipment的三维图元列表,通过三维图元Element的ID读取对应的TjsMesh,存储为Web端用于渲染的通用传输格式,例如,可以为glTF格式,而且每个层级的三维图元列表都合并存储为一个glTF。
每个glTF文件存储TjsMesh信息时,按照相同材质进行合并处理,例如,包括纹理和贴图,同时,存储几何数据时采用glTF格式原生支持的Draco 算法,实现数据流的高度压缩,有助于web端的数据传输。
S6,将TjsBuilding对象进行结构化存储。
如图2所示,为本发明存储方法的实施例提供的数据存储结构示意图,可以分别建立“TjsPlan—TjsRoom—TjsEquipment”和“TjsMepType— TjsMepSystem—TjsEquipment”树状结构。
下面结合附图给出更为具体的示例,图3为本发明智慧楼宇模型的机电模型渲染示意图,如果整个智慧楼宇模型同时加载时,一共包含10000多个三维图元,前端渲染压力很大。但是本发明的树状结构下,各层级的三维模型进行合并,各自只导出一个gltf,模型数量直降到500个以内,并采用了 Draco压缩处理,大幅度提升了加载能力。
图4为本发明智慧楼宇模型的二层建筑模型渲染示意图,Web端加载时,可以快速定位到二层建筑模型。
图5为本发明智慧楼宇模型的房间模型渲染示意图,精准定位到房间里的建筑类设备。
图6为本发明智慧楼宇模型的机电模型渲染示意图,只加载风管系统的模型,提高了加载能力。本实施例提供的存储方法通过完整地保留了常规的几何、材质、纹理、贴图、属性等原生态BIM信息的前提下,运用几何复用、模型合并、Draco压缩算法、文件加密等措施,降低了内存消耗,提升了三维模型加载能力,保证了数据安全,此外,本发明还实现了从“楼层—房间—建筑设备”、从“机电类别—机电系统—机电设备”的树状结构,简单有效、又快捷,为web渲染以及智慧楼宇平台的业务实现提供了强有力的支撑,本发明在保证BIM三维模型能够在针对楼宇管理平台上正确渲染的前提下,利用简单的BIM模型结构实现了Web端对模型的快速加载模和有效控制,为智慧楼宇的模型数据和业务关联建立了桥梁。
可选地,在一些可能的实施方式中,获取包含待存储数据的Revit文件,根据Revit文件创建TjsBuilding对象,具体包括:
获取包含待存储数据的Revit文件,采用递归的方式遍历所有关联的 Revit文件,读取Revit文件中的项目信息,根据项目信息创建TjsBuilding 对象。
需要说明的是,作为多专业协同BIM设计软件,Revit建筑模型经常是分成建筑、结构、机电等多个专业各自建模,利用链接的方式整合到一个总装文件。一般来讲,链接文件嵌套着其他链接文件,所以可以采用递归的方式遍历所有关联rvt文件。
可选地,可以读取当前rvt文件相关信息,包括当前项目文档、三维视图、项目基点、文件名称和相机等信息。例如,文件名称作为TjsBuilding 的Name,相机信息作为TjsBuilding场景的默认相机位置及视角等。
可选地,在一些可能的实施方式中,读取Revit文件中所有三维图元的网格信息,根据网格信息创建TjsMesh对象,根据TjsMesh对象生成 TjsBuilding对象的TjsMesh列表,具体包括:
用IExportContext接口遍历,读取Revit文件中所有三维图元的空间位置及轻量化后的几何、材质、纹理和贴图信息;
例如,可以用IExportContext接口遍历,获取所有三维图元的空间位置及轻量化后的几何、材质、纹理和贴图信息。其中,空间位置信息包括缩放、旋转和移动;几何信息包括三维点坐标、法线坐标、UV坐标和索引;材质信息包括颜色、透明度、反射和光泽等;纹理和贴图信息包括图片路径、比例、偏移和角度等。
对每个三维图元的几何、材质、纹理和贴图信息进行合并处理,生成完整的多边形网格TjsMesh对象,每个三维图元与TjsMesh对象一对一映射;
例如,每个三维图元的几何、材质、纹理、贴图等信息进行合并处理,生成一个完整的多边形网格对象TjsMesh,通过三维图元的Element的ID,实现三维图元与TjsMesh的一对一映射。
根据全部类型的三维图元对应的TjsMesh对象生成TjsMesh列表,相同 TjsMesh对象只存储一份。
需要说明的是,相同类型的三维图元只记录一份TjsMesh数据,生成 TjsBuilding的无重复TjsMesh列表,大大减少了三维模型数据的存储量。
可选地,在一些可能的实施方式中,解析Revit文件的建筑和结构类三维图元,创建TjsPlan列表,具体包括:
遍历Revit文件的建筑和结构类三维图元的所有楼层标高,对不同专业相同楼层的标高进行合并处理,创建TjsPlan对象;
例如,Revit文件中,相同楼层的建筑标高和结构标高是不一样的,这种不同标高、但相同楼层的都统一修改为一种标高;读取每个Revit标高的 ID、名称、Level值等信息,创建TjsPlan对象。
遍历每个楼层标高的房间边界以外的三维图元即不属于房间的三维图元,将不属于房间的三维图元统一存储到TjsPlan对象的三维图元列表中,且相同标高值的TjsPlan对象只记录一份;
例如,可以遍历Revit每个楼层标高的不属于房间的三维图元,包括墙、梁、柱、窗、门、屋顶、楼梯等,并统一地存储到该TjsPlan的三维图元列表中。
剔除不包含三维图元的TjsPlan对象,并将剩余的TjsPlan对象统一记录在TjsBuilding对象的TjsPlan列表中。
应理解,相同标高值的TjsPlan只记录一份,剔除不涉及三维图元的TjsPlan,统一记录在TjsBuilding的TjsPlan列表,避免写入重复和无效的数据。
可选地,在一些可能的实施方式中,创建TjsRoom列表具体包括:
遍历每个楼层标高的所有房间,读取每个房间的属性信息,创建 TjsRoom对象;
例如,可以遍历Revit每个楼层标高的所有房间,读取每个房间的ID、名称、编号、包围盒及所属标高等属性信息。同时,通过房间边界图元查缺补漏房间划分及房间标签,对应一个房间创建一个TjsRoom对象。
按照房间边界指定每个房间内的除建筑设备类以外的三维图元,将除建筑设备类以外的三维图元统一存储到TjsRoom对象的三维图元列表中,且相同ID的TjsRoom对象只记录一份;
例如,可以按照房间边界指定所属的楼板、天花板等归类为除建筑设备以外的三维图元,统一存储到该TjsRoom的三维图元列表中。
剔除包围盒大小为0的TjsRoom对象,并将剩余的TjsRoom对象统一记录在每个TjsPlan对象的TjsRoom列表中。
应理解,相同ID的TjsRoom只记录一份,剔除包围盒大小为0的 TjsRoom,统一记录在每个TjsPlan的TjsRoom列表,可以避免写入重复和无效的数据。
可选地,在一些可能的实施方式中,创建TjsFurniture列表具体包括:
遍历每个房间内的建筑设备类三维图元,并读取每个建筑设备类三维图元的属性信息,生成TjsFurniture对象;
例如,可以遍历Revit每个房间内的所有建筑设备类三维图元,并读取每个三维图元的ID、名称、类型、包围盒、标高以及属性等信息,生成 TjsFurniture对象。
将建筑设备类三维图元存储到TjsFurniture对象的三维图元列表中;
应理解,TjsEquipment对象和房间内的建筑设备类三维图元也就是族实例对象是一一对应的,将房间内的设备类三维图元直接存储到该 TjsEquipment的三维图元列表即可。
把创建好的每个TjsFurniture对象统一存储到所属TjsRoom对象的TjsFurniture列表中。
可选地,在一些可能的实施方式中,遍历Revit文件的机电系统类别,创建TjsMepType列表具体包括:
遍历Revit文件的机电系统类别,根据不同的机电系统类别创建 TjsMepType对象;
应理解,Revit的机电系统类别大致分为机械、管道、电气等3种类别,可以创建3种TjsMepType对象。
遍历Revit文件的每个机电系统类别的不属于机电系统的三维图元,将不属于机电系统的三维图元统一存储到TjsMepType对象的三维图元列表中;
例如,可以遍历Revit每个机电系统类别下的不属于机电系统的三维图元,比如桥架、预支支架等统一地存储到该TjsMepType的三维图元列表中。
将创建好的所有TjsMepType对象统一存储到TjsBuilding对象的 TjsMepType列表中。
可选地,在一些可能的实施方式中,创建TjsMepSystem列表具体包括:
遍历Revit文件的每个机电系统类别的所有机电系统,读取每个机电系统的属性信息,生成TjsMepSystem对象;
例如,可以遍历Revit每个机电系统类别下的所有机电系统,读取每个机电系统的ID、名称、系统类型、系统分类、系统材质、连接关系等信息,生成TjsMepSystem对象。
遍历Revit文件的每个机电系统下的不属于机电设备类的三维图元,将不属于机电设备类的三维图元统一存储到TjsMepSystem对象的三维图元列表中,且相同ID的TjsMepSystem对象只记录一份;
例如,可以遍历Revit每个机电系统下的不属于机电设备类的三维图元,比如管道、管件等统一地存储到该TjsMepSystem的三维图元列表中。
将创建的全部TjsMepSystem对象统一记录在每个TjsMepType对象的TjsMepSystem列表中。
应理解,相同ID的TjsMepSystem只记录一份,统一记录在每个 TjsMepType的TjsMepSystem列表,避免写入重复数据。
可选地,在一些可能的实施方式中,创建TjsEquipment列表具体包括:
读取Revit文件的机电系统的管件和机电设备之间的连接关系,通过 Domain信息获取与每个机电系统相连的所有机电设备类三维图元,并读取每个机电设备类三维图元的属性信息,创建TjsEquipment对象;
例如,可以读取Revit机电系统的管件和机电设备之间的连接关系,利用Domain信息获取与每个机电系统相连的所有机电设备类三维图元,并读取每个机电设备类三维图元的ID、名称、类型、包围盒及所属机电系统等信息,生成TjsEquipment对象。
将机电设备类三维图元存储到TjsEquipment对象的三维图元列表中;
应理解,每个TjsEquipment对象和Revit的机电系统的管件相连的机电设备类三维图元是一一对应的,只要把相应的机电设备类三维图元直接存储到该TjsEquipment对象的三维图元列表即可。
将创建好的TjsEquipment对象统一存储到所属TjsMepSystem对象的TjsEquipment列表中。
可选地,在一些可能的实施方式中,将TjsBuilding对象进行结构化存储,具体包括:
将TjsBuilding对象的从TjsPlan到TjsRoom到TjsFurniture的树状结构和从TjsMepType到TjsMepSystem到TjsEquipment的树状结构进行Json序列化存储,且树结构的每个节点都是三维图元列表及子节点列表的相同模板;
将生成的所有文件统一压缩,并加密保存。
例如,可以把TjsBuilding的“TjsPlan—TjsRoom—TjsEquipment”和“TjsMepType—TjsMepSystem—TjsEquipment”树状结构进行Json序列化存储,而且该树结构的每个节点都是“三维图元列表+子节点列表”的相同模板,有助于web端的BIM模型数据的解析。
然后将生成的所有文件统一压缩,通过DESCryptoServiceProvider加密保存。
应理解,在不违背本发明构思的前提下,本领域技术人员可以将上述实施方式进行任意组合,均在本发明的保护范围内。
读者应理解,在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的方法实施例仅仅是示意性的,例如,步骤的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个步骤可以结合或者可以集成到另一个步骤,或一些特征可以忽略,或不执行。
上述方法如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM, Read-OnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (10)

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对象;
按照房间边界获取每个房间内的除建筑设备类以外的三维图元,将所述除建筑设备类以外的三维图元统一存储到所述TjsRoom对象的三维图元列表中,且相同ID的TjsRoom对象记录一份;
剔除包围盒大小为0的TjsRoom对象,并将剩余的TjsRoom对象统一记录在每个TjsPlan对象的TjsRoom列表中。
6.根据权利要求5所述的适合于运维管理的BIM数据轻量化存储方法,其特征在于,创建TjsFurniture列表具体包括:
遍历每个所述房间内的建筑设备类三维图元,并读取所述建筑设备类三维图元的属性信息,生成TjsFurniture对象;
将所述建筑设备三维图元存储到所述TjsFurniture对象的三维图元列表中;
把创建好的每个TjsFurniture对象统一存储到所属TjsRoom对象的TjsFurniture列表中。
7.根据权利要求1所述的适合于运维管理的BIM数据轻量化存储方法,其特征在于,解析所述Revit文件的机电类三维图元,创建TjsMepType列表具体包括:
遍历所述Revit文件的所有机电系统类别,根据不同的所述机电系统类别创建TjsMepType对象;
遍历每个所述机电系统类别的机电系统所属以外的三维图元,将所述机电系统所属以外的三维图元统一存储到所述TjsMepType对象的三维图元列表中;
将创建好的所有TjsMepType对象统一存储到所述TjsBuilding对象的TjsMepType列表中。
8.根据权利要求7所述的适合于运维管理的BIM数据轻量化存储方法,其特征在于,创建TjsMepSystem列表具体包括:
遍历每个所述机电系统类别的所有机电系统,读取每个所述机电系统的属性信息,生成TjsMepSystem对象;
遍历每个所述机电系统的除机电设备类以外的三维图元,将所述机电设备类以外的三维图元统一存储到所述TjsMepSystem对象的三维图元列表中,且相同ID的TjsMepSystem对象记录一份;
将创建的全部TjsMepSystem对象统一记录在每个所述TjsMepType对象的TjsMepSystem列表中。
9.根据权利要求8所述的适合于运维管理的BIM数据轻量化存储方法,其特征在于,创建TjsEquipment列表具体包括:
读取所述机电系统的管件和机电设备之间的连接关系,通过Domain信息获取与每个所述机电系统相连的所有机电设备类三维图元,并读取每个机电设备类三维图元的属性信息,创建TjsEquipment对象;
将所述机电设备类三维图元存储到所述TjsEquipment对象的三维图元列表中;
将创建好的TjsEquipment对象统一存储到所属TjsMepSystem对象的TjsEquipment列表中。
10.根据权利要求1至9中任一项所述的适合于运维管理的BIM数据轻量化存储方法,其特征在于,将所述TjsBuilding对象进行结构化存储,具体包括:
将所述TjsBuilding对象的从TjsPlan到TjsRoom到TjsFurniture的树状结构和从TjsMepType到TjsMepSystem到TjsEquipment的树状结构进行Json序列化存储,且树结构的每个节点都是三维图元列表及子节点列表的相同模板;
将生成的所有文件统一压缩,并加密保存。
CN202210698728.0A 2022-06-20 2022-06-20 一种适合于运维管理的bim数据轻量化存储方法 Pending CN115359208A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210698728.0A CN115359208A (zh) 2022-06-20 2022-06-20 一种适合于运维管理的bim数据轻量化存储方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210698728.0A CN115359208A (zh) 2022-06-20 2022-06-20 一种适合于运维管理的bim数据轻量化存储方法

Publications (1)

Publication Number Publication Date
CN115359208A true CN115359208A (zh) 2022-11-18

Family

ID=84030174

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210698728.0A Pending CN115359208A (zh) 2022-06-20 2022-06-20 一种适合于运维管理的bim数据轻量化存储方法

Country Status (1)

Country Link
CN (1) CN115359208A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117290132A (zh) * 2023-11-15 2023-12-26 江西少科智能建造科技有限公司 一种便于三维模型机电管线综合的数据处理方法及系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117290132A (zh) * 2023-11-15 2023-12-26 江西少科智能建造科技有限公司 一种便于三维模型机电管线综合的数据处理方法及系统
CN117290132B (zh) * 2023-11-15 2024-03-08 江西少科智能建造科技有限公司 一种便于三维模型机电管线综合的数据处理方法及系统

Similar Documents

Publication Publication Date Title
CN110245368B (zh) 一种bim数据的结构化处理与存储方法
US8612040B2 (en) Automated derivative view rendering system
US10636209B1 (en) Reality-based three-dimensional infrastructure reconstruction
CN109408044B (zh) 一种基于glTF的BIM数据与GIS数据的整合方法
CN110688692B (zh) 一种基于结构化bim模型的二三维联动及叠加显示的方法
RU2324229C2 (ru) Визуальный и пространственный графические интерфейсы
CN1534476B (zh) 一种计算机实现来用于图像处理的方法和系统
RU2360275C2 (ru) Уровень интеграции сред
US8584084B2 (en) System for library content creation
WO2012138897A1 (en) Bim based 3-d visualization
US20070171222A1 (en) Application-independent method for capturing three-dimensional model data and structure for viewing and manipulation
CN107450897B (zh) 图形引擎的跨平台移植方法和装置
CN104731588B (zh) 页面布局文件生成方法和页面布局文件生成装置
CN111161390A (zh) 一种基于BIM模型和WebGL的渲染方法及装置
CN115359208A (zh) 一种适合于运维管理的bim数据轻量化存储方法
Coelho et al. Expeditious Modelling of Virtual Urban Environments with Geospatial L‐systems
CN112883240B (zh) 一种基于数字孪生的数据轻量化的bim建筑模型管理方法及其管理系统
CN111221514A (zh) 基于OsgEarth的三维可视化组件实现方法及系统
WO2008026003A2 (en) 3 d pdf document generator and method for generating 3d pdf documents
He et al. All range and heterogeneous multi-scale 3D city models
CN114969586A (zh) 基于web端的bim图形引擎加载方法及装置
Leng et al. A data integration and simplification framework for improving site planning and building design
CN110136235B (zh) 三维bim模型外壳提取方法、装置及计算机设备
Petrova-Antonova et al. Towards a semantic 3D model of Sofia City
JP5010000B2 (ja) シーングラフ中のパラメータのアクセス性および制御のための方法およびシステム

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