一种螺丝批操作空间检查方法和系统
文献发布时间:2023-06-19 19:30:30
技术领域
本发明涉及计算机科学领域,尤其涉及一种螺丝批操作空间检查方法和系统。
背景技术
螺钉是将两个或两个以上的零件或部件紧固连接成为一个整体。螺钉设计是在数字产品设计过程中常见的连接方式,用途广泛,产品设计完成后,螺钉需要做安装检测,螺钉的安装通常是用螺丝批打紧,在数字模型产品设计中,是没有设计螺丝批的步骤,安装检测时,需要判断螺钉的位置是否满足螺丝批的空间,确保产品在生产后能够正常的装配,螺钉的安装检查是重要的环节,是产品质量管控。
工程师在做数字化产品设计时,使用螺钉进行紧固连接,产品设计完成后,通常需要依靠工程师的设计经验对产品的螺钉装配进行判断,判断螺钉安装是否能够放置螺丝批工具进行安装,当产品结构简单时,这种方式能够满足要求,当产品比较复杂,螺钉数量多的情况下,设计工程师设计无法全部验证螺钉的安装工具操作空间,造成生产中出现,螺钉安装困难,螺丝批空间位置不够等等问题。目前产品设计中,螺钉安装工具螺丝批检查方法没有系统的方法,导致产品生产时会出现螺钉安装问题,直接影响了生产效率,人为不可控的概率,引发产品质量问题。
发明内容
本发明的目的是为了解决现有技术中存在的缺点,而提出的一种螺丝批操作空间检查方法和系统。
为实现上述目的,本发明采用了如下技术方案:一种螺丝批操作空间检查方法,包括以下步骤:
S1:基于三维设计软件,打开数字模型装配;
所述数字模型装配是工程师设计的数字产品设计模型,包括零件模型、部件模型和总装模型;
S2:响应执行螺钉安装检查,获取螺丝批数据;
所述螺丝批数据为数字模型螺丝批的几何数据,所述几何数据为矩形轮廓数据。
S3:遍历数字产品设计模型,获得螺钉的位置矩阵;
S4:计算虚拟螺丝批;
虚拟螺丝批就是根据螺钉的位置,在螺钉的位置上构建出螺丝批的矩形轮廓。
S5:获取其他零件的轮廓,计算其他零件的轮廓的8个点;
S6:判断是否干涉;
S7:显示检查结果。
进一步的,步骤S2具体包括:
S21:加载螺丝批模型;
通过三维设计软件提供的API,从指定配置的路径位置,在后台加载螺丝批数字模型,同时获得螺丝批模型的句柄;
S22:获取螺丝批的轮廓数据;
根据螺丝批模型的句柄,获取螺丝批的轮廓,设螺丝批的轮廓为P轮廓,得到轮廓的最大点和最小点,设获取的轮廓数据为Pmax,Pmin,坐标为(Xmax,Ymax,Zmax),(Xmin,Ymin,Zmin);
S23:计算螺丝批的轮廓的8个点;
根据轮廓最大点和最小点,计算得到轮廓的8个点,设轮廓的8个点位P0到P7,根据轮廓计算公式得到:
P0(P0x, P0y, P0z) = (Xmin,Ymin,Zmin)
P1(P1x, P1y, P1z) = (Xmax,Ymin,Zmin)
P2(P2x, P2y, P2z) = (Xmax,Ymax,Zmin)
P3(P3x, P3y, P3z) = (Xmin,Ymax,Zmin)
P4(P4x, P4y, P4z) = (Xmin,Ymin,Zmax)
P5(P5x, P5y, P5z) = (Xmax,Ymin,Zmax)
P6(P6x, P6y, P6z) = (Xmax,Ymax,Zmax)
P7(P7x, P7y, P7z) = (Xmin,Ymax,Zmax)。
进一步的,步骤S3具体为:通过三维设计软件提供的API,在数字产品设计模型中,按名称方式,把所有螺钉收集,用变量保存起来,每个螺钉具有唯一的标识ID;
螺钉的位置矩阵是螺钉自身坐标系在装配坐标系中的XYZ的向量值和XYZ坐标值,构造出位置矩阵;所述位置矩阵是一个4×3阶矩阵。
进一步的,步骤S4具体包括:根据步骤S3获得的螺钉位置矩阵,循环螺钉,构建螺钉的矩阵M,所述螺钉的矩阵M是用0补全螺钉位置矩阵,构成的4×4的矩阵;
分别将螺丝批矩形轮廓的8个点的XYZ,用0补全为4×1的矩阵;
根据坐标点转换公式P'=M*P,计算P',计算得到螺丝批矩形轮廓8个点在螺钉的位置,构建出虚拟的螺丝批。
进一步的,步骤S5具体包括:
S51:通过三维设计软件提供的API,遍历所有零件,得到所有零件的句柄,通过三维设计软件提供的API获得零件的轮廓;
设其他零件的轮廓为A轮廓,得到其他零件的轮廓的最大点和最小点,设获取其他零件的轮廓数据为Amax,Amin,坐标为(xmax,ymax,zmax),(xmin,ymin,zmin);
S52:计算其他零件的矩形轮廓;
计算方法与步骤S23计算螺丝批的矩形轮廓相同,计算轮廓A的8个点;设轮廓A的八个点分别为:
A0(A0x, A0y, A0z) = (xmin,ymin,zmin)
A1(A1x, A1y, A1z) = (xmax,ymin,zmin)
A2(A2x, A2y, A2z) = (xmax,ymax,zmin)
A3(A3x, A3y, A3z) = (xmin,ymax,zmin)
A4(A4x, A4y, A4z) = (xmin,ymin,zmax)
A5(A5x, A5y, A5z) = (xmax,ymin,zmax)
A6(A6x, A6y, A6z) = (xmax,ymax,zmax)
A7(A7x, A7y, A7z) = (xmin,ymax,zmax)。
进一步的,步骤S6具体包括:
S61:计算P轮廓是否在A轮廓中,判定是否干涉;
若在XY平面中,P的最大点大于A的最小点而且小于A的最大点,并且在YZ平面中,P的最大点大于A的最小点而且小于A的最大点,则P轮廓与A轮廓干涉;同理,在XY平面中,若P的最小点大于A的最小点而且小于A的最大点,并且在YZ平面中,P的最小点大于A的最小点而且小于A的最大点,则P轮廓与A轮廓干涉;
S62:计算A轮廓是否在P轮廓中,判定是否干涉;
若在XY平面中,A的最大点大于P的最小点而且小于P的最大点,在YZ平面中,A的最大点大于P的最小点而且小于P的最大点,则A轮廓与P轮廓干涉;同理,在XY平面中,A的最小点大于P的最小点而且小于P的最大点,且在YZ平面中,A的最小点大于P的最小点而且小于P的最大点,则A轮廓与P轮廓干涉;
S63:连接P轮廓点,将A轮廓的8个点投影到P轮廓的面上,判断A轮廓与P轮廓是否相交,判定是否干涉;
S64:连接A轮廓点,将P轮廓的8个点投影到A轮廓的面上,判断P轮廓与A轮廓是否相交,判定是否干涉;
进一步的,
步骤S63具体为:
连接P轮廓点,设P轮廓的6个面,分别为P面0123,P面4567,P面1562,P面0473,P面0154,P面3267,计算A轮廓的8个点分别投影到P轮廓的P面0123面上,得到A0',A1',A2',A3',A4',A5',A6',A7'点;
接着判定投影点是否在两个轮廓中:
在XY平面中,A0'点大于P的最小点而且小于P的最大点,A0'点大于A的最小点而且小于A的最大点;且在YZ平面中,A0'大于P的最小点而且小于P的最大点,A0'大于A的最小点而且小于A的最大点,则判断A轮廓与P轮廓相交,得出结论A轮廓与P轮廓干涉;根据相同的方法,循环计算A1',A2',A3',A4',A5',A6',A7'点,判断A轮廓与P轮廓相交;
根据相同的方法,将A轮廓的8个点分别投影到P轮廓的P面4567,P面1562,P面0473,P面0154,P面3267,分别得到8个投影点,计算投影点是否在两个轮廓中,判断A轮廓与P轮廓相交。
进一步的,
步骤S64具体为:
连接A轮廓点,设A轮廓的6个面,分别为A面0123,A面4567,A面1562,A面0473,A面0154,A面3267,计算P轮廓的8个点投影到A轮廓的A面0123,得到P0',P1',P2',P3',P4',P5',P6',P7'点;
接着判断点是否在两个轮廓中:
在XY平面中,P0'点大于P的最小点而且小于P的最大点,并且P0'点大于A的最小点而且小于A的最大点,在YZ平面中,P0'大于P的最小点而且小于P的最大点,P0'大于A的最小点而且小于A的最大点,则判断P轮廓与A轮廓相交,得出结论P轮廓与A轮廓干涉,根据相同的方法,循环计算P1',P2',P3',P4',P5',P6',P7'点,判断P轮廓与A轮廓相交;
根据相同的方法,将P轮廓的8个点分别投影到A轮廓的A面4567,A面1562,A面0473,A面0154,A面3267,分别得到8个投影点,计算投影点是否在两个轮廓中,判断A轮廓与P轮廓相交。
一种螺丝批操作空间检查系统,包括获取螺丝批数据模块、获取模型螺钉模块、计算模块、创建标记模块以及API函数、螺钉安装检查指令;
所述获取螺丝批数据模块用于获取螺丝批的几何数据,具体为获取螺丝批的轮廓的最小点和最大点,通过最小点和最大点计算出螺丝批的矩形轮廓的8个点;
获取模型螺钉模块用于按名称方式,把所有螺钉收集,用变量保存起来,通过三维设计软件提供的API,获取每个螺钉的位置矩阵;
所述计算模块用于循环所有螺钉,计算螺丝批的轮廓与其他零件的轮廓是否干涉;
所述显示结果模块用于获取判断为交涉的P轮廓对应的螺钉的标识ID,并进行展示;
API函数为三维设计软件提供的能够与所述螺丝批操作空间检查系统进行数据通信、执行指令、数据传输的数据接口;
三维设计软件提供入口函数和出口函数的开发接口,系统通过API函数联接入口函数和出口函数,实现与三维设计软件关联;
螺钉安装检查指令为一键执行获取螺丝批数据模块、获取模型螺钉模块、计算模块、创建标记模块的指令集。
进一步的,所述计算模块包括计算虚拟螺丝批模块、计算其他零件轮廓模块、计算干涉模块;
所述计算虚拟螺丝批模块用于循环所有螺钉的位置,在螺钉的位置上构建出螺丝批的矩形轮廓;
所述计算其他零件轮廓模块用于遍历数字模型装配的所有零件,得到所有零件的句柄,通过三维设计软件提供的API获得零件的轮廓;
所述计算干涉模块用于计算判断所述虚拟螺丝批与所述其他零件的轮廓是否干涉。
与现有技术相比,本发明的有益效果为:(1)设计工程师使用三维设计软件打开数字化模型装配,执行螺钉安装检查命令,程序获取螺丝批的轮廓数据,通过三维设计软件提供的API遍历所有螺钉,在螺钉的实际位置,计算出螺丝批的轮廓,根据这个轮廓,循环与所有的模型轮廓干涉检查,当检测到螺丝批的轮廓与模型有干涉时,判断这个螺钉在安装过程中有工具安装阻碍的情况,需要重新审核,在设计端完成安装检测,提前识别安装风险,通过简单的操作,执行检查动作,完成生产安装模拟工作。依据本发明的螺丝批操作空间检查方法和系统,产品设计工程师人员通过三维设计软件打开产品数字模型,执行螺钉安装检查,得到螺钉安装是否满足要求。(2)本发明方法系统创建了新的检查方法,原来的旧模式是通过人工肉眼查看,凭经验设计,没有安装工具的检查流程,人工识别和评估,需要花费大量的时间和精力,本发明方法系统简化了设计工程师的设计思维,在三维设计软件上输入螺丝批的轮廓,自动获取螺钉的位置,将螺丝批的轮廓放到螺钉的位置,循环干涉其他模型,自动识别干涉结果,解决了生产过程中,螺钉使用工具的空间的问题,让产品设计便于生产,提升产品的设计质量。(3)本发明的方法和系统是一种全新的方法,根据数字模型,装配的螺钉位置,创建螺丝批的数字模型,具体为,在三维设计软件中,根据螺钉的位置,计算出工具螺丝批的数字化模型数据,分析螺丝批数据,通过相交算法,计算螺丝批是否和其他设计零件数字模型是否干涉,提前识别螺钉安装问题,去除人工经验,肉眼识别的不稳定因素,提升产品设计质量,提升产品生产效率。
附图说明
图1为本发明实施例1的步骤流程图;
图2为本发明实施例1的螺丝批的轮廓的结构示意图;
图3为本发明实施例1的螺钉处构建虚拟螺丝批的结构示意图;
图4为本发明实施例1的点在轮廓内的XY平面示意图;
图5为本发明实施例1的点在轮廓内的YZ平面示意图;
图6为本发明实施例1的投影点P0'点计算示意图;
图7为本发明实施例1的P轮廓与A轮廓相交的结构示意图。
具体实施方式
为使对本发明的目的、构造、特征、及其功能有进一步的了解,兹配合实施例详细说明如下。
实施例1:
一种螺丝批操作空间检查方法,包括以下步骤:
S1:基于三维设计软件,打开数字模型装配;
所述数字模型装配是工程师设计的数字产品设计模型,包括零件模型、部件模型和总装模型;
所述三维设计软件为数字化产品建模设计软件;
S2:响应执行螺钉安装检查,获取螺丝批数据;
所述螺丝批数据为数字模型螺丝批的几何数据,所述几何数据为矩形轮廓数据,所述轮廓数据表现为最小点和最大点,通过最小点和最大点计算出矩形轮廓的8个点;
具体包括:
S21:加载螺丝批模型;
通过三维设计软件提供的API,从指定配置的路径位置,在后台加载螺丝批数字模型,同时获得螺丝批模型的句柄。
所述螺丝批数字模型不在界面上显示,只在所述三维设计软件开辟的内存中;
所述句柄是一个是用来标识对象或者项目的标识符,可以用来描述窗体、文件等,句柄的数据类型是一个16位的无符号整数,通过API获得句柄后,其他的函数就可以使用该句柄,以引用相应的对象。
S22:获取螺丝批的轮廓数据;
根据螺丝批模型的句柄,获取螺丝批的轮廓,设螺丝批的轮廓为P,得到轮廓的最大点和最小点,设获取的轮廓数据为Pmax,Pmin,坐标为(Xmax,Ymax,Zmax),(Xmin,Ymin,Zmin)。
S23:计算螺丝批的轮廓的8个点;
根据轮廓最大点和最小点,计算得到轮廓的8个点,设轮廓的8个点位P0到P7,根据轮廓计算公式得到:
P0(P0x, P0y, P0z) = (Xmin,Ymin,Zmin)
P1(P1x, P1y, P1z) = (Xmax,Ymin,Zmin)
P2(P2x, P2y, P2z) = (Xmax,Ymax,Zmin)
P3(P3x, P3y, P3z) = (Xmin,Ymax,Zmin)
P4(P4x, P4y, P4z) = (Xmin,Ymin,Zmax)
P5(P5x, P5y, P5z) = (Xmax,Ymin,Zmax)
P6(P6x, P6y, P6z) = (Xmax,Ymax,Zmax)
P7(P7x, P7y, P7z) = (Xmin,Ymax,Zmax)
S3:遍历数字产品设计模型,获得螺钉的位置矩阵;
通过三维设计软件提供的API,在数字产品设计模型中,按名称方式,把所有螺钉收集,用变量保存起来,每个螺钉具有唯一的标识ID,通过三维设计软件提供的API,获取每个螺钉的位置矩阵;
所述螺钉是用于紧固产品的两个连接件的物料;
所述位置矩阵是螺钉自身坐标系在装配坐标系中的XYZ的向量值和XYZ坐标值,构造出位置矩阵;所述位置矩阵是一个4×3阶矩阵;例如位置矩阵为
S4:计算虚拟螺丝批;
循环螺钉,根据螺钉的位置,在螺钉的位置上计算螺丝批的轮廓的8个点构建出螺丝批的矩形轮廓;
虚拟螺丝批就是根据螺钉的位置,在螺钉的位置上构建出螺丝批的矩形轮廓;
具体包括:
根据步骤S3获得的螺钉位置矩阵,循环螺钉,构建螺钉的矩阵M,所述螺钉的矩阵M是用0补全螺钉位置矩阵,构成的4×4的矩阵:
分别将螺丝批矩形轮廓的8个点的XYZ,用0补全为4×1的矩阵,例如
根据坐标点转换公式P'=M*P,计算P',计算得到螺丝批矩形轮廓8个点在螺钉的位置,构建出虚拟的螺丝批。
常规计算推导公式为:
=/>
x'=x*m00+y*m01+z*m02+w*m03
y'=x*m10+y*m11+z*m12+w*m13
z'=x*m20+y*m21+z*m22+w*m23
w'=x*m30+y*m31+z*m32+w*m33
例如P为
*/>
S5:获取其他零件的轮廓,计算其他零件的矩形轮廓的8个点;
S51:通过三维设计软件提供的API,遍历所有零件,得到所有零件的句柄,通过三维设计软件提供的API获得零件的轮廓。
设其他零件的轮廓为A,得到轮廓的最大点和最小点,设获取的轮廓数据为Amax,Amin,坐标为(xmax,ymax,zmax),(xmin,ymin,zmin)。
S52:计算其他零件的矩形轮廓;
计算方法与步骤S23计算螺丝批的矩形轮廓相同,计算轮廓A的8个点(A0~A7)。
A0(A0x, A0y, A0z) = (xmin,ymin,zmin)
A1(A1x, A1y, A1z) = (xmax,ymin,zmin)
A2(A2x, A2y, A2z) = (xmax,ymax,zmin)
A3(A3x, A3y, A3z) = (xmin,ymax,zmin)
A4(A4x, A4y, A4z) = (xmin,ymin,zmax)
A5(A5x, A5y, A5z) = (xmax,ymin,zmax)
A6(A6x, A6y, A6z) = (xmax,ymax,zmax)
A7(A7x, A7y, A7z) = (xmin,ymax,zmax);
S6:判断是否干涉;
根据所有其他零件的轮廓和所有螺钉计算出螺丝批的轮廓,循环计算其他零件的轮廓和螺丝批的轮廓,判断是否有干涉。
判定方法具体如下:
S61:计算P轮廓是否在A轮廓中,判定是否干涉;
P的最大点为点P6(P6x, P6y, P6z),P的最小点为点P0(P0x, P0y, P0z)A的最小点为点A0(A0x, A0y, A0z),最大点为点A6(A6x, A6y, A6z),在XY平面中,P的最大点大于A的最小点而且小于A的最大点,即P6x>A0x且P6x S62:计算A轮廓是否在P轮廓中,判定是否干涉; 在XY平面中,A的最大点大于P的最小点而且小于P的最大点,即A6x>P0x且A6x S63:连接P轮廓点,将A轮廓的8个点投影到P轮廓的面上,判断A轮廓与P轮廓是否相交,判定是否干涉; 连接P轮廓点,设P轮廓的6个面,分别为P面0123,P面4567,P面1562,P面0473,P面0154,P面3267,计算A轮廓的8个点分别投影到P轮廓的P面0123面上,得到A0',A1',A2',A3',A4',A5',A6',A7'点; 接着判定投影点是否在两个轮廓中:在XY平面中,A0'点大于P的最小点而且小于P的最大点,即A0'x>P0x且A0'x S64:连接A轮廓点,将P轮廓的8个点投影到A轮廓的面上,判断P轮廓与A轮廓是否相交,判定是否干涉; 连接A轮廓点,设A轮廓的6个面,分别为A面0123,A面4567,A面1562,A面0473,A面0154,A面3267,计算P轮廓的8个点投影到A轮廓的A面0123,得到P0',P1',P2',P3',P4',P5',P6',P7'点,接着判断点是否在轮廓中:在XY平面中,P0'点大于P的最小点而且小于P的最大点,即P0'x>P0x且P0'x 点投影到轮廓的具体计算公式为:设P0点为的坐标为P0(x4,y4,z4),A面0123的点坐标为A1(x1,y1,z1),A2(x2,y2,z2),A3(x3,y3,z3);投影点P0'点的坐标为P0'(xp,yp,zp); 1),先计算向量 ; 2),由向量垂直关系得: 公式1 公式2 3),设平面方程为: 则有: 解得: P0'点在A面0123上,则: 公式3 4),联立(公式1)(公式2)(公式3)组成三元一次方程组: 解得: ; 计算得出投影点P0'点,根据相同的方法分别计算投影点P1'-P7'。 S7:显示检查结果; 根据三维软件提供的API,获取判断为交涉的P轮廓对应的螺钉的标识ID,并展示在屏幕上,凭借标识ID,方便在模型中查找有问题的螺钉位置,便于后续工程师修改,提高工程师的效率,提高工业设计产品的质量。 实施例2: 一种螺丝批操作空间检查系统,包括获取螺丝批数据模块、获取模型螺钉模块、计算模块、创建标记模块以及API函数、螺钉安装检查指令; 所述获取螺丝批数据模块用于获取螺丝批的几何数据,具体为获取螺丝批的轮廓的最小点和最大点,通过最小点和最大点计算出螺丝批的矩形轮廓的8个点; 获取模型螺钉模块用于按名称方式,把所有螺钉收集,用变量保存起来,通过三维设计软件提供的API,获取每个螺钉的位置矩阵; 所述计算模块用于循环所有螺钉,计算螺丝批的轮廓与其他零件的轮廓是否干涉; 所述显示结果模块用于获取判断为交涉的P轮廓对应的螺钉的标识ID,并进行展示; API函数为三维设计软件提供的能够与所述螺丝批操作空间检查系统进行数据通信、执行指令、数据传输的数据接口; 三维设计软件提供入口函数和出口函数的开发接口,系统通过API函数联接入口函数和出口函数,实现与三维设计软件关联; 螺钉安装检查指令为一键执行获取螺丝批数据模块、获取模型螺钉模块、计算模块、创建标记模块的指令集; 进一步的,所述计算模块包括计算虚拟螺丝批模块、计算其他零件轮廓模块、计算干涉模块; 所述计算虚拟螺丝批模块用于循环所有螺钉的位置,在螺钉的位置上构建出螺丝批的矩形轮廓; 所述计算其他零件轮廓模块用于遍历数字模型装配的所有零件,得到所有零件的句柄,通过三维设计软件提供的API获得零件的轮廓; 所述计算干涉模块用于计算判断所述虚拟螺丝批与所述其他零件的轮廓是否干涉。 本发明已由上述相关实施例加以描述,然而上述实施例仅为实施本发明的范例。必需指出的是,已揭露的实施例并未限制本发明的范围。相反地,在不脱离本发明的精神和范围内所作的更动与润饰,均属本发明的专利保护范围。