一种大批量模型快速加载的方法与流程

文档序号:20448371发布日期:2020-04-17 22:54阅读:623来源:国知局
一种大批量模型快速加载的方法与流程

本发明属于软件技术领域,具体为一种大批量模型快速加载的方法。



背景技术:

随着软件技术的发展,数据的三维可视化展示,以其数据展示的直观性、便捷性,得到了快速发展。在智慧城市、智慧社区、智慧工厂等领域中,数据的三维可视化都是不可或缺的。

在智慧城市、智慧社区、智慧工厂等应用场景中,对建筑物进行三维建模是三维可视化的基础。由于建筑物结构本身比较复杂,再加上附加在建筑物上的各类设备设施,三维模型的数据量非常庞大,现有技术在系统加载大型场景的三维模型时,受系统硬件和网络环境的限制,数据加载缓慢,用户交互效率低下,特别是在网页和移动终端中加载时,系统无法流畅运行,常常出现卡顿甚至连接超时情况,不利于实际应用。

现有的处理方法往往通过提高系统硬件配置和增加网络带宽来提高加载速度,不仅带来成本的增加,而且对于结构复杂、数量庞大的建筑群,无法从根本上解决问题。因此需要一种方法,能够提高三维模型的加载速度。



技术实现要素:

本发明的目的在于提供一种大批量模型快速加载的方法,以解决上述背景技术中提出的问题。

为实现上述目的,本发明提供如下技术方案:

首先建立三维模型库、建立应用场景库、设定场景加载方案。在展示应用场景时,首先加载模板模型,再根据场景加载方案,加载应用场景。在加载应用场景时,判断加载的场景元素是否有已经加载的模板模型,对于已有模板,在内存中进行复制,并加载场景元素附加的其他信息,从而达到减少数据加载量,提高加载速度的目的。

具体方案为:

步骤一、建立三维模型库。通过三维制图软件对构件进行建模,对于应用场景中的相同构件,只进行一次建模,在三维模型库中只保存一条记录,并设置标志,将其设定为模板模型。对于应用场景中的单一构件,则不设置模板标志。

步骤二、建立应用场景库。将应用场景拆分成三维模型的构件,在数据库中保存场景所需使用的所有构件的信息,以及构件附属的属性信息。

步骤三、设定场景加载方案。设定的内容包括场景中构件的加载顺序及所需模型模板。设定方式为手动设定、自动设定。方案设定后,可以保存为方案模板并在其他场景中复用。

步骤四、模型预加载。根据步骤三中设定的场景所需的模板模型,从三维模型库中读取三维模型数据,在网页中,利用three.js的模型加载功能进行预加载。

步骤五、应用场景加载。从应用场景库中读取场景信息,在网页中,利用three.js,设置场景的灯光、摄像机、场景、渲染器,根据场景信息,根据步骤三种所设定的场景加载顺序,加载三维模型,当需要加载构件为预先加载的模板模型时,则在内存中,对模板模型进行复制,建立模板模型的副本。

步骤六、加载附加模型属性信息。读取应用场景库中的构件附属的属性信息,将属性信息附加到模型中。根据属性信息中的位置信息,完成应用场景的三维模型显示。并将其他属性附加显示。

步骤一中所述的相同构件是指结构相同,但具有不同属性的构件。

步骤二中所述的构件附属的属性信息包括位置、色彩、名称、档案、监测状态以及其他相关的动态业务数据。

步骤三中所述的手动设定是指通过系统使用人员,根据经验,对模型的加载顺序和所需模型模板进行设定。

步骤三中所述的自动设定是指系统根据场景大小、对应的业务、服务器的负载情况、模板的使用频率等参数,进行自动设定。

步骤三中所述的方案模板复用是指在不同场景中,使用相同的加载方案。

与现有技术相比,本发明具有如下有益效果:该方法通过预加载模板模型,减小了模型网络传输的数据量;通过内存复制模板模型生成模型副本,提高了数据加载的速度;通过模型加载方案的设定,实现根据应用场景灵活加载模型;通过附加不同的模型属性,实现了模型的不同展示效果,从而达到应用场景的快速加载。

附图说明

图1是本发明实施例1中提供的场景加载流程图。

具体实施方式

下面结合附图和实施例对本发明作详细描述,但本发明的实施不仅限于此。

实施例1

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

按照图1所示场景加载流程图进行,具体操作如下:

步骤1、建立三维模型库。

步骤1.1、通过三维制图软件,如autodeskrevit、inventor等三维制图软件对工厂厂房,及附属的消防设施建立三维模型。

所述附属消防设施包括:烟感、消防栓、末端试水装置、消防水泵、喷淋装置、消防管线等。

步骤1.2、将模型数据存入数据库对应的数据表中,数据表包括模板id、模板类别、是否为模板模型、创建时间、更新时间,模板标志等字段。其中,烟感、消防栓、末端试水装置、消防水泵、喷淋装置、消防管线为模板模型、厂房为一般模型。

步骤2、建立应用场景库。

步骤2.1、建立工厂厂房的应用场景库,包括厂房、烟感n1个、消防栓n2个、末端试水装置n3个、消防水泵n4个、喷淋装置n5个、消防管线n6路等元素。

步骤2.2、将场景信息存入数据库对应的数据表中,数据表包括场景id、场景元素id、元素类别、模板类别、元素位置、创建时间、更新时间等字段。

步骤3、设定场景的加载方案,通过人为设定,加载模板模型,类别为烟感、消防栓、末端试水装置、消防水泵、喷淋头、消防管线。加载顺序为,1、厂房;2、消防管线;3、消防水泵;4、消防栓;5、末端试水装置;6、烟感;7、喷淋头。

步骤4、模型预加载。根据场景加载方案,加载类别为类别为烟感、消防栓、末端试水装置、消防水泵、喷淋头、消防管线的模板模型。

步骤5、加载应用场景、读取数据库中的场景设置、首先读取场景设定数据,分别加载场景中的各个元素。加载附属设施,以烟感为例,场景加载烟感时,首先判断烟感的模板是否已经存在预加载的模板,如果存在,则在内存中进行复制,建立副本对象。

步骤6、读取场景数据库中的附属信息,将附属信息赋值给复制的副本对象。

整个应用场景加载完成。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。



技术特征:

1.一种大批量模型快速加载的方法,其特征在于,按照如下进行:建立三维模型库、建立应用场景库、设定场景加载方案;展示应用场景时,首先加载模板模型,再根据场景加载方案,加载应用场景;加载应用场景时,判断加载的场景元素是否有已经加载的模板模型,对于已有模板,在内存中进行复制,并加载场景元素附加模型属性信息。

2.根据权利要求1所述一种大批量模型快速加载的方法,其特征在于,所述建立三维模型库的方法为:通过三维制图软件对构件进行建模,对于应用场景中的相同构件,只进行一次建模,在三维模型库中只保存一条记录,并设置标志,将其设定为模板模型,对于应用场景中的单一构件,则不设置模板标志。

3.根据权利要求1所述一种大批量模型快速加载的方法,其特征在于,所建立应用场景库的方法为:将应用场景拆分成三维模型的构件,在数据库中保存场景使用的所有构件的信息以及构件附属的属性信息。

4.根据权利要求1所述一种大批量模型快速加载的方法,其特征在于,所述设定场景加载方案包括设定的内容及设定方式,设定的内容包括场景中构件的加载顺序及所需模型模板,设定方式为手动设定、自动设定,方案设定后,可以保存为方案模板并在其他场景中复用。

5.根据权利要求1所述一种大批量模型快速加载的方法,其特征在于,所述模型预加载为根据设定的场景所需的模板模型,从三维模型库中读取三维模型数据,在网页中,利用three.js的模型加载功能进行预加载。

6.根据权利要求1所述一种大批量模型快速加载的方法,其特征在于,所述加载应用场景为从应用场景库中读取场景信息,在网页中,利用three.js,设置场景的灯光、摄像机、场景、渲染器,根据场景信息,依据所设定的场景加载顺序,加载三维模型,当需要加载构件为预先加载的模板模型时,则在内存中,对模板模型进行复制,建立模板模型的副本。

7.根据权利要求1所述一种大批量模型快速加载的方法,其特征在于,所述加载附加模型属性信息为读取应用场景库中的构件附属的属性信息,将属性信息附加到模型中;根据属性信息中的位置信息,完成应用场景的三维模型显示,并将其他属性附加显示。

8.根据权利要求2所述一种大批量模型快速加载的方法,其特征在于,所述相同构件是指结构相同,但具有不同属性的构件。

9.根据权利要求3所述一种大批量模型快速加载的方法,其特征在于,所述构件附属的属性信息包括位置、色彩、名称、档案、监测状态以及相关的动态业务数据。

10.根据权利要求4所述一种大批量模型快速加载的方法,其特征在于,所述手动设定为通过系统使用人员,根据经验,对模型的加载顺序和所需模型模板进行设定;所述的自动设定为系统根据场景大小、对应的业务、服务器的负载情况、模板的使用频率等参数,进行自动设定;所述方案模板复用为在不同场景中,使用相同的加载方案。


技术总结
本发明公开了属于软件技术领域的一种大批量模型快速加载的方法。该发明的技术方案为首先建立三维模型库、建立应用场景库、设定场景加载方案。在展示应用场景时,首先加载模板模型,再根据场景加载方案,加载应用场景。在加载应用场景时,对于已有模板,在内存中进行复制,并加载场景元素附加的其他信息,从而达到减少数据加载量,提高加载速度的目的。该方法通过预加载模板模型,减小了模型网络传输的数据量;通过内存复制模板模型生成模型副本,提高了数据加载的速度;通过模型加载方案的设定,实现根据应用场景灵活加载模型;通过附加不同的模型属性,实现了模型的不同展示效果,从而达到应用场景的快速加载。

技术研发人员:刘龙昌;张子健
受保护的技术使用者:北京法之运科技有限公司
技术研发日:2019.12.24
技术公布日:2020.04.17
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1