一种计算圆锥体零件作用尺寸的方法
技术领域
本发明涉及一种计算圆锥体零件作用尺寸的方法,属于精密计量与计算机应用领域,可用于各种情况下几何产品中圆锥要素的合格性检测,并为加工过程与加工工艺的改进提供指导。
背景技术
圆锥配合由于具有对中性好、密封性强、配合可靠、安装定位快速准确等优点,在机械几何产品中应用广泛。在实际生产中,一般采用测角仪、圆锥塞规等传统计量器具进行合格性检验。这些方法虽然简单易行,但检测信息过于单一,不能满足高精度机械产品的要求,存在一定的局限性。随着高精密的数字化测量设备的广泛应用,对圆锥度误差评定算法提出越来越高的要求。
最大内接圆锥和最小外接圆锥统称为圆锥体的作用表面,最大内接圆锥的尺寸和最小外接圆锥的尺寸统称为圆锥体的作用尺寸。最大内接圆锥体现了被测内圆锥所能通过的最大配合外圆锥,由此获得的圆锥度误差可视为被测内圆锥与最大配合外圆锥之间的最大间隙;而最小外接圆锥体现了被测外圆锥所能通过的最小配合内圆锥,由此获得的圆锥度误差可视为被测外圆锥与最小配合内圆锥之间的最大间隙。此外,给定锥角的最大内接圆锥尺寸与给定锥角的最小外接圆锥尺寸,除在计算过程中锥角是理论值、为常量,其他情况与最大内接圆锥尺寸和最小外接圆锥尺寸情况类似。
圆锥体作用尺寸的计算属于不可微复杂最优化问题,目前,国内外学者主要采用传统优化方法、智能算法、计算几何方法等。这些方法由于存在计算稳定性差、计算效率低、对采点数量有限制、计算结果难以达到精确解等缺陷,导致最大内接圆锥法很难在实际检测中应用。目前市场上一般都采用成熟的最小二乘法近似地计算零件圆锥体的作用尺寸。
发明内容
本发明所要解决的技术问题是提供一种计算圆锥体零件作用尺寸的方法,其不仅提高了圆锥度误差评定精度,而且算法稳定性好、计算效率高,可以推广应用于其它形状误差评定中。
本发明一种计算圆锥体零件作用尺寸的方法,用于计算圆锥最大内接尺寸时,主要包括以下步骤:
步骤1:将被测圆锥置于测量平台上,在测量空间直角坐标系中测量并获取圆锥表面上的测点,其中=1,2,…,n,n代表测点数目且为大于6正整数;所有测点形成测点集;随机给出圆锥的初始参数,包括圆锥的锥顶坐标、圆锥轴线的方向矢量和半锥角为;其中矢量方向为由圆锥小端指向大端;设定计算误差允许值。
步骤2:应用下式,依次计算各个测点到圆锥面的距离,
其中,所有测点对应组成集合;记录对应的测点,所记录的测点形成误差包容区域的接触点集合。
步骤3:判断误差包容区域的接触点集合中是否只含有1个接触点;
如果接触点的数量等于1,该接触点为有效接触点,则此时包容区域的旋转变动的方向矢量等于锥顶到接触点的矢量与的叉乘,然后跳转到步骤6;
如果接触点的数量不等于1,则跳转到步骤4。
步骤4:判断误差包容区域的接触点集合中是否只含有2个接触点;
如果接触点的数量等于2,则2个接触点均为有效接触点,设有效接触点为、,此时包容区域的旋转变动的方向矢量等于的角平分面的法向矢量,跳转到步骤6;
如果接触点的数量不等于2,跳转到步骤5。
步骤5:将接触点、锥顶投影在垂直于轴线的任一平面上,计算接触点投影相对于锥顶投影的相位角,同时对相位角进行排序,计算前后两个相位角之差;如果相位角的差值小于90度,则跳转到步骤7;如果相位角的差值大于90度,查询最大相位角差值对应的2个接触点,即为有效接触点,执行步骤6。
步骤6:连接其中1个有效接触点和,再连接其中1个非接触测点和,计算由两条直线组成夹角的角平分面,然后计算过且法向矢量为的平面,并计算与的交线,交线即为包容区域变动到与该非接触测点接触时的轴线,最后计算变动后的圆锥半锥角;遍历所有的非接触测点,依次计算包容区域变动到与各个非接触测点接触时的圆锥半锥角,所有的非接触测点对应的组成集合,在集合中剔除比小的元素,并在集合查询最小值,即为包容区域的变动量,并查询集合中最小值对应的圆锥轴线的方向矢量,将赋值给。
步骤7:判断误差包容区域的接触点集合中接触点的数量是否等于3;
如果接触点的数量不等于3,跳转到步骤4;
如果接触点的数量等于3,设3个接触点为、、,则对3个接触点、、进行的坐标转换,使圆锥轴线的方向矢量与z轴正向平行同向,对3个接触点按其z轴坐标进行由小到大的排序,使、、的z轴坐标递增,则包容区域旋转的方向矢量等于;确定包容区域旋转变动量的初始值。
步骤8:将包容区域绕旋转角度后,得到变动后圆锥轴线方向矢量,分别以、为锥顶,且以为轴线方向矢量,以为半锥角作2个包容区域的辅助内切圆锥;然后过点作垂直于的截平面,在截平面内,计算过点且与2个截面圆相外切的圆,其圆心记为,其半径设为,该为圆锥轴线上一点,然后根据和,可以计算出锥顶坐标;然后按照步骤2的方式,依次计算所有非接触测点到圆锥面的距离;
如果<0,说明包容区域变动量过大,将赋值给;如果0,表示变动量过小,将赋值给;
判断是否小于误差允许值;如果小于误差允许值,表示搜索到下一个接触点,将赋值给,将赋值给,跳转到步骤2;如果大于等于误差允许值,重复执行步骤8。
步骤9:判断误差包容区域的接触点集合中接触点的数量是否等于4;
如果接触点的数量不等于4,跳转到步骤11;如果接触点的数量等于4,给出包容区域沿反向变动的变动量的初始值。
步骤10:计算包容区域的锥顶沿反向平移后的坐标值;设接触点坐标为,则每个接触点均满足下式;
以锥顶的z坐标、为已知量,这样就建立了四元非线性方程组,可以计算、、、;然后按照步骤2的方式,依次计算所有非接触测点到圆锥面的距离;如果<0,说明包容区域变动量过大,将赋值给;如果0,表示变动量过小,将赋值给;
判断是否小于误差允许值;如果小于误差允许值,则表示搜索到下一个接触点,跳转到步骤2;如果大于等于误差允许值,则重复步骤10。
步骤11:判断误差包容区域的接触点集合中接触点的数量是否等于5;
如果接触点的数量不等于5,跳转到步骤13;如果接触点的数量等于5,给出包容区域沿反向变动的变动量的初始值。
步骤12:计算包容区域的锥顶沿反向平移后的坐标值,然后以锥顶的z坐标为已知量,、、、、为未知量建立五元非线性方程组,通过计算可以得出包容区域的基本参数;然后按照步骤10的方法调整;
判断是否小于误差允许值;如果小于误差允许值,表示搜索到下一个接触点,跳转到步骤2;如果大于等于误差允许值,重复步骤12。
步骤13:判断误差包容区域的接触点集合中接触点的数量是否大于等于6;
如果接触点的数量小于6,跳转到步骤2;
如果接触点的数量大于等于6,以接触点集合中5个为1个组合,以其中1个组合中5个接触点为计算对象,根据与步骤11、12中方法计算包容区域沿反向变动的变动量;
如果小于设定的误差允许值,判断是否满足判别准则,如果满足则跳转到步骤14,否则换1个组合,重新计算,重新判断是否满足判别准则,依次迭代下去;如果大于设定的误差允许值,跳转到步骤2。
步骤14:给出最大内接圆锥的锥顶坐标、轴线方向矢量、锥角以及圆锥度。
本发明另一种计算圆锥体零件作用尺寸的方法,用于计算圆锥最小外接尺寸时,主要包括以下步骤:
步骤1:将被测圆锥置于测量平台上,在测量空间直角坐标系中测量并获取圆锥表面上的测点,其中=1,2,…,n,n代表测点数目且为大于6正整数;所有测点形成测点集;随机给出圆锥的初始参数,包括圆锥的锥顶坐标、圆锥轴线的方向矢量和半锥角为;其中矢量方向为由圆锥小端指向大端;设定计算误差允许值。
步骤2:应用下式,依次计算各个测点到圆锥面的距离,
其中,所有测点对应的组成集合;记录对应的测点,所记录的测点形成误差包容区域的接触点集合。
步骤3:判断误差包容区域的接触点集合中是否只含有1个接触点;
如果接触点的数量等于1,该接触点为有效接触点,则此时包容区域的旋转变动的方向矢量等于与锥顶到接触点的矢量的叉乘,然后跳转到步骤6;
如果接触点的数量不等于1,则跳转到步骤4。
步骤4:判断误差包容区域的接触点集合中是否只含有2个接触点;
如果接触点的数量等于2,则2个接触点均为有效接触点,设有效接触点为、,此时包容区域的旋转变动的方向矢量等于的角平分面的法向矢量,跳转到步骤6;
如果接触点的数量不等于2,跳转到步骤5。
步骤5:将接触点、锥顶投影在垂直于轴线的任一平面上,计算接触点投影相对于锥顶投影的相位角,同时对相位角进行排序,计算前后两个相位角之差;如果相位角的差值小于90度,则跳转到步骤7;如果相位角的差值大于90度,查询最大相位角差值对应的2个接触点,即为有效接触点,执行步骤6。
步骤6:连接其中1个有效接触点和,再连接其中1个非接触测点和,计算由2条直线组成夹角的角平分面,然后计算过且法向矢量为的平面,并计算与的交线,交线即为包容区域变动到与该非接触测点接触时的轴线,最后计算变动后的圆锥半锥角;遍历所有的非接触测点,依次计算包容区域变动到与各个非接触测点接触时的圆锥半锥角,所有的非接触测点对应的组成集合,在集合中剔除比大的元素,并在集合查询最小值,即为包容区域的变动量,并查询集合中最小值对应的圆锥轴线的方向矢量,将赋值给。
步骤7:判断误差包容区域的接触点集合中接触点的数量是否等于3;
如果接触点的数量不等于3,跳转到步骤4;
如果接触点的数量等于3,设3个接触点为、、,则对3个接触点、、进行的坐标转换,使圆锥轴线的方向矢量与z轴正向平行同向,对3个接触点按其z轴坐标进行由小到大的排序,使3个接触点的z轴坐标递增,3个接触点依次记为、、,则包容区域旋转的方向矢量等于;确定包容区域旋转变动量的初始值。
步骤8:将包容区域绕旋转角度后,得到圆锥轴线方向矢量,分别以、为锥顶,且以为轴线方向矢量,以为半锥角作2个包容区域的辅助内切圆锥;然后过点作垂直于的截平面,在截平面内,计算过点且与2个截面圆外相切的圆,其圆心记为,其半径设为,该为圆锥轴线上一点,然后根据和,可以计算出锥顶坐标;然后按照步骤2的方式,依次计算所有非接触测点到圆锥面的距离;
如果 0,说明包容区域变动量过大,将赋值给;如果0,表示变动量过小,将赋值给;
判断是否小于误差允许值;如果小于误差允许值,表示搜索到下一个接触点,跳转到步骤2;如果大于等于误差允许值,重复执行步骤8。
步骤9:判断误差包容区域的接触点集合中接触点的数量是否等于4;
如果接触点的数量不等于4,跳转到步骤11;如果接触点的数量等于4,给出包容区域沿变动的变动量的初始值。
步骤10:计算包容区域的锥顶沿平移后的坐标值;设接触点坐标为,则每个接触点均满足下式;
以锥顶的z坐标、为已知量,这样就建立了四元非线性方程组,可以计算、、、;然后按照步骤2的方式,依次计算所有非接触测点到圆锥面的距离;如果>0,说明包容区域变动量过大,将赋值给;如果0,表示变动量过小,将赋值给;
判断是否小于误差允许值;如果小于误差允许值,则表示搜索到下一个接触点,跳转到步骤2;如果大于等于误差允许值,则重复步骤10。
步骤11:判断误差包容区域的接触点集合中接触点的数量是否等于5;
如果接触点的数量不等于5,跳转到步骤13;如果接触点的数量等于5,给出包容区域沿变动的变动量的初始值。
步骤12:计算包容区域的锥顶沿平移后的坐标值,然后以锥顶的z坐标为已知量,、、、、为未知量建立五元非线性方程组,通过计算可以得出包容区域的基本参数;然后按照步骤10的方法调整;
判断是否小于误差允许值;如果小于误差允许值,表示搜索到下一个接触点,跳转到步骤2;如果大于等于误差允许值,重复步骤12。
步骤13:判断误差包容区域的接触点集合中接触点的数量是否大于等于6;
如果接触点的数量小于6,跳转到步骤2;
如果接触点的数量大于等于6,以接触点集合中5个为1个组合,以其中1个组合中5个接触点为计算对象,根据与步骤11、12中方法计算包容区域沿变动的变动量;
如果小于设定的误差允许值,判断是否满足判别准则,如果满足则跳转到步骤14,否则换1个组合,重新计算,重新判断是否满足判别准则,依次迭代下去;如果大于设定的误差允许值,跳转到步骤2。
步骤14:给出最小外接圆锥的锥顶坐标、轴线方向矢量、锥角以及圆锥度。
本发明另一种计算圆锥体零件作用尺寸的方法,用于计算给定锥角的圆锥最大内接尺寸时,主要包括以下步骤:
步骤1:将被测圆锥置于测量平台上,在测量空间直角坐标系中测量并获取圆锥表面上的测点,其中=1,2,…,n,n代表测点数目且为大于6正整数;所有测点形成测点集;随机给出圆锥的初始参数,包括圆锥的锥顶坐标、圆锥轴线的方向矢量,并根据图纸信息获得半锥角;其中矢量方向为由圆锥小端指向大端;设定计算误差允许值。
步骤2:应用下式,依次计算各个测点到圆锥面的距离,
其中,所有测点对应的组成集合;记录对应的测点,所记录的测点形成误差包容区域的接触点集合。
步骤3:判断误差包容区域的接触点集合中接触点的数量是否小于3;
如果接触点的数量小于3,分别以每个测点为顶点、以为半锥角、以为轴线方向矢量,构造辅助圆锥,进行坐标变换,使与坐标系z轴正向平行同向,各个测点与辅助圆锥作相同的坐标变换,各个测点变动后变为;作的辅助平面,计算每个辅助圆锥与平面的交集,其交集为一个截交圆,所有的辅助圆锥对应的截交圆构成截交圆集合;计算截交圆集合中所有截交圆的最大内切圆,使其满足所有截交圆位于最大内切圆之外,且与其中3个截交圆外切,3个截交圆对应的切点构成锐角三角形;
如果接触点的数量大于3,跳转到步骤4。
步骤4:判断误差包容区域的接触点集合中接触点的数量是否等于3;
如果接触点的数量不等于3,跳转到步骤6;
如果接触点的数量等于3,设3个接触点为、、,则对3个接触点进行的坐标转换,使圆锥轴线的方向矢量与z轴正向平行同向,对3个接触点按其z轴坐标进行由小到大的排序,使3个接触点的z轴坐标递增,3个接触点依次记为、、,则包容区域旋转的方向矢量等于;确定包容区域旋转变动量的初始值。
步骤5:将包容区域绕旋转角度后,得到圆锥轴线方向矢量,分别以、为锥顶,且以为轴线方向矢量,以为半锥角作2个包容区域的辅助圆锥;然后过点作垂直于的截平面,在截平面内,计算过点且与2个截面圆相外切的圆,其圆心记为,其半径设为,该圆心为圆锥轴线上一点,然后根据和,可以计算出变动后圆锥的锥顶坐标;然后按照步骤2的方式,依次计算所有非接触测点到圆锥面的距离;
如果 0,说明包容区域变动量过大,将赋值给;如果0,表示变动量过小,将赋值给;
判断是否小于误差允许值;如果小于误差允许值,表示搜索到下一个接触点,将赋值给,将赋值给,跳转到步骤2;如果大于等于误差允许值,重复执行步骤5。
步骤6:判断误差包容区域的接触点集合中接触点的数量是否等于4;
如果接触点的数量不等于4,跳转到步骤8;
如果接触点的数量等于4,给出包容区域沿变动的变动量的初始值。
步骤7:计算包容区域的锥顶沿反向平移后的坐标值;设接触点坐标为,则每个接触点均满足下式;
以锥顶的z坐标、为已知量,这样就建立了四元非线性方程组,可以计算、、、;然后按照步骤2的方式,依次计算所有非接触测点到圆锥面的距离;如果<0,说明包容区域变动量过大,将赋值给;如果0,表示变动量过小,将赋值给;
判断是否小于误差允许值;如果小于误差允许值,则表示搜索到下一个接触点,跳转到步骤2;如果大于等于误差允许值,则重复步骤7。
步骤8:判断误差包容区域的接触点集合中接触点的数量是否大于等于5;
如果接触点的数量小于5,跳转到步骤2;
如果接触点的数量大于等于5,以接触点集合中4个为1个组合,以其中1个组合中4个接触点为计算对象,根据与步骤6、7中方法计算包容区域沿反向变动的变动量;
如果小于设定的误差允许值,判断是否满足判别准则,如果满足则跳转到步骤9,否则换1个组合,重新计算,重新判断是否满足判别准则,依次迭代下去;如果大于设定的误差允许值,跳转到步骤2。
步骤9:给出给定锥角的最大内接圆锥的锥顶坐标、轴线方向矢量以及圆锥度。
本发明另一种计算圆锥体零件作用尺寸的方法,用于计算给定锥角的圆锥最小外接尺寸时,主要包括以下步骤:
步骤1:将被测圆锥置于测量平台上,在测量空间直角坐标系中测量并获取圆锥表面上的测点,其中=1,2,…,n,n代表测点数目且为大于6正整数;所有测点形成测点集;随机给出圆锥的初始参数,包括圆锥的锥顶坐标、圆锥轴线的方向矢量,并根据图纸信息获得半锥角;其中矢量方向为由圆锥小端指向大端;设定计算误差允许值。
步骤2:应用下式,依次计算各个测点到圆锥面的距离,
其中,所有测点对应的组成集合;记录对应的测点,所记录的测点形成误差包容区域的接触点集合。
步骤3:判断误差包容区域的接触点集合中接触点的数量是否小于3;
如果接触点的数量小于3,分别以每个测点为顶点、以为半锥角、以为轴线方向矢量,构造辅助圆锥,进行坐标变换,使与坐标系z轴正向平行同向,各个测点与辅助圆锥作相同的坐标变换,各个测点变动后变为;作的辅助平面,计算每个辅助圆锥与平面的交集,其交集为一个截交圆,所有的辅助圆锥对应的截交圆构成截交圆集合;计算截交圆集合中所有截交圆的最小外切圆,使其满足所有截交圆位于最小外切圆之内,且与其中3个截交圆内切,3个截交圆对应的切点构成锐角三角形;
如果接触点的数量大于3,跳转到步骤4。
步骤4:判断误差包容区域的接触点集合中接触点的数量是否等于3;
如果接触点的数量不等于3,跳转到步骤6;
如果接触点的数量等于3,设3个接触点为、、,则对3个接触点进行的坐标转换,使圆锥轴线的方向矢量与z轴正向平行同向,对3个接触点按其z轴坐标进行由小到大的排序,使3个接触点的z轴坐标递增,3个接触点依次记为、、,则包容区域旋转的方向矢量等于;确定包容区域旋转变动量的初始值。
步骤5:将包容区域绕旋转角度后,得到圆锥轴线方向矢量,分别以、为锥顶,且以为轴线方向矢量,以为半锥角作2个包容区域的辅助圆锥;然后过点作垂直于的截平面,在截平面内,计算过点且与2个截面圆相外切的圆,其圆心记为,其半径设为,该圆心为圆锥轴线上一点,然后根据和,可以计算出变动后圆锥的锥顶坐标;然后按照步骤2的方式,依次计算所有非接触测点到圆锥面的距离;
如果 0,说明包容区域变动量过大,将赋值给;如果0,表示变动量过小,将赋值给;
判断是否小于误差允许值;如果小于误差允许值,表示搜索到下一个接触点,将赋值给,将赋值给,跳转到步骤2;如果大于等于误差允许值,重复执行步骤5。
步骤6:判断误差包容区域的接触点集合中接触点的数量是否等于4;
如果接触点的数量不等于4,跳转到步骤8;
如果接触点的数量等于4,给出包容区域沿变动的变动量的初始值。
步骤7:计算包容区域的锥顶沿平移后的坐标值;设接触点坐标为,则每个接触点均满足下式;
以锥顶的z坐标、为已知量,这样就建立了四元非线性方程组,可以计算、、、;然后按照步骤2的方式,依次计算所有非接触测点到圆锥面的距离;如果>0,说明包容区域变动量过大,将赋值给;如果0,表示变动量过小,将赋值给;
判断是否小于误差允许值;如果小于误差允许值,则表示搜索到下一个接触点,跳转到步骤2;如果大于等于误差允许值,则重复步骤7。
步骤8:判断误差包容区域的接触点集合中接触点的数量是否大于等于5;
如果接触点的数量小于5,跳转到步骤2;
如果接触点的数量大于等于5,以接触点集合中4个为1个组合,以其中1个组合中4个接触点为计算对象,根据与步骤6、7中方法计算包容区域沿变动的变动量;
如果小于设定的误差允许值,判断是否满足判别准则,如果满足则跳转到步骤9,否则换1个组合,重新计算,重新判断是否满足判别准则,依次迭代下去;如果大于设定的误差允许值,跳转到步骤2。
步骤9:给出给定锥角的最小外接圆锥的锥顶坐标、轴线方向矢量以及圆锥度。
本发明的有益效果在于:本发明依据圆锥自身的特征,在优化的方向上,对包容区域进行相应平移变动、旋转变动或平移变动,最终计算出圆锥参数最优值和圆锥度误差最优值。
对于本领域技术人员来说,根据和应用本发明公开的构思,能够容易地对本发明方案进行各种变形和改变,应当注意的是,所有这些变形和改变都应当属于本发明的范围。
附图说明
图1为本发明的最大内接圆锥计算流程图。
具体实施方式
实施例1:
一种计算圆锥体零件作用尺寸的方法,用于计算圆锥最大内接尺寸时,主要包括以下步骤,如附图1所示:
步骤1:将被测圆锥置于测量平台上,在测量空间直角坐标系中测量并获取圆锥表面上的测点,其中=1,2,…,n,n代表测点数目且为大于6正整数;所有测点形成测点集;随机给出圆锥的初始参数,包括圆锥的锥顶坐标、圆锥轴线的方向矢量和半锥角为;其中矢量方向为由圆锥小端指向大端;设定计算误差允许值。
步骤2:应用下式,依次计算各个测点到圆锥面的距离,
其中,所有测点对应组成集合;记录对应的测点,所记录的测点形成误差包容区域的接触点集合。
步骤3:判断误差包容区域的接触点集合中是否只含有1个接触点;
如果接触点的数量等于1,该接触点为有效接触点,则此时包容区域的旋转变动的方向矢量等于锥顶到接触点的矢量与的叉乘,然后跳转到步骤6;
如果接触点的数量不等于1,则跳转到步骤4。
步骤4:判断误差包容区域的接触点集合中是否只含有2个接触点;
如果接触点的数量等于2,则2个接触点均为有效接触点,设有效接触点为、,此时包容区域的旋转变动的方向矢量等于的角平分面的法向矢量,跳转到步骤6;
如果接触点的数量不等于2,跳转到步骤5。
步骤5:将接触点、锥顶投影在垂直于轴线的任一平面上,计算接触点投影相对于锥顶投影的相位角,同时对相位角进行排序,计算前后两个相位角之差;如果相位角的差值小于90度,则跳转到步骤7;如果相位角的差值大于90度,查询最大相位角差值对应的2个接触点,即为有效接触点,执行步骤6。
步骤6:连接其中1个有效接触点和,再连接其中1个非接触测点和,计算由两条直线组成夹角的角平分面,然后计算过且法向矢量为的平面,并计算与的交线,交线即为包容区域变动到与该非接触测点接触时的轴线,最后计算变动后的圆锥半锥角;遍历所有的非接触测点,依次计算包容区域变动到与各个非接触测点接触时的圆锥半锥角,所有的非接触测点对应的组成集合,在集合中剔除比小的元素,并在集合查询最小值,即为包容区域的变动量,并查询集合中最小值对应的圆锥轴线的方向矢量,将赋值给。
步骤7:判断误差包容区域的接触点集合中接触点的数量是否等于3;
如果接触点的数量不等于3,跳转到步骤4;
如果接触点的数量等于3,设3个接触点为、、,则对3个接触点、、进行的坐标转换,使圆锥轴线的方向矢量与z轴正向平行同向,对3个接触点按其z轴坐标进行由小到大的排序,使、、的z轴坐标递增,则包容区域旋转的方向矢量等于;确定包容区域旋转变动量的初始值。
步骤8:将包容区域绕旋转角度后,得到变动后圆锥轴线方向矢量,分别以、为锥顶,且以为轴线方向矢量,以为半锥角作2个包容区域的辅助内切圆锥;然后过点作垂直于的截平面,在截平面内,计算过点且与2个截面圆相外切的圆,其圆心记为,其半径设为,该为圆锥轴线上一点,然后根据和,可以计算出锥顶坐标;然后按照步骤2的方式,依次计算所有非接触测点到圆锥面的距离;
如果<0,说明包容区域变动量过大,将赋值给;如果0,表示变动量过小,将赋值给;
判断是否小于误差允许值;如果小于误差允许值,表示搜索到下一个接触点,将赋值给,将赋值给,跳转到步骤2;如果大于等于误差允许值,重复执行步骤8。
步骤9:判断误差包容区域的接触点集合中接触点的数量是否等于4;
如果接触点的数量不等于4,跳转到步骤11;如果接触点的数量等于4,给出包容区域沿反向变动的变动量的初始值。
步骤10:计算包容区域的锥顶沿反向平移后的坐标值;设接触点坐标为,则每个接触点均满足下式;
以锥顶的z坐标、为已知量,这样就建立了四元非线性方程组,可以计算、、、;然后按照步骤2的方式,依次计算所有非接触测点到圆锥面的距离;如果<0,说明包容区域变动量过大,将赋值给;如果0,表示变动量过小,将赋值给;
判断是否小于误差允许值;如果小于误差允许值,则表示搜索到下一个接触点,跳转到步骤2;如果大于等于误差允许值,则重复步骤10。
步骤11:判断误差包容区域的接触点集合中接触点的数量是否等于5;
如果接触点的数量不等于5,跳转到步骤13;如果接触点的数量等于5,给出包容区域沿反向变动的变动量的初始值。
步骤12:计算包容区域的锥顶沿反向平移后的坐标值,然后以锥顶的z坐标为已知量,、、、、为未知量建立五元非线性方程组,通过计算可以得出包容区域的基本参数;然后按照步骤10的方法调整;
判断是否小于误差允许值;如果小于误差允许值,表示搜索到下一个接触点,跳转到步骤2;如果大于等于误差允许值,重复步骤12。
步骤13:判断误差包容区域的接触点集合中接触点的数量是否大于等于6;
如果接触点的数量小于6,跳转到步骤2;
如果接触点的数量大于等于6,以接触点集合中5个为1个组合,以其中1个组合中5个接触点为计算对象,根据与步骤11、12中方法计算包容区域沿反向变动的变动量;
如果小于设定的误差允许值,判断是否满足判别准则,如果满足则跳转到步骤14,否则换1个组合,重新计算,重新判断是否满足判别准则,依次迭代下去;如果大于设定的误差允许值,跳转到步骤2。
步骤14:给出最大内接圆锥的锥顶坐标、轴线方向矢量、锥角以及圆锥度。
实施例2:
一种计算圆锥体零件作用尺寸的方法,用于计算圆锥最小外接尺寸时,改变实施实例1中平移变动、旋转变动、尺寸变动的方向即可,主要包括以下步骤:
步骤1:将被测圆锥置于测量平台上,在测量空间直角坐标系中测量并获取圆锥表面上的测点,其中=1,2,…,n,n代表测点数目且为大于6正整数;所有测点形成测点集;随机给出圆锥的初始参数,包括圆锥的锥顶坐标、圆锥轴线的方向矢量和半锥角为;其中矢量方向为由圆锥小端指向大端;设定计算误差允许值。
步骤2:应用下式,依次计算各个测点到圆锥面的距离,
其中,所有测点对应的组成集合;记录对应的测点,所记录的测点形成误差包容区域的接触点集合。
步骤3:判断误差包容区域的接触点集合中是否只含有1个接触点;
如果接触点的数量等于1,该接触点为有效接触点,则此时包容区域的旋转变动的方向矢量等于与锥顶到接触点的矢量的叉乘,然后跳转到步骤6;
如果接触点的数量不等于1,则跳转到步骤4。
步骤4:判断误差包容区域的接触点集合中是否只含有2个接触点;
如果接触点的数量等于2,则2个接触点均为有效接触点,设有效接触点为、,此时包容区域的旋转变动的方向矢量等于的角平分面的法向矢量,跳转到步骤6;
如果接触点的数量不等于2,跳转到步骤5。
步骤5:将接触点、锥顶投影在垂直于轴线的任一平面上,计算接触点投影相对于锥顶投影的相位角,同时对相位角进行排序,计算前后两个相位角之差;如果相位角的差值小于90度,则跳转到步骤7;如果相位角的差值大于90度,查询最大相位角差值对应的2个接触点,即为有效接触点,执行步骤6。
步骤6:连接其中1个有效接触点和,再连接其中1个非接触测点和,计算由2条直线组成夹角的角平分面,然后计算过且法向矢量为的平面,并计算与的交线,交线即为包容区域变动到与该非接触测点接触时的轴线,最后计算变动后的圆锥半锥角;遍历所有的非接触测点,依次计算包容区域变动到与各个非接触测点接触时的圆锥半锥角,所有的非接触测点对应的组成集合,在集合中剔除比大的元素,并在集合查询最小值,即为包容区域的变动量,并查询集合中最小值对应的圆锥轴线的方向矢量,将赋值给。
步骤7:判断误差包容区域的接触点集合中接触点的数量是否等于3;
如果接触点的数量不等于3,跳转到步骤4;
如果接触点的数量等于3,设3个接触点为、、,则对3个接触点、、进行的坐标转换,使圆锥轴线的方向矢量与z轴正向平行同向,对3个接触点按其z轴坐标进行由小到大的排序,使3个接触点的z轴坐标递增,3个接触点依次记为、、,则包容区域旋转的方向矢量等于;确定包容区域旋转变动量的初始值。
步骤8:将包容区域绕旋转角度后,得到圆锥轴线方向矢量,分别以、为锥顶,且以为轴线方向矢量,以为半锥角作2个包容区域的辅助内切圆锥;然后过点作垂直于的截平面,在截平面内,计算过点且与2个截面圆外相切的圆,其圆心记为,其半径设为,该为圆锥轴线上一点,然后根据和,可以计算出锥顶坐标;然后按照步骤2的方式,依次计算所有非接触测点到圆锥面的距离;
如果 0,说明包容区域变动量过大,将赋值给;如果0,表示变动量过小,将赋值给;
判断是否小于误差允许值;如果小于误差允许值,表示搜索到下一个接触点,跳转到步骤2;如果大于等于误差允许值,重复执行步骤8。
步骤9:判断误差包容区域的接触点集合中接触点的数量是否等于4;
如果接触点的数量不等于4,跳转到步骤11;如果接触点的数量等于4,给出包容区域沿变动的变动量的初始值。
步骤10:计算包容区域的锥顶沿平移后的坐标值;设接触点坐标为,则每个接触点均满足下式;
以锥顶的z坐标、为已知量,这样就建立了四元非线性方程组,可以计算、、、;然后按照步骤2的方式,依次计算所有非接触测点到圆锥面的距离;如果>0,说明包容区域变动量过大,将赋值给;如果0,表示变动量过小,将赋值给;
判断是否小于误差允许值;如果小于误差允许值,则表示搜索到下一个接触点,跳转到步骤2;如果大于等于误差允许值,则重复步骤10。
步骤11:判断误差包容区域的接触点集合中接触点的数量是否等于5;
如果接触点的数量不等于5,跳转到步骤13;如果接触点的数量等于5,给出包容区域沿变动的变动量的初始值。
步骤12:计算包容区域的锥顶沿平移后的坐标值,然后以锥顶的z坐标为已知量,、、、、为未知量建立五元非线性方程组,通过计算可以得出包容区域的基本参数;然后按照步骤10的方法调整;
判断是否小于误差允许值;如果小于误差允许值,表示搜索到下一个接触点,跳转到步骤2;如果大于等于误差允许值,重复步骤12。
步骤13:判断误差包容区域的接触点集合中接触点的数量是否大于等于6;
如果接触点的数量小于6,跳转到步骤2;
如果接触点的数量大于等于6,以接触点集合中5个为1个组合,以其中1个组合中5个接触点为计算对象,根据与步骤11、12中方法计算包容区域沿变动的变动量;
如果小于设定的误差允许值,判断是否满足判别准则,如果满足则跳转到步骤14,否则换1个组合,重新计算,重新判断是否满足判别准则,依次迭代下去;如果大于设定的误差允许值,跳转到步骤2。
步骤14:给出最小外接圆锥的锥顶坐标、轴线方向矢量、锥角以及圆锥度。
实施实例3:
一种计算圆锥体零件作用尺寸的方法,用于计算给定锥角的圆锥最大内接尺寸时,对实施实例1的方法进行稍微改动,保证锥角不变,主要包括以下步骤:
步骤1:将被测圆锥置于测量平台上,在测量空间直角坐标系中测量并获取圆锥表面上的测点,其中=1,2,…,n,n代表测点数目且为大于6正整数;所有测点形成测点集;随机给出圆锥的初始参数,包括圆锥的锥顶坐标、圆锥轴线的方向矢量,并根据图纸信息获得半锥角;其中矢量方向为由圆锥小端指向大端;设定计算误差允许值。
步骤2:应用下式,依次计算各个测点到圆锥面的距离,
其中,所有测点对应的组成集合;记录对应的测点,所记录的测点形成误差包容区域的接触点集合。
步骤3:判断误差包容区域的接触点集合中接触点的数量是否小于3;
如果接触点的数量小于3,分别以每个测点为顶点、以为半锥角、以为轴线方向矢量,构造辅助圆锥,进行坐标变换,使与坐标系z轴正向平行同向,各个测点与辅助圆锥作相同的坐标变换,各个测点变动后变为;作的辅助平面,计算每个辅助圆锥与平面的交集,其交集为一个截交圆,所有的辅助圆锥对应的截交圆构成截交圆集合;计算截交圆集合中所有截交圆的最大内切圆,使其满足所有截交圆位于最大内切圆之外,且与其中3个截交圆外切,3个截交圆对应的切点构成锐角三角形;
如果接触点的数量大于3,跳转到步骤4。
步骤4:判断误差包容区域的接触点集合中接触点的数量是否等于3;
如果接触点的数量不等于3,跳转到步骤6;
如果接触点的数量等于3,设3个接触点为、、,则对3个接触点进行的坐标转换,使圆锥轴线的方向矢量与z轴正向平行同向,对3个接触点按其z轴坐标进行由小到大的排序,使3个接触点的z轴坐标递增,3个接触点依次记为、、,则包容区域旋转的方向矢量等于;确定包容区域旋转变动量的初始值。
步骤5:将包容区域绕旋转角度后,得到圆锥轴线方向矢量,分别以、为锥顶,且以为轴线方向矢量,以为半锥角作2个包容区域的辅助圆锥;然后过点作垂直于的截平面,在截平面内,计算过点且与2个截面圆相外切的圆,其圆心记为,其半径设为,该圆心为圆锥轴线上一点,然后根据和,可以计算出变动后圆锥的锥顶坐标;然后按照步骤2的方式,依次计算所有非接触测点到圆锥面的距离;
如果 0,说明包容区域变动量过大,将赋值给;如果0,表示变动量过小,将赋值给;
判断是否小于误差允许值;如果小于误差允许值,表示搜索到下一个接触点,将赋值给,将赋值给,跳转到步骤2;如果大于等于误差允许值,重复执行步骤5。
步骤6:判断误差包容区域的接触点集合中接触点的数量是否等于4;
如果接触点的数量不等于4,跳转到步骤8;
如果接触点的数量等于4,给出包容区域沿变动的变动量的初始值。
步骤7:计算包容区域的锥顶沿反向平移后的坐标值;设接触点坐标为,则每个接触点均满足下式;
以锥顶的z坐标、为已知量,这样就建立了四元非线性方程组,可以计算、、、;然后按照步骤2的方式,依次计算所有非接触测点到圆锥面的距离;如果<0,说明包容区域变动量过大,将赋值给;如果0,表示变动量过小,将赋值给;
判断是否小于误差允许值;如果小于误差允许值,则表示搜索到下一个接触点,跳转到步骤2;如果大于等于误差允许值,则重复步骤7。
步骤8:判断误差包容区域的接触点集合中接触点的数量是否大于等于5;
如果接触点的数量小于5,跳转到步骤2;
如果接触点的数量大于等于5,以接触点集合中4个为1个组合,以其中1个组合中4个接触点为计算对象,根据与步骤6、7中方法计算包容区域沿反向变动的变动量;
如果小于设定的误差允许值,判断是否满足判别准则,如果满足则跳转到步骤9,否则换1个组合,重新计算,重新判断是否满足判别准则,依次迭代下去;如果大于设定的误差允许值,跳转到步骤2。
步骤9:给出给定锥角的最大内接圆锥的锥顶坐标、轴线方向矢量以及圆锥度。
实施实例4:
一种计算圆锥体零件作用尺寸的方法,用于计算给定锥角的圆锥最小外接尺寸时,对实施实例2进行稍微改动,保证锥角不变,主要包括以下步骤:
步骤1:将被测圆锥置于测量平台上,在测量空间直角坐标系中测量并获取圆锥表面上的测点,其中=1,2,…,n,n代表测点数目且为大于6正整数;所有测点形成测点集;随机给出圆锥的初始参数,包括圆锥的锥顶坐标、圆锥轴线的方向矢量,并根据图纸信息获得半锥角;其中矢量方向为由圆锥小端指向大端;设定计算误差允许值。
步骤2:应用下式,依次计算各个测点到圆锥面的距离,
其中,所有测点对应的组成集合;记录对应的测点,所记录的测点形成误差包容区域的接触点集合。
步骤3:判断误差包容区域的接触点集合中接触点的数量是否小于3;
如果接触点的数量小于3,分别以每个测点为顶点、以为半锥角、以为轴线方向矢量,构造辅助圆锥,进行坐标变换,使与坐标系z轴正向平行同向,各个测点与辅助圆锥作相同的坐标变换,各个测点变动后变为;作的辅助平面,计算每个辅助圆锥与平面的交集,其交集为一个截交圆,所有的辅助圆锥对应的截交圆构成截交圆集合;计算截交圆集合中所有截交圆的最小外切圆,使其满足所有截交圆位于最小外切圆之内,且与其中3个截交圆内切,3个截交圆对应的切点构成锐角三角形;
如果接触点的数量大于3,跳转到步骤4。
步骤4:判断误差包容区域的接触点集合中接触点的数量是否等于3;
如果接触点的数量不等于3,跳转到步骤6;
如果接触点的数量等于3,设3个接触点为、、,则对3个接触点进行的坐标转换,使圆锥轴线的方向矢量与z轴正向平行同向,对3个接触点按其z轴坐标进行由小到大的排序,使3个接触点的z轴坐标递增,3个接触点依次记为、、,则包容区域旋转的方向矢量等于;确定包容区域旋转变动量的初始值。
步骤5:将包容区域绕旋转角度后,得到圆锥轴线方向矢量,分别以、为锥顶,且以为轴线方向矢量,以为半锥角作2个包容区域的辅助圆锥;然后过点作垂直于的截平面,在截平面内,计算过点且与2个截面圆相外切的圆,其圆心记为,其半径设为,该圆心为圆锥轴线上一点,然后根据和,可以计算出变动后圆锥的锥顶坐标;然后按照步骤2的方式,依次计算所有非接触测点到圆锥面的距离;
如果 0,说明包容区域变动量过大,将赋值给;如果0,表示变动量过小,将赋值给;
判断是否小于误差允许值;如果小于误差允许值,表示搜索到下一个接触点,将赋值给,将赋值给,跳转到步骤2;如果大于等于误差允许值,重复执行步骤5。
步骤6:判断误差包容区域的接触点集合中接触点的数量是否等于4;
如果接触点的数量不等于4,跳转到步骤8;
如果接触点的数量等于4,给出包容区域沿变动的变动量的初始值。
步骤7:计算包容区域的锥顶沿平移后的坐标值;设接触点坐标为,则每个接触点均满足下式;
以锥顶的z坐标、为已知量,这样就建立了四元非线性方程组,可以计算、、、;然后按照步骤2的方式,依次计算所有非接触测点到圆锥面的距离;如果>0,说明包容区域变动量过大,将赋值给;如果0,表示变动量过小,将赋值给;
判断是否小于误差允许值;如果小于误差允许值,则表示搜索到下一个接触点,跳转到步骤2;如果大于等于误差允许值,则重复步骤7。
步骤8:判断误差包容区域的接触点集合中接触点的数量是否大于等于5;
如果接触点的数量小于5,跳转到步骤2;
如果接触点的数量大于等于5,以接触点集合中4个为1个组合,以其中1个组合中4个接触点为计算对象,根据与步骤6、7中方法计算包容区域沿变动的变动量;
如果小于设定的误差允许值,判断是否满足判别准则,如果满足则跳转到步骤9,否则换1个组合,重新计算,重新判断是否满足判别准则,依次迭代下去;如果大于设定的误差允许值,跳转到步骤2。
步骤9:给出给定锥角的最小外接圆锥的锥顶坐标、轴线方向矢量以及圆锥度。