一种模型轻量化、模型显示方法及装置与流程

未命名 10-18 阅读:124 评论:0


1.本技术涉及计算机图形学技术领域,尤其涉及一种模型轻量化、模型显示方法及装置。


背景技术:

2.在研发设计阶段产生的大量的三维模型,企业通过产品数据管理(productdata management,pdm)系统或者文件云盘统一归档管理,但目前三维模型的应用范围基本只局限于研发工程师,使得三维模型在企业业务中未能充分发挥宝贵价值。一方面主要受限于国内外三维设计工具对格式的兼容性问题,不同的三维设计工具支持三维模型的文件格式有限,导致难以查看;另一方面,企业用户必须先安装繁重的三维设计工具,并在本地下载模型,最后通过三维设计工具才能查看模型。如cad工具的大小基本在几个g,下载安装复杂,且费时费力,并且需要购买用户许可,成本较高。
3.目前通用的模型轻量化处理方法包括:从已获得的参数化三维模型中删除与模型结构无关的非关键数据;将删除了非关键数据的参数化三维模型进行几何参数多边形化处理,得到网格模型;基于无损压缩编码算法对网格模型进行编码压缩,得到轻量化模型。这类通用方法无法在保留待处理模型数据的原始特征的前提下,大幅度压缩三维模型的文件大小,并且三维模型的数据加载速度和图形化数据渲染效率均较低。
4.目前市面上系统对于模型轻量化的应用还集中在查看模型和对一些模型的基本交互上,无法对轻量化模型进行多样化地分享以及模型展示。


技术实现要素:

5.本发明提供一种模型轻量化、模型显示方法及装置,以解决上述无法在保留待处理模型数据的原始特征的前提下,大幅度压缩三维模型的文件大小,并且三维模型的数据加载速度和图形化数据渲染效率均较低的技术问题。
6.于本技术一实施例中,本技术提供一种模型轻量化方法,包括:获取待处理模型数据,基于所述待处理模型数据的文件属性对所述待处理模型数据进行格式适配确定目标解析器,根据所述目标解析器对所述待处理模型数据进行数据解析,并基于预设目标格式对数据解析后的待处理模型数据进行格式转换,得到目标模型数据,所述目标模型数据包括模型装配结构、节点转换矩阵和多个节点的目标节点数据;基于所述目标节点数据的属性信息将所述目标节点数据插入预设全局键值库的对应的键值子库中,并生成数据键值索引,所述数据键值索引用于从所述预设全局键值库中检索到所述目标节点数据,所述预设全局键值库中预先设置有每一属性对应的键值子库;对每一节点的目标节点数据进行简化处理,所述简化处理包括,在多个预设轻量化精度下对一节点的节点数据中重复的顶点数据进行数据去重,以及对所述一节点的目标节点数据中的曲面进行网格简化;根据初始数据流的数据类型和数据值确定最小存储字节,并基于所述最小存储字节和所述预设全局键值库的类型对所述初始数据流进行分段压缩,得到轻量化数据,所述初始数据流基于简化
处理后的每一节点的目标节点数据生成的;对所述轻量化数据进行传输压缩,并将传输压缩后的轻量化数据序列化传输至存储服务器,以使所述存储服务器得到轻量化文件。
7.于本技术一实施例中,基于所述待处理模型数据的文件属性对所述待处理模型数据进行格式适配确定目标解析器包括:根据文件后缀对应的第一文件格式确定初始模型解析器,所述文件后缀对应的第一文件格式由所述文件属性得到;基于所述初始模型解析器对所述待处理模型数据进行格式适配,得到适配结果;若所述适配结果为格式适配成功,则将所述初始模型解析器确定为目标模型解析器;若所述适配结果为格式适配失败,则对所述待处理模型数据进行格式确定,得到第二文件格式,并将所述第二文件格式对应的初始模型解析器确定为目标模型解析器。
8.于本技术一实施例中,根据所述目标解析器对所述待处理模型数据进行数据解析,并基于预设目标格式对数据解析后的待处理模型数据进行格式转换,得到目标模型数据包括:根据所述目标模型解析器对初始基础数据进行数据解析,得到待处理基础数据;基于所述预设目标格式对待处理基础数据进行格式转换,得到目标基础数据,所述目标基础数据包括模型装配结构、目标版本数据和初始单位数据;将所述目标版本数据对应的目标模型解析器确定为模型导入解析器;根据所述模型导入解析器对初始转换矩阵和初始节点数据进行数据解析,得到待处理转换矩阵和待处理节点数据;基于所述初始单位数据和所述预设目标格式对待处理转换矩阵和待处理节点数据进行格式转换,得到节点转换矩阵和多个节点的目标节点数据;基于所述目标基础数据、节点转换矩阵和多个节点的目标节点数据得到目标模型数据;其中,所述待处理模型数据包括所述初始基础数据、初始转换矩阵和初始节点数据。
9.于本技术一实施例中,基于所述初始单位数据和所述预设目标格式对待处理转换矩阵和待处理节点数据进行格式转换,得到节点转换矩阵和多个节点的目标节点数据包括:根据所述预设目标格式和预设保留属性对待处理转换矩阵和待处理节点数据进行格式转换,得到格式转换矩阵和多个节点的格式节点数据,所述格式节点数据包括格式几何数据和格式非几何数据;根据所述初始单位数据对所述格式转换矩阵进行坐标统一换算,得到节点转换矩阵;将每一节点的格式几何数据与格式非几何数据进行格式关联,得到每一节点的目标节点数据;其中,所述格式转换矩阵和多个节点的格式节点数据由临时内存池中目标格式的临时数据复制得到,所述临时内存池的数据存取由预设动态内存分配函数和预设内存释放函数对所述临时内存池进行预分配和释放实现。
10.于本技术一实施例中,基于所述目标基础数据、节点转换矩阵和多个节点的目标节点数据得到目标模型数据包括:若格式转换精度模式为保持初始格式精度,则将所述初始格式精度作为所述目标模型数据的目标格式精度;若格式转换精度模式为更改初始格式精度,则基于预设目标格式精度对目标边界数据进行精度曲面细分,生成细分网格数据和细分边界数据,并基于所述细分网格数据和所述细分边界数据对目标材质数据和目标贴图数据进行坐标重映射,得到映射材质数据和映射贴图数据;基于所述细分网格数据、所述细分边界数据、所述映射材质数据和所述映射贴图数据对各所述目标节点数据进行更新,将更新后的各目标节点数据作为各所述目标节点数据;若所述目标节点数据中不存在数物属性数据,则对各所述目标节点数据进行数物属性计算,得到数物属性数据,所述数物属性数据包括包围盒属性和模型物理属性;基于所述目标基础数据、节点转换矩阵和多个节点的
目标节点数据得到目标模型数据;其中,所述格式转换精度模式由所述目标基础数据得到。
11.于本技术一实施例中,所述简化处理还包括:若各所述目标节点数据的实例化存在多个复用实例,则基于一复用实例对各所述复用实例进行引用映射;保留所述一复用实例,并将冗余的复用实例删除。
12.于本技术一实施例中,所述初始数据流的生成包括:根据流长度、所述预设全局键值库的类型的流字节索引位和物料清单结构生成数据流头部,所述物料清单结构由所述模型装配结构和所述节点转换矩阵的对应关系得到;根据所述预设全局键值库的类型对简化处理后的每一节点的目标节点数据进行分段生成数据流尾部;基于所述数据流头部和所述数据流头部生成初始数据流,所述流长度为所述初始数据流的数据长度。
13.于本技术一实施例中,得到物料清单结构之后,所述模型轻量化方法还包括:根据预设显示节点类型对所述模型装配结构进行冗余节点类型过滤,得到显示装配结构;基于显示装配结构和所述显示装配结构对应的节点转换矩阵生成序列化装配文件,并传输存在至存储服务器。
14.于本技术一实施例中,所述预设目标格式为prc格式;若轻量化文件中的一节点存在新的原始模型数据,则将所述新的原始模型数据作为待处理模型数据进行模型轻量化,得到节点文件;基于所述模型装配结构和所述节点文件对所述轻量化文件进行数据更新。
15.于本技术一实施例中,得到轻量化文件之后,所述模型轻量化方法还包括:接收显示指令;将所述显示指令对应的轻量化文件发送至客户端;接收装配结构获取指令;将所述装配结构获取指令对应的序列化装配文件发送至客户端。
16.于本技术一实施例中,本技术提供一种模型显示方法,包括:获取待显示轻量化模型的显示指令,并发送至轻量化服务器;接收轻量化文件,所述轻量化文件包括数据流头部和数据流尾部;基于所述数据流头部对所述数据流尾部进行分段流式加载和网格数据渲染,得到初始显示模型,并生成装配结构获取指令发送至所述轻量化服务器;接收序列化装配文件;根据所述序列化装配文件构建装配结构节点映射树,以使用户通过所述装配结构节点映射树进行装配节点显示操作;基于包围盒数据对所述初始显示模型进行自适应视角设置,得到目标显示模型,以根据所述目标显示模型进行模型显示或根据所述目标显示模型进行动画制作,得到动画展示地址,并发送至预设展示终端;其中,所述包围盒数据由所述轻量化文件得到或对所述轻量化文件进行包围盒计算得到。
17.于本技术一实施例中,本技术提供一种模型轻量化装置,包括:数据获取模块,用于获取待处理模型数据,基于所述待处理模型数据的文件属性对所述待处理模型数据进行格式适配确定目标解析器,根据所述目标解析器对所述待处理模型数据进行数据解析,并基于预设目标格式对数据解析后的待处理模型数据进行格式转换,得到目标模型数据,所述目标模型数据包括模型装配结构、节点转换矩阵和多个节点的目标节点数据;索引生成模块,用于基于所述目标节点数据的属性信息将所述目标节点数据插入预设全局键值库的对应的键值子库中,并生成数据键值索引,所述数据键值索引用于从所述预设全局键值库中检索到所述目标节点数据,所述预设全局键值库中预先设置有每一属性对应的键值子库;简化处理模块,用于对每一节点的目标节点数据进行简化处理,所述简化处理包括,在多个预设轻量化精度下对一节点的节点数据中重复的顶点数据进行数据去重,以及对所述一节点的目标节点数据中的曲面进行网格简化;数据压缩模块,用于根据初始数据流的数
据类型和数据值确定最小存储字节,并基于所述最小存储字节和所述预设全局键值库的类型对所述初始数据流进行分段压缩,得到轻量化数据,所述初始数据流基于简化处理后的每一节点的目标节点数据生成的;数据传输模块,用于对所述轻量化数据进行传输压缩,并将传输压缩后的轻量化数据序列化传输至存储服务器,以使所述存储服务器得到轻量化文件。
18.于本技术一实施例中,所述模型轻量化装置还包括存储服务器;所述存储服务器用于存储所述待处理模型数据和所述轻量化文件,并通过进程调用指令上传所述待处理模型数据至所述数据获取模块;所述进程调用指令由轻量化服务器中主进程的多线程调用一转换进程得到。
19.于本技术一实施例中,本技术提供一种模型显示装置,包括:指令获取模块,用于获取待显示轻量化模型的显示指令,并发送至轻量化服务器;第一接收模块,用于接收轻量化文件,所述轻量化文件包括数据流头部和数据流尾部;渲染模块,用于基于所述数据流头部对所述数据流尾部进行分段流式加载和网格数据渲染,得到初始显示模型,并生成装配结构获取指令发送至所述轻量化服务器;第二接收模块,用于接收序列化装配文件;装配树生成模块,用于根据所述序列化装配文件构建装配结构节点映射树,以使用户通过所述装配结构节点映射树进行装配节点显示操作;视角生成模块,用于基于包围盒数据对所述初始显示模型进行自适应视角设置,得到目标显示模型,以根据所述目标显示模型进行模型显示或根据所述目标显示模型进行动画制作,得到动画展示地址,并发送至预设展示终端;其中,所述包围盒数据由所述轻量化文件得到或对所述轻量化文件进行包围盒计算得到,所述渲染模块通过调用系统显卡资源进行分段流式加载和网格数据渲染。
20.本发明的有益效果:本发明提供一种模型轻量化、模型显示方法及装置,本发明通过将待处理模型数据格式转换成预设目标格式对应的目标模型数据,并基于目标节点数据的属性信息将目标节点数据插入预设全局键值库的对应的键值子库中,并生成数据键值索引,通过数据键值索引检索数据的方式,可以提高目标节点数据简化处理的速度,以及在模型显示过程中,提高轻量化文件的数据加载速度和数据渲染效率,通过对目标模型数据中多个节点的目标节点数据进行简化处理以及基于最小存储字节进行分段压缩,可以在保留待处理模型数据的原始特征的前提下,大幅度压缩目标模型数据,提高了目标模型数据的数据压缩率,通过分段压缩还可以再次提高数据加载速度和数据渲染效率。
21.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
22.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理。显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术者来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
23.图1示出了可以应用本技术实施例的技术方案的示例性系统架构的示意图;
24.图2示出了可以应用本技术实施例的示例性系统架构的服务部署示意图;
25.图3示出了根据本技术一个实施例的模型轻量化方法的流程示意图;
26.图4示出了根据本技术一个实施例的模型轻量化多进程示意图;
27.图5示出了可以应用本技术实施例的技术方案的另一系统架构的示意图;
28.图6示出了根据本技术一个实施例的模型显示方法的流程示意图;
29.图7示出了根据本技术一个实施例的模型轻量化装置的框图;
30.图8示出了根据本技术一个实施例的模型显示装置的框图;
31.图9示出了适于用来实现本技术实施例的电子设备的计算机系统的结构示意图。
具体实施方式
32.以下通过特定的具体实例说明本技术的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本技术的其他优点与功效。本技术还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本技术的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
33.需要说明的是,以下实施例中所提供的图示仅以示意方式说明本技术的基本构想,遂图式中仅显示与本技术中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
34.在下文描述中,探讨了大量细节,以提供对本技术实施例的更透彻的解释,然而,对本领域技术人员来说,可以在没有这些具体细节的情况下实施本技术的实施例是显而易见的,在其他实施例中,以方框图的形式而不是以细节的形式来示出公知的结构和设备,以避免使本技术的实施例难以理解。
35.请参阅图1,图1示出了可以应用本技术实施例的技术方案的示例性系统架构的示意图。如图1所示,系统架构可以包括第三方系统101、模型轻量化系统102和文件存储103。其中,第三方系统101用于启动模型轻量化、查看模型轻量化后的模型以及上传待处理模型数据至文件存储103,模型轻量化系统102用于执行模型轻量化,文件存储103用于存储模型轻量化后的轻量化文件以及待处理模型数据。第三方系统101通过客户端运行,模型轻量化系统102通过轻量化服务器运行,文件存储103通过存储服务器运行。第三方系统101将待处理模型数据上传至文件存储103,模型轻量化系统102包括模型转换接口、转换服务以及数据查看接口。第三方系统101通过模型转换接口启动转换服务对待处理模型数据进行模型轻量化,得到轻量化文件,并将轻量化文件存储于文件存储103,第三方系统101通过数据查看接口进行轻量化模型显示。
36.示例性地,请参阅图2,图2示出了可以应用本技术实施例的示例性系统架构的服务部署示意图。如图2所示,模型轻量化系统102和文件存储服务103的部署服务包括本地安装和云端运行,云端运行包括在公有云部署和私有云部署,云端运行可以部署到大型云服务商的云上。文件存储服务103通过云服务组件进行存储,模型轻量化系统102通过模型管理(cad manager)服务和模型转换(cadadapter)服务进行模型轻量化。
37.相关技术中,无法在保留待处理模型数据的原始特征的前提下,大幅度压缩三维模型的文件大小,并且三维模型的数据加载速度和图形化数据渲染效率均较低。
38.为解决上述技术问题,本技术提供了一种模型轻量化、模型显示方法及装置,以下
对本技术实施例的技术方案的实现细节进行详细阐述。
39.请参阅图3,图3示出了根据本技术一个实施例的模型轻量化方法的流程示意图。该方法可以应用于图1所示的实施环境,并由该实施环境中的模型轻量化系统102实施。应理解的是,该方法也可以适用于其它的示例性实施环境,并由其它实施环境中的设备具体执行,本实施例不对该方法所适用的实施环境进行限制。如图3所示,在一示例性的实施例中数据方法至少包括步骤s310至步骤s350,详细介绍如下:
40.步骤s310,获取待处理模型数据,基于待处理模型数据的文件属性对待处理模型数据进行格式适配确定目标解析器,根据目标解析器对待处理模型数据进行数据解析,并基于预设目标格式对数据解析后的待处理模型数据进行格式转换,得到目标模型数据。
41.其中,目标模型数据包括模型装配结构、节点转换矩阵和多个节点的目标节点数据。
42.在本技术的一个实施例中,待处理模型数据通过客户端上传至存储服务器。
43.在本技术的一个实施例中,待处理模型数据由三维模型数据构成,预设目标格式包括但不限于prc(productrepresentationcompact)格式。iso标准下的prc格式作为待处理模型数据的数据交换格式几乎能100%保留三维模型数据中所有数据,在对不同初始模型格式的待处理模型数据进行模型轻量化时,可先将该待处理模型数据统一转换到prc格式的数据,再进行模型轻量化。本技术通过统一预设目标格式的方式,对不同初始模型格式的三维模型数据在模型导入上做区别处理,以达到支持新模型格式和规范模型版本升级后的解析复杂度的目的。
44.在本技术的一个实施例中,本技术支持初始模型格式的文件后缀大于或等于60种,支持初始模型格式对应的软件格式大于或等于30种。初始模型格式包括但不限于3mf、acis、autocad-2d、autocad-3d、autodesk3ds、autodeskdwf、autodeskinventor、autodesk navisworks、catiav4、catiav5、catiav6/3dexperience、collada、creo-pro/e、dgn5、fbx、gltransmissionformat、i-deas、ifc、iges、jt、nx-unigraphics、parasolid、pdf、prc、revit、rhino3d、solidedge、solidworks、step、step/xml、stereolithography(stl)、u3dvda-fs、vrml、wavefrontobj。
45.在本技术的一个实施例中,用户发起轻量化转换请求,基于轻量化转换请求由轻量化服务器中主进程的多线程调用一转换进程去获取待处理模型数据,以进行模型轻量化。请参阅图4,图4示出了根据本技术一个实施例的模型轻量化多进程示意图。如图4所示,每一个轻量化转换请求在轻量化服务器上会单独启动一个转换进程,每个重量级资源占用的模型轻量化都被隔绝在一个转换进程中,互不干扰,如转换服务将转换队列中的多个待处理模型数据通过转换进程1、转换进程2、转换进程3至转换进程n进行模型轻量化。并且在轻量化服务器端也可控的对进程进行启动和主动结束,保证轻量化服务器不会占用过多的资源,只做“轻量”的业务处理,“重量”的模型轻量化如果占用资源过多,则会被系统强制结束,也会被服务感知到进程结束。通过多线程结合多进程的方式隔绝重量级模型解析对轻量化服务器的影响,避免丢失有效数据。
46.在本技术的一个实施例中,基于所述待处理模型数据的文件属性对所述待处理模型数据进行格式适配确定目标解析器包括:初始模型解析器用于解析多种初始模型格式的待处理模型数据,通过文件后缀对应的第一文件格式确定预判断解析器的预判格式,得到
初始模型解析器,所述文件后缀对应的第一文件格式由所述文件属性得到。如文件后缀为catproduct,则将初始模型解析器确定为catiav5格式的预判断解析器。初始模型解析器对待处理模型数据进行解码解析后,通过getversion作格式适配。若格式适配成功,则将初始模型解析器确定目标模型解析器;若格式适配失败,则通过内置注册的格式factory循环对待处理模型数据进行格式确定,得到第二文件格式,将第二文件格式对应的初始模型解析器确定为目标模型解析器。经过双重决策,准确识别待处理模型数据的模型内核类型。
47.在本技术的一个实施例中,根据所述目标解析器对所述待处理模型数据进行数据解析,并基于预设目标格式对数据解析后的待处理模型数据进行格式转换,得到目标模型数据包括:根据所述目标模型解析器对初始基础数据进行数据解析,得到待处理基础数据;基于所述预设目标格式对待处理基础数据进行格式转换,得到目标基础数据,所述目标基础数据包括模型装配结构、目标版本数据和初始单位数据;将所述目标版本数据对应的目标模型解析器确定为模型导入解析器;根据所述模型导入解析器对初始转换矩阵和初始节点数据进行数据解析,得到待处理转换矩阵和待处理节点数据;基于所述初始单位数据和所述预设目标格式对待处理转换矩阵和待处理节点数据进行格式转换,得到节点转换矩阵和多个节点的目标节点数据;基于所述目标基础数据、节点转换矩阵和多个节点的目标节点数据得到目标模型数据;其中,所述待处理模型数据包括所述初始基础数据、初始转换矩阵和初始节点数据。
48.在本技术的一个实施例中,初始基础数据包括初始装配依赖数据、初始版本数据和初始单位数据。初始装配依赖数据包括初始装配结构和初始依赖数据,初始依赖数据包括初始检索目录,初始检索目录用于表征各个节点间初始节点数据的初始文件依赖关系。
49.在本技术的一个实施例中,根据目标模型解析器和预设目标格式对待处理基础数据进行格式转换,得到目标基础数据。目标基础数据包括目标装配依赖数据、目标版本数据和初始单位数据。目标装配依赖数据包括模型装配结构和目标依赖数据,目标依赖数据包括目标检索目录,目标检索目录用于表征各个节点间的目标节点数据的目标文件依赖关系。
50.在本技术的一个实施例中,将目标版本数据对应的目标模型解析器确定为模型导入解析器。根据目标模型解析器对待处理转换矩阵和初始节点数据进行数据解析,并根据预设目标格式将待处理转换矩阵和待处理节点数据进行格式转换,得到节点转换矩阵和多个节点的目标节点数据。
51.在本技术的一个实施例中,基于所述初始单位数据和所述预设目标格式对待处理转换矩阵和待处理节点数据进行格式转换,得到节点转换矩阵和多个节点的目标节点数据包括:根据所述预设目标格式和预设保留属性对待处理转换矩阵和待处理节点数据进行格式转换,得到格式转换矩阵和多个节点的格式节点数据,所述格式节点数据包括格式几何数据和格式非几何数据;根据所述初始单位数据对所述格式转换矩阵进行坐标统一换算,得到节点转换矩阵;将每一节点的格式几何数据与格式非几何数据进行格式关联,得到每一节点的目标节点数据;其中,所述格式转换矩阵和多个节点的格式节点数据由临时内存池中目标格式的临时数据复制得到,所述临时内存池的数据存取由预设动态内存分配函数和预设内存释放函数对所述临时内存池进行预分配和释放实现。
52.在本技术的一个实施例中,预设保留属性用于表征格式转换时需保留的属性类
型,可控的保留模型中待处理节点数据中用户需要的数据。预设保留属性包括三维零件类和装配结构树类、边界表示(boundaryrepresentation,brep)类、曲线精确几何表示类、曲面精确几何表示类、曲面细分类、标记类、视图类以及非几何类;三维零件类包括坐标系类、线框类、表面类和实体类;标记包括产品制造(product&manufacturinginformation,pmi)类;非几何类包括名称类、颜色类和层类。
53.在本技术的一个实施例中,目标节点数据包括目标几何数据和目标非几何数据。目标节点数据的属性信息用于表征目标节点数据对应的几何类型或非几何类型。目标几何数据包括顶点数据、线条数据、线框数据、实体数据、曲面数据、pmi数据、尺寸测量数据、视图数据、网格数据以及brep数据。目标非几何数据包括名称数据、颜色数据、目标材质数据、目标贴图数据和层数据。
54.在本技术的一个实施例中,根据初始单位数据对格式转换矩阵进行坐标统一换算,得到节点转换矩阵:若初始单位数据中存在不一致的初始单位数据,则通过最后识别出的初始单位数据,也即父节点的初始单位数据对格式转换矩阵进行坐标统一换算,得到节点转换矩阵,保证节点的数据比例一致。节点转换矩阵通过transformmatrix表示。
55.在本技术的一个实施例中,通过临时内存池(memorypool)将待处理转换矩阵和待处理节点数据复制成目标格式对应的格式数据,得到临时数据;将所有临时数据从临时内存池取出并存入长期内存;其中,临时数据的数据存取由预设动态内存分配函数(malloc)和预设内存释放函数(free)对临时内存池进行预分配和释放实现,减少临时内存池和长期内存的交换次数,提高性能和运行速率。
56.在本技术的一个实施例中,基于目标基础数据、节点转换矩阵和多个节点的目标节点数据得到目标模型数据包括:若格式转换精度模式为保持初始格式精度,则将初始格式精度作为目标模型数据的目标格式精度;若格式转换精度模式为更改初始格式精度,则基于预设目标格式精度对目标边界数据进行精度曲面细分,生成细分网格数据和细分边界数据,并基于细分网格数据和细分边界数据对目标材质数据和目标贴图数据进行坐标重映射,得到映射材质数据和映射贴图数据;基于细分网格数据、细分边界数据、映射材质数据和映射贴图数据对各目标节点数据进行更新,将更新后的各目标节点数据作为各目标节点数据;若目标节点数据中不存在数物属性数据,则对各目标节点数据进行数物属性计算,得到数物属性数据,数物属性数据包括包围盒属性和模型物理属性;基于目标基础数据、节点转换矩阵和多个节点的目标节点数据得到目标模型数据;其中,格式转换精度模式由目标基础数据得到。
57.在本技术的一个实施例中,本技术支持直接使用待处理模型数据的初始格式精度,也支持使用根据用户设置的预设目标格式精度进行格式转换精度细分。格式转换精度细分包括对目标边界数据进行精度曲面细分,生成细分网格数据和细分边界数据,并基于细分网格数据和细分边界数据对目标材质数据和目标贴图数据进行坐标重映射,得到映射材质数据和映射贴图数据,坐标重映射包括uv重映射。
58.在本技术的一个实施例中,精度曲面细分过程中可控制包围盒属性的对角线长度与和弦高度的比率、每个三角面中拓扑边曲线的两个连续段之间的最大角度等参数,以用来控制生成细分网格数据的精细程度,也控制了轻量化后模型的大小和渲染质量。并且可以选择性地保留初始节点数据中的brep数据到轻量化数据中,用于实现轻量化数据在显示
时的交互功能,如面-面角度测量、圆半径测量以及线面最短距离测量。
59.在本技术的一个实施例中,模型物理属性包括体积、表面积和重心至少之一。
60.步骤s320,基于目标节点数据的属性信息将目标节点数据插入预设全局键值库的对应的键值子库中,并生成数据键值索引。
61.其中,数据键值索引用于从预设全局键值库中检索到目标节点数据,预设全局键值库中预先设置有每一属性对应的键值子库。
62.在本技术的一个实施例中,预设全局键值库通过构建多类全局红黑树(rbtree)库得到,提高了资源数据检索速率,各类rbtree库包括材质库、颜色库、顶点库、线库、曲线\面库、网格库、pmi库、视图库等。并对各个rbtree库中每一属性设置键值子库,得到id-data映射。
63.在本技术的一个实施例中,基于目标节点数据的属性信息将目标节点数据插入预设全局键值库的对应的键值子库中,并生成数据键值索引包括:属性信息可由prcentityid表征,则数据键值索引表征为prcentityid-》rbtree索引,可通过数据键值索引快速检索加载到每个节点的目标节点数据。
64.步骤s330,对每一节点的目标节点数据进行简化处理,简化处理包括,在多个预设轻量化精度下对一节点的节点数据中重复的顶点数据进行数据去重,以及对一节点的目标节点数据中的曲面进行网格简化。
65.其中,简化处理包括,在多个预设轻量化精度下对一节点的节点数据中重复的顶点数据进行数据去重,以及对一节点的目标节点数据中的曲面进行网格简化。
66.在本技术的一个实施例中,在进行简化处理前,还包括基于预设轻量化单位对各目标节点数据进行单位统一。
67.在本技术的一个实施例中,在多个预设轻量化精度下对一节点的节点数据中重复的顶点数据进行数据去重包括:根据预设第一精度对顶点数据进行顶点缓存(vertexcache)优化,得到重复的顶点数据;删除重复的顶点数据,并将顶点数据对应的数据键值索引进行重排布;
68.在本技术的一个实施例中,对一节点的目标节点数据中的曲面进行网格简化包括:根据预设第二精度对曲面进行网格简化(simplify)。通过网格重采样算法(resample)可将网格误差归一化控制到(0~1.0)范围内,在不影响渲染质量的情况下优化网格数量和降低模型大小
69.在本技术的一个实施例中,在待处理模型数据进行格式转换时可进行转换精度控制;在模型轻量化过程中可进行轻量化精度控制。两次精度控制可实现生成不同精度和不同轻量化后模型大小的轻量化文件的功能。
70.在本技术的一个实施例中,简化处理还包括:若各目标节点数据的实例化存在多个复用实例,则基于一复用实例对各复用实例进行引用映射;保留一复用实例,并将冗余的复用实例删除。
71.在本技术的一个实施例中,对多个节点引用同一节点的多实例做引用映射,只保留一份模型渲染所需的目标节点数据,多实例节点只对数据进行引用计数。
72.步骤s340,根据初始数据流的数据类型和数据值确定最小存储字节,并基于最小存储字节和预设全局键值库的类型对初始数据流进行分段压缩,得到轻量化数据。
73.其中,初始数据流基于简化处理后的每一节点的目标节点数据生成的。
74.在本技术的一个实施例中,初始数据流的生成包括:根据所述流长度、所述预设全局键值库的类型的流字节索引位和物料清单结构生成数据流头部,所述物料清单结构由所述模型装配结构和所述节点转换矩阵的对应关系得到;根据预设全局键值库的类型对简化处理后的每一节点的目标节点数据进行分段生成数据流尾部;基于数据流头部和数据流头部生成初始数据流,流长度为初始数据流的数据长度。通过初始数据流的重排布进行数据分类加载识别。
75.在本技术的一个实施例中,通过最小存储字节和预设全局键值库的类型对初始数据进行数据分段压缩得到的轻量化数据在轻量化显示过程,数据加载和数据渲染的速度更快。
76.步骤s350,对轻量化数据进行传输压缩,并将传输压缩后的轻量化数据序列化传输至存储服务器,以使存储服务器得到轻量化文件。
77.在本技术的一个实施例中,传输压缩包括gzip编码压缩,降低了轻量化数据的大小,减少了网络传输的加载时间。
78.在本技术的一个实施例中,得到物料清单结构之后,还包括:根据预设显示节点类型对模型装配结构进行冗余节点类型过滤,得到显示装配结构;基于显示装配结构和显示装配结构对应的节点转换矩阵生成序列化装配文件,并传输存在至存储服务器。预设显示节点类型用于模型轻量化后进行显示操作的节点类型,预设显示节点类型包括装配体和零部件等非建模中间步骤的节点类型。
79.在本技术的一个实施例中,序列化装配文件可由json文件存储,存储服务器将文件按json内容在mysql数据库中构建物料清单映射表。
80.在本技术的一个实施例中,得到轻量化文件之后,模型轻量化方法还包括:接收显示指令;将显示指令对应的轻量化文件发送至客户端;接收装配结构获取指令;将装配结构获取指令对应的序列化装配文件发送至客户端。
81.在本技术的一个实施例中,接收显示指令后从存储服务器中读取显示指令对应的轻量化文件,并发送至客户端。接收装配结构获取指令后,从存储服务器中读取装配结构获取指令对应的序列化装配文件,并发送至客户端。
82.在本技术的一个实施例中,预设目标格式为prc格式;若轻量化文件中的一节点存在新的原始模型数据,则将新的原始模型数据作为待处理模型数据进行模型轻量化,得到节点文件;基于模型装配结构和节点文件对轻量化文件进行数据更新。新的原始模型数据为对该节点进行了原格式数据的更新。
83.在本技术的一个实施例中,通过将待处理模型数据转换成prc格式后,可以对待处理模型数据按照节点拆分,识别到待处理模型数据的整个装配树,并且可以对装配树中的节点进行单独的轻量化输出;在仅部分节点做变更时,只需要重新轻量化变更部分并进行旧数据和装配结构更新,根据模型装配结构和节点文件进行动态组装渲染。相较于传统的模型轻量化方式,即对一个具有多文件的待处理模型数据进行模型轻量化时,是对整个待处理模型数据的装配结构轻量化成一个模型再进行渲染,如jt格式,传统方式无法支持单个节点的待处理模型数据变更时的单个模型轻量化,本技术减少了数据交换次数、转换时间和系统资源。
84.在本技术的一个实施例中,请参阅图5,图5示出了可以应用本技术实施例的技术方案的另一系统架构的示意图。如图5所示,模型轻量化系统还包括数据同步服务,第三方系统包括第三方产品生命周期管理系统(productlifecyclemanagementsystem,plm系统)。通过数据同步服务对接客户端上运行不同的第三方plm系统,以实现批量模型轻量化功能、大型装配的增量更新功能以及动态组装功能。模型轻量化系统还提供对外轻量化查看页面,通过对外轻量化查看页面提供给第三方plm系统进行模型轻量化后的模型查看。
85.请参阅图6,图6示出了根据本技术一个实施例的模型显示方法的流程示意图。该方法可以应用于图1所示的实施环境,并由该实施环境中的第三方系统101实施。应理解的是,该方法也可以适用于其它的示例性实施环境,并由其它实施环境中的设备具体执行,本实施例不对该方法所适用的实施环境进行限制。如图6所示,在一示例性的实施例中数据方法至少包括步骤s610至步骤s660,详细介绍如下:
86.步骤s610,获取待显示轻量化模型的显示指令,并发送至轻量化服务器。
87.步骤s620,接收轻量化文件,轻量化文件包括数据流头部和数据流尾部。
88.步骤s630,基于数据流头部对数据流尾部进行分段流式加载和网格数据渲染,得到初始显示模型,并生成装配结构获取指令发送至轻量化服务器。
89.在本技术的一个实施例中,数据渲染包括分段流式加载和网格数据渲染。将高性能的c++渲染内核通过webassembly技术移植到浏览器上后,通过调用系统显卡资源进行数据渲染,得到初始显示模型。相较于传统的webgl技术进行数据渲染,c++渲染内核可以多线程异步地接收轻量化文件的数据,异步地进行数据渲染。并且,数据渲染不卡顿,用户无感进行模型交互,减少了内存性能损失。
90.在本技术的一个实施例中,在数据渲染过程中,通过数据键值索引用从预设全局键值库中检索到数据流尾部中各目标节点数据,提高数据渲染效率。
91.在本技术的一个实施例中,若待显示轻量化模型对应的待处理模型数据为10gbcatiav5模型数据,在数据渲染时平均每一帧渲染1600多万的三角面和600多万的线条,模型交互流程,充分利用图形处理器(graphicsprocessingunit,gpu)的性能。
92.步骤s640,接收序列化装配文件。
93.步骤s650,根据序列化装配文件构建装配结构节点映射树,以使用户通过装配结构节点映射树进行装配节点显示操作。
94.步骤s660,基于包围盒数据对初始显示模型进行自适应视角设置,得到目标显示模型,以根据目标显示模型进行模型显示或根据目标显示模型进行动画制作,得到动画展示地址,并发送至预设展示终端;
95.其中,包围盒数据由轻量化文件得到或对轻量化文件进行包围盒计算得到。
96.在本技术的一个实施例中,通过预设展示终端用户可以查看目标显示模型制作的动画,通过该动画进行工厂作业教学指导。
97.在本技术的一个实施例中,通过传统的模型轻量化方式和本技术的模型轻量化方式对100个覆盖多种格式如obj、fbx、creo、stp、catiav5等的待处理模型数据进行模型轻量化,本技术的轻量化压缩比可达1:90,本技术的轻量化率在73.1%~98.1%,同一份待处理模型数据,本技术的轻量化率更高。并且随着模型增大或者模型的引用曲面数量增大,本技术的轻量化压缩率和压缩性能优势越来越明显。对同一份待处理模进行模型轻量化,较传
统的模型轻量化方式,本技术的轻量化压缩比至少提升50%。相较于传统的模型轻量化后的模型,通过本技术模型轻量化后的模型平均加载时间快70%,浏览器内存占比至少节省60%,模型渲染精度和模型还原度更高。本技术对于同等大小的原模型在不损失精度的情况下轻量化后的大小更小,模型渲染时间更短,内存占用更低。
98.请参阅图7,图7示出了根据本技术一个实施例的模型轻量化装置的框图。该装置可以应用于图1所示的实施环境,并具体配置在模型轻量化系统102中。该装置也可以适用于其它的示例性实施环境,并具体配置在其它设备中,本实施例不对该装置所适用的实施环境进行限制。
99.如图7所示,根据本技术的一个实施例的模型轻量化装置700,包括:数据获取模块701,索引生成模块702,简化处理模块703、数据流生成模块704和数据压缩模块705。
100.其中,数据获取模块701,用于获取待处理模型数据,基于所述待处理模型数据的文件属性对所述待处理模型数据进行格式适配确定目标解析器,根据所述目标解析器对所述待处理模型数据进行数据解析,并基于预设目标格式对数据解析后的待处理模型数据进行格式转换,得到目标模型数据,目标模型数据包括模型装配结构、节点转换矩阵和多个节点的目标节点数据;
101.索引生成模块702,用于基于目标节点数据的属性信息将目标节点数据插入预设全局键值库的对应的键值子库中,并生成数据键值索引,数据键值索引用于从预设全局键值库中检索到目标节点数据,预设全局键值库中预先设置有每一属性对应的键值子库;
102.简化处理模块703,用于对每一节点的目标节点数据进行简化处理,简化处理包括,在多个预设轻量化精度下对一节点的节点数据中重复的顶点数据进行数据去重,以及对一节点的目标节点数据中的曲面进行网格简化;
103.数据压缩模块704,用于根据初始数据流的数据类型和数据值确定最小存储字节,并基于所述最小存储字节和所述预设全局键值库的类型对所述初始数据流进行分段压缩,得到轻量化数据,所述初始数据流基于简化处理后的每一节点的目标节点数据生成的;
104.数据传输模块705,用于对所述轻量化数据进行传输压缩,并将传输压缩后的轻量化数据序列化传输至存储服务器,以使所述存储服务器得到轻量化文件。
105.模型轻量化装置还包括存储服务器;
106.其中,存储服务器用于存储待处理模型数据和轻量化文件,并通过进程调用指令上传待处理模型数据至数据获取模块;
107.进程调用指令由轻量化服务器中主进程的多线程调用一转换进程得到。
108.请参阅图8,图8示出了根据本技术一个实施例的模型显示装置的框图。该装置可以应用于图1所示的实施环境,并具体配置在第三方系统101中。该装置也可以适用于其它的示例性实施环境,并具体配置在其它设备中,本实施例不对该装置所适用的实施环境进行限制。
109.如图8所示,根据本技术的一个实施例的模型显示装置800,包括:指令获取模块801,第一接收模块802,渲染模块803、第二接收模块804、装配树生成模块805和视角生成模块806。
110.其中,指令获取模块801,用于获取待显示轻量化模型的显示指令,并发送至轻量化服务器;
111.第一接收模块802,用于接收轻量化文件,轻量化文件包括数据流头部和数据流尾部;
112.渲染模块803,用于基于数据流头部对数据流尾部进行分段流式加载和网格数据渲染,得到初始显示模型,并生成装配结构获取指令发送至轻量化服务器;
113.第二接收模块804,用于接收序列化装配文件;
114.装配树生成模块805,用于根据序列化装配文件构建装配结构节点映射树,以使用户通过装配结构节点映射树进行装配节点显示操作;
115.视角生成模块806,用于基于包围盒数据对初始显示模型进行自适应视角设置,得到目标显示模型,以根据所述目标显示模型进行模型显示或根据所述目标显示模型进行动画制作,得到动画展示地址,并发送至预设展示终端;
116.其中,包围盒数据由轻量化文件得到或对轻量化文件进行包围盒计算得到,所述渲染模块通过调用系统显卡资源进行分段流式加载和网格数据渲染。
117.需要说明的是,上述实施例所提供的模型轻量化装置与上述实施例所提供的模型轻量化方法属于同一构思,上述实施例所提供的模型显示装置与上述实施例所提供的模型轻量化方法属于同一构思,其中各个模块和单元执行操作的具体方式已经在方法实施例中进行了详细描述,此处不再赘述。上述实施例所提供的模型轻量化装置和模型显示装置在实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能,本处也不对此进行限制。
118.本技术的实施例还提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行时,使得电子设备实现上述各个实施例中提供的模型轻量化方法。
119.请参阅图9,图9示出了适于用来实现本技术实施例的电子设备的计算机系统的结构示意图。需要说明的是,图9示出的电子设备的计算机系统900仅是一个示例,不应对本技术实施例的功能和使用范围带来任何限制。
120.如图9所示,计算机系统900包括中央处理单元(centralprocessingunit,cpu)901,其可以根据存储在只读存储器(read-onlymemory,rom)902中的程序或者从储存部分908加载到随机访问存储器(randomaccessmemory,ram)903中的程序而执行各种适当的动作和处理,例如执行上述实施例中的方法。在ram903中,还存储有系统操作所需的各种程序和数据。cpu901、rom902以及ram903通过总线904彼此相连。输入/输出(input/output,i/o)接口905也连接至总线904。
121.以下部件连接至i/o接口905:包括键盘、鼠标等的输入部分906;包括诸如阴极射线管(cathoderaytube,crt)、液晶显示器(liquidcrystaldisplay,lcd)等以及扬声器等的输出部分907;包括硬盘等的储存部分908;以及包括诸如lan(localareanetwork,局域网)卡、调制解调器等的网络接口卡的通信部分909。通信部分909经由诸如因特网的网络执行通信处理。驱动器910也根据需要连接至i/o接口905。可拆卸介质911,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器910上,以便于从其上读出的计算机程序根据需要被安装入储存部分908。
122.特别地,根据本技术的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本技术的实施例包括一种计算机程序产品,其包括承载在计算机可读介质
上的计算机程序,该计算机程序包含用于执行流程图所示的方法的计算机程序。在这样的实施例中,该计算机程序可以通过通信部分909从网络上被下载和安装,和/或从可拆卸介质911被安装。在该计算机程序被中央处理单元(cpu)901执行时,执行本技术的系统中限定的各种功能。
123.需要说明的是,本技术实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(erasable programmablereadonlymemory,eprom)、闪存、光纤、便携式紧凑磁盘只读存储器(compactdiscread-onlymemory,cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本技术中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的计算机程序。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的计算机程序可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
124.附图中的流程图和框图,图示了按照本技术各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。其中,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
125.描述于本技术实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。因此,根据本技术实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本技术实施方式的方法。
126.本技术的另一方面还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被计算机的处理器执行时,使计算机执行上述各个实施例中提供的模型轻量化方法。该计算机可读存储介质可以是上述实施例中描述的电子设备中所包含的,也可以是单独存在,而未装配入该电子设备中。
127.上述实施例仅示例性说明本技术的原理及其功效,而非用于限制本技术。任何熟悉此技术的人士皆可在不违背本技术的精神及范畴下,对上述实施例进行修饰或改变。因
此,但凡所属技术领域中具有通常知识者在未脱离本技术所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本技术的权利要求所涵盖。

技术特征:
1.一种模型轻量化方法,其特征在于,所述模型轻量化方法包括:获取待处理模型数据,基于所述待处理模型数据的文件属性对所述待处理模型数据进行格式适配确定目标解析器,根据所述目标解析器对所述待处理模型数据进行数据解析,并基于预设目标格式对数据解析后的待处理模型数据进行格式转换,得到目标模型数据,所述目标模型数据包括模型装配结构、节点转换矩阵和多个节点的目标节点数据;基于所述目标节点数据的属性信息将所述目标节点数据插入预设全局键值库的对应的键值子库中,并生成数据键值索引,所述数据键值索引用于从所述预设全局键值库中检索到所述目标节点数据,所述预设全局键值库中预先设置有每一属性对应的键值子库;对每一节点的目标节点数据进行简化处理,所述简化处理包括,在多个预设轻量化精度下对一节点的节点数据中重复的顶点数据进行数据去重,以及对所述一节点的目标节点数据中的曲面进行网格简化;根据初始数据流的数据类型和数据值确定最小存储字节,并基于所述最小存储字节和所述预设全局键值库的类型对所述初始数据流进行分段压缩,得到轻量化数据,所述初始数据流基于简化处理后的每一节点的目标节点数据生成的;对所述轻量化数据进行传输压缩,并将传输压缩后的轻量化数据序列化传输至存储服务器,以使所述存储服务器得到轻量化文件。2.根据权利要求1所述的模型轻量化方法,其特征在于,基于所述待处理模型数据的文件属性对所述待处理模型数据进行格式适配确定目标解析器包括:根据文件后缀对应的第一文件格式确定初始模型解析器,所述文件后缀对应的第一文件格式由所述文件属性得到;基于所述初始模型解析器对所述待处理模型数据进行格式适配,得到适配结果;若所述适配结果为格式适配成功,则将所述初始模型解析器确定为目标模型解析器;若所述适配结果为格式适配失败,则对所述待处理模型数据进行格式确定,得到第二文件格式,并将所述第二文件格式对应的初始模型解析器确定为目标模型解析器。3.根据权利要求2所述的模型轻量化方法,其特征在于,根据所述目标解析器对所述待处理模型数据进行数据解析,并基于预设目标格式对数据解析后的待处理模型数据进行格式转换,得到目标模型数据包括:根据所述目标模型解析器对初始基础数据进行数据解析,得到待处理基础数据;基于所述预设目标格式对待处理基础数据进行格式转换,得到目标基础数据,所述目标基础数据包括模型装配结构、目标版本数据和初始单位数据;将所述目标版本数据对应的目标模型解析器确定为模型导入解析器;根据所述模型导入解析器对初始转换矩阵和初始节点数据进行数据解析,得到待处理转换矩阵和待处理节点数据;基于所述初始单位数据和所述预设目标格式对待处理转换矩阵和待处理节点数据进行格式转换,得到节点转换矩阵和多个节点的目标节点数据;基于所述目标基础数据、节点转换矩阵和多个节点的目标节点数据得到目标模型数据;其中,所述待处理模型数据包括所述初始基础数据、初始转换矩阵和初始节点数据。4.根据权利要求3所述的模型轻量化方法,其特征在于,基于所述初始单位数据和所述
预设目标格式对待处理转换矩阵和待处理节点数据进行格式转换,得到节点转换矩阵和多个节点的目标节点数据包括:根据所述预设目标格式和预设保留属性对待处理转换矩阵和待处理节点数据进行格式转换,得到格式转换矩阵和多个节点的格式节点数据,所述格式节点数据包括格式几何数据和格式非几何数据;根据所述初始单位数据对所述格式转换矩阵进行坐标统一换算,得到节点转换矩阵;将每一节点的格式几何数据与格式非几何数据进行格式关联,得到每一节点的目标节点数据;其中,所述格式转换矩阵和多个节点的格式节点数据由临时内存池中目标格式的临时数据复制得到,所述临时内存池的数据存取由预设动态内存分配函数和预设内存释放函数对所述临时内存池进行预分配和释放实现。5.根据权利要求3所述的模型轻量化方法,其特征在于,基于所述目标基础数据、节点转换矩阵和多个节点的目标节点数据得到目标模型数据包括:若格式转换精度模式为保持初始格式精度,则将所述初始格式精度作为所述目标模型数据的目标格式精度;若格式转换精度模式为更改初始格式精度,则基于预设目标格式精度对目标边界数据进行精度曲面细分,生成细分网格数据和细分边界数据,并基于所述细分网格数据和所述细分边界数据对目标材质数据和目标贴图数据进行坐标重映射,得到映射材质数据和映射贴图数据;基于所述细分网格数据、所述细分边界数据、所述映射材质数据和所述映射贴图数据对各所述目标节点数据进行更新,将更新后的各目标节点数据作为各所述目标节点数据;若所述目标节点数据中不存在数物属性数据,则对各所述目标节点数据进行数物属性计算,得到数物属性数据,所述数物属性数据包括包围盒属性和模型物理属性;基于所述目标基础数据、节点转换矩阵和多个节点的目标节点数据得到目标模型数据;其中,所述格式转换精度模式由所述目标基础数据得到。6.根据权利要求1所述的模型轻量化方法,其特征在于,所述简化处理还包括:若各所述目标节点数据的实例化存在多个复用实例,则基于一复用实例对各所述复用实例进行引用映射;保留所述一复用实例,并将冗余的复用实例删除。7.根据权利要求1所述的模型轻量化方法,其特征在于,所述初始数据流的生成包括:根据流长度、所述预设全局键值库的类型的流字节索引位和物料清单结构生成数据流头部,所述物料清单结构由所述模型装配结构和所述节点转换矩阵的对应关系得到;根据所述预设全局键值库的类型对简化处理后的每一节点的目标节点数据进行分段生成数据流尾部;基于所述数据流头部和所述数据流头部生成初始数据流,所述流长度为所述初始数据流的数据长度。8.根据权利要求7所述的模型轻量化方法,其特征在于,得到物料清单结构之后,所述模型轻量化方法还包括:
根据预设显示节点类型对所述模型装配结构进行冗余节点类型过滤,得到显示装配结构;基于显示装配结构和所述显示装配结构对应的节点转换矩阵生成序列化装配文件,并传输存在至存储服务器。9.根据权利要求1-8任一项所述的模型轻量化方法,其特征在于,所述预设目标格式为prc格式;若轻量化文件中的一节点存在新的原始模型数据,则将所述新的原始模型数据作为待处理模型数据进行模型轻量化,得到节点文件;基于所述模型装配结构和所述节点文件对所述轻量化文件进行数据更新。10.根据权利要求1-8任一项所述的模型轻量化方法,其特征在于,得到轻量化文件之后,所述模型轻量化方法还包括:接收显示指令;将所述显示指令对应的轻量化文件发送至客户端;接收装配结构获取指令;将所述装配结构获取指令对应的序列化装配文件发送至客户端。11.一种模型显示方法,其特征在于,所述模型显示方法包括:获取待显示轻量化模型的显示指令,并发送至轻量化服务器;接收轻量化文件,所述轻量化文件包括数据流头部和数据流尾部;基于所述数据流头部对所述数据流尾部进行分段流式加载和网格数据渲染,得到初始显示模型,并生成装配结构获取指令发送至所述轻量化服务器;接收序列化装配文件;根据所述序列化装配文件构建装配结构节点映射树,以使用户通过所述装配结构节点映射树进行装配节点显示操作;基于包围盒数据对所述初始显示模型进行自适应视角设置,得到目标显示模型,以根据所述目标显示模型进行模型显示或根据所述目标显示模型进行动画制作,得到动画展示地址,并发送至预设展示终端;其中,所述包围盒数据由所述轻量化文件得到或对所述轻量化文件进行包围盒计算得到。12.一种模型轻量化装置,其特征在于,所述模型轻量化装置包括:数据获取模块,用于获取待处理模型数据,基于所述待处理模型数据的文件属性对所述待处理模型数据进行格式适配确定目标解析器,根据所述目标解析器对所述待处理模型数据进行数据解析,并基于预设目标格式对数据解析后的待处理模型数据进行格式转换,得到目标模型数据,所述目标模型数据包括模型装配结构、节点转换矩阵和多个节点的目标节点数据;索引生成模块,用于基于所述目标节点数据的属性信息将所述目标节点数据插入预设全局键值库的对应的键值子库中,并生成数据键值索引,所述数据键值索引用于从所述预设全局键值库中检索到所述目标节点数据,所述预设全局键值库中预先设置有每一属性对应的键值子库;简化处理模块,用于对每一节点的目标节点数据进行简化处理,所述简化处理包括,在
多个预设轻量化精度下对一节点的节点数据中重复的顶点数据进行数据去重,以及对所述一节点的目标节点数据中的曲面进行网格简化;数据压缩模块,用于根据初始数据流的数据类型和数据值确定最小存储字节,并基于所述最小存储字节和所述预设全局键值库的类型对所述初始数据流进行分段压缩,得到轻量化数据,所述初始数据流基于简化处理后的每一节点的目标节点数据生成的;数据传输模块,用于对所述轻量化数据进行传输压缩,并将传输压缩后的轻量化数据序列化传输至存储服务器,以使所述存储服务器得到轻量化文件。13.根据权利要求12所述的模型轻量化装置,其特征在于,所述模型轻量化装置还包括存储服务器;所述存储服务器用于存储所述待处理模型数据和所述轻量化文件,并通过进程调用指令上传所述待处理模型数据至所述数据获取模块;所述进程调用指令由轻量化服务器中主进程的多线程调用一转换进程得到。14.一种模型显示装置,其特征在于,所述模型显示装置包括:指令获取模块,用于获取待显示轻量化模型的显示指令,并发送至轻量化服务器;第一接收模块,用于接收轻量化文件,所述轻量化文件包括数据流头部和数据流尾部;渲染模块,用于基于所述数据流头部对所述数据流尾部进行分段流式加载和网格数据渲染,得到初始显示模型,并生成装配结构获取指令发送至所述轻量化服务器;第二接收模块,用于接收序列化装配文件;装配树生成模块,用于根据所述序列化装配文件构建装配结构节点映射树,以使用户通过所述装配结构节点映射树进行装配节点显示操作;视角生成模块,用于基于包围盒数据对所述初始显示模型进行自适应视角设置,得到目标显示模型,以根据所述目标显示模型进行模型显示或根据所述目标显示模型进行动画制作,得到动画展示地址,并发送至预设展示终端;其中,所述包围盒数据由所述轻量化文件得到或对所述轻量化文件进行包围盒计算得到,所述渲染模块通过调用系统显卡资源进行分段流式加载和网格数据渲染。

技术总结
本发明提供一种模型轻量化、模型显示方法及装置,该方法包括:获取待处理模型数据,基于预设目标格式对数据解析后的待处理模型数据进行格式转换,得到目标模型数据,基于目标节点数据的属性信息将目标节点数据插入预设全局键值库的对应的键值子库中,并生成数据键值索引,对每一节点的目标节点数据进行简化处理,根据初始数据流的数据类型和数据值确定最小存储字节,并基于最小存储字节和预设全局键值库的类型对初始数据流进行分段压缩,得到轻量化数据,对轻量化数据进行传输压缩,并将传输压缩后的轻量化数据序列化传输至存储服务器;提高了目标节点数据的简化处理速度、目标模型数据的数据压缩率、轻量化文件的数据加载速度和数据渲染效率。速度和数据渲染效率。速度和数据渲染效率。


技术研发人员:王晓虎 张瑞 骆建宏
受保护的技术使用者:浙江吉利控股集团有限公司
技术研发日:2023.07.21
技术公布日:2023/10/11
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐