发布信息

一种应用于海绵切割文件的拟合方法与流程

作者:admin      2022-07-30 14:19:16     488



计算;推算;计数设备的制造及其应用技术1.本发明涉及海绵切割领域,特别涉及一种应用于海绵切割文件的拟合方法。背景技术:2.在使用海绵切割机对海绵进行切割时,首先需要根据待切割的形状,利用图形绘制软件绘制切割图形,生成切割文件,然后将切割文件导入海绵切割机数控软件中加工。海绵切割机功能之一为加工由自动排版方式生成的切割文件,此类切割文件在图形扫描排版时转换方式单一,会导致切割文件中切割图案扫描后变为由多段线组成,具体为:如图1所示的一种切割方法,其切割图形中的直线或弧形在被放大后是由若干段小直线构成的,而相邻的小直线之间都是存在着一定的拐角的,而海绵切割机在进行切割时是直接沿着这些小直线来切割的,这样就会导致在切割时海绵切割机需要不停的扭刀,而每次的扭刀都会有停顿,导致实际切割时速度较慢且由于数控切割加减速的存在,切割流畅度不高,切割此类图形时耗时较长。3.针对上述现象,就需要在切割前先对小直线进行拟合,而在专利cn105528474a中提到了一种飞机样板激光切割编程图形的碎线拟合圆弧方法,实现该方法的程序基于objecarx(vc)开发。方法为先分解选定的cad二维图形中的所有元素,提取分解所得元素的特征点。然后对这些点进行最小二乘拟合,得到拟合的圆心、半径结果。之后根据最初选择的碎线在该圆上截得一个能拟合这些碎线的劣弧,计算拟合公差,如果公差在允许范围内则拟合成功。4.上述专利中拟合方法,其是将弧形状排布的碎线拟合成一条弧线,使得整个弧线不是由多段直线或圆弧迎接而成,但是对于直线与圆弧相切的情况,切点位置是不变的,即其只是将多段线变为一条弧线,而在海绵切割中并不仅仅是一条弧线,是由若干的直线与弧形组成的,而且在切割时考虑到切割误差的因素,为了减少海绵切割机的停顿,不仅仅存在着将多个直线变为弧线的现象,也有将弧线变为直线的情况,因此上述的拟合方法并不能很好的将海绵切割图形进行整体的拟合。5.在专利cn109623166b中也提到了一种激光切割的拐角处理方法及系统。所述拐角处理方法包括步骤:读取拐角轨迹数据;采用b样条曲线对所述拐角轨迹数据进行拟合,得到拟合轨迹数据;确定拐角衔接速度;将所述拟合轨迹数据和拐角衔接速度写入插补器中进行插补。6.上述专利中拟合方法实现的也仅仅是将呈拐角分布的两条直线拟合成一条弧线,同样的也不能解决海绵切割图形整体拟合的问题。技术实现要素:7.本发明要解决的技术问题是提供一种应用于海绵切割文件的拟合方法,能够对整体切割图形进行拟合,最大限度的减少海绵切割机的扭刀和停顿,提高海绵切割效率。8.为解决上述技术问题,本发明的技术方案为:一种应用于海绵切割文件的拟合方法,其创新点在于:包括下述步骤:9.首先,对切割文件进行预处理,运用海伦公式,得出使得三角形面积最小时的各点坐标,然后,给定直线拟合时误差范围,判断由各点所连成的多段线能否进行直线拟合,若满足条件,拟合满足条件的各个多段线,再采用圆弧拟合直线的方法,求出误差列表,然后求出误差精度列表,给定圆弧拟合时误差范围,判断能否进行圆弧拟合直线,若满足条件,将拟合后的多段直线拟合为圆弧,完成对海绵切割图形的整体拟合。10.进一步的,所述步骤具体如下:11.s1数据预处理:读取切割文件中的数据,转换数据类型,去除切割文件中的空格,将切割文件改写为具有固定格式特征的数据列表,定义改写后的数据列表为第一列表;12.s2封闭图形拆分:同一块海绵上需要切割的图案有若干个,基于单个海绵切割图案必为一封闭图形的原理,封闭图形的起始点与终止点坐标相同,在第一列表内会存在多组相同点坐标,根据图形特征及切割规律,以同一组的两个相同坐标点为分隔特征,将第一列表拆分成数个子列表,定义该子列表为第二列表,每个第二列表的首点、尾点分别为同一组相同坐标点的两点,每个第二列表中均存在多段线;13.s3直线拟合:对任一第二列表进行直线拟合,将第二列表中的点集从起始点依次开始连接至终止点,形成多段线,定义该处的多段线为总多段线,求出一条长直线段替代近乎相同方向上的多个线段,减少切割文件长度,首先,将问题抽象为是否存在一条拟合直线,使得构成总多段线中尽可能多的点至该拟合直线的垂直距离均在允许误差范围内,定义满足上述条件的点所连接形成的多段线为分多段线,若该拟合直线存在,则使用该拟合直线替代原先的分多段线,构成该分多段线的点分布于拟合直线附近,抽象为求解离散点的线性回归方程,选取首行相邻两线段,连接线段起始点与下一线段终止点,若存在拟合直线,则两线段交点与线段首尾端点组成的直线段距离尽可能小,该问题转化为求解三角形面积最小问题,第二列表经过直线拟合后去除拟合的点集并形成新的列表,并定义新列表为第三列表;14.s4圆弧拟合:判断各个第三列表是否需要圆弧拟合,若需要圆弧拟合,则求出圆弧相关数据,圆弧拟合初步条件为:第三列表中相邻3点组成2个由线段起始点指向线段终止点的向量,判断两向量间夹角,若夹角大于90度,则无法拟合,若夹角小于90度,则初步满足圆弧拟合条件,然后找出能尽可能多地多条小线段的进行圆弧拟合,第三列表经过圆弧拟合后去除拟合的点集并形成新的列表,并定义新列表为第四列表;15.s5完成拟合:将所有的第四列表以及不需要圆弧拟合的第三列表进行整理形成一个新的列表,定义新的列表为优化切割列表,该优化切割列表即为海绵切割图形的拟合优化列表,将优化切割列表导入海绵切割机进行切割。16.进一步的,所述步骤s3中,直线拟合的步骤具体如下:17.1)遍历步骤s2中任意的第二列表,判断是否满足直线拟合条件,直线拟合的初步条件为:第二列表中相邻3点组成2个由线段起始点指向线段终止点的向量,判断两向量间夹角,若夹角大于90度,则无法拟合,若夹角小于90度,则初步满足直线拟合条件,遍历结束后得出第二列表中可进行直线拟合的数据点集;18.2)根据步骤s3所述,设构成三角形的三个点为别为a点、b点、c点,a点坐标为(xa,ya),b点坐标为(xb,yb),c点坐标为(xc,yc),求出线段ab长度c,线段ac长度b,线段bc长度a,三角形abc的半周长p为使用海伦公式,列出三角形面积公式以ab线段为底边,求解出该底边上高的表达式19.3)遍历第二列表中的数据点集,首先确定以a为顶点的三角形可进行拟合的线段,方法如下:将第二列表中前三点坐标依次作为acb点坐标,代入高的表达式,求出高的值,若高的数值大于设定误差值,则说明此三点不可以进行直接拟合,代入第二列表中下一连续三点坐标继续寻找直至第二列表遍历结束,若通过相邻三点连接形成的三角形都不满足要求,则该第二列表无需直线拟合;若高的数值小于误差值,则连续三点中的首个点作为顶点a,并且判定该三点可拟合为直线,并继续代入下一点坐标,继续判断下一相邻线段能否与当前线段做拟合;20.4)定义下一点坐标即为当前点,然后将第二列表中a点至当前点之间的各点代入三角形高的公式,求出各高数值,若计算出的各高的数值均小于误差值,继续判断下一直线段能否直线拟合,若存在某一高的数值大于或等于误差值,则当前相邻直线段不做直线拟合,将当前点之前所有线段拟合为直线,该第二列表的拟合直线由a点与当前点前一点确定,将拟合后的直线数据与原数据截取、拼接,组成新切割文件中数据,定义新切割文件为第三列表;21.5)按照步骤1)、2)、3)、4)的方法依次判断步骤s2中的各个第二列表是否需要直线拟合,并得出参与直线拟合后的第三列表。22.进一步的,所述步骤s4中,圆弧拟合的步骤具体如下:23.a)遍历经过步骤s3直线拟合的第三列表,剔除拟合后只剩一条直线的无效的第三列表,这些第三列表不做圆弧拟合;24.b)遍历步骤s3中剔除无效列表后的第三列表,判断是否满足圆弧拟合条件,圆弧拟合的初步条件为:第三列表中相邻3点组成2个由线段起始点指向线段终止点的向量,判断两向量间夹角,若夹角大于90度,则无法拟合,若夹角小于90度,则初步满足圆弧拟合条件,遍历结束后得出第三列表中可进行圆弧拟合的数据点集;25.c)从第三列表的首行点坐标开始,依次选取相邻三点所连成的两个相邻线段,设顶点分别为点a、点b、点c,坐标分别为(xa,ya)、(xb,yb)、(xc,yc),计算线段ac、线段cb各自中点坐标点d、点e,坐标分别为(xd,yd),(xe,ye),计算由点a和点b确定的线段ab的垂直平分线方程y=k1x+b1,若存在拟合圆弧,设置圆弧上某一点坐标(x,y),设以线段ab为弦的圆弧方程为(x-a)2+(y-b)2=r2,圆心o坐标为(a,b),半径为r,根据ab垂直平分线方程y=k1x+b1,首先选取点d坐标为某一点坐标代入圆弧方程,求出圆心o坐标,确定圆弧adb方程;26.d)设置误差列表,根据步骤c)的计算方式,将计算后得到的圆心与各点间距离值存放在误差列表内,再分别计算圆心o与点d、点e间距离od、oe,分别设为r1、r2,将此距离放至误差列表中,求出误差列表中最大值与最小值,即r、r1、r2中最大值与最小值,将最大值与最小值的差值作为误差精度,求出误差精度列表;27.e)根据误差精度列表对圆弧误差进行判断,若误差精度列表中的首个误差精度值超过允许误差,则重新选取下一相邻小线段,并再重新确定圆弧adb方程,继续判断误差精度;若首个误差精度存在误差精度值不超过允许误差,则说明首个相邻的两个线段可以拟合为圆弧,并进行继续拟合,继续选择点b下一点g,求出bg中点坐标(xg,yg),根据adg三点坐标确定圆弧方程,求出圆弧半径r3、圆心o1坐标(a1,b1),求出ag之间的其余点:点c、点e、点b、点f与圆心的距离r1、r2、r3、r4,将这些距离组成新的误差列表,求出误差列表中最大值与最小值,再求出新的误差精度列表,若新的误差精度列表中各误差精度值不超过0.3毫米,则选取下一点坐标,重复本步骤中方法,继续拟合;若误差精度列表中所出现的精度误差值都超过允许误差,则当前线段不能参与之前圆弧拟合,选取此时误差精度列表中最小误差精度对应圆弧,将当前线段前所有线段拟合成圆弧,保存计算出的上一圆弧相关数据;28.f)选取下一相邻两行小线段,采用步骤b)、c)、d)、e)中方法继续执行,直至此第三列表结束,将拟合后的圆弧数据与原数据截取、拼接,组成新切割文件中数据,此新切割文件即为第四列表。29.进一步的,所述步骤s2中,在将第一列表拆分为数个第二列表的过程中,在相邻的两组相同坐标点之间还存在着数个中间坐标点,这些中间坐标点所连成的线为相邻的两个切割图案之间的过渡切割线,对于过渡切割线不做拟合处理。30.本发明的优点在于:本发明的拟合切割方法,通对海绵切割机扫描并导出的排版加工文件进行拟合优化,在保证获得相同以及更高切割效果的前提下,预处理切割文件数据,先将小线段拟合为长直线,再将将多段直线拟合为圆弧,尽可能的减少切割文件的长度,减少切割过程中的数控切割机加减速过程,提高海绵切割过程速度及流畅度。附图说明31.下面结合附图和具体实施方式对本发明作进一步详细的说明。32.图1为海绵切割图形的示意图。33.图2为本发明中直线拟合的示意图。34.图3为本发明中直线拟合的流程图。35.图4为本发明中圆弧拟合的示意图。36.图5为本发明中圆弧继续拟合的示意图。37.图6为本发明中圆弧拟合的流程图。38.图7为本发明中直线拟合前的示意图。39.图8为本发明中直线拟合后的示意图。40.图9为本发明中圆弧拟合前的示意图。41.图10为本发明中圆弧拟合后的示意图。42.图11为直线拟合波动点的示意图。43.图12为切割图形的示意图。具体实施方式44.下面的实施例可以使本专业的技术人员更全面地理解本发明,但并不因此将本发明限制在所述的实施例范围之中。45.本发明的应用于海绵切割文件的拟合方法,通过下述步骤得以具体实现:46.s1数据预处理:读取切割文件中的数据,转换数据类型,将字符串类型转换为浮点型,去除切割文件中的空格,将切割文件改写为具有固定格式特征的数据列表,定义改写后的数据列表为第一列表。47.s2封闭图形拆分:同一块海绵上需要切割的图案有若干个,基于单个海绵切割图案必为一封闭图形的原理,封闭图形的起始点与终止点坐标相同,在第一列表内会存在多组相同点坐标,根据图形特征及切割规律,以同一组的两个相同坐标点为分隔特征,将第一列表拆分成数个子列表,定义该子列表为第二列表,每个第二列表的首点、尾点分别为同一组相同坐标点的两点,每个第二列表中均存在多段线。48.在将第一列表拆分为数个第二列表的过程中,在相邻的两组相同坐标点之间还存在着数个中间坐标点,这些中间坐标点所连成的线为相邻的两个切割图案之间的过渡切割线,如图1所示,由于同一块海绵垫上的切割图形比较多,相邻图形之间比较的紧凑,相对应的这些过渡切割线为比较短的直线,因此本发明中对于这部分过渡切割线不做拟合处理。49.s3直线拟合:对任一第二列表进行直线拟合,将第二列表中的点集从起始点依次开始连接至终止点,形成多段线,定义该处的多段线为总多段线,求出一条长直线段替代近乎相同方向上的多个线段,减少切割文件长度,首先,将问题抽象为是否存在一条拟合直线,使得构成总多段线中尽可能多的点至该拟合直线的垂直距离均在允许误差范围内,定义满足上述条件的点所连接形成的多段线为分多段线,若该拟合直线存在,则使用该拟合直线替代原先的分多段线,构成该分多段线的点分布于拟合直线附近,抽象为求解离散点的线性回归方程,选取首行相邻两线段,连接线段起始点与下一线段终止点,若存在拟合直线,则两线段交点与线段首尾端点组成的直线段距离尽可能小,该问题转化为求解三角形面积最小问题,第二列表经过直线拟合后去除拟合的点集并形成新的列表,并定义新列表为第三列表。50.如图2、图3所示,上述直线拟合的步骤具体过程如下:51.1)遍历步骤s2中任意的第二列表,判断是否满足直线拟合条件,直线拟合的初步条件为:第二列表中相邻3点组成2个由线段起始点指向线段终止点的向量,判断两向量间夹角,若夹角大于90度,则无法拟合,若夹角小于90度,则初步满足直线拟合条件,遍历结束后得出第二列表中可进行直线拟合的数据点集。52.2)根据步骤s3所述,设构成三角形的三个点为别为a点、b点、c点,a点坐标为(xa,ya),b点坐标为(xb,yb),c点坐标为(xc,yc),求出线段ab长度c,线段ac长度b,线段bc长度a,三角形abc的半周长p为使用海伦公式,列出三角形面积公式以ab线段为底边,求解出该底边上高的表达式53.3)遍历第二列表中的数据点集,首先确定以a为顶点的三角形可进行拟合的线段,方法如下:将第二列表中前三点坐标依次作为acb点坐标,代入高的表达式,求出高的值,若高的数值大于设定误差值,则说明此三点不可以进行直接拟合,代入第二列表中下一连续三点坐标继续寻找直至第二列表遍历结束,若通过相邻三点连接形成的三角形都不满足要求,则该第二列表无需直线拟合;若高的数值小于误差值,则连续三点中的首个点作为顶点a,并且判定该三点可拟合为直线,并继续代入下一点坐标,继续判断下一相邻线段能否与当前线段做拟合。54.4)定义下一点坐标即为当前点,然后将第二列表中a点至当前点之间的各点代入三角形高的公式,求出各高数值,若计算出的各高的数值均小于误差值,继续判断下一直线段能否直线拟合,若存在某一高的数值大于或等于误差值,则当前相邻直线段不做直线拟合,将当前点之前所有线段拟合为直线,该第二列表的拟合直线由a点与当前点前一点确定,将拟合后的直线数据与原数据截取、拼接,组成新切割文件中数据,定义新切割文件为第三列表。55.5)按照步骤1)、2)、3)、4)的方法依次判断步骤s2中的各个第二列表是否需要直线拟合,并得出参与直线拟合后的第三列表。56.根据上述步骤对小线段进行拟合后,如图7、图8所示,将原先的多个小直线拟合为两条长直线,拟合后的图形大大减少了拐点,也就减少了切割机的停顿,相对应的切割效率就提高了。57.本发明中的直线拟合步骤,其只是针对单调增或单调减的分布点的图形进行拟合,而在实际切割时,会存在这一些特例情况,例如波动点分布的情况,如图11所示,点的分布情况为依次分布的a、b、c、d四点,其中,ab向量与bc向量之间的夹角是大于90°的,即三角形abc的高h1是大于允许误差的,因此采用上述步骤是不可以进行拟合,而当存在另一点d点时,bc向量与cd向量之间的夹角同样是大于90°的,即三角形bcd的高也是大于允许误差的,但是,以a、b、d三点所连成的三角形abd的高h2则会存在小于误差的情况,以a、c、d三点所连成的三角形acd的高h3也会存在小于误差的情况,因为h2和h3都是小于h1的,因此,会存着直线ad满足拟合的要求,但是,上述情况是不需要进行拟合的,如图12所示,切割图形中的三角图案就存在着上述情况,而这种形状是图形需要,因此不需要进行拟合,必须要保留这个三角。58.s4圆弧拟合:判断各个第三列表是否需要圆弧拟合,若需要圆弧拟合,则求出圆弧相关数据,圆弧拟合初步条件为:第三列表中相邻3点组成2个由线段起始点指向线段终止点的向量,判断两向量间夹角,若夹角大于90度,则无法拟合,若夹角小于90度,则初步满足圆弧拟合条件,然后找出能尽可能多地多条小线段的进行圆弧拟合,第三列表经过圆弧拟合后去除拟合的点集并形成新的列表,并定义新列表为第四列表。59.如图4-图6所示的示意图可知,上述的圆弧拟合的具体步骤如下:60.a)遍历经过步骤s3直线拟合的第三列表,剔除拟合后只剩一条直线的无效的第三列表,这些第三列表不做圆弧拟合。61.b)遍历步骤s3中剔除无效列表后的第三列表,判断是否满足圆弧拟合条件,圆弧拟合的初步条件为:第三列表中相邻3点组成2个由线段起始点指向线段终止点的向量,判断两向量间夹角,若夹角大于90度,则无法拟合,若夹角小于90度,则初步满足圆弧拟合条件,遍历结束后得出第三列表中可进行圆弧拟合的数据点集。62.c)从第三列表的首行点坐标开始,依次选取相邻三点所连成的两个相邻线段,设顶点分别为点a、点b、点c,坐标分别为(xa,ya)、(xb,yb)、(xc,yc),计算线段ac、线段cb各自中点坐标点d、点e,坐标分别为(xd,yd),(xe,ye),计算由点a和点b确定的线段ab的垂直平分线方程y=k1x+b1,若存在拟合圆弧,设置圆弧上某一点坐标(x,y),设以线段ab为弦的圆弧方程为(x-a)2+(y-b)2=r2,圆心o坐标为(a,b),半径为r,根据ab垂直平分线方程y=k1x+b1,首先选取点d坐标为某一点坐标代入圆弧方程,求出圆心o坐标,确定圆弧adb方程。63.d)设置误差列表,根据步骤c)的计算方式,将计算后得到的圆心与各点间距离值存放在误差列表内,再分别计算圆心o与点d、点e间距离od、oe,分别设为r1、r2,将此距离放至误差列表中,求出误差列表中最大值与最小值,即r、r1、r2中最大值与最小值,将最大值与最小值的差值作为误差精度,求出误差精度列表。64.e)根据误差精度列表对圆弧误差进行判断,若误差精度列表中的首个误差精度值超过允许误差,则重新选取下一相邻小线段,并再重新确定圆弧adb方程,继续判断误差精度;若首个误差精度存在误差精度值不超过允许误差,则说明首个相邻的两个线段可以拟合为圆弧,并进行继续拟合,继续选择点b下一点g,求出bg中点坐标(xg,yg),根据adg三点坐标确定圆弧方程,求出圆弧半径r3、圆心o1坐标(a1,b1),求出ag之间的其余点:点c、点e、点b、点f与圆心的距离r1、r2、r3、r4,将这些距离组成新的误差列表,求出误差列表中最大值与最小值,再求出新的误差精度列表,若新的误差精度列表中各误差精度值不超过0.3毫米,则选取下一点坐标,重复本步骤中方法,继续拟合;若误差精度列表中所出现的精度误差值都超过允许误差,则当前线段不能参与之前圆弧拟合,选取此时误差精度列表中最小误差精度对应圆弧,将当前线段前所有线段拟合成圆弧,保存计算出的上一圆弧相关数据。65.f)选取下一相邻两行小线段,采用步骤b)、c)、d)、e)中方法继续执行,直至此第三列表结束,将拟合后的圆弧数据与原数据截取、拼接,组成新切割文件中数据,此新切割文件即为第四列表。66.根据上述步骤对拟合后的直线进行拟合后,如图9、图10所示,将复合条件的小直线拟合为一个圆弧,拟合后的图形大大减少了拐点,也就减少了切割机的停顿,相对应的切割效率就提高了。67.s5完成拟合:将所有的第四列表以及不需要圆弧拟合的第三列表进行整理形成一个新的列表,定义新的列表为优化切割列表,该优化切割列表即为海绵切割图形的拟合优化列表,将优化切割列表导入海绵切割机进行切割。68.本发明的拟合切割方法,通对海绵切割机扫描并导出的排版加工文件进行拟合优化,在保证获得相同以及更高切割效果的前提下,预处理切割文件数据,先将小线段拟合为长直线,再将将多段直线拟合为圆弧,尽可能的减少切割文件的长度,减少切割过程中的数控切割机加减速过程,提高海绵切割过程速度及流畅度。69.本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。









图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!




内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,发布内容不收取任何费用也不接任何广告!




免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理,本文部分文字与图片资源来自于网络,部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们,情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!

相关内容 查看全部