一种三维五轴激光切割程序的非标轮廓等距变换方法与流程

文档序号:36905817发布日期:2024-02-02 21:35阅读:14来源:国知局
一种三维五轴激光切割程序的非标轮廓等距变换方法与流程

本发明涉及的是激光切割领域,特别涉及一种三维五轴激光切割程序的非标轮廓等距变换方法。


背景技术:

1、汽车上的钣金零件大多采用三维五轴激光切割机进行切割,套料软件是在标准数模的基础上生成三维五轴激光切割的g代码文件,由于钣金件本身制造误差,实际在切割时,局部的一些轮廓或者轨迹需要快速进行微调,比如三维空间中的某些非标轮廓需要进行等距变换。车间现场要能快速对修改需求进行响应,保证生产效率。并且只能对局部需要修改的部分做改动不能影响其他轨迹。

2、现有的方法是在数模上对相关的轮廓进行处理,然后再用套料软件重新生成新的g代码;或者不改变数模,在套料软件中对提取到的轨迹进行修改,然后重新生成新的g代码。现有的方法由于需要重新套料,操作较为复杂,对操作人员的要求较高,而且耗费时间长。不能快速响应修改需求。同时,重新套料由于操作步骤较多,容易对其他不需要修改的轨迹误修改,稳定性不高。


技术实现思路

1、鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种三维五轴激光切割程序的非标轮廓等距变换方法。

2、为了解决上述技术问题,本技术实施例公开了如下技术方案:

3、一种三维五轴激光切割程序的非标轮廓等距变换方法,包括:

4、s100.对g代码进行解析;逐行遍历读取g代码每一行指令,根据g代码中的标识分析出当前代码行执行类别,记录相关轨迹类别、特征点坐标信息及其所属行号信息;

5、s200.对轨迹进行绘制与拾取;根据s100得到的切割轨迹特征点坐标信息,采用opengl绘图函数,绘制该g代码对应的切割轨迹;当获取需要等距变换的非标轮廓请求时,通过请求点与绘制的所有轨迹之间的距离来选中与之相交的轨迹,记录其所属行号;

6、s300.对轮廓进行截取;根据s200得到的行号信息,向前索引轮廓开始标识,向后索引轮廓结束标识,记录轮廓的起始行与结束行,并根据s100的信息得到该轮廓中所有的轨迹信息及其所属行号;

7、s400.对轮廓等距方向进行计算;根据s300得到的轮廓中所有轨迹的信息,先将轮廓中所有的切割轨迹投影到平面上,然后计算轮廓的旋向,进而确定等距方向;

8、s500.对直线和圆弧轨迹进行等距计算;其中,根据当前直线轨迹的起点终点坐标信息以及对应的法线信息,计算空间直线等距后的直线,记录起点终点的新坐标信息;根据当前圆弧轨迹的起点、中间点、终点、圆心坐标信息,以及切割各个点时的法线信息,计算空间圆弧等距后的圆弧,记录新的起点、中间点、终点的坐标信息;

9、s600.对直线与直线相接等距后处理,并对等距后轮廓引线进行计算;其中,当相邻的两段轨迹均为直线时,对两直线各自等距后的直线做连贯处理,两直线相交则去掉多余的线段,两直线相离则延申补齐线段;计算轮廓的第一段轨迹的起点等距后移动的距离和方向,将引线以同样的方式平移得出新的引线;

10、s700.重写g代码;当轮廓中所有轨迹完成等距变换得到新的轨迹信息后,根据g代码的规则生成新的g代码,根据s400中得到的轨迹所在的行号,将新的g代码写入原g代码文件,覆盖原有的g代码。

11、进一步地,s100中,对g代码进行解析,具体方法包括:

12、s101.逐行遍历g代码,根据标准数控代码格式分析,当g代码包含g00字段记为空移线;包含g01字段记为直线;包含cip字段记为圆弧;包含circ字段记为标准整圆轮廓;包含hlot字段记为标准腰圆轮廓;包含rect字段记为标准矩形轮廓,其余类型的g代码则为非轨迹类型;

13、s102.每种类型的g代码指令中根据x、y、z、a、c等关键字解析出坐标信息,其中直线记录起点、终点坐标;cip圆弧记录起点、终点、中间点信息,并根据三点计算出所在圆的圆心坐标,标准轮廓则根据各自的尺寸定义规则记录相关的尺寸和位置参数;

14、s103.记录每行g代码的类型和坐标信息后还要记录当前g代码在文件中的行号,最终形成一个g代码信息列表。

15、进一步地,s200中,对轨迹进行绘制与拾取,具体方法包括:

16、s201.根据s100中得到的轮廓与轨迹的信息,编程利用opengl中的绘图库绘制轨迹,其中直线轨迹直接根据直线的起点、终点坐标直接用直线绘制函数绘制;cip圆弧首先根据圆弧的相关坐标信息按照0.1mm的弧长将圆弧离散成若干小线段,并记录小线段所属的圆弧信息,再用直线绘制函数绘制小线段,最终画出近似圆弧;标准轮廓首先将其分解为直线和cip圆弧,然后分别按照直线和圆弧的绘制方法绘制;

17、s202.当获取需要等距变换的非标轮廓请求时,首先将请求点坐标转换成实际绘图空间的的坐标,然后分别计算该点到所有轨迹的距离,即计算点与所有线段的距离,其中:直线轨迹直接计算点到直线段的距离;圆弧轨迹则时分别计算点到各个小线段的距离,取最小距离作为点到圆弧的距离,当点到轨迹的距离小于0.1时,则该轨迹被选中,记录该轨迹所属的行号。

18、进一步地,s300中,对轮廓进行截取,具体方法包括:

19、s301.根据s200中得到的行号,以行号为基准遍历g代码,向前遍历g代码每一行,当g代码中第一次出现“block_start”字段时,表示当前选中轮廓的起始行,记录行号n_sta;向后遍历g代码每一行,当g代码中第一次出现“block_end”字段时,表示当前选中轮廓的终止行,记录行号n_end;

20、s302.在s100中建立的g代码信息表中截取行号介于n_sta和n_end的g代码信息,逐个遍历g代码信息,当g代码中出现beamon字段时表示后面为切割轮廓信息,其下一个直线轨迹为引线,记录引线信息及其所属行号,继续往后遍历记录该轮廓中包含的所有切割轨迹信息及其各自所属的行号,直到出现beamoff字段结束。

21、进一步地,s400中,对轮廓等距方向进行计算,具体方法包括:

22、s401.根据s300中得到的轮廓中所有切割轨迹的信息,取前两段轨迹,分别取第一段轨迹的起点p1、终点p2,第二段轨迹的终点p3,计算向量dir1=向量p1p3×向量p1p2;计算向量dir2=向量dir1×向量p1p2;定义p1为原点,向量p1p2为x轴方向,向量dir2为y方向,向量dir1为z轴方向,重新建立坐标系;

23、s402.将轮廓中所有切割轨迹的坐标信息转换到新坐标系上,并取其在xoy平面上的投影,建立一个平面封闭轮廓;然后根据格林公式计算出该封闭轮廓的旋向;

24、s403.按照顺时针左刀补,逆时针右刀补的原则确定空间轨迹等距方向;当前轨迹切割法向为dir_nor,轨迹切向为dir_tan,左刀补方向dir_left=dir_nor×dir_tan;右刀补dir_right=dir_tan×dir_nor。

25、进一步地,s403中,轨迹的切割法向可根据如下方法计算:

26、记录某点切割信息为(x,y,z,a,c),

27、tempx=x;

28、tempy=y*cos(a)-z*sin(a);

29、tempz=y*sin(a)+z*cos(a;)

30、result_x=tempx*cos(c)-tempy*sin(c);

31、result_y=tempx*sin(c)-tempy*cos(c);

32、result_z=tempz;

33、dir_nor则为(result_x-x,result_y-y,result_z-z)。

34、进一步地,s500中,对直线和圆弧轨迹等距进行计算,当对直线轨迹进行等距计算时,具体方法包括:

35、s501.记直线的起点l_sta(x1,y1,z1,a1,c1),终点l_end(x2,y2,z2,a2,c2),直线的切向l_tan(x2-x1,y2-y1,z2-z1);

36、s502.直线在起点和终点的切割法向根据s400中的方法得出,分别记为nor_sta,nor_end;

37、s503.根据s400中的方法计算出轮廓的刀补方向然后计算等距归一化处理后的方向向量offset(x3,y3,z3),假设设定的等距长度为l,则等距后的起点l_sta_new(x4,y4,z4);

38、计算方法如下:

39、x4=x1+x3*l;y4=y1+l*y3;z4=z1+l*z3;等距后的终点计算公式同理。

40、进一步地,s500中,对直线和圆弧轨迹等距进行计算,当对圆弧轨迹进行等距计算时,具体方法包括:

41、s501'.记cip圆弧的起点cip_sta(x5,y5,z5,a5,c5),中间点cip_mid(x6,y6,z6,a6,c6),终点cip_end(x7,y7,z7,a7,c7),圆心cip_cen(x8,y8,z8);

42、计算圆弧在上述三点的切线方向方法如下:

43、以起点为例,首先计算圆心到起点向量dir_cen_sta(x5-x8,y5-y8,z5-z8)和圆心到中间点的向量dir_cen_mid(x6-x8,y6-y8,z6-z8);计算dir_temp=dir_cen_sta×dir_cen_mid,最后计算起点处的切向向量cip_tan_sta=dir_temp×dir_cen_sta;

44、计算起点到中间点的向量dir_sta_mid(x6-x5,y6-y5,z6-z5),计算f=cip_tan_sta*dir_sta_mid,当f<0时,cip_tan_sta=-cip_tan_sta;

45、中间点处的切向向量cip_tan_mid,终点处的切向向量cip_tan_end,计算方法与的、起点处的切向向量同理;

46、s502'.圆弧在起点、中间点、终点处的切割法向根据5中的方法得出,分别记为nor_cip_sta,nor_cip_mid,nor_cip_end.

47、s503'.根据s400中的方法计算出轮廓的刀补方向然后计算等距归一化处理后的方向向量cip_offset(x9,y9,z9),假设设定的等距长度为l,则等距后的起点cip_sta_new(x10,y10,z10)计算方法如下:

48、x10=x6+x9*l;y10=y6+l*y9;z10=z6+l*z9;等距后的中间点、终点计算公式同理。

49、进一步地,s600中,对直线与直线相接等距后处理,当轮廓中的轨迹当直线和圆弧相接时,全是相切的情况,因此不需要处理;当直线与直线相接且不共线时,等距变换后会出现相交或者相离的情况,因此需要做连贯处理,具体方法包括:

50、s601.首先计算出空间中两相接直线段等距后形成的两条新直线段交点,方法如下:

51、两直线相接,其必定共面,同一点切割法向也相同,因此等距后两直线也会相交共面;

52、a.分别取等距后第一条直线段的起点p1、终点p2,等距后第二条直线段的终点p4,计算向量dir1=向量p1p4×向量p1p2;计算向量dir2=向量dir1×向量p1p2;定义p1为原点,向量p1p2为x轴方向,向量dir2为y方向,向量dir1为z轴方向,重新建立坐标系,将等距后两条直线段起点、终点的转换到新坐标系上,并在xoy平面上投影,得到2d平面上的两直线段,两直线段的起点终点分别记为p1_2d,p2_2d,p3_2d,p4_2d;

53、b.在2d平面上计算两线段所在直线的交点p5_2d;

54、c.取原始坐标系下的p1,p2点以及新坐标系下的p1_2d,p2_2d,通过两组对应的点计算出两坐标系的转换矩阵h_trans;

55、d.等距后形成的两条新直线段交点在原来坐标系下的坐标p5=h_trans*p5_2d;

56、s602.当前轨迹是直线,如果其上一条轨迹也是直线,通过上述方法计算出等距后两直线段所在直线的交点,将其作为当前直线等距后的起点;

57、s603.当前轨迹是直线,如果其下一条轨迹也是直线,通过上述方法计算出等距后两直线段所在直线的交点,将其作为当前直线等距后的终点。

58、进一步地,s600中,对等距后轮廓引线进行计算,轮廓等距后引线的位置也会随之变化,引线的位置变化与切割轨迹起点的位置变化一致;具体方法包括:

59、s604.根据s300中提到的方法得到非标轮廓的第一条切割轨迹,利用s400-s600中提到的方法计算出第一条轨迹等距后的结果;计算出第一条轨迹等距前后起点的位置变化量offset_lead(of_x,of_y,of_z);

60、s605.根据s300中提供的方法得到非标轮廓引线的相关信息,将引线整体平移offset_lead,即可得到新的引线的位置。

61、本发明实施例提供的上述技术方案的有益效果至少包括:

62、本发明公开了一种三维五轴激光切割程序的非标轮廓等距变换方法,包括:s100.对g代码进行解析;逐行遍历读取g代码每一行指令,根据g代码中的标识分析出当前代码行执行类别,记录相关轨迹类别、特征点坐标信息及其所属行号信息;s200.对轨迹进行绘制与拾取;根据s100得到的切割轨迹特征点坐标信息,采用opengl绘图函数,绘制该g代码对应的切割轨迹;当获取需要等距变换的非标轮廓请求时,通过请求点与绘制的所有轨迹之间的距离来选中与之相交的轨迹,记录其所属行号;s300.对轮廓进行截取;根据s200得到的行号信息,向前索引轮廓开始标识,向后索引轮廓结束标识,记录轮廓的起始行与结束行,并根据s100的信息得到该轮廓中所有的轨迹信息及其所属行号;s400.对轮廓等距方向进行计算;根据s300得到的轮廓中所有轨迹的信息,先将轮廓中所有的切割轨迹投影到平面上,然后计算轮廓的旋向,进而确定等距方向;s500.对直线和圆弧轨迹进行等距计算;其中,根据当前直线轨迹的起点终点坐标信息以及对应的法线信息,计算空间直线等距后的直线,记录起点终点的新坐标信息;根据当前圆弧轨迹的起点、中间点、终点、圆心坐标信息,以及切割各个点时的法线信息,计算空间圆弧等距后的圆弧,记录新的起点、中间点、终点的坐标信息;s600.对直线与直线相接等距后处理,并对等距后轮廓引线进行计算;其中,当相邻的两段轨迹均为直线时,对两直线各自等距后的直线做连贯处理,两直线相交则去掉多余的线段,两直线相离则延申补齐线段;计算轮廓的第一段轨迹的起点等距后移动的距离和方向,将引线以同样的方式平移得出新的引线;s700.重写g代码;当轮廓中所有轨迹完成等距变换得到新的轨迹信息后,根据g代码的规则生成新的g代码,根据s400中得到的轨迹所在的行号,将新的g代码写入原g代码文件,覆盖原有的g代码。

63、采用本发明提出的一种三维五轴激光切割程序的非标轮廓等距变换方法,可以直接对g代码文件进行修改,操作简单,修改效率高;只对局部修改,不影响其他g代码,稳定性较好。

64、下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1