利索能及
我要发布
收藏
专利号: 2023105297511
申请人: 燕山大学
专利类型:发明专利
专利状态:已下证
更新日期:2026-06-16
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种用于不规则钣金件无干涉排样的扫描线填充方法,其特征在于,其包括下列步骤:

步骤1:输入不规则钣金件轮廓的顶点信息和扫描精度y_step;所述不规则钣金件轮廓由逆时针依次连接的顶点构成;顶点信息包括顶点的x坐标、y坐标和凹凸性特征,若所述顶点为凸点,则其凹凸性特征为1,否则为0;所述扫描精度y_step指两个相邻扫描高度之间的间隔;

步骤2:生成不规则钣金件轮廓的基本扫描线;从起始扫描高度开始,以扫描精度y_step为步长,向各扫描高度作两端无限延伸的水平线,所作水平线穿入不规则钣金件轮廓的内部后穿出,各扫描高度上的水平线均包括位于不规则钣金件轮廓内部的内侧水平线段和位于不规则钣金件轮廓外部的外侧水平线段,各扫描高度的所有内侧水平线段共同组成不规则钣金件轮廓的基本扫描线;

步骤3:填补不规则钣金件轮廓的基本扫描线中存在的扫描线间隙;具体包括以下子步骤:S31、寻找不规则钣金件轮廓中所有可能存在扫描线间隙的扫描高度,S32、通过计算间隙判别式,判断所有可能存在扫描线间隙的扫描高度中是否存在扫描线间隙;S33、若存在扫描线间隙,确定扫描线间隙的填补方向和填补长度,完成扫描线间隙的填补;

步骤4:向不规则钣金件轮廓的基本扫描线中添加必要的扫描线;其具体包括以下子步骤:S41、找出不规则钣金件轮廓中所有需要添加必要扫描线的位置,S42、确定出每个待添加必要扫描线的添加信息;

步骤5:对不规则钣金件轮廓的基本扫描线中的部分扫描线进行延伸;其具体包括以下子步骤:S51、找出所有需要进行延伸的扫描线的位置,S52、确定出每个待延伸扫描线的延伸方向和延伸长度;

步骤6:输出不规则钣金件轮廓的完整扫描线。

2.根据权利要求1所述的用于不规则钣金件无干涉排样的扫描线填充方法,其特征在于,所述步骤2中,得到第i个扫描高度上的所有位于不规则钣金件轮廓内部的内侧水平线段的过程具体包括:步骤21:对于第i个水平线所在的扫描高度 遍历不规则钣金件轮廓的每条边;若某条边j是水平边,则跳过该边,直接进行(j+1)边的判断,否则判断 是否在边j向y轴投影的范围内;若 在边j向y轴投影的范围内,则将 代入边j的直线方程计算出 对应的表示边j直线上y坐标为高度 的点的横坐标,否则进行(j+1)边的判断;

步骤22:计算出 后,判断点 是否是不规则钣金件轮廓的某个顶点;当点非不规则钣金件轮廓顶点时,若 中已经存在点 则进行(j+1)边的判断,否则向 中存入一个 而后进行(j+1)边的判断;

步骤23:当点 为不规则钣金件轮廓顶点时,判断该顶点的凹凸性:若该顶点是凹点,则判断 中是否已经存在点 若 中已经存在点 则进行(j+1)边的判断,否则向 中存入两个 而后进行(j+1)边的判断;若该顶点是凸点,则判断构成该顶点的两条边是否在y方向上反向;若反向,则直接进行(j+1)边的判断,否则判断中是否已经存在点 若已经存在该点,则进行(j+1)边的判断,否则向 中存入一个 而后进行(j+1)边的判断;遍历不规则钣金件轮廓的每条边后,将存入中的所有点依据其x坐标值的大小升序排列,而后依序不重复地将 中每两个点构成一个组合元素,每个组合元素表示一个扫描线片段,组合元素中的第一个点表示扫描线段的起点,第二个点表示扫描线段的终点。

3.根据权利要求1所述的用于不规则钣金件无干涉排样的扫描线填充方法,其特征在于,所述步骤S31具体包括以下子步骤:步骤311:遍历不规则钣金件轮廓的每个顶点,对于顶点i,判断该顶点i的凹凸性;若顶点i是凹点,则直接进行顶点i+1的凹凸性判断;若顶点i是凸点,则进一步判断构成该顶点的两条边是否在x方向和y方向上均反向;若构成顶点i的两条边在x方向和y方向上均反向,则标记顶点i为可能存在扫描线间隙的顶点,否则直接进行顶点(i+1)的凹凸性判断;

步骤312:遍历不规则钣金件轮廓的每个顶点后,得到该不规则钣金件轮廓中所有可能存在扫描线间隙的顶点;遍历每个可能存在扫描线间隙的顶点,对于可能存在扫描线间隙的顶点j,若在构成顶点j的两条边向y轴投影的范围内不存在扫描高度,则直接进行顶点(j+1)的判断,否则记录下顶点j和在构成顶点j的两条边向y轴投影的范围内的所有扫描高度,而后进行顶点(j+1)的判断;遍历每个可能存在扫描线间隙的顶点后,得到该不规则钣金件轮廓中所有可能存在扫描线间隙的扫描高度和其对应的顶点。

4.根据权利要求1所述的用于不规则钣金件无干涉排样的扫描线填充方法,其特征在于,所述步骤S32中,间隙判别式如公式(1)~(4)所示:公式(1)~(4)中,h为待判断扫描高度的y坐标值;k0和k1分别为构成待判断扫描高度对应的顶点的第一条边和第二条边的斜率;b为待判断扫描高度对应的顶点的y坐标值;y_step为扫描精度。

5.根据权利要求4所述的用于不规则钣金件无干涉排样的扫描线填充方法,其特征在于,所述步骤S32中:

若构成待判断扫描高度对应的顶点的第一条边的x方向分量指向x坐标轴负方向,y方向分量指向y坐标轴正方向,则利用公式(1)进行间隙判别;

若构成待判断扫描高度对应的顶点的第一条边的x方向分量指向x坐标轴正方向,y方向分量指向y坐标轴正方向,则利用公式(2)进行间隙判别;

若构成待判断扫描高度对应的顶点的第一条边的x方向分量指向x坐标轴负方向,y方向分量指向y坐标轴负方向,则利用公式(3)进行间隙判别;

若构成待判断扫描高度对应的顶点的第一条边的x方向分量指向x坐标轴正方向,y方向分量指向y坐标轴负方向,则利用公式(4)进行间隙判别;当h满足对应的不等式时,表明待判断扫描高度不存在扫描线间隙,否则表明待判断扫描高度存在扫描线间隙。

6.根据权利要求1所述的用于不规则钣金件无干涉排样的扫描线填充方法,其特征在于,所述步骤S33具体包括:

步骤331:对于存在扫描线间隙的扫描高度h和其对应的顶点i,将构成顶点i的第一条边记作边0,构成顶点i的第二条边记作边1;若边0的x方向分量指向x负方向且其y方向分量指向y正方向,标记为情形(a);若边0的x方向分量指向x正方向且其y方向分量指向y正方向,标记为情形(b);若边0的x方向分量指向x负方向且其y方向分量指向y负方向,标记为情形(c);若边0的x方向分量指向x正方向且其y方向分量指向y负方向,标记为情形(d);

步骤332:对于情形(a),扫描线间隙的填补方向为x正方向,填补后的扫描线的起点不变,终点x坐标如公式(5)所示;对于情形(b),扫描线间隙的填补方向为x负方向,填补后的扫描线的终点不变,起点x坐标如公式(6)所示;对于情形(c),扫描线间隙的填补方向为x正方向,填补后的扫描线的起点不变,终点x坐标如公式(7)所示;对于情形(d),扫描线间隙的填补方向为x负方向,填补后的扫描线的终点不变,起点x坐标如公式(8)所示;

公式(5)~(8)中,h为存在扫描线间隙的扫描高度,a为顶点i的x坐标,b为顶点i的y坐标,k0和k1分别为边0和边1的斜率,xs为填补前的扫描线的起点x坐标,xs’为填补后的扫描线的起点x坐标,xe为填补前的扫描线的终点x坐标,xe’为填补后的扫描线的终点x坐标,y_step为扫描精度,ε为大于0且远小于1的小量。

7.根据权利要求1所述的用于不规则钣金件无干涉排样的扫描线填充方法,其特征在于,所述步骤41具体为:

遍历不规则钣金件轮廓的每个顶点,对于顶点i,将构成顶点i的第一条边记作边0,构成顶点i的第二条边记作边1;若顶点i为凹点,直接进行顶点(i+1)的判断,否则进一步判断顶点i是否位于某个扫描线上;若顶点i位于某个扫描线上,则直接进行顶点(i+1)的判断,否则进一步判断边0和边1是否在y方向上反向;若边0和边1在y方向上反向,则标记该顶点为需要添加扫描线的顶点,而后进行顶点(i+1)的判断,否则进一步判断边0和边1中是否含有水平边;若边0和边1中含有水平边,则标记该顶点为需要添加扫描线的顶点,而后进行顶点(i+1)的判断,否则直接进行顶点(i+1)的判断;遍历不规则钣金件轮廓的每个顶点后,得到不规则钣金件轮廓中所有需要添加扫描线的顶点。

8.根据权利要求1所述的用于不规则钣金件无干涉排样的扫描线填充方法,其特征在于,所述步骤42具体为:

步骤421:遍历每个需要添加扫描线的顶点,对于顶点j,将构成顶点j的第一条边记作边2,构成顶点j的第二条边记作边3;

步骤422:判断边2和边3中是否包含水平边;当边2和边3中包含水平边时,若边2和边3中的非水平边的中点的y坐标小于水平边的中点的y坐标,则待添加扫描线的添加高度为所有大于顶点j的y坐标的扫描高度中最小的扫描高度,待添加扫描线的起点的x坐标和终点的x坐标如公式(9)和公式(10)所示;

步骤423:若边2和边3中的非水平边的中点的y坐标大于水平边的中点的y坐标,待添加扫描线的添加高度为所有小于顶点j的y坐标的扫描高度中最大的扫描高度,待添加扫描线的起点的x坐标和终点的x坐标如公式(9)和公式(10)所示;

步骤424:当边2和边3中不包含水平边时,若边2的y方向分量指向y坐标轴的正方向,且边2的起点的x坐标与边3的终点的x坐标都小于顶点j的x坐标,则待添加扫描线的添加高度为所有大于顶点j的y坐标的扫描高度中最小的扫描高度,待添加扫描线的起点的x坐标如公式(11)所示,待添加扫描线的终点的x坐标等于顶点j的x坐标;若边2的y方向分量指向y坐标轴的负方向,且边2的起点的x坐标与边1的终点的x坐标都小于顶点j的x坐标,待添加扫描线的添加高度为所有小于顶点j的y坐标的扫描高度中最大的扫描高度,待添加扫描线的起点的x坐标如公式(12)所示,待添加扫描线的终点的x坐标等于顶点j的x坐标;

步骤425:若边2的y方向分量指向y坐标轴的正方向,且边2的起点的x坐标与边3的终点的x坐标都大于顶点j的x坐标,则待添加扫描线的添加高度为所有大于顶点j的y坐标的扫描高度中最小的扫描高度,待添加扫描线的起点的x坐标等于顶点j的x坐标,待添加扫描线的终点的x坐标如公式(13)所示;

步骤426:若边2的y方向分量指向y坐标轴的负方向,且边2的起点的x坐标与边3的终点的x坐标都大于顶点j的x坐标,则待添加扫描线的添加高度为所有小于顶点j的y坐标的扫描高度中最大的扫描高度,待添加扫描线的起点的x坐标等于顶点j的x坐标,待添加扫描线的终点的x坐标如公式(14)所示;

步骤427:若边2的y方向分量指向y坐标轴的正方向,且边2的起点的x坐标减去顶点j的x坐标与边3的终点的x坐标减去顶点j的x坐标相异号,则待添加扫描线的添加高度为所有大于顶点j的y坐标的扫描高度中最小的扫描高度,待添加扫描线的起点的x坐标如公式(15)所示,待添加扫描线的终点的x坐标如公式(16)所示;若边2的y方向分量指向y坐标轴的负方向,且边2的起点的x坐标减去顶点j的x坐标与边3的终点的x坐标减去顶点j的x坐标相异号,则待添加扫描线的添加高度为所有小于顶点j的y坐标的扫描高度中最大的扫描高度,待添加扫描线的起点的x坐标如公式(15)所示,待添加扫描线的终点的x坐标如公式(16)所示;

步骤428:当边2为垂直边且其y方向分量指向y坐标轴的正方向时,待添加扫描线的起点的x坐标如公式(17)所示,待添加扫描线的终点的x坐标等于顶点j的x坐标;当边2为垂直边且其y方向分量指向y坐标轴的负方向时,待添加扫描线的起点的x坐标等于顶点j的x坐标,待添加扫描线的终点的x坐标如公式(18)所示;

步骤429:当边3为垂直边且其y方向分量指向y坐标轴的正方向时,待添加扫描线的起点的x坐标如公式(19)所示,待添加扫描线的终点的x坐标等于顶点j的x坐标;当边3为垂直边且其y方向分量指向y坐标轴的负方向时,待添加扫描线的起点的x坐标等于顶点j的x坐标,待添加扫描线的终点的x坐标如公式(20)所示;

xs=a‑ε(15)

xe=a+ε(16)

公式(9)~(20)中,xs为待添加扫描线的起点的x坐标,xe为待添加扫描线的终点的x坐标, 为边2和边3中的水平边的起点的x坐标, 为边2和边3中的水平边的终点的x坐标,a为顶点j的x坐标值,b为顶点j的y坐标值,k0和k1分别为边0和边1的斜率,h为待添加扫描线所在的扫描高度,y_step为扫描精度,ε为大于0且远小于1的小量。

9.根据权利要求1所述的用于不规则钣金件无干涉排样的扫描线填充方法,其特征在于,所述步骤51具体包括以下子步骤:步骤511:遍历不规则钣金件轮廓的每个顶点,对于顶点i,将构成顶点i的第一条边记作边0,构成顶点i的第二条边记作边1;

步骤512:判断顶点i的凹凸性,若顶点i为凹点,则直接进行顶点(i+1)的判断,否则进一步判断顶点i是否在某个扫描线上;

步骤513:若顶点i在某个扫描线上,则直接进行顶点(i+1)的判断,否则判断边0和边1是否一条为水平边且另一条为垂直边;

步骤514:若边0和边1一条为水平边且另一条为垂直边,则直接进行顶点(i+1)的判断,否则判断边0和边1中是否含有水平边;

步骤515:若边0和边1中含有水平边,进一步判断边0和边1是否在x方向上同向;若边0和边1在x方向上同向,则直接进行顶点(i+1)的判断,否则标记顶点i为存在需要进行延伸的扫描线的顶点,而后进行顶点(i+1)的判断;若边0和边1中不含有水平边,进一步判断边0和边1中是否含有垂直边;若边0和边1中含有垂直边,进一步判断边0和边1是否在y方向上同向;

步骤516:若边0和边1在y方向上同向,则标记顶点i为存在需要进行延伸的扫描线的顶点,而后进行顶点(i+1)的判断;若边0和边1在y方向上反向,则直接进行顶点(i+1)的判断;

若边0和边1中不含有垂直边,进一步判断边0和边1是否在x方向上反向且在y方向上同向;

步骤517:若边0和边1在x方向上反向且在y方向上同向,标记顶点i为存在需要进行延伸的扫描线的顶点,而后进行顶点(i+1)的判断,否则进一步判断边0和边1是否在x方向上同向且在y方向上同向;若边0和边1在x方向上同向且在y方向上同向,标记顶点i为存在需要进行延伸的扫描线的顶点,而后进行顶点(i+1)的判断,否则进一步判断边0和边1是否在x方向上反向且在y方向上反向;

步骤518:若边0和边1在x方向上反向且在y方向上反向,标记顶点i为存在需要进行延伸的扫描线的顶点,而后进行顶点(i+1)的判断,否则直接进行顶点(i+1)的判断;遍历不规则钣金件轮廓的每个顶点后,便得到不规则钣金件轮廓中所有存在需要进行延伸的扫描线的顶点。

10.根据权利要求1所述的用于不规则钣金件无干涉排样的扫描线填充方法,其特征在于,所述步骤5中,确定出每个待延伸扫描线的延伸方向和延伸长度的具体过程52进一步具体包括:步骤521:遍历每个存在需要进行延伸的扫描线的顶点,对于顶点j,将构成顶点j的第一条边记作边2,构成顶点j的第二条边记作边3;

步骤522:判断边2和边3中是否含有水平边;若边2和边3中含有水平边,进一步判断边2和边3中哪条为水平边;若边2为水平边且其x方向分量指向x负方向,则该顶点对应的需要延伸的扫描线的延伸方向为x负方向,延伸后的扫描线的起点的x坐标等于顶点j的x坐标;

若边2为水平边且其x方向分量指向x正方向,则该顶点对应的需要延伸的扫描线的延伸方向为x正方向,延伸后的扫描线的终点的x坐标等于顶点j的x坐标;若边3为水平边且其x方向分量指向x负方向,则该顶点对应的需要延伸的扫描线的延伸方向为x正方向,延伸后的扫描线的终点的x坐标等于顶点j的x坐标;若边3为水平边且其x方向分量指向x正方向,则该顶点对应的需要延伸的扫描线的延伸方向为x负方向,延伸后的扫描线的起点的x坐标等于顶点j的x坐标;

步骤523:若边2和边3中不含有水平边,判断边2和边3中是否含有垂直边;若边2为垂直边且其y方向分量指向y正方向,则该顶点对应的需要延伸的扫描线的延伸方向为x正方向,延伸后的扫描线的终点的x坐标等于顶点j的x坐标;

步骤524:若边2为垂直边且其y方向分量指向y负方向,则该顶点对应的需要延伸的扫描线的延伸方向为x负方向,延伸后的扫描线的起点的x坐标等于顶点j的x坐标;若边3为垂直边且其y方向分量指向y正方向,则该顶点对应的需要延伸的扫描线的延伸方向为x正方向,延伸后的扫描线的终点的x坐标等于顶点j的x坐标;若边3为垂直边且其y方向分量指向y负方向,则该顶点对应的需要延伸的扫描线的延伸方向为x负方向,延伸后的扫描线的起点的x坐标等于顶点j的x坐标;

步骤525:若边2和边3中不含有垂直边,进一步判断边2和边3在x方向和y方向上是否反向;若边2和边3在x方向上反向在y方向上同向,且边2的x方向分量指向x负方向,则该顶点对应的需要延伸的扫描线的延伸方向为x负方向,延伸后的扫描线的起点的x坐标等于顶点j的x坐标;若边2和边3在x方向上反向在y方向上同向,且边2的x方向分量指向x正方向,则该顶点对应的需要延伸的扫描线的延伸方向为x正方向,延伸后的扫描线的终点的x坐标等于顶点j的x坐标;

步骤526:若边2和边3满足以下任一状态条件,执行状态条件后的相应操作:

状态1:边2和边3在x方向上同向在y方向上同向,且边2的x方向分量指向x方向负方向,边2的y方向分量指向y方向负方向,则该顶点对应的需要延伸的扫描线的延伸方向为x负方向,延伸后的扫描线的起点的x坐标等于顶点j的x坐标;

状态2:边2和边3在x方向上同向在y方向上同向,且边2的x方向分量指向x方向正方向,边2的y方向分量指向y方向负方向,则该顶点对应的需要延伸的扫描线的延伸方向为x负方向,延伸后的扫描线的起点的x坐标等于顶点j的x坐标;

状态3:若边2和边3在x方向上同向在y方向上同向,且边2的x方向分量指向x正方向,边

2的y方向分量指向y方向正方向,则该顶点对应的需要延伸的扫描线的延伸方向为x正方向,延伸后的扫描线的终点的x坐标等于顶点j的x坐标;

状态4:若边2和边3在x方向上同向在y方向上同向,且边2的x方向分量指向x负方向,边

2的y方向分量指向y正方向,则该顶点对应的需要延伸的扫描线的延伸方向为x正方向,延伸后的扫描线的终点的x坐标等于顶点j的x坐标;

状态5:若边2和边3在x方向上反向在y方向上反向,且边2的x方向分量指向x负方向,边

2的y方向分量指向y正方向,则该顶点对应的需要延伸的扫描线的延伸方向为x负方向,延伸后的扫描线的起点的x坐标等于顶点j的x坐标;

状态6:若边2和边3在x方向上反向在y方向上反向,且边2的x方向分量指向x负方向,边

2的y方向分量指向y负方向,则该顶点对应的需要延伸的扫描线的延伸方向为x负方向,延伸后的扫描线的起点的x坐标等于顶点j的x坐标;

状态7:若边2和边3在x方向上反向在y方向上反向,且边2的x方向分量指向x正方向,边

2的y方向分量指向y负方向,则该顶点对应的需要延伸的扫描线的延伸方向为x正方向,延伸后的扫描线的终点的x坐标等于顶点j的x坐标;

状态8:若边2和边3在x方向上反向在y方向上反向,且边2的x方向分量指向x正方向,边

3的y方向分量指向y正方向,则该顶点对应的需要延伸的扫描线的延伸方向为x正方向,延伸后的扫描线的终点的x坐标等于顶点j的x坐标。