CN111797153A - Bim模型预览方法、装置、计算机设备和可读存储介质 - Google Patents
Bim模型预览方法、装置、计算机设备和可读存储介质 Download PDFInfo
- Publication number
- CN111797153A CN111797153A CN202010627534.2A CN202010627534A CN111797153A CN 111797153 A CN111797153 A CN 111797153A CN 202010627534 A CN202010627534 A CN 202010627534A CN 111797153 A CN111797153 A CN 111797153A
- Authority
- CN
- China
- Prior art keywords
- data
- primitive
- loading
- database
- model
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 66
- 239000000463 material Substances 0.000 claims description 28
- 230000009466 transformation Effects 0.000 claims description 13
- 239000011159 matrix material Substances 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 8
- 230000004044 response Effects 0.000 claims description 6
- 238000013507 mapping Methods 0.000 claims description 4
- 230000008569 process Effects 0.000 description 12
- 230000008859 change Effects 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000003491 array Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 238000005192 partition Methods 0.000 description 4
- 238000007792 addition Methods 0.000 description 3
- 238000012217 deletion Methods 0.000 description 3
- 230000037430 deletion Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 101001072091 Homo sapiens ProSAAS Proteins 0.000 description 1
- 102100036366 ProSAAS Human genes 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013499 data model Methods 0.000 description 1
- 238000005034 decoration Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
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/25—Integrating or interfacing systems involving database management systems
- G06F16/254—Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
-
- 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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明提供了一种BIM模型预览方法、装置、计算机设备和可读存储介质。模型包括若干图元,该BIM模型预览方法包括:从数据库中加载图元的实体数据和图元的属性数据;从分布式对象存储系统中加载图元的几何数据;以及根据加载到的数据展示模型。通过本发明,能够提升模型预览速度。
Description
技术领域
本发明涉及模型技术领域,尤其涉及一种BIM模型预览方法、装置、计算机设备和可读存储介质。
背景技术
随着云平台SAAS应用服务的越来越普及,云服务也面临着越来越高的性能要求,当数据量越来越大、用户量越来越多时,用户浏览模型的体验变得越来越差,特别是浏览较大装饰模型时,用户需要等待数分钟甚至更长时间等待模型数据的加载,用户体验较差。
对此,发明人研究发现,单一的数据模型存储设计是造成性能低下的主要原因,模型解析后数据整体存储在单一的数据文档里,数据文档又存储在单一存储表里,不仅造成加载数据慢,也造成网络传输慢,同时造成数据处理程序无法充分利用多线程机制异步处理的优势,造成模型展示的整体速度较慢,特别是针对BIM(建筑信息模型)这类型较大的模型,预览速度慢的问题更加突出。
因此,关于现有技术中预览较大模型时,模型预览的速度慢而导致的用户体验差的问题,成为本领域亟待解决的技术问题。
发明内容
本发明的目的是提供一种BIM模型预览方法、装置、计算机设备和可读存储介质,用于解决现有技术中模型预览时预览速度慢的技术问题。
一方面,为实现上述目的,本发明提供了一种BIM模型预览方法。
模型包括若干图元,该BIM模型预览方法包括:从数据库中加载所述图元的实体数据和所述图元的属性数据;从分布式对象存储系统中加载所述图元的几何数据;以及根据加载到的数据展示所述模型。
进一步地,从分布式对象存储系统中加载所述图元的几何数据的步骤包括:从所述分布式对象存储系统中加载数据包文件,其中,所述数据包文件包括一个或多个所述图元的几何数据。
进一步地,从分布式对象存储系统中加载所述图元的几何数据的步骤包括:从所述分布式对象存储系统中加载虚拟参照图元的几何数据;对所述虚拟参照图元的几何数据进行矩阵变换,得到所述图元的几何数据。
进一步地,从数据库中加载所述图元的实体数据和所述图元的属性数据,从分布式对象存储系统中加载所述图元的几何数据的步骤包括:响应于模型预览操作,从所述数据库中加载所述图元的实体数据,从所述分布式对象存储系统中加载所述图元的几何数据;响应于图元预览操作,从所述数据库中加载所述图元的属性数据。
进一步地,所述BIM模型预览方法还包括:获取加载顺序配置表,根据所述加载顺序配置表确定处于第一加载顺序的第一图元和处于第二加载顺序的第二图元,其中,所述第一加载顺序在所述第二加载顺序之前;从数据库中加载所述图元的实体数据和所述图元的属性数据,从分布式对象存储系统中加载所述图元的几何数据,根据加载到的数据展示所述模型的步骤包括:从所述数据库中加载所述第一图元的实体数据和所述第一图元的属性数据,从所述分布式对象存储系统中加载所述第一图元的几何数据;展示所述第一图元;从所述数据库中加载所述第二图元的实体数据和所述第二图元的属性数据,从所述分布式对象存储系统中加载所述第二图元的几何数据;展示所述第二图元。
进一步地,所述BIM模型预览方法还包括:从所述数据库中加载构件的实体数据和所述构件的属性数据;从所述数据库中加载材质的实体数据、材质的贴图数据、房间的实体数据和/或楼层的实体数据;和/或从所述分布式对象存储系统中加载材质图片数据。
进一步地,所述数据库包括第一数据表、第二数据表、第三数据表和第四数据表,从数据库中加载数据的步骤包括:从所述第一数据表中加载所述版本数据;从所述第二数据表中加载所述图元的实体数据、所述构件的实体数据、所述材质的实体数据、所述房间的实体数据和所述楼层的实体数据;从所述第三数据表中加载所述图元的属性数据和所述构件的属性数据;从所述第四数据表中加载所述材质贴图数据。
另一方面,为实现上述目的,本发明提供了一种模型预览装置。
模型包括若干图元,该模型预览装置包括:第一加载模块,用于从数据库中加载所述图元的实体数据和所述图元的属性数据;第二加载模块,用于从分布式对象存储系统中加载所述图元的几何数据;以及展示模块,用于根据加载到的数据展示所述模型。
为实现上述目的,本发明还提供一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,该处理器执行计算机程序时实现上述方法的步骤。
为实现上述目的,本发明还提供计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述方法的步骤。
本发明提供的BIM模型预览方法、装置、计算机设备和可读存储介质,从数据库中加载图元的实体数据和图元的属性数据,从分布式对象存储系统中加载图元的几何数据,然后根据加载到的数据展示模型。通过本发明,模型所包括的图元的实体数据和属性数据,与图元的几何数据,分别存储在不同的介质中,从而在模型预览时,从不同的存储介质中分别加载数据,与现有技术中从单一的存储介质中加载数据相比,能够提升数据加载速度,进而提升模型预览速度;进一步,本发明利用差异化的存储介质存储差异化的模型数据,具体而言,对于图元的实体数据和图元的属性数据,数据变动频率高且数据量小,通过数据库存储,能够灵活地实现数据的增加、删除以及修改,有利于模型构建过程中的数据操作,对于图元的几何数据,其变动频率低且数据量大,通过分布式对象存储系统存储,能够更好地实现数据分布均衡,且数据读取时并行度高,在读取大数据量时,能够进一步特征数据加载速度,进而进一步提升模型预览速度。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为本发明实施例一提供的BIM模型预览方法的流程图;
图2为本发明实施例一提供的BIM模型预览方法的执行示意图;
图3为本发明实施例二提供的模型预览装置的框图;
图4为本发明实施例三提供的计算机设备的硬件结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了解决现有技术中预览较大模型时,数据加载时间长导致的用户体验差的问题,本发明提出了一种BIM模型预览方法、装置、计算机设备和可读存储介质,具体地,模型包括若干图元,将图元的实体数据和图元的属性数据存储在数据库中,将图元的几何数据存在分布式对象存储系统中,基于此,在进行模型预览时,从数据库中加载图元的实体数据和图元的属性数据,从分布式对象存储系统中加载图元的几何数据,然后根据加载到的数据展示模型。从中可以看出,首先,本发明中模型的数据不再存储于单一的数据文档中,在模型预览时,从不同的存储介质中分别加载数据,与现有技术中从单一的数据文档中加载数据相比,能够提升数据加载速度,进而提升模型预览速度;进一步,本发明利用差异化的存储介质存储差异化的模型数据,具体而言,对于图元的实体数据和图元的属性数据,数据变动频率高且数据量小,通过数据库存储,能够灵活地实现数据的增加、删除以及修改,有利于模型构建过程中的数据操作,对于图元的几何数据,其变动频率低且数据量大,通过分布式对象存储系统存储,能够更好地实现数据分布均衡,且数据读取时并行度高,在读取大数据量时,能够进一步特征数据加载速度,进而进一步提升模型预览速度。
关于本发明提供的BIM模型预览方法、装置、计算机设备和可读存储介质的具体实施例,将在下文中详细描述。
实施例一
本发明实施例提供了一种BIM模型预览方法,通过该方法,能够提升模型预览速度。其中,模型包括若干图元,通过展示模型的各个图元实现模型预览,图元的实体数据和图元的属性数据存储在数据库中,图元的几何数据存储在分布式对象存储系统中,具体地,图1为本发明实施例一提供的BIM模型预览方法的流程图,如图1所示,该实施例提供的BIM模型预览方法包括如下的步骤S101至步骤S103。
步骤S101:从数据库中加载图元的实体数据和图元的属性数据。
图元的实体数据包括点、线、面等平面图形以及立体图形等构成图元的几何图形,对于建筑模型来讲,图元包括墙、顶、地、隔墙以及房梁等,图元的实体数据也即构成上述墙、顶、地、隔墙以及房梁的几何图形。图元的属性数据包括影响图元显示的属性参数,例如线型、线的颜色,面的透明度,层底标高,填充色,类型等等。
图元的实体数据和属性数据可以以数据表的形式存储在数据库中,可选地,在数据库中,以模型标识-图元标识-图元的实体数据的对应关系存储图元的实体数据。当需要进行模型预览时,基于模型标识在数据库中查询并加载图元的实体数据和图元的属性数据。
可选地,数据库具体可以为MongoDB数据库、Redis数据库、Cassandra数据库或MySQL数据库等。其中,MongoDB数据库是一个基于分布式文件存储的数据库,支持复杂的大文档类型数据的存储,支持对数据建立索引,可以实现类似关系型数据库的表数据查询功能,具有数据缓存能力,性能较高,适用于较大模型场景下图元的实体数据和属性数据的存储。
步骤S102:从分布式对象存储系统中加载图元的几何数据。
图元的几何数据是指对图元的实体数据进行几何参数限定的数据,例如图元所包括的正方体的几何中心的坐标和边长,所包括的圆柱体的几何中心的坐标、半径和高度等,或者如vertices(顶点数据数组)、triangles(三角形顶点索引数组)、normals(法线向量数组)、uv(纹理坐标数组)。
图元的几何数据可以以数据文件的形式存储在分布式对象存储系统中,通过分布式对象存储系统的接口读取文件进行加载。
可选地,分布式对象存储系统具体可以为Ceph存储系统或Hdfs存储系统,其中,Ceph存储系统能够提供基于网络的非结构化的数据存取服务,可以存储和调用包括文本、图片、音频和视频等各种非结构化数据文件,可以使用Restful API进行文件的各种存储和访问操作,Ceph存储系统将数据文件以对象(object)的形式上传到存储空间(bucket)中。
步骤S103:根据加载到的数据展示模型。
在该实施例中,加载到的数据包括图元的实体数据、属性数据和几何数据,通过图元的实体数据、属性数据和几何数据可以实现一个图元的展示,将模型的各个图元进行展示以实现模型的展示。
在该实施例提供的BIM模型预览方法中,从数据库中加载图元的实体数据和图元的属性数据,从分布式对象存储系统中加载图元的几何数据,然后根据加载到的数据展示模型。采用该实施例提供的BIM模型预览方法,模型所包括的图元的实体数据和属性数据,与图元的几何数据,分别存储在不同的介质中,从而在模型预览时,从不同的存储介质中分别加载数据,与现有技术中从单一的存储介质中加载数据相比,能够提升数据加载速度,进而提升模型预览速度;进一步,该实施例利用差异化的存储介质存储差异化的模型数据,具体而言,对于图元的实体数据和图元的属性数据,数据变动频率高且数据量小,通过数据库存储,能够灵活地实现数据的增加、删除以及修改,有利于模型构建过程中的数据操作,对于图元的几何数据,其变动频率低且数据量大,通过分布式对象存储系统存储,能够更好地实现数据分布均衡,且数据读取时并行度高,在读取大数据量时,能够进一步特征数据加载速度,进而进一步提升模型预览速度。
可选地,在一种实施例中,模型中图元是通过对构件进行实例化绘制而得到,图元依附在构件上,对应地,模型的数据还包括构件的实体数据和构件的属性数据,且构件的实体数据和构件的属性数据存储在数据数据库中,因此,BIM模型预览方法还包括:从数据库中加载构件的实体数据和构件的属性数据。
模型的数据还包括构件的材质相关的数据,例如,材质的实体数据、材质的贴图数据以及材质图片数据等,其中,材质的实体数据和材质的贴图数据存储在数据库中,材质图片数据作为图片文件存储在分布式对象存储系统中,因此,BIM模型预览方法还包括:从数据库中加载材质的实体数据和材质的贴图数据;从所述分布式对象存储系统中加载材质图片数据。
对于建筑模型,模型的数据包括房间的实体数据和楼层的实体数据等,其中,房间的实体数据和楼层的实体数据存储在数据库中,因此,BIM模型预览方法还包括:从数据库中加载房间的实体数据和楼层的实体数据。
为了方便对模型的版本管理,数据库中还存储有构件、图元、材质、房间和楼层等的版本数据。为了方便图元的几何数据的读取,分布式对象存储系统中还存储有图元的索引数据,因此,在加载图元的几何数据时,可通过图元的索引数据进行加载。为了方便图元的展示,分布式对象存储系统中还存储有对应关系数据,该对应关系数据用于标识图元的属性数据、图元的实体数据和图元的几何数据的对应关系,从而在展示图元时,基于该对应关系数据,实现组装图元的实体数据、属性数据和几何数据的组装。
进一步可选地,在一种实施例中,数据库包括第一数据表、第二数据表、第三数据表和第四数据表,从数据库中加载数据的步骤包括:从第一数据表中加载版本数据;从第二数据表中加载图元的实体数据、构件的实体数据和材质的实体数据;从第三数据表中加载图元的属性数据和构件的属性数据;从第四数据表中加载材质的贴图数据。
具体而言,针对数据库中存储的数据设置独立的四个数据表,第一数据表存储上述版本数据,第二数据表存储图元、构件等的实体数据,第三数据表存储图元的属性数据和构件的属性数据,第四数据表存储材质贴图数据,同一个数据表中存储相同数据类型的数据,方便单个数据表对数据的统一管理。同时,在从数据库加载数据时,从不同数据表读取数据,有利于提升数据加载的速度。
可选地,在一种实施例中,从分布式对象存储系统中加载图元的几何数据的步骤包括:从分布式对象存储系统中加载数据包文件,其中,数据包文件包括若干个图元的几何数据,数据包文件的大小小于或等于预设阈值。
具体而言,一个较大的模型可能包含了数万个图元,分别读取各个图元的几何数据时,文件数量较大,需要较长的时间,特别是在云服务场景下,数据传输过程中分别传输各个图元的几何数据,传输的文件数量较多,也会需要较长的时间,整体会对模型的预览速度产生影响。为了解决该问题,在该实施例中,将多个图元的几何数据进行封装,封装为一个数据包文件,例如,将数万个图元的几何数据封装为数十个数据包的json文件,在加载图元的几何数据时,从分布式对象存储系统中加载该数十个json文件即可。
采用该实施例提供的BIM模型预览方法,能够减少分布式对象存储系统中数据文件的数量,从而在进行图元的几何数据的加载时,减少了读取和传输的数据文件的数量,有利于进一步提升模型预览速度。
进一步可选地,将数据包文件的大小限制在预设阈值的大小以内,例如,将上述每个json文件限制在5M以内,避免某个数据包文件过大而使得该数据包文件的加载速度变慢,使得各个数据包文件的大小比较均衡,有利于实现数据加载的均衡控制。
进一步可选地,在进行数据包文件的加载时,先对数据包文件进行压缩,然后加载压缩后的数据包文件,以进一步提升加载速度。例如,对Ceph里的json文件采用gzip压缩传输,可将网络传输数据量降低到原始数据大小的10%左右,传输效率约可提升10倍左右,对于5M以内的json文件,经过压缩后网络传输字节数约为500K,进一步提升预览速度。
可选地,在一种实施例中,从分布式对象存储系统中加载图元的几何数据的步骤包括:从分布式对象存储系统中加载虚拟参照图元的几何数据;对虚拟参照图元的几何数据进行矩阵变换,得到图元的几何数据。
具体而言,在一个模型中,存在一些图元之间具有高度的相似性,包括图元的形状和材质均相似,例如,在一个建筑模型中,各个房间的墙在形状上均为长方体,在材质上具有相同的材质,对诸如这一类的图元,设置共同参考的虚拟参照图元,将虚拟参照图元的几何数据存储在分布式对象存储系统中,从而在从分布式对象存储系统中加载图元的几何数据时,先加载虚拟参照图元的几何数据,再对虚拟参照图元的几何数据进行矩阵变换,即可得到真实图元的几何数据,其中,矩阵变换包括旋转、缩放和平移的变换方式的结合。进一步可选地,图元的实体数据包括图元ID信息和矩阵变换参数,对应关系数据包括图元的ID信息和虚拟参照图元的几何数据的对应关系,基于此,加载图元的实体数据后,根据图元ID信息在对应关系数据中查找到对应的虚拟参照图元的几何数据进行加载,并按照图元的实体数据中的矩阵变换参数对虚拟参照图元的几何数据进行矩阵变换,即可得到图元ID信息标识的真实图元的几何数据。
例如,在一个建筑模型中,对部分具有高度相似性的图元采用instance方式处理,如房间墙面是一个长方体,引入一个参照长方体图元,其他同材质的长方体可引用该图元,使得原本大量存储这种重复墙面图元的几何数据只需要存储一份虚拟参照图元,其他真实图元通过引用虚拟参照图元,结合旋转、缩放、平移的矩阵变换即可得到真实图元。综合考虑一个大楼模型的墙、顶、地、隔墙等图元数量约占图元总量的70%左右,可以把分布式对象存储系统里图元几何数据的数据量降低约40%左右。
在该实施例提供的BIM模型预览方法中,通过设置虚拟参照图元,在分布式对象存储系统中无需存储基于该虚拟参照图元进行矩阵变换即可得到的各个真实图元的几何数据,只需存储虚拟参照图元的几何数据即可,从而可以减小分布式对象存储系统中几何数据的数据量,进一步加快数据加载速度,提升模型预览速度。
可选地,在一种实施例中,根据加载到的数据展示模型的步骤和加载数据的步骤可异步进行,从而能够实现边加载边展示,加载步骤和展示步骤交替进行,有利于提升加载速度。
进一步可选地,从数据库中加载图元的实体数据和图元的属性数据,从分布式对象存储系统中加载图元的几何数据的步骤包括:响应于模型预览操作,从数据库中加载图元的实体数据,从分布式对象存储系统中加载图元的几何数据;响应于图元预览操作,从数据库中加载图元的属性数据。
具体而言,用户在浏览模型时,在客户端或WEB端选中要预览的模型,该操作也即模型预览操作,响应于该模型预览操作,首先加载图元的实体数据和图元的几何数据,此时,基于实体数据和几何数据可进行图元的模糊展示,当用户对某个图元感兴趣,对该图元进行进一步的浏览操作时,例如在该图元的位置进行点击操作时,此时响应于该图元预览操作,再加载图元的属性数据,以对图元进行详尽的展示。
采用该实施例提供的BIM模型预览方法,对于模型整体的展示,可不展示图元的详尽信息,从而无需加载图元的属性数据,以达到快速展示出模型整体信息的技术效果,仅当用户对图元进行进一步的预览时,再加载图元的属性数据,实现对图元的展示。
进一步可选地,BIM模型预览方法还包括:获取加载顺序配置表,根据加载顺序配置表确定处于第一加载顺序的第一图元和处于第二加载顺序的第二图元,其中,第一加载顺序在第二加载顺序之前;从数据库中加载图元的实体数据和图元的属性数据,从分布式对象存储系统中加载图元的几何数据,根据加载到的数据展示模型的步骤包括:从数据库中加载第一图元的实体数据和第一图元的属性数据,从分布式对象存储系统中加载第一图元的几何数据;展示第一图元;从数据库中加载第二图元的实体数据和第二图元的属性数据,从分布式对象存储系统中加载第二图元的几何数据;展示第二图元。
具体而言,对于一些较大的模型,在展示过程中,由于数据量较大而出现不同图元逐步展示的视觉效果,为了能够使上述逐步展示不是杂乱无章,更是能契合用户对模型的浏览习惯,设置加载顺序配置表,以根据用户对模型的浏览习惯,或者其他需求,设置图元的加载顺序。其中,加载顺序配置表中图元的具体顺序在本发明中不做限定,本领域技术人员可设置不同的加载顺序以达到不同的展示效果。
需要说明的是,上述第一加载顺序和第二加载顺序仅用于区分第一加载顺序和第二加载顺序的先后次序,加载顺序配置表可包括多个加载顺序;第一图元和第二图元仅用于区分在不同加载顺序上的图元,并且,处于第一加载顺序的图元可以为任意数量,处于第二加载顺序的图元也可以为任意数量。
在根据加载顺序配置表确定图元的加载顺序后,从数据库中加载顺序靠前的图元的实体数据和属性数据,从分布式对象存储系统中加载顺序靠前的图元的几何数据,并展示该加载顺序靠前的图元,然后,在加载和展示顺序靠后的图元。
例如,针对建筑模型,通过配置加载顺序配置表,实现渐进式分批次加载图元,以用户浏览视角从外至内渐进地分批加载和展示模型,用户会首先看到由外层图元构成的模型的轮廓,再逐步中层直至内层图元,以增强用户体验,具体地:
第一批:优先加载“墙、顶、地、隔墙”等框架性图元,此类图元数量约占图元总量的70%左右;
第二批:再接着去加载“房间、踢脚线、波打线、其它部品”等图元。
可选地,对图元进行加载标签的设置,可将处于同一加载顺序的图元设置相同的加载标签,则在进行图元加载时,可根据加载标签进行加载,快速实现分批次加载图元。
图2为本发明实施例一提供的BIM模型预览方法的执行示意图,如图2所示,实施该BIM模型预览方法的系统包括web用户端、DataMS(也即MongoDB数据库接口)、Store(也即MySQL数据库接口)、OSS(基于Ceph的一种分布式对象存储系统)、MongoDB数据库和MySQL数据库,基于该系统,本发明实施例提供的BIM模型预览方法的步骤流程如下:
用户在web用户端选择一个待浏览的模型,然后基于web用户端与各数据库接口、数据库以及分布式对象存储系统的交互,完成模型的展示,具体地:
一方面,web用户端从MongoDB数据库加载数据,包括以下过程:
web用户端基于用户的选择确定模型ID,然后根据模型ID,向DataMS查询构件和图元数据(也即构件的实体数据、图元的实体数据、构件的属性数据以及图元的属性数据等);
DataMS接收到数据查询请求后,根据模型ID向MongoDB数据库下载构件和图元数据,包括材质实体数据、楼层实体数据意见房间实体数据等;
MongoDB数据库向DataMS返回构件和图元数据等查询到的数据;
DataMS再将查询到的数据返回至web用户端;
另一方面,web用户端从OSS存储系统加载数据,其中,databag(也即数据包文件)存储在OSS存储系统中,databag的url设置于databag地址列表中,databag地址列表存储在MySQL数据库,web用户端经由Store读取MySQL数据库的数据,具体包括以下过程:
web用户端基于用户的选择确定模型ID,然后根据模型ID,向Store查询databag(也即数据包文件)地址列表;
Store再根据模型ID向MySQL数据库查询databag地址列表;
MySQL数据库将查询到的databag地址列表返回至Store;
Store再将databag地址列表返回至web用户端;
web用户端拿到databag地址列表后,对databag地址列表进行遍历,根据databag地址列表中databag的url从OSS存储系统下载对应的json数据文件,OSS存储系统返回json数据文件至web用户端,其中,OSS存储系统向web用户端传输的json数据文件是经过压缩的文件;
web用户端接收到json数据文件后,解析json数据文件,遍历json数据文件中的mesh列表,其中,mesh列表中设置有基于mesh id的图元的几何数据、属性数据和实体数据的对应关系,通过对mesh列表的遍历,得到mesh id,根据mesh id组装图元的几何数据、属性数据和实体数据;
web用户端还可根据mesh id向OSS存储系统下载图元的材质贴图(图片文件);
OSS存储系统返回图元材质贴图至web用户端,其中,OSS存储系统向web用户端传输的图元材质贴图是经过压缩的文件;
在web用户端,webGL基于图元的几何数据、属性数据和实体数据,以及图元材质贴图实现图元的渲染和展示,也即实现模型预览。
实施例二
对应于上述实施例一,本发明实施例二提供了一种模型预览装置,对应的技术特征和相应的技术效果可参考上述实施例一的相关描述,在该实施例中不再赘述。图3为本发明实施例二提供的模型预览装置的框图,模型包括若干图元,如图3所示,该装置包括:第一加载模块201、第二加载模块202和展示模块203。
其中,第一加载模块201用于从数据库中加载图元的实体数据和图元的属性数据;第二加载模块202用于从分布式对象存储系统中加载图元的几何数据;以及展示模块203用于根据加载到的数据展示模型。
可选地,在一种实施例中,第二加载模块202从分布式对象存储系统中加载图元的几何数据时,具体执行的步骤包括:从分布式对象存储系统中加载数据包文件,其中,数据包文件包括多个图元的几何数据。
可选地,在一种实施例中,第二加载模块202包括第一加载单元和变换单元,其中,第一加载单元用于从分布式对象存储系统中加载虚拟参照图元的几何数据;变换单元用于对虚拟参照图元的几何数据进行矩阵变换,得到图元的几何数据。
可选地,在一种实施例中,第一加载模块201包括第二加载单元和第三加载单元,第二加载单元用于响应于模型预览操作,从数据库中加载图元的实体数据,第二加载模块202还用于响应于模型预览操作,从分布式对象存储系统中加载图元的几何数据;第三加载单元用于响应于图元预览操作,从数据库中加载图元的属性数据。
可选地,在一种实施例中,模型预览装置还包括:获取模块和确定模块,其中,获取模块用于获取加载顺序配置表,确定模块用于根据加载顺序配置表确定处于第一加载顺序的第一图元和处于第二加载顺序的第二图元,其中,第一加载顺序在第二加载顺序之前;第一加载模块201从数据库中加载图元的实体数据和图元的属性数据,第二加载模块202从分布式对象存储系统中加载图元的几何数据,展示模块203根据加载到的数据展示模型时,先由第一加载模块201从数据库中加载第一图元的实体数据和第一图元的属性数据,第二加载模块202从分布式对象存储系统中加载第一图元的几何数据,展示模块203展示第一图元;然后由第一加载模块201从数据库中加载第二图元的实体数据和第二图元的属性数据,第二加载模块202从分布式对象存储系统中加载第二图元的几何数据;展示模块203展示第二图元。
可选地,在一种实施例中,第一加载模块201还用于从数据库中加载构件的实体数据和构件的属性数据,从数据库中加载材质的实体数据、材质的贴图数据、房间的实体数据和/或楼层的实体数据;和/或第二加载模块202还用于从分布式对象存储系统中加载材质图片数据。
可选地,在一种实施例中,数据库包括第一数据表、第二数据表、第三数据表和第四数据表,第一加载模块201包括第四加载单元、第五加载单元、第六加载单元和第七加载单元,其中,第四加载单元用于从第一数据表中加载版本数据;第五加载单元用于从第二数据表中加载图元的实体数据、构件的实体数据、材质的实体数据、房间的实体数据和楼层的实体数据;第六加载单元用于从第三数据表中加载图元的属性数据和构件的属性数据;第七加载单元用于从第四数据表中加载材质贴图数据。
实施例三
本实施例还提供一种计算机设备,如可以执行程序的智能手机、平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。如图4所示,本实施例的计算机设备01至少包括但不限于:可通过系统总线相互通信连接的存储器011、处理器012,如图4所示。需要指出的是,图4仅示出了具有组件存储器011和处理器012的计算机设备01,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
本实施例中,存储器011(即可读存储介质)包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器011可以是计算机设备01的内部存储单元,例如该计算机设备01的硬盘或内存。在另一些实施例中,存储器011也可以是计算机设备01的外部存储设备,例如该计算机设备01上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,存储器011还可以既包括计算机设备01的内部存储单元也包括其外部存储设备。本实施例中,存储器011通常用于存储安装于计算机设备01的操作系统和各类应用软件,例如实施例二的模型预览装置的程序代码等。此外,存储器011还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器012在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器012通常用于控制计算机设备01的总体操作。本实施例中,处理器012用于运行存储器011中存储的程序代码或者处理数据,例如BIM模型预览方法等。
实施例四
本实施例还提供一种计算机可读存储介质,如闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘、服务器、App应用商城等等,其上存储有计算机程序,程序被处理器执行时实现相应功能。本实施例的计算机可读存储介质用于存储模型预览装置,被处理器执行时实现实施例一的BIM模型预览方法。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种BIM模型预览方法,其特征在于,模型包括若干图元,所述BIM模型预览方法包括:
从数据库中加载所述图元的实体数据和所述图元的属性数据;
从分布式对象存储系统中加载所述图元的几何数据;以及
根据加载到的数据展示所述模型。
2.根据权利要求1所述的BIM模型预览方法,其特征在于,从分布式对象存储系统中加载所述图元的几何数据的步骤包括:
从所述分布式对象存储系统中加载数据包文件,其中,所述数据包文件包括一个或多个所述图元的几何数据。
3.根据权利要求1所述的BIM模型预览方法,其特征在于,从分布式对象存储系统中加载所述图元的几何数据的步骤包括:
从所述分布式对象存储系统中加载虚拟参照图元的几何数据;
对所述虚拟参照图元的几何数据进行矩阵变换,得到所述图元的几何数据。
4.根据权利要求1所述的BIM模型预览方法,其特征在于,从数据库中加载所述图元的实体数据和所述图元的属性数据,从分布式对象存储系统中加载所述图元的几何数据的步骤包括:
响应于模型预览操作,从所述数据库中加载所述图元的实体数据,从所述分布式对象存储系统中加载所述图元的几何数据;
响应于图元预览操作,从所述数据库中加载所述图元的属性数据。
5.根据权利要求1所述的BIM模型预览方法,其特征在于,
所述BIM模型预览方法还包括:获取加载顺序配置表,根据所述加载顺序配置表确定处于第一加载顺序的第一图元和处于第二加载顺序的第二图元,其中,所述第一加载顺序在所述第二加载顺序之前;
从数据库中加载所述图元的实体数据和所述图元的属性数据,从分布式对象存储系统中加载所述图元的几何数据,根据加载到的数据展示所述模型的步骤包括:
从所述数据库中加载所述第一图元的实体数据和所述第一图元的属性数据,从所述分布式对象存储系统中加载所述第一图元的几何数据;
展示所述第一图元;
从所述数据库中加载所述第二图元的实体数据和所述第二图元的属性数据,从所述分布式对象存储系统中加载所述第二图元的几何数据;
展示所述第二图元。
6.根据权利要求1所述的BIM模型预览方法,其特征在于,所述BIM模型预览方法还包括:
从所述数据库中加载构件的实体数据和所述构件的属性数据;
从所述数据库中加载材质的实体数据、材质的贴图数据、房间的实体数据和/或楼层的实体数据;和/或
从所述分布式对象存储系统中加载材质图片数据。
7.根据权利要求6所述的BIM模型预览方法,其特征在于,所述数据库包括第一数据表、第二数据表、第三数据表和第四数据表,从数据库中加载数据的步骤包括:
从所述第一数据表中加载所述版本数据;
从所述第二数据表中加载所述图元的实体数据、所述构件的实体数据、所述材质的实体数据、所述房间的实体数据和所述楼层的实体数据;
从所述第三数据表中加载所述图元的属性数据和所述构件的属性数据;
从所述第四数据表中加载所述材质贴图数据。
8.一种模型预览装置,其特征在于,模型包括若干图元,所述模型预览装置包括:
第一加载模块,用于从数据库中加载所述图元的实体数据和所述图元的属性数据;
第二加载模块,用于从分布式对象存储系统中加载所述图元的几何数据;以及
展示模块,用于根据加载到的数据展示所述模型。
9.一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现权利要求1至7任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010627534.2A CN111797153A (zh) | 2020-07-01 | 2020-07-01 | Bim模型预览方法、装置、计算机设备和可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010627534.2A CN111797153A (zh) | 2020-07-01 | 2020-07-01 | Bim模型预览方法、装置、计算机设备和可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111797153A true CN111797153A (zh) | 2020-10-20 |
Family
ID=72809981
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010627534.2A Pending CN111797153A (zh) | 2020-07-01 | 2020-07-01 | Bim模型预览方法、装置、计算机设备和可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111797153A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112270028A (zh) * | 2020-10-30 | 2021-01-26 | 久瓴(上海)智能科技有限公司 | 一种模型管理方法及终端 |
CN114218650A (zh) * | 2021-12-21 | 2022-03-22 | 中国电建集团成都勘测设计研究院有限公司 | Bim模型数据结构构建方法 |
CN115661327A (zh) * | 2022-12-09 | 2023-01-31 | 北京盈建科软件股份有限公司 | Bim平台图形引擎的分布式虚拟节点渲染方法及装置 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5914726A (en) * | 1997-06-27 | 1999-06-22 | Hewlett-Packard Co. | Apparatus and method for managing graphic attributes in a memory cache of a programmable hierarchical interactive graphics system |
WO2003046836A1 (en) * | 2001-11-27 | 2003-06-05 | Sony Computer Entertainment Inc. | Image processing apparatus and constituent parts thereof, rendering method |
CN102446177A (zh) * | 2010-10-11 | 2012-05-09 | 高德软件有限公司 | 数据采集方法、设备、处理方法、系统及底图处理方法 |
CN106204745A (zh) * | 2016-08-31 | 2016-12-07 | 中国电建集团昆明勘测设计研究院有限公司 | 一种基于标准图集管理的监测bim模型快速加载交互方法及系统 |
CN108647330A (zh) * | 2018-05-11 | 2018-10-12 | 厦门海迈科技股份有限公司 | 一种基于bim模型文件的3d轻量化转换方法 |
CN108804768A (zh) * | 2018-05-08 | 2018-11-13 | 中建隧道建设有限公司 | 一种使bim模型轻量化的方法 |
KR101925474B1 (ko) * | 2018-07-06 | 2018-12-05 | 한국건설기술연구원 | Mf 기반 데이터 경량화를 위한 bim-bems 연계 시스템 및 그의 mf 기반 데이터 경량화 방법 |
CN109783442A (zh) * | 2018-12-25 | 2019-05-21 | 武汉思路富邦工程咨询有限公司 | 一种基于Redis和Mongodb的IFC模型存储方式 |
CN110310361A (zh) * | 2019-04-08 | 2019-10-08 | 武汉大良造建筑科技开发有限公司 | 建筑模型实时传输方法、存储介质、设备及系统 |
CN111027113A (zh) * | 2019-12-09 | 2020-04-17 | 广联达科技股份有限公司 | 基于建筑模型生成平面轮廓图的方法、系统和存储介质 |
CN111191303A (zh) * | 2019-10-25 | 2020-05-22 | 腾讯科技(深圳)有限公司 | Bim数据处理方法、装置、电子设备及计算机存储介质 |
-
2020
- 2020-07-01 CN CN202010627534.2A patent/CN111797153A/zh active Pending
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5914726A (en) * | 1997-06-27 | 1999-06-22 | Hewlett-Packard Co. | Apparatus and method for managing graphic attributes in a memory cache of a programmable hierarchical interactive graphics system |
WO2003046836A1 (en) * | 2001-11-27 | 2003-06-05 | Sony Computer Entertainment Inc. | Image processing apparatus and constituent parts thereof, rendering method |
CN102446177A (zh) * | 2010-10-11 | 2012-05-09 | 高德软件有限公司 | 数据采集方法、设备、处理方法、系统及底图处理方法 |
CN106204745A (zh) * | 2016-08-31 | 2016-12-07 | 中国电建集团昆明勘测设计研究院有限公司 | 一种基于标准图集管理的监测bim模型快速加载交互方法及系统 |
CN108804768A (zh) * | 2018-05-08 | 2018-11-13 | 中建隧道建设有限公司 | 一种使bim模型轻量化的方法 |
CN108647330A (zh) * | 2018-05-11 | 2018-10-12 | 厦门海迈科技股份有限公司 | 一种基于bim模型文件的3d轻量化转换方法 |
KR101925474B1 (ko) * | 2018-07-06 | 2018-12-05 | 한국건설기술연구원 | Mf 기반 데이터 경량화를 위한 bim-bems 연계 시스템 및 그의 mf 기반 데이터 경량화 방법 |
CN109783442A (zh) * | 2018-12-25 | 2019-05-21 | 武汉思路富邦工程咨询有限公司 | 一种基于Redis和Mongodb的IFC模型存储方式 |
CN110310361A (zh) * | 2019-04-08 | 2019-10-08 | 武汉大良造建筑科技开发有限公司 | 建筑模型实时传输方法、存储介质、设备及系统 |
CN111191303A (zh) * | 2019-10-25 | 2020-05-22 | 腾讯科技(深圳)有限公司 | Bim数据处理方法、装置、电子设备及计算机存储介质 |
CN111027113A (zh) * | 2019-12-09 | 2020-04-17 | 广联达科技股份有限公司 | 基于建筑模型生成平面轮廓图的方法、系统和存储介质 |
Non-Patent Citations (1)
Title |
---|
姜韶华,吴峥: "BIM空间关系数据的云存储与检索方法研究", 《图学学报》, vol. 39, no. 5, 15 October 2018 (2018-10-15), pages 835 - 842 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112270028A (zh) * | 2020-10-30 | 2021-01-26 | 久瓴(上海)智能科技有限公司 | 一种模型管理方法及终端 |
CN114218650A (zh) * | 2021-12-21 | 2022-03-22 | 中国电建集团成都勘测设计研究院有限公司 | Bim模型数据结构构建方法 |
CN114218650B (zh) * | 2021-12-21 | 2023-04-07 | 中国电建集团成都勘测设计研究院有限公司 | Bim模型数据结构构建方法 |
CN115661327A (zh) * | 2022-12-09 | 2023-01-31 | 北京盈建科软件股份有限公司 | Bim平台图形引擎的分布式虚拟节点渲染方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111797153A (zh) | Bim模型预览方法、装置、计算机设备和可读存储介质 | |
JP6901623B2 (ja) | ゲームレンダリング方法、ゲームリソースファイルの生成方法、その方法を実現する装置及びデバイス | |
CN101504746B (zh) | 信息处理装置和信息处理方法 | |
CN110706341B (zh) | 一种城市信息模型的高性能渲染方法、装置及存储介质 | |
JP5723973B2 (ja) | 仮想世界のシーン・データを提供するための方法、システム、およびコンピュータ・プログラム | |
US5956039A (en) | System and method for increasing performance by efficient use of limited resources via incremental fetching, loading and unloading of data assets of three-dimensional worlds based on transient asset priorities | |
JP6673905B2 (ja) | ネットワーク転送およびリアルタイムレンダリング用に3dテクスチャモデルを自動的に最適化するシステム、方法、およびコンピュータプログラム製品 | |
CN111737618A (zh) | 用于Web端的矢量图显示方法、装置和计算机设备 | |
US20170161947A1 (en) | Method and system for converting an existing 3d model into graphical data | |
CN111710020B (zh) | 动画渲染方法和装置及存储介质 | |
US20210209864A1 (en) | Generating height maps from normal maps based on virtual boundaries | |
CN106294409A (zh) | 数据处理方法和装置 | |
US11119973B2 (en) | Managing white space in a portal web page | |
EP2965290A1 (en) | Data visualization | |
CN113495933A (zh) | 一种矢量瓦片显示方法及系统 | |
CN114494024B (zh) | 图像渲染方法、装置、设备及存储介质 | |
US10872469B2 (en) | System and method for subdividing large polygon mesh datasets into hierarchical subsets for level-of-detail use | |
CN114268828A (zh) | 大屏页面的处理方法、装置、设备及存储介质 | |
CN109343962A (zh) | 数据处理方法、装置及分布式服务系统 | |
WO2024140495A1 (zh) | 多细节层次模型的生成方法、装置、电子设备及存储介质 | |
CN106875464A (zh) | 三维模型文件处理方法、上传方法及客户端 | |
US8847949B1 (en) | Streaming replicated geographic data for display in a three-dimensional environment | |
CN115830212A (zh) | 三维模型展示方法及相关设备 | |
CN113419806B (zh) | 图像处理方法、装置、计算机设备和存储介质 | |
CN111243069B (zh) | 一种Unity3D引擎的场景切换方法和系统 |
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 |