一种基于webGL三维模型装配方法、系统及相关装置
技术领域
本申请涉及计算机设计领域,特别涉及一种基于webGL三维模型装配方法、系统及相关装置。
背景技术
目前工业产品只可以二维图片和拍摄视频展示,在进行三维模型的装配时依赖于本地客户端的大型软件,其对于终端的硬件要求高,安装过程缓慢,不利于三维模型的快速装配。
发明内容
本申请的目的是提供一种基于webGL三维模型装配方法、系统、计算机可读存储介质和终端,能够实现三维模型的快速装配。
为解决上述技术问题,本申请提供一种基于webGL三维模型装配方法,具体技术方案如下:
获取三维模型;
基于webGL确定所述三维模型的模型数据中的装配元件;
对所述装配元件执行可装配性判断,并根据所述可装配性判断结果确定装配序列和装配路径;
基于所述装配序列和所述装配路径进行所述三维模型的装配。
可选的,获取三维模型之后,还包括:
对所述三维模型进行数据格式解析。
可选的,对所述装配元件执行可装配性判断包括:
根据所述装配元件的位姿信息、几何信息和约束信息确定所述装配元件沿所述三维坐标系中XYZ正负六个方向的自由度;
根据所述自由度确定所述装配元件的局部可装配性;
根据各装配元件对应的局部可装配性确定所述三维模型的全局可装配性。
可选的,根据所述可装配性判断结果确定装配序列和装配路径包括:
根据所述全局可装配性的判断结果确定装配序列和装配路径。
可选的,基于所述装配序列和所述装配路径进行所述三维模型的装配时还包括:
利用混合包围盒碰撞检测算法对所述装配元件进行干涉检测。
可选的,获取三维模型后还包括:
利用基于webGL的浏览器创建三维坐标系,并在所述三维坐标系中显示所述三维模型。
可选的,基于所述装配序列和所述装配路径进行所述三维模型的装配包括:
在所述三维坐标系中基于所述装配序列和所述装配路径进行所述三维模型的动态装配。
本申请还提供一种基于webGL三维模型装配系统,包括:
获取模块,用于获取三维模型;
元件确定模块,用于基于webGL确定所述三维模型的模型数据中的装配元件;
判断模块,用于对所述装配元件执行可装配性判断,并根据所述可装配性判断结果确定装配序列和装配路径;
装配模块,用于基于所述装配序列和所述装配路径进行所述三维模型的装配。
本申请还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的方法的步骤。
本申请还提供一种终端,包括存储器和处理器,所述存储器中存有计算机程序,所述处理器调用所述存储器中的计算机程序时实现如上所述的方法的步骤。
本申请提供一种基于webGL三维模型装配方法,包括:获取三维模型;基于webGL确定所述三维模型的模型数据中的装配元件;对所述装配元件执行可装配性判断,并根据所述可装配性判断结果确定装配序列和装配路径;基于所述装配序列和所述装配路径进行所述三维模型的装配。
本申请在获取三维模型数据后,对三维模型数据中的装配元件执行可装配性判断,以便确定各装配元件的装配路径及装配序列,提高三维模型的装配效率。本申请还提供一种基于webGL三维模型装配系统、计算机可读存储介质和终端,具有上述有益效果,此处不再赘述。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例所提供的一种基于webGL三维模型装配的流程图;
图2为本申请实施例所提供的一种基于webGL三维模型装配系统结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参考图1,图1为本申请实施例所提供的一种基于webGL三维模型装配的流程图,该方法包括:
S101:获取三维模型;
在此对于如何获取三维模型不作限定,可以通过浏览器从云终端的模型存储区域下载对应的模型,也可以输入所需要的模型。特别的,在获取到三维模型后,通常还需要对三维模型进行数据格式解析,常见的三维模型数据格式有gltf、obj、fbx等,以及机械行业常用的三维模型格式igs、stp等。数据格式解析的目的是将三维模型转为显示所用的格式。
作为本步骤的一种优选的执行方式,在得到三维模型后,可以利用基于webGL的浏览器创建三维坐标系,并在三维坐标系中显示三维模型。通过基于webGL的浏览器实现三维模型的显示,而不依赖于本地大型软件,能够实现三维模型的轻量化显示,便于实现三维模型的可视化动态配装。
S102:基于webGL确定所述三维模型的模型数据中的装配元件;
本步骤旨在确定模型数据中的装配元件。需要注意的是,由于模型数据中包含的装配元件繁多,因此本步骤在确定装配元件时,旨在确定装配所需要的元件。当然,容易理解的是,需要根据装配需求确定对应的装配元件。所谓装配需求,通常由客户发出,则本步骤可以根据装配需求基于webGL确定所述三维模型的模型数据中的装配元件。而对于如何获取装配需求并不作限定。
需要注意的是,本步骤可以采用支持webGL(Web Graphics Library,一种3D绘图标准)的浏览器实现三维模型执行本实施例的装配过程时,可以通过该浏览器接收装配需求。例如,通过浏览器线上接收装配需求等,或者接收云终端的装配需求。
S103:对所述装配元件执行可装配性判断,并根据所述可装配性判断结果确定装配序列和装配路径;
本步骤旨在进行可装配性检测。所谓可装配性检测,指的是对各装配元件进行物理空间以及装配方式的确定,需要保证每一个装配元件的装配位置和装配方式正确以及各装配原件之间的装配不发生干涉或者干扰。作为本步骤的一种更优选的实施过程,可以采用如下步骤:
S1031:根据所述装配元件的位姿信息、几何信息和约束信息确定所述装配元件沿所述三维坐标系中XYZ正负六个方向的自由度;
S1032:根据所述自由度确定所述装配元件的局部可装配性;
S1033:根据各装配元件对应的局部可装配性确定所述三维模型的全局可装配性。
上述过程旨在根据各装配元件的位置信息、几何信息和约束信息,确定每一个装配元件的自由度。基于该自由度确定该装配元件是否可以装配在该局部位置。在此对于装配元件的约束信息种类不做具体限定,可以包括匹配约束、偏移匹配约束、对齐约束、偏移对齐约束、对齐和匹配约束、插入约束、坐标系约束和相切约束等。匹配约束指两个装配元件的贴合面的形状及大小相匹配。偏移匹配约束指两个装配元件的贴合面存在一定偏移量的匹配。对齐约束指两个装配元件的边或面存在对齐匹配。偏移对齐约束指两个装配元件的线或面存在一定偏移量的对齐匹配。对齐和匹配约束指两个装配元件的切面或切口形状相匹配,且切面或切口的边或面相匹配。插入约束至两个元件的插口和插件的形状及大小相匹配。坐标系约束指装配元件至少某一边或某一面与坐标轴存在平行或垂直等关系。相切约束指两个装配元件的切口或者切面形状及大小相匹配。当然关于各种约束信息本领域技术人员还可以作进一步限定,在此不一一举例说明。
显然,任意两个装配元件的位置信息不能存在冲突,且相连的两个装配元件的几何信息应当满足匹配需求,即实现每个装配元件的局部可装配性判断。
在确定每个装配元件的局部可装配性判断后,还要进一步针对所有装备软件进行全局可装备性判断。由于虽然各个装配元件的局部可装配,但整体装配时可能存在装配元件之间相互干涉的情况。其干涉原因可能为尺寸、形状等不匹配,或者与其他装备原件之间的位置发生冲突,因此,需要进行全局可装配性判断,确保各装配元件全局可装配。
由于在进行全局可争辩性判断过程中需要针对各个装配元件进行模拟化装配,此时可以记录其装配序列和装配路径。所谓装配序列指的是各个装配元件的安装顺序,装配路径指的是各个装配元件的安装方式。例如两个装配元件之间平行关系随着另一个装配元件的首位调换存在正平行和反平行,则在本步骤需要确定各装配元件的装配路径,保证装配位置及装配方式正确。
S104:基于所述装配序列和所述装配路径进行所述三维模型的装配。
确定装配序列和装配路径后,即可实现三维模型的装配。特别的,若采用支持webGL的浏览器显示三维模型后,可以直接在该浏览器中利用上文所述对装配元件实现可视化的装配,并利用浏览器记录装配序列和装配路径,以便提高三维模型的装配效率。
作为本步骤的一种更优选的执行方式,还可以在执行本步骤时利用混合包围盒碰撞检测算法对所述装配元件进行干涉检测。在此对于采用何种混合包围盒不做具体限定,例如可以采用AABB(axis-aligned bounding box,轴对称包围盒)与K-DOPs(DiscreteOrientation Polytopes,离散取向多面体)相结合的混合包围盒碰撞检测算法构建零部件间的混合层次包围盒,将包围盒设计为内外两层,外层采用结构简单、相交测试速度快的AABB碰撞检测算法,以快速排除不相交物体,内层采用K-DOPs算法,对外层包围盒相交的装配元件进行进一步检测,精准判断各装配元件是否相交,从而在保证准确性的同时,提高运算检测判断的效率,最终实现装配元件部件之间的干涉检测,使发生装配干涉的零部件重新调整到空间合理的位姿,满足虚拟装配操作的要求。
本申请实施例在获取三维模型数据后,对三维模型数据中的装配元件执行可装配性判断,以便确定各装配元件的装配路径及装配序列,提高三维模型的装配效率。同时,在可以本实施例的基础上,结合采用支持webGL的浏览器实现三维模型的轻量化装配,进一步提高三维模型的装配效率。此外,还可以利用混合包围盒,实现装配过程中的干涉检测,降低装配元件的位姿错误率,提高装配效率。
下面对本申请实施例提供的一种基于webGL三维模型装配系统进行介绍,下文描述的基于webGL三维模型装配系统与上文描述的一种基于webGL三维模型装配可相互对应参照。
参见图2,图2为本申请实施例所提供的一种基于webGL三维模型装配系统结构示意图,本申请还提供一种基于webGL三维模型装配系统,包括:
本申请还提供一种基于webGL三维模型装配系统,包括:
获取模块100,用于获取三维模型;
元件确定模块200,用于基于webGL确定所述三维模型的模型数据中的装配元件;
判断模块300,用于对所述装配元件执行可装配性判断,并根据所述可装配性判断结果确定装配序列和装配路径;
装配模块400,用于基于所述装配序列和所述装配路径进行所述三维模型的装配。
基于上述实施例,作为优选的实施例,还可以包括:
解析模块,用于对所述三维模型进行数据格式解析。
基于上述实施例,作为优选的实施例,判断模块300包括:
自由度确定单元,用于根据所述装配元件的位姿信息、几何信息和约束信息确定所述装配元件沿所述三维坐标系中XYZ正负六个方向的自由度;
局部判断单元,用于根据所述自由度确定所述装配元件的局部可装配性;
全局判断单元,用于根据各装配元件对应的局部可装配性确定所述三维模型的全局可装配性。
基于上述实施例,作为优选的实施例,装配模块400具体为用于根据所述全局可装配性的判断结果确定装配序列和装配路径的模块。
基于上述实施例,作为优选的实施例,还可以包括:
干涉检测模块,用于利用混合包围盒碰撞检测算法对所述装配元件进行干涉检测。
本申请还提供了一种计算机可读存储介质,其上存有计算机程序,该计算机程序被执行时可以实现上述实施例所提供的步骤。该存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本申请还提供了一种终端,可以包括存储器和处理器,所述存储器中存有计算机程序,所述处理器调用所述存储器中的计算机程序时,可以实现上述实施例所提供的步骤。当然所述终端还可以包括各种网络接口,电源等组件。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例提供的系统而言,由于其与实施例提供的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。