end define 改为
define block cycle end if ( cycledwell = 0 ) N ; G4 80 end if
if ( cycledwell > 0 ) N ; G4 05 =C ; \end if end define
有的机床当程序结束时执行G49或者H00时(前提是不再有Z座标),机床不运动(补偿刀长),而有的机床会运动补偿刀长到上一个Z座标处,这和机床参数的设定有关;因此建议,在程序的结尾不要执行G49或者H00
11:快速运动、直线运动、圆弧运动的代码: define block move circle N ; G1 ; G2 ; G3 ; X ; Y ; Z ; I ; J ; K ; F ; D end define define block move linear N ; G1 ; G2 ; G3 ; G5 ; G6 ; X ; Y ; Z ; ; T ; S ; M1 ; M2 end define define block move rapid N ; G1 ; G2 ; G3 ; G5 ; G6 ; X ; Y ; Z ; T ; S ; M1 ; M2 end define 12:圆弧的输出格式:
大致有三大类: a、I、J输出为圆心的绝对坐标值。 b、I、J输出为相对坐标值,具体值为:圆心坐标值-圆弧始点坐标(常用) c、I、J输出为相对坐标值,具体值为:圆弧始点坐标-圆心坐标值 所以这个就要看你机床格式来具体设置了,修改以下值为你所需: incremental centre = true (相对,反之false绝对) 相对有两种,所以: scale factor = 1 或 -1 另外有些机床不能输出360度的圆弧,这时需要将其分为几段输出: full circle = false
13:换刀的格式: define block tool change first N ; OP ; change tool ; T ToolNum N ; \define 里面可自己添加你的机床换刀时所需的代码,如打开刀具长度补偿。