一种建筑信息模型数据导入Cesium的方法与流程

文档序号:32343557发布日期:2022-11-26 10:35阅读:237来源:国知局
一种建筑信息模型数据导入Cesium的方法与流程
一种建筑信息模型数据导入cesium的方法
技术领域
1.本发明涉及计算机图形学技术领域,特别是涉及一种建筑信息模型数据导入cesium的方法。


背景技术:

2.建筑信息模型(building information model,bim)是一类建设领域信息的数字化定义方式,国际标准(iso 16739-1:2018)中定义了工业基础类(ifc),是建筑信息模型的统一数据标准。一般认为支持ifc格式导入导出的建模软件即为建筑信息建模软件。目前使用较为广泛的建筑信息建模软件包括autodesk revit、bentley microstation等。
3.cesium引擎是一种可以展示gis信息的浏览器端3d图形引擎,它支持3dtiles标准的三维数据。3dtiles在gltf标准的基础上引入了hlod的结构,进而支持三维模型由粗略到精细的不同细度的表达,因此在模型加载方面存在一定的优势。
4.将建筑信息模型数据导入cesium,狭义上指将ifc格式模型导入cesium中,广义上指从建筑信息建模软件将模型数据导入cesium中。已有研究或软件支持将revit模型导入cesium,或将ifc格式模型导入cesium。这些方法的特征是将目标模型数据直接转换为3dtiles格式数据。第一步一般是生成中间格式的模型数据(也可没有该步骤);第二步即是生成3dtiles格式数据。这一步中,首先需要对模型空间分解并生成hlod结构,此后利用各类模型简化算法生成各hlod级别的粗略模型,之后将这些模型数据封装成符合gltf标准的数据,最后进一步封装成3dtiles格式数据。
5.目前已有的将建筑信息模型数据导入cesium的各类方法,但这些方法在导入过程中均无法对模型进行编辑与重新组合,并且不同的建筑信息模型文件中的数据无法合并至一个3dtileset。


技术实现要素:

6.为了解决现有技术存在的不足,本发明的目的在于提供一种建筑信息模型数据导入cesium的方法,基于模型管理软件,将建筑信息模型数据导入cesium,实现在导入过程中可以对模型进行编辑、重新组合、或者将不同的建筑信息模型文件中的数据合并至一个3dtileset。
7.为了实现上述目的,本发明提供的建筑信息模型数据导入cesium的方法,包括以下步骤:
8.利用建筑信息建模软件将建筑信息模型导入模型管理软件;
9.在所述模型管理软件中对所述建筑信息模型数据进行编辑;
10.将编辑后的所述建筑信息模型数据转换为cesium支持的3d tileset结构;
11.利用cesium引擎在浏览器中加载所述tileset,浏览所述建筑信息模型内容。
12.进一步地,所述利用建筑信息建模软件将建筑信息模型导入模型管理软件的步骤,采用但不限于以下方法中的一种:
13.使用所述建筑信息建模软件导出为ifc文件,所述模型管理软件解析所述ifc的所有实体,并转换成模型数据结构;
14.使用所述建筑信息建模软件的插件导出为所述模型管理软件支持的中间格式,所述模型管理软件导入所述中间格式文件,并转换成模型数据结构;
15.使用所述建筑信息建模软件的插件直接将所述模型数据转换成模型数据结构,并上传至所述模型管理软件的后端。
16.进一步地,所述模型数据结构,包括:空间节点,属性包,基本量,三维显示数据,材质,以及网格数据包,其中,
17.所述空间节点,即模型树中的节点,树状结构的叶子节点是模型选择的最小单元;
18.所述属性包,是各空间节点的所有属性集的集合;
19.所述基本量,包括:体积、长度、宽度的集合;
20.所述三维显示数据,其数据中定义有空间转换矩阵,同时其关联有一个材质与一个几何表达;其与空间节点之间为多对多关联;
21.所述材质,其定义了图形渲染所需的材质参数,同时关联纹理贴图;
22.所述网格数据包,由多个blob拼接而成,每个blob分为4个部分:第1部分存储所有点的位置坐标,第2部分存储所有法向量,第3部分存储所有贴图坐标,第4部分存储顶点序号。
23.进一步地,所述在所述模型管理软件中对所述建筑信息模型数据进行编辑的步骤,包括:
24.对空间节点本身的调整,在模型树状结构中的移动、复制、删除与重命名;
25.调整空间节点的相关数据,包括属性集、基本量与材质。
26.进一步地,所述将编辑后的所述建筑信息模型数据转换为cesium支持的3dtileset结构,包括:选择数据模型的空间节点中的某个节点,以其为根节点,将其包含的所有模型数据转换为cesium支持的3dtileset结构,其算法步骤包括:
27.按空间分解所有所述空间节点,重组所有叶子空间节点,生成tileset结构;
28.对于所述tileset中每个tile节点,打包其包含的三维显示数据,生成gltf格式文件,再打包为b3dm文件,将其相对位置写入tile节点的内容属性中。
29.更进一步地,所述生成tileset结构的步骤,包括:
30.遍历所述空间节点以及其包含的所有子系节点,得到所有的几何表达,并得到总的包围盒;
31.采用递归的方式对所述空间节点进行二叉树分解,每次分解得到2个tile,对于所有分解得到的tile:
32.选取包围盒主方向;
33.遍历节点中带划分的构件;
34.对左右tile进行二叉树分解。
35.为了实现上述目的,本发明还提供一种电子设备,包括,存储器和处理器,所述存储器中存储有计算机指令,所述处理器被设置为运行所述指令以执行如上所述的建筑信息模型数据导入cesium的方法的步骤。
36.为了实现上述目的,本发明还提供一种计算机可读存储介质,其上存储有计算机
指令,当计算机指令运行时执行如上所述的建筑信息模型数据导入cesium的方法的步骤。
37.本发明的建筑信息模型导入cesium的方法,与现有技术相比较,具有如下的有益效果:
38.利用建筑信息建模软件将建筑信息模型导入模型管理软件,在模型管理软件中可以对模型进行编辑或者附加信息;
39.将建筑信息模型数据转换为cesium支持的3dtileset结构,不同的建筑信息模型文件中的数据可以合并至同一个3dtileset。
40.本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。
附图说明
41.附图用来提供对本发明的进一步理解,并且构成说明书的一部分,并与本发明的实施例一起,用于解释本发明,并不构成对本发明的限制。在附图中:
42.图1为根据本发明的建筑信息模型数据导入cesium的方法流程图;
43.图2为根据本发明的导入模型管理软件后模型数据存储结构示意图;
44.图3为根据本发明的网络数据包结构示意图;
45.图4为根据本发明的导入模型管理软件后模型存储结构示意图;
46.图5为根据本发明的使用cesium引擎浏览模型结构示意图;
47.图6为根据本发明实施例的电子设备结构示意图。
具体实施方式
48.以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
49.下面将参照附图更详细地描述本发明的实施例。虽然附图中显示了本发明的某些实施例,然而应当理解的是,本发明可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本发明。应当理解的是,本发明的附图及实施例仅用于示例性作用,并非用于限制本发明的保护范围。
50.本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
51.需要注意,本发明中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。“多个”应理解为两个或以上。
52.下面,将参考附图详细地说明本发明的实施例。
53.实施例1
54.图1为根据本发明的建筑信息模型数据导入cesium的方法流程图,下面将参考图1,对本发明的建筑信息模型数据导入cesium的方法进行详细描述。
55.在步骤101,利用建筑信息建模软件将建筑信息模型导入模型管理软件。
56.目前使用较为广泛的建筑信息建模软件包括autodesk revit、bentley microstation等。
57.模型管理软件采用“4dcloud”软件,该软件是一个使用关系型数据库持久化数据的软件系统,其具有用户界面提供必要的模型导入、转换与管理能力。
58.利用bim建模软件(建筑信息建模软件)将建立的bim(建筑信息模型)导入模型管理软件,采用但不限于下列几种数据导入方法中的一种:
59.bim建模软件导出为ifc文件(使用其自有导出功能),模型管理软件解析ifc的所有实体,并转换成模型数据存储结构;
60.使用bim建模软件的插件(二次开发的自定义插件,4d-bim模型导出插件)导出为模型管理软件支持的自定义中间格式(4dm格式),模型管理软件导入该中间格式文件,并转换成模型数据存储结构;
61.使用bim建模软件的插件直接将模型数据转换成模型数据存储结构并上传至模型管理软件的后端。
62.在本发明实施例中,将模型导入“4dcloud”软件,该软件支持ifc格式与4dm格式模型文件,其中所有bim建模软件均支持导出ifc格式;通过4d-bim模型导出插件,可以导出4dm格式文件,同时使用4d-bim模型导出插件可直接将模型数据行导入“4dcloud”软件。
63.图2为根据本发明的导入“4dcloud”软件后模型数据存储结构示意图,如图2所示,本发明的模型数据存储结构,包括:空间节点,属性包,基本量,三维显示数据,材质,以及网格数据包,其中,
64.空间节点:模型树中的节点。该树状结构的叶子节点是模型选择的最小单元;
65.属性包:各空间节点的所有属性集(参考ifcpropertyset的定义)的集合;
66.基本量:包括体积、长度、宽度等基本量的集合(参考ifcquantityset);
67.三维显示数据:数据中定义有空间转换矩阵,同时其关联有一个材质与一个几何表达;三维显示数据与空间节点之间为多对多关联;
68.材质:定义了图形渲染所需的材质参数,同时关联有必要的纹理贴图;
69.图3为根据本发明的网络数据包结构示意图,如图3所示,本发明的网格数据包,由多个blob拼接而成,每个blob分为4个部分:第1部分存储所有点的位置坐标;第2部分存储所有法向量;第3部分存储所有贴图坐标;第4部分存储顶点序号。
70.导入“4dcloud”软件后的模型存储结构如图4所示。
71.在步骤102,在所述模型管理软件中对所述建筑信息模型数据进行编辑。
72.在模型管理软件中对模型数据进行编辑的步骤,包括:
73.对空间节点本身的调整,在模型树状结构中的移动、复制、删除与重命名;
74.调整空间节点的相关数据,包括属性集、基本量与材质。
75.在本发明实施例中,在“4dcloud”软件中对模型树中的空间节点进行移动、复制、删除或重命名,以重新组合。这些空间节点可能来自于不同的bim建模软件,或者通过不同的导入方式导入的。
76.在步骤103,将编辑后的所述建筑信息模型数据转换为cesium支持的3d tileset结构。
77.具体地,包括以下步骤:选择模型数据的空间节点中的某个节点,以其为根节点,
将其包含的所有模型数据转换为cesium支持的3dtileset结构,算法步骤包括:
78.按空间分解所有空间节点,重组所有叶子空间节点,生成tileset结构;
79.对于tileset中每个tile节点,打包其包含的三维显示数据,生成gltf格式文件(引用网格数据包),再打包为b3dm文件,将其相对位置写入tile节点的内容(content)属性中。
80.生成tileset结构的具体步骤包括:
81.遍历所述空间节点以及其包含的所有子系节点,得到所有的几何表达,并得到总的包围盒;
82.采用递归的方式对所述空间节点进行二叉树分解,每次分解得到2个tile,停止条件为:节点深度大于最大深度,或节点包含不超过一个构件(叶空间节点),或节点中带划分的构件总顶点数不超过打包顶点数上限且构件总数不超过打包构件数量上限;
83.对于所有分解得到的tile:
84.选取包围盒主方向;
85.遍历节点中带划分的构件:如果一个构件在主方向上横跨0.25到0.75比例位置,则该构件属于此节点;否则,如果构件包围盒中心点在0-0.5比例位置,划分至左节点;在0.5-1.0位置,划分至右节点;
86.对左右tile进行二叉树分解。
87.在本发明实施例中,选择需要导入cesium的空间节点,将其设为子模型,并选择发布该模型。执行这些操作,“4dcloud”客户端将生成该空间节点对应的tileset,同时生成该tileset所需的所有b3dm格式文件,并把他们均上传至web服务器上。
88.在步骤104,利用cesium引擎在浏览器中加载所述tileset,浏览所述建筑信息模型内容。
89.在本发明实施例中,使用cesium引擎展示上述模型如图5所示。
90.本发明提供的建筑信息模型数据导入cesium的方法,在导入过程中可以对模型进行编辑或者附加信息;不同的建筑信息模型文件中的数据可以合并至同一个3dtileset。
91.实施例2
92.本发明的实施例中,还提供了一种电子设备,图6为根据本发明实施例的电子设备结构示意图,如图6所示,本发明的电子设备,包括处理器601,以及存储器602,其中,
93.存储器602存储有计算机程序,计算机程序在被处理器601读取执行时,执行如上所述的建筑信息模型数据导入cesium的方法实施例中的步骤。
94.实施例3
95.本发明的实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行如上所述的建筑信息模型数据导入cesium的方法实施例中的步骤。
96.在本发明实施例中,上述计算机可读存储介质可以包括但不限于:u盘、只读存储器(read-only memory,简称为rom)、随机存取存储器(random access memory,简称为ram)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
97.本领域普通技术人员可以理解:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员
来说,其依然可以对前述各实施例记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1