本发明涉及计算机图形,尤其涉及一种模型加载方法及系统。
背景技术:
1、随着现代科技的飞速发展,大型计算机辅助设计(cad,computer-aided design)模型在各行各业的应用日益广泛且深入,成为推动工业设计与制造革新的关键力量。这些高精度、高复杂度的cad模型,不仅极大地提升了设计效率与精确度,还促进了仿真分析、性能优化及智能制造等领域的进步。在建筑、航空航天、汽车制造、机械工程及电子设计等众多行业中,cad模型已成为不可或缺的设计工具。它们不仅帮助设计师们实现了从概念到实物的无缝转换,还通过精确的几何建模、材质模拟及物理参数设置,为产品的性能评估与优化提供了坚实的基础。在建筑领域,cad模型让建筑师能够全方位地审视设计方案,从结构布局到室内装饰,每一个细节都尽在掌握;在航空航天领域,cad模型则助力工程师们设计出更加安全、高效、环保的飞行器;而在汽车制造与机械工程领域,cad模型更是贯穿于设计、仿真、制造的全过程,为产品的创新与质量提升提供了有力保障。
2、但是,随着模型规模的不断扩大,其数据量也呈爆炸式增长,大型cad模型通常包含海量的几何信息、材质属性及物理参数,其数据量可达数百兆字节(mb)乃至数十吉字节(gb),同时,大型cad模型的加载和渲染大型cad模型需要强大的计算资源支持,对计算机硬件与软件性能提出了更为苛刻的要求,普通配置的计算机往往难以胜任。
3、基于模型的庞大数据量以及计算资源的限制性,模型加载过程的耗时较长,降低了工作效率。
技术实现思路
1、为了对披露的实施例的一些方面有基本的理解,下面给出了简单的概括。所述概括不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围,而是作为后面的详细说明的序言。
2、鉴于以上所述现有技术的缺点,本技术公开了一种模型加载方法及系统,以提高模型加载效率。
3、本技术公开了一种模型加载方法,应用于服务器端,所述服务器端连接有用户终端,所述方法包括:获取原始模型节点对应的数模文件,其中,所述原始模型节点由多个零部件节点组成;对所述数模文件进行解析,得到各所述零部件节点分别对应的零部件信息;从所述用户终端获取当前视点位置,并根据所述当前视点位置构建视椎体区域,以根据所述零部件信息在所述视椎体区域的预设视椎面上生成各所述零部件节点分别对应的节点投影;根据各所述节点投影分别对应的投影面积从各所述零部件节点中确定目标节点,其中,所述用户终端用于根据所述目标节点对应的零部件信息进行模型加载,得到所述当前视点位置对应的可视化模型。
4、于本技术一实施例中,对所述数模文件进行解析,得到各所述零部件节点分别对应的零部件信息,包括:所述原始模型节点由装配体节点和/或零部件节点组成,其中,所述装配体节点由至少一部分零部件节点组成;从所述数模文件中提取所述装配体节点对应的数模格式数据,并对所述装配体节点对应的数模格式数据进行格式转换,得到所述装配体节点对应的转换矩阵和子级列表,其中,所述子级列表包括所述装配体节点对应的零部件节点;从所述数模文件中提取所述零部件节点对应的数模格式数据,并对所述零部件节点对应的数模格式数据进行格式转换,得到所述零部件节点对应的网格信息和包围盒尺寸;根据转换矩阵、网格信息和包围盒尺寸中的至少一种生成各所述零部件节点分别对应的零部件信息。
5、于本技术一实施例中,所述方法还包括:预先设置数据转换接口和文件存储空间,其中,所述文件存储空间用于存储所述数模文件;获取所述原始模型节点对应的转换接口信息,所述转换接口信息包括子节点对应的节点标识、节点名称和文件地址中的至少一种,其中,所述子节点包括装配体节点和/或零部件节点;根据所述转换接口信息调用所述数据转换接口,以通过所述调用所述数据转换接口生成所述原始模型节点对应的转换任务,其中,所述转换任务包括各所述子节点分别对应的转换项;若所述子节点为装配体节点,则所述装配体节点对应的转换项包括根据所述装配体节点对应的文件地址从所述数模文件中提取所述装配体节点对应的数模格式数据,并对所述装配体节点对应的数模格式数据进行格式转换,得到所述装配体节点对应的转换矩阵和子级列表;若所述子节点为零部件节点,则所述零部件节点对应的转换项包括根据所述零部件节点对应的文件地址从所述数模文件中提取所述零部件节点对应的数模格式数据,并对所述零部件节点对应的数模格式数据进行格式转换,得到所述零部件节点对应的网格信息和包围盒尺寸。
6、于本技术一实施例中,根据所述零部件信息在所述视椎体区域的预设视椎面上生成各所述零部件节点分别对应的节点投影,包括:若所述零部件信息包括各所述零部件节点所在包围盒的包围盒尺寸、各所述零部件节点分别对应的转换矩阵,则根据所述包围盒尺寸和所述转换矩阵对各所述零部件节点所在的包围盒进行合并,得到合并区域;根据所述合并区域从各所述零部件节点中确定区域外部节点;根据所述区域外部节点对应的包围盒尺寸在所述视椎体区域中进行模型渲染,得到所述区域外部节点对应的节点模型,其中,所述节点模型位于所述视椎体区域的近截面和远截面之间,且所述近截面到所述当前视点位置之间的近截面距离小于所述远截面到所述当前视点位置之间的远截面距离;根据所述当前视点位置在预设视椎面上形成所述节点模型对应的节点投影,其中,预设视椎面包括所述远截面。
7、于本技术一实施例中,所述方法还包括:若所述当前视点位置发生变化,则根据变化后的当前视点位置更新所述视椎面区域;将所述节点模型的中心点作为射线起点,向所述视椎体区域中的任一面引一条射线,并统计所述射线与所述视椎体区域的各面之间存在的交点数量;若所述交点数量为奇数,则判断所述节点模型处于所述视椎面区域以内,其中,将处于所述视椎面区域以内的节点模型确定为第一模型,并将处于所述视椎面区域之外的节点模型确定为第二模型;对所述第一模型对应的节点投影进行更新,并删除所述第二模型对应的节点投影。
8、于本技术一实施例中,根据各所述节点投影分别对应的投影面积从各所述零部件节点中确定目标节点,包括以下至少一种:若所述零部件节点对应的投影面积大于预设面积阈值,则将所述零部件节点确定为目标节点;根据投影面积分别计算各所述节点投影与投影面积之间的面积比值,并且,若所述零部件节点对应的面积比值大于预设比值阈值,则将所述零部件节点确定为目标节点;根据投影面积分别计算各所述节点投影与投影面积之间的面积比值,根据所述用户终端的终端算力计算节点比例,并从各所述面积比值中按照所述节点比例确定目标比例,以将所述目标比例对应的零部件节点确定为目标节点,其中,所述终端算力和所述节点比例之间呈正相关关系。
9、于本技术一实施例中,所述方法还包括:预先设置流管理服务;通过websocket协议连接所述用户终端,并通过所述websocket协议对应的代理端口接收所述用户终端发送的会话连接请求;响应于接收到的任一会话连接请求,判断所述会话连接请求是否包括模型查看请求;若所述会话连接请求包括模型查看请求,则从预设的本地端口中确定所述会话连接请求对应的目标端口,并通过所述流管理服务建立所述目标端口对应的流缓存服务;通过各所述流缓存服务分别处理对应的会话请求,其中,不同会话连接请求所对应的目标端口不同,且不同会话连接请求所对应的流缓存服务不同。
10、本技术公开了一种模型加载方法,应用于用户终端,所述客户终端连接有服务器端,所述方法包括:获取原始模型节点对应的目标节点,其中,所述服务器端用于获取原始模型节点对应的数模文件,所述原始模型节点由多个零部件节点组成;对所述数模文件进行解析,得到各所述零部件节点分别对应的零部件信息;从所述用户终端获取当前视点位置,并根据所述当前视点位置构建视椎体区域,以根据所述零部件信息在所述视椎体区域的预设视椎面上生成各所述零部件节点分别对应的节点投影;根据各所述节点投影分别对应的投影面积从各所述零部件节点中确定目标节点;根据所述目标节点对应的零部件信息进行模型加载,得到所述当前视点位置对应的可视化模型。
11、于本技术一实施例中,所述方法还包括以下至少一种:若所述可视化模型对应的模型顶点数量大于预设数量阈值,则根据所述当前视点位置从所述可视化模型中确定可视区域,并对所述可视区域进行加载;按照预设的目标渲染帧率对所述可视化模型进行渲染,其中,所述目标渲染帧率根据所述用户终端的终端算力确定,且所述目标渲染帧率与所述终端算力之间呈正相关关系;根据所述目标节点对应的零部件信息进行模型加载,得到包含所述可视化模型的图像帧,并且,响应于所述图像帧对应的渲染进度为渲染完成,生成新的图像帧。
12、本技术公开了一种模型加载系统,包括:服务器端,用于获取原始模型节点对应的数模文件,所述原始模型节点由多个零部件节点组成;对所述数模文件进行解析,得到各所述零部件节点分别对应的零部件信息;从用户终端获取当前视点位置,并根据所述当前视点位置构建视椎体区域,以根据所述零部件信息在所述视椎体区域的预设视椎面上生成各所述零部件节点分别对应的节点投影;根据各所述节点投影分别对应的投影面积从各所述零部件节点中确定目标节点;所述用户终端,用于根据所述目标节点对应的零部件信息进行模型加载,得到所述当前视点位置对应的可视化模型。
13、本技术的有益效果:
14、通过服务器端获取原始模型节点对应的数模文件,并根据数模文件解析各零部件节点分别对应的零部件信息,再根据当前视点位置构建视椎体区域,以根据零部件信息在视椎体区域的预设视椎面上生成各零部件节点分别对应的节点投影,基于节点投影与预设视椎面之间的面积比值从各零部件节点中确定目标节点,使得用户终端根据目标节点对应的零部件信息进行模型加载,相较于一次性加载整个原始模型,从数模文件中提取零部件节点,根据当前视点位置对零部件节点进行投影,并基于投影面积从零部件节点中确定目标节点,使得用户终端只加载目标节点,减少了零部件数量,从而减少模型加载时间,提高了模型加载效率。
1.一种模型加载方法,其特征在于,应用于服务器端,所述服务器端连接有用户终端,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,对所述数模文件进行解析,得到各所述零部件节点分别对应的零部件信息,包括:
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
4.根据权利要求1所述的方法,其特征在于,根据所述零部件信息在所述视椎体区域的预设视椎面上生成各所述零部件节点分别对应的节点投影,包括:
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
6.根据权利要求1至5任一项所述的方法,其特征在于,根据各所述节点投影分别对应的投影面积从各所述零部件节点中确定目标节点,包括以下至少一种:
7.根据权利要求1至5任一项所述的方法,其特征在于,所述方法还包括:
8.一种模型加载方法,其特征在于,应用于用户终端,所述客户终端连接有服务器端,所述方法包括:
9.根据权利要求8所述的方法,其特征在于,所述方法还包括以下至少一种:
10.一种模型加载系统,其特征在于,包括: