CN111930742B - 基于建筑信息模型bim的数据存储方法及相关装置 - Google Patents
基于建筑信息模型bim的数据存储方法及相关装置 Download PDFInfo
- Publication number
- CN111930742B CN111930742B CN202010720321.4A CN202010720321A CN111930742B CN 111930742 B CN111930742 B CN 111930742B CN 202010720321 A CN202010720321 A CN 202010720321A CN 111930742 B CN111930742 B CN 111930742B
- Authority
- CN
- China
- Prior art keywords
- data
- component
- information
- determining
- bim
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
- G06F16/285—Clustering or classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30025—Format conversion instructions, e.g. Floating-Point to Integer, decimal conversion
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请实施例公开了一种基于建筑信息模型BIM的数据存储方法及相关装置,所述方法包括:根据网格信息对BIM模型中的每个构件进行分类,得到多个构件组;针对所述多个构件组中每个构件组执行如下操作,得到每个构件组的目标存储数据:根据所述构件信息确定当前处理的构件组的第一数据;根据所述构件信息确定所述当前处理的构件组中每个构件的第二数据;处理所述第一数据和所述第二数据,得到所述当前处理的构件组的目标存储数据;存储所述多个构件组的目标存储数据。这样可以使得BIM模型在存储时对存储空间的占用减少,从而提高BIM模型的网络传输性能和流转速度。
Description
技术领域
本申请涉及建筑设计技术领域,具体涉及一种基于建筑信息模型BIM的数据存储方法及相关装置。
背景技术
建筑信息模型(Building Information Modeling,BIM)技术是一种应用于工程设计、建造、管理的数据化工具,通过对建筑的数据化、信息化模型整合,在项目策划、运行和维护的全生命周期过程中进行共享和传递,使工程技术人员对各种建筑信息作出正确理解和高效应对,为设计团队以及包括建筑、运营单位在内的各方建设主体提供协同工作的基础,在提高生产效率、节约成本和缩短工期方面发挥重要作用。目前市面上使用的BIM文件大多数是采用数模分离的方式来实现模型的轻量化目的。由于不同厂商的模型格式组织方式不一样,而不同厂商几乎都会提供特定的模型导出应用程序接口(ApplicationProgramming Interface,API),以实现BIM文件中模型部分直接导出为通用的3d模型格式。
发明内容
本申请实施例提供了一种基于建筑信息模型BIM的数据存储方法及相关装置,以期能减少模型的存储空间。
第一方面,本申请实施例提供了一种基于建筑信息模型BIM的数据存储方法,包括:
根据网格信息对BIM模型中的每个构件进行分类,得到多个构件组,所述网格信息用于表示构件形状,所述每个构件包括构件信息,所述构件信息包括所述网格信息;
针对所述多个构件组中每个构件组执行如下操作,得到每个构件组的目标存储数据:根据所述构件信息确定当前处理的构件组的第一数据,所述第一数据是指所述当前处理的构件组中多个构件的构件信息中参数类型和参数值都相同的数据,所述第一数据包括所述网格信息;根据所述构件信息确定所述当前处理的构件组中每个构件的第二数据,所述第二数据包括与所述第一数据的参数类型不同的数据;处理所述第一数据和所述第二数据,得到所述当前处理的构件组的目标存储数据;
存储所述多个构件组的目标存储数据。
第二方面,本申请实施例提供了一种基于建筑信息模型BIM的数据存储装置,所述装置包括:
分类单元,用于根据网格信息对BIM模型中的每个构件进行分类,得到多个构件组,所述网格信息用于表示构件形状,所述每个构件包括构件信息,所述构件信息包括所述网格信息;
获取单元,用于针对所述多个构件组中每个构件组执行如下操作,得到每个构件组的目标存储数据:根据所述构件信息确定当前处理的构件组的第一数据,所述第一数据是指所述当前处理的构件组中多个构件的构件信息中参数类型和参数值都相同的数据,所述第一数据包括所述网格信息;根据所述构件信息确定所述当前处理的构件组中每个构件的第二数据,所述第二数据包括与所述第一数据的参数类型不同的数据;处理所述第一数据和所述第二数据,得到所述当前处理的构件组的目标存储数据;
存储单元,用于存储所述多个构件组的目标存储数据。
第三方面,本申请实施例提供一种电子设备,包括处理器、存储器、通信接口以及一个或多个程序,其中,上述一个或多个程序被存储在上述存储器中,并且被配置由上述处理器执行,上述程序包括用于执行本申请实施例第一方面任一方法中的步骤的指令。
第四方面,本申请实施例提供了一种计算机可读存储介质,其中,上述计算机可读存储介质存储用于电子数据交换的计算机程序,其中,上述计算机程序使得计算机执行如本申请实施例第一方面任一方法中所描述的部分或全部步骤。
第五方面,本申请实施例提供了一种计算机程序产品,其中,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如本申请实施例第一方面任一方法中所描述的部分或全部步骤。该计算机程序产品可以为一个软件安装包。
可以看出,本申请实施例中,首先根据网格信息对BIM模型中的每个构件进行分类,得到多个构件组,然后得到每个构件组的目标存储数据,最后存储多个构件组的目标存储数据。这样可以使得BIM模型在存储时对存储空间的占用减少,从而提高BIM模型的网络传输性能和流转速度。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种基于BIM的数据存储***;
图2是本申请实施例提供的一种基于BIM的数据存储方法的流程示意图;
图3是本申请实施例提供的一种基于BIM的数据存储装置的功能单元组成框图;
图4是本申请实施例提供的一种电子设备结果示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、***、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
目前,通用的3d文件格式是考虑了通用的3d模型的应用目的,因此增加了许多兼容性信息在里面,使得BIM模型数据比较庞大时,3d文件占用空间大。
针对上述问题,本申请实施例提供了一种基于建筑信息模型BIM的数据存储方法及相关装置,下面结合附图对本申请实施例进行详细介绍。
如图1所示,图1是本申请实施例提供的一种基于BIM的数据存储***,所述基于BIM的数据存储***100包括BIM数据存储装置和数据库。所述BIM数据存储装置用于对BIM的数据进行处理和压缩,所述BIM数据存储装置与数据库通信连接,用于将处理和压缩后的BIM数据存储在数据库中。
请参阅图2,图2是本申请实施例提供的一种基于BIM的数据存储方法的流程示意图,如图所示,本基于建筑信息模型BIM的数据存储方法包括如下步骤。
S201,根据网格信息对BIM模型中的每个构件进行分类,得到多个构件组,所述网格信息用于表示构件形状,所述每个构件包括构件信息,所述构件信息包括所述网格信息。
其中,所述网格信息可以用来表示形状不同的构件信息,也就是说每个形状的构件都有一个唯一的网格信息,例如BIM模型中的柱子的网格信息相同,即使每个形状为柱子的构件的位置和姿态不同,但他们的网格信息相同。网格信息也可以看成是构成构件的三角面的点和三角形的边的集合,网格信息中包括了顶点的法线信息和颜色信息等,还包含了每个顶点的连接顺序。
S202,针对所述多个构件组中每个构件组执行如下操作,得到每个构件组的目标存储数据:根据所述构件信息确定当前处理的构件组的第一数据,所述第一数据是指所述当前处理的构件组中多个构件的构件信息中参数类型和参数值都相同的数据,所述第一数据包括所述网格信息;根据所述构件信息确定所述当前处理的构件组中每个构件的第二数据,所述第二数据包括与所述第一数据的参数类型不同的数据;处理所述第一数据和所述第二数据,得到所述当前处理的构件组的目标存储数据。
其中,每个构件组中包含的构件都拥有相同的网格信息。构件信息是指构件在BIM模型中的信息,例如包括构件的位置信息,网格信息,姿态信息等参数。确定第一数据的方法可以是,确定当前处理的参数类型对应的该构件组中的所有构件的该参数类型的参数值;若每个构件的参数值一样,则添加该参数类型和参数值对应的信息到第一数据中;若存在一个构件的参数值与其他构件的参数值不一样,则结束对此参数类型的处理;更新所述当前处理的参数类型为下一个未处理的参数类型,直到所有参数类型都被处理。其中,第二数据可以看做是构件包含的构件信息中除去被作为第一数据的信息后的数据。且处理所述第一数据和所述第二数据的时间可以根据用户需求设置,可以在当前处理的构件组确定了第一数据和第二数据后就对数据进行处理,还可以当每个组的第一数据和第二数据都确定好后,再统一对这些第一数据和第二数据进行处理。
S203,存储所述多个构件组的目标存储数据。
其中,可以将得到的目标存储数据封装到变换矩阵中,并存储在数据库中,这样最终在前端渲染时,可以直接将相应数据乘以变换矩阵的逆矩阵就可以得到原始坐标值。
具体实现中,例如当构件组中包含的是柱子的构件时,若该构件组中包含的柱子构件仅是位置信息不同,而其他构件信息都是相同,则这些其他数据就是第一数据,而每个构件的位置信息就是第二数据,其中,第一数据仅包含一份,所有构件可以共用这一份第一数据。因此目标存储数据可以看做是包含有所有构件组的第一数据和每个构件的第二数据。
可见,本申请实施例中,首先根据网格信息对BIM模型中的每个构件进行分类,得到多个构件组,然后得到每个构件组的目标存储数据,最后存储多个构件组的目标存储数据。这样可以减少BIM模型在存储时对存储空间的占用,从而提高BIM模型的网络传输性能和流转速度。
在一个可能的实例中,所述网格信息包括所述构件包含的顶点对应的法线数据、坐标数据和/或颜色数据。
其中,BIM模型包含多个顶点,这些顶点根据不同的连接顺序和位置信息可以组成不同形状的构件,因此,每个形状的构件包含的顶点的位置信息和连接顺序都是特定的,而每个顶点都对应有法线数据,坐标数据和/或颜色数据等。且一般情况下,法线数据,坐标数据和颜色数据都是使用的双精度浮点类型来存储。
可见,本实例中,网格信息包含法线数据和/或坐标数据和/或颜色数据,这样可以在对第一数据和第二数据进行压缩处理时,这些数据能被同时处理,保证最后得到的目标存储数据的数据量够小。
在一个可能的实例中,所述处理所述第一数据和所述第二数据,得到目标存储数据,包括:获取所述第一数据和所述第二数据中包含的浮点型数据;根据预设变换矩阵将所述浮点型数据转换为整型数据;根据数据压缩算法将所述整型数据转换为字节流数据;确定所述第一数据和所述第二数据中包含的非浮点型数据和所述字节流数据为目标存储数据。
其中,每个双精度浮点类型的数据存储需要8字节,而将双精度浮点改为整型需使用4字节,则每个数可节省一半的空间。通过设立一个变换矩阵,将双精度浮点数据变换为整型数据,实现数据类型的转换,可以达到节省空间的目的。因为矩阵只是一个16个浮点数的数组,而坐标点等信息是千万级别甚至上亿级别的数量,将浮点型存储变为整型存储,其减少的空间至少为50%。坐标数据的值可转为32位,法线数据和颜色数据还可以转为字节类型,将浮点型数据转换为字节型数据进行存储,也可以减少存储空间。
可见,本实例中,将浮点数据根据变换矩阵转换为字节流数据进行存储,可以减少BIM数据的存储空间,从而提高BIM模型的网络传输性能和流转速度。
在一个可能的实例中,所述构件信息包括位置信息,所述根据数据压缩算法将所述整型数据转换为字节流数据,包括:确定所述BIM模型的中心坐标;根据所述位置信息获取所述每个构件相对于所述中心坐标的偏移坐标;对所述偏移坐标进行赋值,得到压缩整型数据;对所述压缩整型数据进行数据类型转换,得到字节流数据。
其中,所述BIM模型的中心坐标可以是以整个BIM模型为基准确定的BIM模型的中心坐标,还可以是以每个构件组为基准确定的每个构件组的中心坐标。在确定了中心坐标后,就可以确定出每个构件的第二数据中相对于该中心坐标的偏移坐标。若是以BIM模型为基准确定的中心坐标,则这个中心坐标应该包括构件信息中的所有参数类型,若是以每个构件组为基准确定的中心坐标,则这个中心坐标应该包含该中心坐标对应的构件组包含的所有构件的第二数据中的参数类型。例如一个构件的坐标信息为x=[12000,4200,53400],是一个16位无符号整型数据,通过中心位置[12000,4200,53400]偏移后,其坐标为x2=[125000-12000,4300-4200,53000-53400]=[5000,100,-400],然后再进一步除以一个常数,例如65535,就变为x3=[5000/65535,100/65535,-400/65535],最后将x3再乘以另外一个常数m,使得最终得到的数值可以固定在8位无符号整型数据的范围,将整型数据进一步压缩,并将压缩后的数据以字节流的方式存储,其压缩率至少可达10%。
可见,本实例中,对整型数据进行压缩处理后得到字节流数据进行存储,可以减少BIM数据的存储空间,从而提高BIM模型的网络传输性能和流转速度。
在一个可能的实例中,所述根据所述构件信息确定所述每个构件的第二数据,包括:确定所述每个构件组的基准构件,所述基准构件为所述每个构件组中的构件;确定所述每个构件组中的所述多个构件的构件信息中每个参数类型的数据相对于所述基准构件的构件信息的偏移数据;确定所述偏移数据为所述每个构件的第二数据。
其中,所述基准构件可以是构件组中的任意一个构件,也可以确定一个与其他构件的构件信息重合度最高的构件为基准构件。确定基准构件的方法可以包括:将当前处理的参数类型中,参数值相同的构件划分为一个集合,并保留包含的构件数量最多的第一集合,所述第一集合为多个集合中的集合;将当前处理的参数类型更新为下一个未处理的参数类型,并将所述第一集合中该当前处理的参数类型的参数值相同的构件划分为一个子集合,并保留包含的构件数量最多的第二集合,所述第二集合为多个子集合中的集合;重复上述操作,直至所有参数处理完毕或最后保留的集合中仅剩余一个构件;确定最后的集合中的构件为基准构件。
可见,本实例中,根据基准构件,确定其他构件的偏移数据,最终将偏移数据作为第二数据进行存储,可以减少BIM数据的存储空间,从而提高BIM模型的网络传输性能和流转速度。
在一个可能的实例中,云端存储有所述BIM模型的基本网格信息,所述处理所述第一数据和所述第二数据,得到目标存储数据,包括:对云端包含的所述基本网格信息进行编号;将所述第一数据中的网格信息与所述云端中的基本网格信息进行匹配,并记录所述网格信息的对应编号;替换所述第一数据中的网格信息为所述编号,得到目标存储数据。
其中,可以将BIM模型中存在的所有网格信息都事先存储在云端,并对每个网格信息都进行标注,例如对其进行编号。在对具体的BIM模型进行存储时,可以先确定该当前处理的BIM模型中存在的网格信息,并确定该网格信息在BIM模型中的编号,在最终存储时,不对具体的网格信息进行存储,仅存储该网格信息对应的编号,在最终使用时,再去云端获取该编号对应的网格信息。
可见,本实例中,在云端存储网格信息,本地存储云端的网格信息的编号,可以减少BIM数据的存储空间,从而提高BIM模型的网络传输性能和流转速度。
在一个可能的实例中,所述第二数据包括姿态信息和位置信息,所述处理所述第一数据和所述第二数据,得到目标存储数据,包括:根据所述每个构件的所述姿态信息和所述位置信息得到所述BIM模型的姿态变换矩阵和位置变换矩阵;确定所述每个构件的姿态信息的预设参数M;确定所述每个构件的位置信息的预设参数N;确定所述第一数据和所述姿态变换矩阵、所述位置变换矩阵、所述预设参数M、所述预设参数N为所述目标存储数据。
其中,所述位置信息可以是构件的坐标数据,位置信息是用于确定构件在BIM模型中的具体方位,所述姿态信息可以包括构件的摆放角度,构件方向等数据,姿态数据可以用来表征构件的状态。所述姿态变换矩阵和位置变换矩阵可以针对BIM模型中的所有构件,也可以仅针对一个构件组中的构件,也就是说每个构件组的姿态变换矩阵和位置变换矩阵可以不同。每个构件都分别有一个唯一个的,针对姿态信息和位置信息的参数M和N,构件可以根据参数M和姿态变换矩阵组合,最终确定该构件的具体姿态信息,构件可以根据参数N和位置变换矩阵组合,最终确定该构件的具***置信息。
可见,本实例中,在对姿态信息和位置信息进行存储时,根据不同的参数和姿态变换矩阵以及位置变换矩阵进行,可以减少BIM数据的存储空间,从而提高BIM模型的网络传输性能和流转速度。
与上述图2所述的实施例一致的,请参阅图3,图3是本申请实施例提供的一种基于BIM的数据存储装置的功能单元组成框图。该基于建筑信息模型BIM的数据存储装置300包括:分类单元310,用于根据网格信息对BIM模型中的每个构件进行分类,得到多个构件组,所述网格信息用于表示构件形状,所述每个构件包括构件信息,所述构件信息包括所述网格信息;获取单元320,用于针对所述多个构件组中每个构件组执行如下操作,得到每个构件组的目标存储数据:根据所述构件信息确定当前处理的构件组的第一数据,所述第一数据是指所述当前处理的构件组中多个构件的构件信息中参数类型和参数值都相同的数据,所述第一数据包括所述网格信息;根据所述构件信息确定所述当前处理的构件组中每个构件的第二数据,所述第二数据包括与所述第一数据的参数类型不同的数据;处理所述第一数据和所述第二数据,得到所述当前处理的构件组的目标存储数据;存储单元330,用于存储所述多个构件组的目标存储数据。
在一个可能的实例中,所述网格信息包括所述构件包含的顶点对应的法线数据、坐标数据和/或颜色数据。
在一个可能的实例中,所述处理所述第一数据和所述第二数据,得到目标存储数据,包括:获取所述第一数据和所述第二数据中包含的浮点型数据;根据预设变换矩阵将所述浮点型数据转换为整型数据;根据数据压缩算法将所述整型数据转换为字节流数据;确定所述第一数据和所述第二数据中包含的非浮点型数据和所述字节流数据为目标存储数据。
在一个可能的实例中,所述构件信息包括位置信息,所述根据数据压缩算法将所述整型数据转换为字节流数据,包括:确定所述BIM模型的中心坐标;根据所述位置信息获取所述每个构件相对于所述中心坐标的偏移坐标;对所述偏移坐标进行赋值,得到压缩整型数据;对所述压缩整型数据进行数据类型转换,得到字节流数据。
在一个可能的实例中,所述根据所述构件信息确定所述每个构件的第二数据,包括:确定所述每个构件组的基准构件,所述基准构件为所述每个构件组中的构件;确定所述每个构件组中的所述多个构件的构件信息中每个参数类型的数据相对于所述基准构件的构件信息的偏移数据;确定所述偏移数据为所述每个构件的第二数据。
在一个可能的实例中,云端存储有所述BIM模型的基本网格信息,所述处理所述第一数据和所述第二数据,得到目标存储数据,包括:对云端包含的所述基本网格信息进行编号;将所述第一数据中的网格信息与所述云端中的基本网格信息进行匹配,并记录所述网格信息的对应编号;替换所述第一数据中的网格信息为所述编号,得到目标存储数据。
在一个可能的实例中,所述第二数据包括姿态信息和位置信息,所述处理所述第一数据和所述第二数据,得到目标存储数据,包括:根据所述每个构件的所述姿态信息和所述位置信息得到所述BIM模型的姿态变换矩阵和位置变换矩阵;确定所述每个构件的姿态信息的预设参数M;确定所述每个构件的位置信息的预设参数N;确定所述第一数据和所述姿态变换矩阵、所述位置变换矩阵、所述预设参数M、所述预设参数N为所述目标存储数据。
在本实施例中,基于建筑信息模型BIM的数据存储装置300是以单元的形式来呈现。这里的“单元”可以指特定应用集成电路(application-specific integratedcircuit,ASIC),执行一个或多个软件或固件程序的处理器和存储器,集成逻辑电路,和/或其他可以提供上述功能的器件。
可以理解的是,由于方法实施例与装置实施例为相同技术构思的不同呈现形式,因此,本申请中方法实施例部分的内容应同步适配于装置实施例部分,此处不再赘述。
与上述图2所示的实施例一致的,请参阅图4,图4是本申请实施例提供的一种电子设备的结构示意图,如图所示,所述电子设备400包括处理器410、存储器420、通信接口430以及一个或多个程序421,其中,所述一个或多个程序421被存储在上述存储器420中,且被配置由上述处理器410执行,所述一个或多个程序421包括用于执行上述方法实施例中任一步骤的指令。
通信单元用于支持电子设备与其他设备的通信。终端还可以包括存储单元用于存储终端的程序代码和数据。
其中,处理单元可以是处理器410或控制器,例如可以是中央处理器(CentralProcessing Unit,CPU),通用处理器,数字信号处理器(Digital Signal Processor,DSP),专用集成电路(Application-Specific Integrated Circuit,ASIC),现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,单元和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。通信单元可以是通信接口430、收发器、收发电路等,存储单元可以是存储器420。
具体实现中,所述处理器410用于执行如上述方法实施例中由电子设备执行的任一步骤,且在执行诸如发送等数据传输时,可选择的调用所述通信接口430来完成相应操作。下面进行详细说明。
在一个可能的实例中,所述程序421中的指令用于执行以下操作:根据网格信息对BIM模型中的每个构件进行分类,得到多个构件组,所述网格信息用于表示构件形状,所述每个构件包括构件信息,所述构件信息包括所述网格信息;针对所述多个构件组中每个构件组执行如下操作,得到每个构件组的目标存储数据:根据所述构件信息确定当前处理的构件组的第一数据,所述第一数据是指所述当前处理的构件组中多个构件的构件信息中参数类型和参数值都相同的数据,所述第一数据包括所述网格信息;根据所述构件信息确定所述当前处理的构件组中每个构件的第二数据,所述第二数据包括与所述第一数据的参数类型不同的数据;处理所述第一数据和所述第二数据,得到所述当前处理的构件组的目标存储数据;存储所述多个构件组的目标存储数据。
在一个可能的示例中,所述网格信息包括所述构件包含的顶点对应的法线数据、坐标数据和/或颜色数据。
在一个可能的示例中,在所述处理所述第一数据和所述第二数据,得到目标存储数据方面,所述程序421中的指令用于执行以下操作:获取所述第一数据和所述第二数据中包含的浮点型数据;根据预设变换矩阵将所述浮点型数据转换为整型数据;根据数据压缩算法将所述整型数据转换为字节流数据;确定所述第一数据和所述第二数据中包含的非浮点型数据和所述字节流数据为目标存储数据。
在一个可能的示例中,所述构件信息包括位置信息,在所述根据数据压缩算法将所述整型数据转换为字节流数据方面,所述程序421中的指令用于执行以下操作:确定所述BIM模型的中心坐标;根据所述位置信息获取所述每个构件相对于所述中心坐标的偏移坐标;对所述偏移坐标进行赋值,得到压缩整型数据;对所述压缩整型数据进行数据类型转换,得到字节流数据。
在一个可能的示例中,在所述根据所述构件信息确定所述每个构件的第二数据方面,所述程序421中的指令用于执行以下操作:确定所述每个构件组的基准构件,所述基准构件为所述每个构件组中的构件;确定所述每个构件组中的所述多个构件的构件信息中每个参数类型的数据相对于所述基准构件的构件信息的偏移数据;确定所述偏移数据为所述每个构件的第二数据。
在一个可能的示例中,云端存储有所述BIM模型的基本网格信息,在所述处理所述第一数据和所述第二数据,得到目标存储数据方面,所述程序421中的指令用于执行以下操作:对云端包含的所述基本网格信息进行编号;将所述第一数据中的网格信息与所述云端中的基本网格信息进行匹配,并记录所述网格信息的对应编号;替换所述第一数据中的网格信息为所述编号,得到目标存储数据。
在一个可能的示例中,所述第二数据包括姿态信息和位置信息,在所述处理所述第一数据和所述第二数据,得到目标存储数据方面,所述程序421中的指令用于执行以下操作:根据所述每个构件的所述姿态信息和所述位置信息得到所述BIM模型的姿态变换矩阵和位置变换矩阵;确定所述每个构件的姿态信息的预设参数M;确定所述每个构件的位置信息的预设参数N;确定所述第一数据和所述姿态变换矩阵、所述位置变换矩阵、所述预设参数M、所述预设参数N为所述目标存储数据。
上述主要从方法侧执行过程的角度对本申请实施例的方案进行了介绍。可以理解的是,电子设备为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件单元。本领域技术人员应该很容易意识到,结合本文中所提供的实施例描述各个步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对电子设备进行功能单元的划分,例如,可以对应各个功能划分各个功能单元,也可以将两个或两个以上的功能集成在一个处理单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。需要说明的是,本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
本申请实施例还提供一种计算机存储介质,其中,该计算机存储介质存储用于电子数据交换的计算机程序,该计算机程序使得计算机执行如上述方法实施例中记载的任一方法的部分或全部步骤,上述计算机包括电子设备。
本申请实施例还提供一种计算机程序产品,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如上述方法实施例中记载的任一方法的部分或全部步骤。该计算机程序产品可以为一个软件安装包,上述计算机包括电子设备。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和单元并不一定是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例上述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取器(英文:Random Access Memory,简称:RAM)、磁盘或光盘等。
以上对本申请实施例进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (9)
1.一种基于建筑信息模型BIM的数据存储方法,其特征在于,所述方法包括:
根据网格信息对BIM模型中的每个构件进行分类,得到多个构件组,所述网格信息用于表示构件形状,所述每个构件包括构件信息,所述构件信息包括所述网格信息;
针对所述多个构件组中每个构件组执行如下操作,得到每个构件组的目标存储数据:根据所述构件信息确定当前处理的构件组的第一数据,所述第一数据是指所述当前处理的构件组中多个构件的构件信息中参数类型和参数值都相同的数据,所述第一数据包括所述网格信息;确定所述每个构件组的基准构件,所述基准构件为所述每个构件组中的构件;确定所述每个构件组中的所述多个构件的构件信息中每个参数类型的数据相对于所述基准构件的构件信息的偏移数据;确定所述偏移数据为所述每个构件的第二数据,所述第二数据包括与所述第一数据的参数类型不同的数据;处理所述第一数据和所述第二数据,得到所述当前处理的构件组的目标存储数据;
存储所述多个构件组的目标存储数据。
2.根据权利要求1所述的方法,其特征在于,所述网格信息包括所述构件包含的顶点对应的法线数据、坐标数据和/或颜色数据。
3.根据权利要求2所述的方法,其特征在于,所述处理所述第一数据和所述第二数据,得到目标存储数据,包括:
获取所述第一数据和所述第二数据中包含的浮点型数据;
根据预设变换矩阵将所述浮点型数据转换为整型数据;
根据数据压缩算法将所述整型数据转换为字节流数据;
确定所述第一数据和所述第二数据中包含的非浮点型数据和所述字节流数据为目标存储数据。
4.根据权利要求3所述的方法,其特征在于,所述构件信息包括位置信息,所述根据数据压缩算法将所述整型数据转换为字节流数据,包括:
确定所述BIM模型的中心坐标;
根据所述位置信息获取所述每个构件相对于所述中心坐标的偏移坐标;
对所述偏移坐标进行赋值,得到压缩整型数据;
对所述压缩整型数据进行数据类型转换,得到字节流数据。
5.根据权利要求1-4任一项所述的方法,其特征在于,云端存储有所述BIM模型的基本网格信息,所述处理所述第一数据和所述第二数据,得到目标存储数据,包括:
对云端包含的所述基本网格信息进行编号;
将所述第一数据中的网格信息与所述云端中的基本网格信息进行匹配,并记录所述网格信息的对应编号;
替换所述第一数据中的网格信息为所述编号,得到目标存储数据。
6.根据权利要求1所述的方法,其特征在于,所述第二数据包括姿态信息和位置信息,所述处理所述第一数据和所述第二数据,得到目标存储数据,包括:
根据所述每个构件的所述姿态信息和所述位置信息得到所述BIM模型的姿态变换矩阵和位置变换矩阵;
确定所述每个构件的姿态信息的预设参数M;
确定所述每个构件的位置信息的预设参数N;
确定所述第一数据和所述姿态变换矩阵、所述位置变换矩阵、所述预设参数M、所述预设参数N为所述目标存储数据。
7.一种基于建筑信息模型BIM的模型存储装置,其特征在于,所述装置包括:
分类单元,用于根据网格信息对BIM模型中的每个构件进行分类,得到多个构件组,所述网格信息用于表示构件形状,所述每个构件包括构件信息,所述构件信息包括所述网格信息;
获取单元,用于针对所述多个构件组中每个构件组执行如下操作,得到每个构件组的目标存储数据:根据所述构件信息确定当前处理的构件组的第一数据,所述第一数据是指所述当前处理的构件组中多个构件的构件信息中参数类型和参数值都相同的数据,所述第一数据包括所述网格信息;确定所述每个构件组的基准构件,所述基准构件为所述每个构件组中的构件;确定所述每个构件组中的所述多个构件的构件信息中每个参数类型的数据相对于所述基准构件的构件信息的偏移数据;确定所述偏移数据为所述每个构件的第二数据,所述第二数据包括与所述第一数据的参数类型不同的数据;处理所述第一数据和所述第二数据,得到所述当前处理的构件组的目标存储数据;
存储单元,用于存储所述多个构件组的目标存储数据。
8.一种电子设备,其特征在于,包括处理器、存储器,以及一个或多个程序,所述一个或多个程序被存储在所述存储器中,并且被配置由所述处理器执行,所述程序包括用于执行如权利要求1-6任一项所述的方法中的步骤的指令。
9.一种计算机可读存储介质,其特征在于,存储用于电子数据交换的计算机程序,其中,所述计算机程序使得计算机执行如权利要求1-6任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010720321.4A CN111930742B (zh) | 2020-07-23 | 2020-07-23 | 基于建筑信息模型bim的数据存储方法及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010720321.4A CN111930742B (zh) | 2020-07-23 | 2020-07-23 | 基于建筑信息模型bim的数据存储方法及相关装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111930742A CN111930742A (zh) | 2020-11-13 |
CN111930742B true CN111930742B (zh) | 2023-08-25 |
Family
ID=73314569
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010720321.4A Active CN111930742B (zh) | 2020-07-23 | 2020-07-23 | 基于建筑信息模型bim的数据存储方法及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111930742B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112651070A (zh) * | 2020-12-18 | 2021-04-13 | 中哲国际工程设计有限公司 | 一种基于建筑信息模型的数据处理方法 |
CN114329692A (zh) * | 2021-11-29 | 2022-04-12 | 万翼科技有限公司 | 建筑模型处理方法、装置、电子设备和存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107025684A (zh) * | 2017-03-16 | 2017-08-08 | 北京中科辅龙计算机技术股份有限公司 | 基于模型构件特征的大规模场景固定帧率绘制及装置 |
CN107103158A (zh) * | 2017-05-24 | 2017-08-29 | 中铁四局集团有限公司 | 利用dynamo实现高铁桥梁快速建模动态修改的方法 |
CN107169228A (zh) * | 2017-06-09 | 2017-09-15 | 深圳市斯维尔科技股份有限公司 | Bim模型数据交换方法、装置、终端及计算机可读存储介质 |
CN109345628A (zh) * | 2018-08-07 | 2019-02-15 | 云南电网有限责任公司曲靖供电局 | 一种模型轻量化处理方法、装置及电子设备 |
CN109871593A (zh) * | 2019-01-25 | 2019-06-11 | 深圳市华阳国际工程设计股份有限公司 | 基于bim平台的信息继承方法、装置以及存储装置 |
CN110245368A (zh) * | 2018-03-09 | 2019-09-17 | 北京东晨工元科技发展有限公司 | 一种bim数据的结构化处理与存储方法 |
CN110706345A (zh) * | 2019-08-28 | 2020-01-17 | 中国铁道科学研究院集团有限公司电子计算技术研究所 | 一种基于构件实例合并的铁路bim模型轻量化方法及*** |
CN111078750A (zh) * | 2019-11-29 | 2020-04-28 | 深圳市华阳国际工程设计股份有限公司 | 项目模型的数据统计方法、装置及计算机存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101614065B1 (ko) * | 2014-10-15 | 2016-04-20 | 가이아쓰리디 주식회사 | 3차원 모델링 데이터 용량을 줄이는 방법 및 시스템 |
-
2020
- 2020-07-23 CN CN202010720321.4A patent/CN111930742B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107025684A (zh) * | 2017-03-16 | 2017-08-08 | 北京中科辅龙计算机技术股份有限公司 | 基于模型构件特征的大规模场景固定帧率绘制及装置 |
CN107103158A (zh) * | 2017-05-24 | 2017-08-29 | 中铁四局集团有限公司 | 利用dynamo实现高铁桥梁快速建模动态修改的方法 |
CN107169228A (zh) * | 2017-06-09 | 2017-09-15 | 深圳市斯维尔科技股份有限公司 | Bim模型数据交换方法、装置、终端及计算机可读存储介质 |
CN110245368A (zh) * | 2018-03-09 | 2019-09-17 | 北京东晨工元科技发展有限公司 | 一种bim数据的结构化处理与存储方法 |
CN109345628A (zh) * | 2018-08-07 | 2019-02-15 | 云南电网有限责任公司曲靖供电局 | 一种模型轻量化处理方法、装置及电子设备 |
CN109871593A (zh) * | 2019-01-25 | 2019-06-11 | 深圳市华阳国际工程设计股份有限公司 | 基于bim平台的信息继承方法、装置以及存储装置 |
CN110706345A (zh) * | 2019-08-28 | 2020-01-17 | 中国铁道科学研究院集团有限公司电子计算技术研究所 | 一种基于构件实例合并的铁路bim模型轻量化方法及*** |
CN111078750A (zh) * | 2019-11-29 | 2020-04-28 | 深圳市华阳国际工程设计股份有限公司 | 项目模型的数据统计方法、装置及计算机存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111930742A (zh) | 2020-11-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103440357B (zh) | 虚拟现实漫游场景生成方法及*** | |
CN111930742B (zh) | 基于建筑信息模型bim的数据存储方法及相关装置 | |
CN111090903B (zh) | 基于bim的构件统计方法及相关装置 | |
CN113256782B (zh) | 三维模型的生成方法、装置、存储介质、电子设备 | |
CN108023942A (zh) | 基于云平台的cad建模数据传输方法、服务器和客户端 | |
CN109683858B (zh) | 数据处理方法及装置 | |
CN109976827B (zh) | 模型的加载方法、服务器及终端 | |
CN109697748B (zh) | 模型压缩处理方法、模型贴图处理方法装置、存储介质 | |
CN116843525B (zh) | 一种智能自动排课方法、***、设备及存储介质 | |
CN108537892A (zh) | 三维模型和场景数据自动导入ue4的方法 | |
CN111177967B (zh) | 网格单元的批量修改方法,其装置及电子设备 | |
CN113470092B (zh) | 地形的渲染方法和装置、电子设备和存储介质 | |
CN112233241B (zh) | 虚拟场景地形的高度图的生成方法、装置和存储介质 | |
CN107301269B (zh) | 基于bim技术进行配电装置数据交互的方法 | |
CN117455895A (zh) | 一种用于实现线夹的制备装置及制备方法 | |
CN112419430A (zh) | 动画播放方法、装置及计算机设备 | |
CN107564112B (zh) | 模型压缩转换方法及*** | |
US20110185014A1 (en) | Modeling a cloud computing system | |
CN110287351A (zh) | 一种三维模型轻量化展示优化方法 | |
CN114528305A (zh) | 矢量数据更新范围确定方法、装置、电子设备及存储介质 | |
CN114307158A (zh) | 三维虚拟场景数据的生成方法及装置、存储介质、终端 | |
CN111046214A (zh) | 一种动态处理模型的方法 | |
CN107784674B (zh) | 一种三维模型简化的方法及*** | |
CN111209615A (zh) | 一种面向楼宇管控的bim场景轻量化的方法 | |
CN114596393B (zh) | 一种骨骼模型生成方法、装置、***及存储介质 |
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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20230627 Address after: A601, Zhongke Naneng Building, No. 06 Yuexing 6th Road, Gaoxin District Community, Yuehai Street, Nanshan District, Shenzhen City, Guangdong Province, 518051 Applicant after: Shenzhen Wanyi Digital Technology Co.,Ltd. Address before: 519000 room 105-24914, No.6 Baohua Road, Hengqin New District, Zhuhai City, Guangdong Province (centralized office area) Applicant before: WANYI TECHNOLOGY Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |