利用 G 代码、GRBL、CNCJS 和 Macro Magic 突破家庭加工的极限

| 2024年3月10日 | DIY 5 轴 CNC 玛欣, 工作机械の基础, CNCルーター | 0 条评论

CNCjs宏功能使用的程序

连续直线加工程序

该 CNC 程序专为加工操作而设计,该加工操作在三个单独的走刀中,沿着由点 A、B 和 C 定义的三条线顺序进行切削,每一次都比上一次更深。以下是变量及其用途的细分:

变量

  • %D深度:切割的总深度,设置为 -9 单位。该值为负值,因为 CNC 机床使用负值来表示向下进入材料的运动。
  • %POINT_A_X, %POINT_A_Y:A 点的 X 和 Y 坐标,标记第一条线的起点。
  • %POINT_B_X, %POINT_B_Y:B 点的 X 和 Y 坐标,第一条线的终点和第二条线的起点。
  • %POINT_C_X, %POINT_C_Y:C 点的 X 和 Y 坐标,第二条线的终点,如果是闭合形状,则理论上返回原点。

用法

  1. 设置:确保 CNC 机床配置为公制单位(G21)和主轴转速(S5000)和进给速度(F30) 已设定。
  2. 初始定位:程序首先将工具移动到安全高度(Z5)在材料上方,然后将工具定位在原点(X0 Y0).
  3. 切割工艺:
    • 工具向下移动到表面(Z0)然后开始切割过程。
    • 在三次走刀中,刀具向下移动总深度的三分之一(PTH/3),然后沿着从 A 点到 B 点再到 C 点的线顺序移动,创建一条连续的路径。
    • 每次通过后,工具都会缩回到安全高度(Z13),停止主轴(M5),回到原点(X0 Y0),并暂停(莫0)。在开始下一次走刀之前,主轴重新启动(M3),工具向下移动(Z-13 减去附加深度)。
  4. 完成:最后一遍之后,程序结束 M30,发出程序结束信号并重置机器以进行下一个操作。

关键点

  • 刀具深度随着每次走刀逐渐增加,使该程序非常适合逐渐去除材料、确保精度并避免刀具承受过大负载。
  • 使用相对坐标(G91)用于运动,确保每个动作都建立在上一个动作的基础上,从而便于轻松调整路径,而无需从固定原点重新计算。
  • 该程序适用于需要多次控制深度的操作,例如雕刻、通道切割或创建具有精确深度控制的复杂形状。
连续线性加工程序(Awesome LINES Freak)

;很棒的台词怪胎

G90 G94
G17
G21;MM
PTH = -9

;输入为G91
%POINT_A_X = 60
%POINT_A_Y = 0

%POINT_B_X = 11
%POINT_B_Y = -11

%POINT_C_X = 0
%POINT_C_Y = 0

S5000 M3
F30

G90
G0 Z5
X0 Y0

G0 Z0

;1
G91 G1 Z[深度/3]G91 G1 X[POINT_A_X] Y[POINT_A_Y]
G91 G1 X[POINT_B_X] Y[POINT_B_Y]
G91 G1 X[POINT_C_X] Y[POINT_C_Y]

G91 G0 Z13
M5
G90 X0 Y0
莫0
M3
G91 G0 Z-13

;2
G91 G1 Z[深度/3]G91 G1 X[POINT_A_X] Y[POINT_A_Y]
G91 G1 X[POINT_B_X] Y[POINT_B_Y]
G91 G1 X[POINT_C_X] Y[POINT_C_Y]

G91 G0 Z13
M5
G90 X0 Y0
莫0
M3
G91 G0 Z-13

;3
G91 G1 Z[深度/3]G91 G1 X[POINT_A_X] Y[POINT_A_Y]
G91 G1 X[POINT_B_X] Y[POINT_B_Y]
G91 G1 X[POINT_C_X] Y[POINT_C_Y]

G91 G0 Z13
M5
G90 X0 Y0
M30

孔加工程序

在此 CNC 程序中,利用变量设置和条件分支来自动且精确地重复执行钻孔或圆槽加工操作。这是详细的解释:

变量设置

  • %TOOL_D = 3:将刀具直径设置为 3mm。
  • %D直径 = 20:将要加工的圆的直径设定为20mm。
  • %Z_ST = 0:将加工起始 Z 坐标设置为 0。
  • %Z_深度 = -8:将加工的最终 Z 坐标设置为 -8mm,表示要去除的材料的总深度。
  • %NO_CUT = 20:将路径数(加工轮数)设置为 20。
  • %A_DEPTH = [Z_DEPTH - Z_ST] / NO_CUT:计算每次走刀的切削深度。这样可以将总深度除以切割次数,从而确保均匀地去除材料。

条件分支

条件分支用作 %UN = [(计数 <= NO_CUT) ?计数:-1]。这意味着“如果 数数 (当前通过次数)小于或等于 不切 (总通过次数),然后设置 %UN数数;否则,将其设置为 -1”。该逻辑检查加工过程是否已达到指定的走刀次数,并确定所有加工操作是否已完成。

在加工过程中使用

按照这个逻辑,程序的运行过程如下:

  1. 增量 %COUNT 每个加工循环加 1。
  2. 使用 %UN 对于条件分支,执行加工命令(N[UN] G91 G3...) 除非 %COUNT 小于或等于 %NO_CUT。这可确保遵循循环路径指定的次数。
  3. 一旦完成指定的走刀次数,程序就停止执行加工命令。

该方法允许程序自动、准确地执行预定深度和直径的指定孔钻孔或圆形切槽操作。使用条件分支可以灵活地控制加工过程,使程序易于调整和重复使用。

连续线性加工程序(Awesome HOLES Freak)

;很棒的洞怪胎

G90 G94
G17
G21;MM
;——————————————————————–
%TOOL_D = 3 ;刀具直径
%D直径 = 20
%Z_ST = 0 ;加工起始Z坐标
%Z_DEPTH = -8 ;最终Z坐标的加工
%NO_CUT = 20 ;(机器的)轮数

S5000 M3
F1000
G90 G0 Z5 ;移动高度
G90 X0 Y0 ;加工中心机座标准

;——————————————————————–

;移动到起点
G91 G0 Y[直径/2 – TOOL_D/2]G90 G0 Z[Z_ST]

% 计数 = 0
%A_DEPTH = [Z_DEPTH- Z_ST] / NO_CUT

%COUNT = COUNT+1;—————————————————————–
%UN = [(计数 <= NO_CUT) ?计数:-1]N[UN] G91 G3 J-[直径/2 – TOOL_D/2] Y-[直径 – TOOL_D] Z[A_DEPTH/2 ]N[UN] G91 G3 J[直径/2 – TOOL_D/2 ] Y[直径 – TOOL_D] Z[A_DEPTH/2 ]

%COUNT = COUNT+1;—————————————————————–
%UN = [(计数 <= NO_CUT) ?计数:-1]N[UN] G91 G3 J-[直径/2 – TOOL_D/2] Y-[直径 – TOOL_D] Z[A_DEPTH/2 ]N[UN] G91 G3 J[直径/2 – TOOL_D/2 ] Y[直径 – TOOL_D] Z[A_DEPTH/2 ]

%COUNT = COUNT+1;—————————————————————–
%UN = [(计数 <= NO_CUT) ?计数:-1]N[UN] G91 G3 J-[直径/2 – TOOL_D/2] Y-[直径 – TOOL_D] Z[A_DEPTH/2 ]N[UN] G91 G3 J[直径/2 – TOOL_D/2 ] Y[直径 – TOOL_D] Z[A_DEPTH/2 ]

%COUNT = COUNT+1;—————————————————————–
%UN = [(计数 <= NO_CUT) ?计数:-1]N[UN] G91 G3 J-[直径/2 – TOOL_D/2] Y-[直径 – TOOL_D] Z[A_DEPTH/2 ]N[UN] G91 G3 J[直径/2 – TOOL_D/2 ] Y[直径 – TOOL_D] Z[A_DEPTH/2 ]

%COUNT = COUNT+1;—————————————————————–
%UN = [(计数 <= NO_CUT) ?计数:-1]N[UN] G91 G3 J-[直径/2 – TOOL_D/2] Y-[直径 – TOOL_D] Z[A_DEPTH/2 ]N[UN] G91 G3 J[直径/2 – TOOL_D/2 ] Y[直径 – TOOL_D] Z[A_DEPTH/2 ]

%COUNT = COUNT+1;—————————————————————–
%UN = [(计数 <= NO_CUT) ?计数:-1]N[UN] G91 G3 J-[直径/2 – TOOL_D/2] Y-[直径 – TOOL_D] Z[A_DEPTH/2 ]N[UN] G91 G3 J[直径/2 – TOOL_D/2 ] Y[直径 – TOOL_D] Z[A_DEPTH/2 ]

%COUNT = COUNT+1;—————————————————————–
%UN = [(计数 <= NO_CUT) ?计数:-1]N[UN] G91 G3 J-[直径/2 – TOOL_D/2] Y-[直径 – TOOL_D] Z[A_DEPTH/2 ]N[UN] G91 G3 J[直径/2 – TOOL_D/2 ] Y[直径 – TOOL_D] Z[A_DEPTH/2 ]

%COUNT = COUNT+1;—————————————————————–
%UN = [(计数 <= NO_CUT) ?计数:-1]N[UN] G91 G3 J-[直径/2 – TOOL_D/2] Y-[直径 – TOOL_D] Z[A_DEPTH/2 ]N[UN] G91 G3 J[直径/2 – TOOL_D/2 ] Y[直径 – TOOL_D] Z[A_DEPTH/2 ]

%COUNT = COUNT+1;—————————————————————–
%UN = [(计数 <= NO_CUT) ?计数:-1]N[UN] G91 G3 J-[直径/2 – TOOL_D/2] Y-[直径 – TOOL_D] Z[A_DEPTH/2 ]N[UN] G91 G3 J[直径/2 – TOOL_D/2 ] Y[直径 – TOOL_D] Z[A_DEPTH/2 ]

%COUNT = COUNT+1;—————————————————————–
%UN = [(计数 <= NO_CUT) ?计数:-1]N[UN] G91 G3 J-[直径/2 – TOOL_D/2] Y-[直径 – TOOL_D] Z[A_DEPTH/2 ]N[UN] G91 G3 J[直径/2 – TOOL_D/2 ] Y[直径 – TOOL_D] Z[A_DEPTH/2 ]

%COUNT = COUNT+1;—————————————————————–
%UN = [(计数 <= NO_CUT) ?计数:-1]N[UN] G91 G3 J-[直径/2 – TOOL_D/2] Y-[直径 – TOOL_D] Z[A_DEPTH/2 ]N[UN] G91 G3 J[直径/2 – TOOL_D/2 ] Y[直径 – TOOL_D] Z[A_DEPTH/2 ]

%COUNT = COUNT+1;—————————————————————–
%UN = [(计数 <= NO_CUT) ?计数:-1]N[UN] G91 G3 J-[直径/2 – TOOL_D/2] Y-[直径 – TOOL_D] Z[A_DEPTH/2 ]N[UN] G91 G3 J[直径/2 – TOOL_D/2 ] Y[直径 – TOOL_D] Z[A_DEPTH/2 ]

%COUNT = COUNT+1;—————————————————————–
%UN = [(计数 <= NO_CUT) ?计数:-1]N[UN] G91 G3 J-[直径/2 – TOOL_D/2] Y-[直径 – TOOL_D] Z[A_DEPTH/2 ]N[UN] G91 G3 J[直径/2 – TOOL_D/2 ] Y[直径 – TOOL_D] Z[A_DEPTH/2 ]

%COUNT = COUNT+1;—————————————————————–
%UN = [(计数 <= NO_CUT) ?计数:-1]N[UN] G91 G3 J-[直径/2 – TOOL_D/2] Y-[直径 – TOOL_D] Z[A_DEPTH/2 ]N[UN] G91 G3 J[直径/2 – TOOL_D/2 ] Y[直径 – TOOL_D] Z[A_DEPTH/2 ]

%COUNT = COUNT+1;—————————————————————–
%UN = [(计数 <= NO_CUT) ?计数:-1]N[UN] G91 G3 J-[直径/2 – TOOL_D/2] Y-[直径 – TOOL_D] Z[A_DEPTH/2 ]N[UN] G91 G3 J[直径/2 – TOOL_D/2 ] Y[直径 – TOOL_D] Z[A_DEPTH/2 ]

%COUNT = COUNT+1;—————————————————————–
%UN = [(计数 <= NO_CUT) ?计数:-1]N[UN] G91 G3 J-[直径/2 – TOOL_D/2] Y-[直径 – TOOL_D] Z[A_DEPTH/2 ]N[UN] G91 G3 J[直径/2 – TOOL_D/2 ] Y[直径 – TOOL_D] Z[A_DEPTH/2 ]

%COUNT = COUNT+1;—————————————————————–
%UN = [(计数 <= NO_CUT) ?计数:-1]N[UN] G91 G3 J-[直径/2 – TOOL_D/2] Y-[直径 – TOOL_D] Z[A_DEPTH/2 ]N[UN] G91 G3 J[直径/2 – TOOL_D/2 ] Y[直径 – TOOL_D] Z[A_DEPTH/2 ]

%COUNT = COUNT+1;—————————————————————–
%UN = [(计数 <= NO_CUT) ?计数:-1]N[UN] G91 G3 J-[直径/2 – TOOL_D/2] Y-[直径 – TOOL_D] Z[A_DEPTH/2 ]N[UN] G91 G3 J[直径/2 – TOOL_D/2 ] Y[直径 – TOOL_D] Z[A_DEPTH/2 ]

%COUNT = COUNT+1;—————————————————————–
%UN = [(计数 <= NO_CUT) ?计数:-1]N[UN] G91 G3 J-[直径/2 – TOOL_D/2] Y-[直径 – TOOL_D] Z[A_DEPTH/2 ]N[UN] G91 G3 J[直径/2 – TOOL_D/2 ] Y[直径 – TOOL_D] Z[A_DEPTH/2 ]

%COUNT = COUNT+1;—————————————————————–
%UN = [(计数 <= NO_CUT) ?计数:-1]N[UN] G91 G3 J-[直径/2 – TOOL_D/2] Y-[直径 – TOOL_D] Z[A_DEPTH/2 ]N[UN] G91 G3 J[直径/2 – TOOL_D/2 ] Y[直径 – TOOL_D] Z[A_DEPTH/2 ]

%COUNT = COUNT+1;—————————————————————–
%UN = [(计数 <= NO_CUT) ?计数:-1]N[UN] G91 G3 J-[直径/2 – TOOL_D/2] Y-[直径 – TOOL_D] Z[A_DEPTH/2 ]N[UN] G91 G3 J[直径/2 – TOOL_D/2 ] Y[直径 – TOOL_D] Z[A_DEPTH/2 ]

%COUNT = COUNT+1;—————————————————————–
%UN = [(计数 <= NO_CUT) ?计数:-1]N[UN] G91 G3 J-[直径/2 – TOOL_D/2] Y-[直径 – TOOL_D] Z[A_DEPTH/2 ]N[UN] G91 G3 J[直径/2 – TOOL_D/2 ] Y[直径 – TOOL_D] Z[A_DEPTH/2 ]

%COUNT = COUNT+1;—————————————————————–
%UN = [(计数 <= NO_CUT) ?计数:-1]N[UN] G91 G3 J-[直径/2 – TOOL_D/2] Y-[直径 – TOOL_D] Z[A_DEPTH/2 ]N[UN] G91 G3 J[直径/2 – TOOL_D/2 ] Y[直径 – TOOL_D] Z[A_DEPTH/2 ]

%COUNT = COUNT+1;—————————————————————–
%UN = [(计数 <= NO_CUT) ?计数:-1]N[UN] G91 G3 J-[直径/2 – TOOL_D/2] Y-[直径 – TOOL_D] Z[A_DEPTH/2 ]N[UN] G91 G3 J[直径/2 – TOOL_D/2 ] Y[直径 – TOOL_D] Z[A_DEPTH/2 ]

%COUNT = COUNT+1;—————————————————————–
%UN = [(计数 <= NO_CUT) ?计数:-1]N[UN] G91 G3 J-[直径/2 – TOOL_D/2] Y-[直径 – TOOL_D] Z[A_DEPTH/2 ]N[UN] G91 G3 J[直径/2 – TOOL_D/2 ] Y[直径 – TOOL_D] Z[A_DEPTH/2 ]

%COUNT = COUNT+1;—————————————————————–
%UN = [(计数 <= NO_CUT) ?计数:-1]N[UN] G91 G3 J-[直径/2 – TOOL_D/2] Y-[直径 – TOOL_D] Z[A_DEPTH/2 ]N[UN] G91 G3 J[直径/2 – TOOL_D/2 ] Y[直径 – TOOL_D] Z[A_DEPTH/2 ]

%COUNT = COUNT+1;—————————————————————–
%UN = [(计数 <= NO_CUT) ?计数:-1]N[UN] G91 G3 J-[直径/2 – TOOL_D/2] Y-[直径 – TOOL_D] Z[A_DEPTH/2 ]N[UN] G91 G3 J[直径/2 – TOOL_D/2 ] Y[直径 – TOOL_D] Z[A_DEPTH/2 ]

%COUNT = COUNT+1;—————————————————————–
%UN = [(计数 <= NO_CUT) ?计数:-1]N[UN] G91 G3 J-[直径/2 – TOOL_D/2] Y-[直径 – TOOL_D] Z[A_DEPTH/2 ]N[UN] G91 G3 J[直径/2 – TOOL_D/2 ] Y[直径 – TOOL_D] Z[A_DEPTH/2 ]

%COUNT = COUNT+1;—————————————————————–
%UN = [(计数 <= NO_CUT) ?计数:-1]N[UN] G91 G3 J-[直径/2 – TOOL_D/2] Y-[直径 – TOOL_D] Z[A_DEPTH/2 ]N[UN] G91 G3 J[直径/2 – TOOL_D/2 ] Y[直径 – TOOL_D] Z[A_DEPTH/2 ]

%COUNT = COUNT+1;—————————————————————–
%UN = [(计数 <= NO_CUT) ?计数:-1]N[UN] G91 G3 J-[直径/2 – TOOL_D/2] Y-[直径 – TOOL_D] Z[A_DEPTH/2 ]N[UN] G91 G3 J[直径/2 – TOOL_D/2 ] Y[直径 – TOOL_D] Z[A_DEPTH/2 ]

%COUNT = COUNT+1;—————————————————————–
%UN = [(计数 <= NO_CUT) ?计数:-1]N[UN] G91 G3 J-[直径/2 – TOOL_D/2] Y-[直径 – TOOL_D] Z[A_DEPTH/2 ]N[UN] G91 G3 J[直径/2 – TOOL_D/2 ] Y[直径 – TOOL_D] Z[A_DEPTH/2 ]

%COUNT = COUNT+1;—————————————————————–
%UN = [(计数 <= NO_CUT) ?计数:-1]N[UN] G91 G3 J-[直径/2 – TOOL_D/2] Y-[直径 – TOOL_D] Z[A_DEPTH/2 ]N[UN] G91 G3 J[直径/2 – TOOL_D/2 ] Y[直径 – TOOL_D] Z[A_DEPTH/2 ]

%COUNT = COUNT+1;—————————————————————–
%UN = [(计数 <= NO_CUT) ?计数:-1]N[UN] G91 G3 J-[直径/2 – TOOL_D/2] Y-[直径 – TOOL_D] Z[A_DEPTH/2 ]N[UN] G91 G3 J[直径/2 – TOOL_D/2 ] Y[直径 – TOOL_D] Z[A_DEPTH/2 ]

%COUNT = COUNT+1;—————————————————————–
%UN = [(计数 <= NO_CUT) ?计数:-1]N[UN] G91 G3 J-[直径/2 – TOOL_D/2] Y-[直径 – TOOL_D] Z[A_DEPTH/2 ]N[UN] G91 G3 J[直径/2 – TOOL_D/2 ] Y[直径 – TOOL_D] Z[A_DEPTH/2 ]

%COUNT = COUNT+1;—————————————————————–
%UN = [(计数 <= NO_CUT) ?计数:-1]N[UN] G91 G3 J-[直径/2 – TOOL_D/2] Y-[直径 – TOOL_D] Z[A_DEPTH/2 ]N[UN] G91 G3 J[直径/2 – TOOL_D/2 ] Y[直径 – TOOL_D] Z[A_DEPTH/2 ]

%COUNT = COUNT+1;—————————————————————–
%UN = [(计数 <= NO_CUT) ?计数:-1]N[UN] G91 G3 J-[直径/2 – TOOL_D/2] Y-[直径 – TOOL_D] Z[A_DEPTH/2 ]N[UN] G91 G3 J[直径/2 – TOOL_D/2 ] Y[直径 – TOOL_D] Z[A_DEPTH/2 ]

%COUNT = COUNT+1;—————————————————————–
%UN = [(计数 <= NO_CUT) ?计数:-1]N[UN] G91 G3 J-[直径/2 – TOOL_D/2] Y-[直径 – TOOL_D] Z[A_DEPTH/2 ]N[UN] G91 G3 J[直径/2 – TOOL_D/2 ] Y[直径 – TOOL_D] Z[A_DEPTH/2 ]

%COUNT = COUNT+1;—————————————————————–
%UN = [(计数 <= NO_CUT) ?计数:-1]N[UN] G91 G3 J-[直径/2 – TOOL_D/2] Y-[直径 – TOOL_D] Z[A_DEPTH/2 ]N[UN] G91 G3 J[直径/2 – TOOL_D/2 ] Y[直径 – TOOL_D] Z[A_DEPTH/2 ]

%COUNT = COUNT+1;—————————————————————–
%UN = [(计数 <= NO_CUT) ?计数:-1]N[UN] G91 G3 J-[直径/2 – TOOL_D/2] Y-[直径 – TOOL_D] Z[A_DEPTH/2 ]N[UN] G91 G3 J[直径/2 – TOOL_D/2 ] Y[直径 – TOOL_D] Z[A_DEPTH/2 ]

%COUNT = COUNT+1;—————————————————————–
%UN = [(计数 <= NO_CUT) ?计数:-1]N[UN] G91 G3 J-[直径/2 – TOOL_D/2] Y-[直径 – TOOL_D] Z[A_DEPTH/2 ]N[UN] G91 G3 J[直径/2 – TOOL_D/2 ] Y[直径 – TOOL_D] Z[A_DEPTH/2 ]

 

G90 G0 Z[Z_ST+5]M5
M30

开槽程序

该 CNC 程序设计用于加工带圆角的矩形工件,也称为“圆角矩形”。它结合使用线性和圆形(G1 和 G3)运动,逐步分层切割材料以达到最终深度。以下是其关键变量、功能和用法的详细说明:

变量设置

  • %TOOL_D:切削刀具的直径。
  • %CORNER_R:矩形角的半径。该值必须大于刀具半径,以适应倒圆过程中刀具的尺寸。
  • %X_宽%Y_宽:分别是矩形在 X 和 Y 方向上的尺寸。
  • %Z_ST:加工起始Z坐标。
  • %Z_深度:最终 Z 坐标,表示切割的总深度。
  • %NO_CUT:刀具达到最终深度的走刀次数,有利于增量切削。

关键计算

  • %四分之一, 1TP3长度, %A_深度, %Z_深度_X, %Z_DEPTH_Y, %Z_深度_R:这些是计算值,用于控制每次走刀的深度和长度,确保矩形及其圆角上的材料去除均匀。

加工过程

  • 该程序首先设置机器 G90, G94, G17, G21 分别用于绝对定位、每分钟进给速率、XY 平面选择和以毫米为单位的测量。
  • 然后,根据刀具直径和拐角半径,将刀具移动到起始位置。
  • 对于每一次通过(%COUNT 增量),刀具线性移动(G1) 和弧 (G3)在拐角处进行计算的 Z 深度调整(%Z_深度_X, %Z_DEPTH_Y, %Z_深度_R) 创建圆角矩形。该过程重复指定的切割次数(%NO_CUT).
  • 条件检查(%UN)用于继续循环,直到完成所需的走刀次数,并逐渐调整每次走刀的切削深度。
  • 最后,进行全深度精加工,以确保最终的表面质量。

用法

  1. 准备机器:加载程序,设置指定直径的刀具,并固定材料。
  2. 程序变量:调整 %X_宽, %Y_宽, %Z_深度, 和 %NO_CUT 根据您的特定项目要求所需的变量。
  3. 运行程序:开始加工过程。该工具将自动执行必要的线性和圆周运动来加工圆角矩形。

该程序对于需要精确圆角的零件特别有用,这些零件常见于冲模、铸模和机械部件。其增量深度方法可最大限度地减少刀具磨损并实现高效的材料去除。

老虎机程序(Awesome SLOTS Freak)

;超棒的老虎机怪胎

G90 G94
G17
G21;MM
;——————————————————————–
%TOOL_D = 3 ;刀具直径
%CORNER_R = 11.5 ;4个角的半径。设置大于刀具半径。
%X_WIDE = 23 ;设置高于刀具直径
%Y_WIDE = 23 ;设置高于刀具直径
%Z_ST = 0 ;加工起始Z坐标
%Z_DEPTH = -2.8 ;最终 Z 坐标的加工
%NO_CUT = 30 ;(机器的)轮数

S5000 M3
F1000
G90 G0 Z5 ;移动高度
G90 X0 Y0 ;加工中心机座标准

;——————————————————————–

%QUARTER =[0.785*[CORNER_R*2 – TOOL_D]]%LENGTH = [QUARTER*4+[X_WIDE – TOOL_D]*2+[Y_WIDE – TOOL_D]*2] ;每圈距离
%A_DEPTH = [ Z_ST – Z_DEPTH] / NO_CUT ;一次切割

%Z_DEPTH_X = [[[X_WIDE – TOOL_D] / 长度]*A_DEPTH]%Z_DEPTH_Y = [[[Y_WIDE – TOOL_D] / 长度]*A_DEPTH]%Z_DEPTH_R = [-[四分之一/长度]*A_DEPTH]

;移动到起点
G91 G0 X[X_WIDE/2 – CORNER_R*2/2] Y[Y_WIDE/2 – CORNER_R*2/2]G91 G0 Y[CORNER_R*2/2 – TOOL_D/2]G90 G0 Z[Z_ST]

%C_深度=Z_ST
% 计数 = 0

%COUNT = COUNT+1;—————————————————————–
%C_DEPTH = C_DEPTH – A_DEPTH
%UN = [(计数 <= NO_CUT) ?计数 : -1]N[UN] G91 G1 X[ -X_WIDE +CORNER_R*2] Z[-Z_DEPTH_X]N[UN] G91 G3 J-[CORNER_R*2/2 – TOOL_D/2] X-[CORNER_R*2 /2 – TOOL_D/2] Y-[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 Y[ -Y_WIDE +CORNER_R*2] Z[-Z_DEPTH_Y]N[UN] G91 G3 I[CORNER_R*2/2 – TOOL_D/2] X[CORNER_R*2/2 – TOOL_D/2] Y-[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 X[ X_WIDE – CORNER_R*2] Z[-Z_DEPTH_X]N[UN] G91 G3 J[CORNER_R*2/2 – TOOL_D/2] X[CORNER_R*2/2 – TOOL_D/2] Y [CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 Y[ Y_WIDE – CORNER_R*2] Z[-Z_DEPTH_Y]N[UN] G91 G3 I-[CORNER_R*2/2 – TOOL_D/2] X-[CORNER_R*2/2 – TOOL_D/2 ] Y[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

%COUNT = COUNT+1;—————————————————————–
%C_DEPTH = C_DEPTH – A_DEPTH
%UN = [(计数 <= NO_CUT) ?计数 : -1]N[UN] G91 G1 X[ -X_WIDE +CORNER_R*2] Z[-Z_DEPTH_X]N[UN] G91 G3 J-[CORNER_R*2/2 – TOOL_D/2] X-[CORNER_R*2 /2 – TOOL_D/2] Y-[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 Y[ -Y_WIDE +CORNER_R*2] Z[-Z_DEPTH_Y]N[UN] G91 G3 I[CORNER_R*2/2 – TOOL_D/2] X[CORNER_R*2/2 – TOOL_D/2] Y-[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 X[ X_WIDE – CORNER_R*2] Z[-Z_DEPTH_X]N[UN] G91 G3 J[CORNER_R*2/2 – TOOL_D/2] X[CORNER_R*2/2 – TOOL_D/2] Y [CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 Y[ Y_WIDE – CORNER_R*2] Z[-Z_DEPTH_Y]N[UN] G91 G3 I-[CORNER_R*2/2 – TOOL_D/2] X-[CORNER_R*2/2 – TOOL_D/2 ] Y[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

%COUNT = COUNT+1;—————————————————————–
%C_DEPTH = C_DEPTH – A_DEPTH
%UN = [(计数 <= NO_CUT) ?计数 : -1]N[UN] G91 G1 X[ -X_WIDE +CORNER_R*2] Z[-Z_DEPTH_X]N[UN] G91 G3 J-[CORNER_R*2/2 – TOOL_D/2] X-[CORNER_R*2 /2 – TOOL_D/2] Y-[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 Y[ -Y_WIDE +CORNER_R*2] Z[-Z_DEPTH_Y]N[UN] G91 G3 I[CORNER_R*2/2 – TOOL_D/2] X[CORNER_R*2/2 – TOOL_D/2] Y-[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 X[ X_WIDE – CORNER_R*2] Z[-Z_DEPTH_X]N[UN] G91 G3 J[CORNER_R*2/2 – TOOL_D/2] X[CORNER_R*2/2 – TOOL_D/2] Y [CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 Y[ Y_WIDE – CORNER_R*2] Z[-Z_DEPTH_Y]N[UN] G91 G3 I-[CORNER_R*2/2 – TOOL_D/2] X-[CORNER_R*2/2 – TOOL_D/2 ] Y[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

%COUNT = COUNT+1;—————————————————————–
%C_DEPTH = C_DEPTH – A_DEPTH
%UN = [(计数 <= NO_CUT) ?计数 : -1]N[UN] G91 G1 X[ -X_WIDE +CORNER_R*2] Z[-Z_DEPTH_X]N[UN] G91 G3 J-[CORNER_R*2/2 – TOOL_D/2] X-[CORNER_R*2 /2 – TOOL_D/2] Y-[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 Y[ -Y_WIDE +CORNER_R*2] Z[-Z_DEPTH_Y]N[UN] G91 G3 I[CORNER_R*2/2 – TOOL_D/2] X[CORNER_R*2/2 – TOOL_D/2] Y-[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 X[ X_WIDE – CORNER_R*2] Z[-Z_DEPTH_X]N[UN] G91 G3 J[CORNER_R*2/2 – TOOL_D/2] X[CORNER_R*2/2 – TOOL_D/2] Y [CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 Y[ Y_WIDE – CORNER_R*2] Z[-Z_DEPTH_Y]N[UN] G91 G3 I-[CORNER_R*2/2 – TOOL_D/2] X-[CORNER_R*2/2 – TOOL_D/2 ] Y[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

%COUNT = COUNT+1;—————————————————————–
%C_DEPTH = C_DEPTH – A_DEPTH
%UN = [(计数 <= NO_CUT) ?计数 : -1]N[UN] G91 G1 X[ -X_WIDE +CORNER_R*2] Z[-Z_DEPTH_X]N[UN] G91 G3 J-[CORNER_R*2/2 – TOOL_D/2] X-[CORNER_R*2 /2 – TOOL_D/2] Y-[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 Y[ -Y_WIDE +CORNER_R*2] Z[-Z_DEPTH_Y]N[UN] G91 G3 I[CORNER_R*2/2 – TOOL_D/2] X[CORNER_R*2/2 – TOOL_D/2] Y-[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 X[ X_WIDE – CORNER_R*2] Z[-Z_DEPTH_X]N[UN] G91 G3 J[CORNER_R*2/2 – TOOL_D/2] X[CORNER_R*2/2 – TOOL_D/2] Y [CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 Y[ Y_WIDE – CORNER_R*2] Z[-Z_DEPTH_Y]N[UN] G91 G3 I-[CORNER_R*2/2 – TOOL_D/2] X-[CORNER_R*2/2 – TOOL_D/2 ] Y[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

%COUNT = COUNT+1;—————————————————————–
%C_DEPTH = C_DEPTH – A_DEPTH
%UN = [(计数 <= NO_CUT) ?计数 : -1]N[UN] G91 G1 X[ -X_WIDE +CORNER_R*2] Z[-Z_DEPTH_X]N[UN] G91 G3 J-[CORNER_R*2/2 – TOOL_D/2] X-[CORNER_R*2 /2 – TOOL_D/2] Y-[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 Y[ -Y_WIDE +CORNER_R*2] Z[-Z_DEPTH_Y]N[UN] G91 G3 I[CORNER_R*2/2 – TOOL_D/2] X[CORNER_R*2/2 – TOOL_D/2] Y-[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 X[ X_WIDE – CORNER_R*2] Z[-Z_DEPTH_X]N[UN] G91 G3 J[CORNER_R*2/2 – TOOL_D/2] X[CORNER_R*2/2 – TOOL_D/2] Y [CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 Y[ Y_WIDE – CORNER_R*2] Z[-Z_DEPTH_Y]N[UN] G91 G3 I-[CORNER_R*2/2 – TOOL_D/2] X-[CORNER_R*2/2 – TOOL_D/2 ] Y[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

%COUNT = COUNT+1;—————————————————————–
%C_DEPTH = C_DEPTH – A_DEPTH
%UN = [(计数 <= NO_CUT) ?计数 : -1]N[UN] G91 G1 X[ -X_WIDE +CORNER_R*2] Z[-Z_DEPTH_X]N[UN] G91 G3 J-[CORNER_R*2/2 – TOOL_D/2] X-[CORNER_R*2 /2 – TOOL_D/2] Y-[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 Y[ -Y_WIDE +CORNER_R*2] Z[-Z_DEPTH_Y]N[UN] G91 G3 I[CORNER_R*2/2 – TOOL_D/2] X[CORNER_R*2/2 – TOOL_D/2] Y-[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 X[ X_WIDE – CORNER_R*2] Z[-Z_DEPTH_X]N[UN] G91 G3 J[CORNER_R*2/2 – TOOL_D/2] X[CORNER_R*2/2 – TOOL_D/2] Y [CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 Y[ Y_WIDE – CORNER_R*2] Z[-Z_DEPTH_Y]N[UN] G91 G3 I-[CORNER_R*2/2 – TOOL_D/2] X-[CORNER_R*2/2 – TOOL_D/2 ] Y[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

%COUNT = COUNT+1;—————————————————————–
%C_DEPTH = C_DEPTH – A_DEPTH
%UN = [(计数 <= NO_CUT) ?计数 : -1]N[UN] G91 G1 X[ -X_WIDE +CORNER_R*2] Z[-Z_DEPTH_X]N[UN] G91 G3 J-[CORNER_R*2/2 – TOOL_D/2] X-[CORNER_R*2 /2 – TOOL_D/2] Y-[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 Y[ -Y_WIDE +CORNER_R*2] Z[-Z_DEPTH_Y]N[UN] G91 G3 I[CORNER_R*2/2 – TOOL_D/2] X[CORNER_R*2/2 – TOOL_D/2] Y-[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 X[ X_WIDE – CORNER_R*2] Z[-Z_DEPTH_X]N[UN] G91 G3 J[CORNER_R*2/2 – TOOL_D/2] X[CORNER_R*2/2 – TOOL_D/2] Y [CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 Y[ Y_WIDE – CORNER_R*2] Z[-Z_DEPTH_Y]N[UN] G91 G3 I-[CORNER_R*2/2 – TOOL_D/2] X-[CORNER_R*2/2 – TOOL_D/2 ] Y[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

%COUNT = COUNT+1;—————————————————————–
%C_DEPTH = C_DEPTH – A_DEPTH
%UN = [(计数 <= NO_CUT) ?计数 : -1]N[UN] G91 G1 X[ -X_WIDE +CORNER_R*2] Z[-Z_DEPTH_X]N[UN] G91 G3 J-[CORNER_R*2/2 – TOOL_D/2] X-[CORNER_R*2 /2 – TOOL_D/2] Y-[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 Y[ -Y_WIDE +CORNER_R*2] Z[-Z_DEPTH_Y]N[UN] G91 G3 I[CORNER_R*2/2 – TOOL_D/2] X[CORNER_R*2/2 – TOOL_D/2] Y-[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 X[ X_WIDE – CORNER_R*2] Z[-Z_DEPTH_X]N[UN] G91 G3 J[CORNER_R*2/2 – TOOL_D/2] X[CORNER_R*2/2 – TOOL_D/2] Y [CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 Y[ Y_WIDE – CORNER_R*2] Z[-Z_DEPTH_Y]N[UN] G91 G3 I-[CORNER_R*2/2 – TOOL_D/2] X-[CORNER_R*2/2 – TOOL_D/2 ] Y[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

%COUNT = COUNT+1;—————————————————————–
%C_DEPTH = C_DEPTH – A_DEPTH
%UN = [(计数 <= NO_CUT) ?计数 : -1]N[UN] G91 G1 X[ -X_WIDE +CORNER_R*2] Z[-Z_DEPTH_X]N[UN] G91 G3 J-[CORNER_R*2/2 – TOOL_D/2] X-[CORNER_R*2 /2 – TOOL_D/2] Y-[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 Y[ -Y_WIDE +CORNER_R*2] Z[-Z_DEPTH_Y]N[UN] G91 G3 I[CORNER_R*2/2 – TOOL_D/2] X[CORNER_R*2/2 – TOOL_D/2] Y-[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 X[ X_WIDE – CORNER_R*2] Z[-Z_DEPTH_X]N[UN] G91 G3 J[CORNER_R*2/2 – TOOL_D/2] X[CORNER_R*2/2 – TOOL_D/2] Y [CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 Y[ Y_WIDE – CORNER_R*2] Z[-Z_DEPTH_Y]N[UN] G91 G3 I-[CORNER_R*2/2 – TOOL_D/2] X-[CORNER_R*2/2 – TOOL_D/2 ] Y[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

%COUNT = COUNT+1;—————————————————————–
%C_DEPTH = C_DEPTH – A_DEPTH
%UN = [(计数 <= NO_CUT) ?计数 : -1]N[UN] G91 G1 X[ -X_WIDE +CORNER_R*2] Z[-Z_DEPTH_X]N[UN] G91 G3 J-[CORNER_R*2/2 – TOOL_D/2] X-[CORNER_R*2 /2 – TOOL_D/2] Y-[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 Y[ -Y_WIDE +CORNER_R*2] Z[-Z_DEPTH_Y]N[UN] G91 G3 I[CORNER_R*2/2 – TOOL_D/2] X[CORNER_R*2/2 – TOOL_D/2] Y-[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 X[ X_WIDE – CORNER_R*2] Z[-Z_DEPTH_X]N[UN] G91 G3 J[CORNER_R*2/2 – TOOL_D/2] X[CORNER_R*2/2 – TOOL_D/2] Y [CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 Y[ Y_WIDE – CORNER_R*2] Z[-Z_DEPTH_Y]N[UN] G91 G3 I-[CORNER_R*2/2 – TOOL_D/2] X-[CORNER_R*2/2 – TOOL_D/2 ] Y[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

%COUNT = COUNT+1;—————————————————————–
%C_DEPTH = C_DEPTH – A_DEPTH
%UN = [(计数 <= NO_CUT) ?计数 : -1]N[UN] G91 G1 X[ -X_WIDE +CORNER_R*2] Z[-Z_DEPTH_X]N[UN] G91 G3 J-[CORNER_R*2/2 – TOOL_D/2] X-[CORNER_R*2 /2 – TOOL_D/2] Y-[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 Y[ -Y_WIDE +CORNER_R*2] Z[-Z_DEPTH_Y]N[UN] G91 G3 I[CORNER_R*2/2 – TOOL_D/2] X[CORNER_R*2/2 – TOOL_D/2] Y-[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 X[ X_WIDE – CORNER_R*2] Z[-Z_DEPTH_X]N[UN] G91 G3 J[CORNER_R*2/2 – TOOL_D/2] X[CORNER_R*2/2 – TOOL_D/2] Y [CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 Y[ Y_WIDE – CORNER_R*2] Z[-Z_DEPTH_Y]N[UN] G91 G3 I-[CORNER_R*2/2 – TOOL_D/2] X-[CORNER_R*2/2 – TOOL_D/2 ] Y[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

%COUNT = COUNT+1;—————————————————————–
%C_DEPTH = C_DEPTH – A_DEPTH
%UN = [(计数 <= NO_CUT) ?计数 : -1]N[UN] G91 G1 X[ -X_WIDE +CORNER_R*2] Z[-Z_DEPTH_X]N[UN] G91 G3 J-[CORNER_R*2/2 – TOOL_D/2] X-[CORNER_R*2 /2 – TOOL_D/2] Y-[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 Y[ -Y_WIDE +CORNER_R*2] Z[-Z_DEPTH_Y]N[UN] G91 G3 I[CORNER_R*2/2 – TOOL_D/2] X[CORNER_R*2/2 – TOOL_D/2] Y-[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 X[ X_WIDE – CORNER_R*2] Z[-Z_DEPTH_X]N[UN] G91 G3 J[CORNER_R*2/2 – TOOL_D/2] X[CORNER_R*2/2 – TOOL_D/2] Y [CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 Y[ Y_WIDE – CORNER_R*2] Z[-Z_DEPTH_Y]N[UN] G91 G3 I-[CORNER_R*2/2 – TOOL_D/2] X-[CORNER_R*2/2 – TOOL_D/2 ] Y[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

%COUNT = COUNT+1;—————————————————————–
%C_DEPTH = C_DEPTH – A_DEPTH
%UN = [(计数 <= NO_CUT) ?计数 : -1]N[UN] G91 G1 X[ -X_WIDE +CORNER_R*2] Z[-Z_DEPTH_X]N[UN] G91 G3 J-[CORNER_R*2/2 – TOOL_D/2] X-[CORNER_R*2 /2 – TOOL_D/2] Y-[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 Y[ -Y_WIDE +CORNER_R*2] Z[-Z_DEPTH_Y]N[UN] G91 G3 I[CORNER_R*2/2 – TOOL_D/2] X[CORNER_R*2/2 – TOOL_D/2] Y-[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 X[ X_WIDE – CORNER_R*2] Z[-Z_DEPTH_X]N[UN] G91 G3 J[CORNER_R*2/2 – TOOL_D/2] X[CORNER_R*2/2 – TOOL_D/2] Y [CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 Y[ Y_WIDE – CORNER_R*2] Z[-Z_DEPTH_Y]N[UN] G91 G3 I-[CORNER_R*2/2 – TOOL_D/2] X-[CORNER_R*2/2 – TOOL_D/2 ] Y[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

%COUNT = COUNT+1;—————————————————————–
%C_DEPTH = C_DEPTH – A_DEPTH
%UN = [(计数 <= NO_CUT) ?计数 : -1]N[UN] G91 G1 X[ -X_WIDE +CORNER_R*2] Z[-Z_DEPTH_X]N[UN] G91 G3 J-[CORNER_R*2/2 – TOOL_D/2] X-[CORNER_R*2 /2 – TOOL_D/2] Y-[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 Y[ -Y_WIDE +CORNER_R*2] Z[-Z_DEPTH_Y]N[UN] G91 G3 I[CORNER_R*2/2 – TOOL_D/2] X[CORNER_R*2/2 – TOOL_D/2] Y-[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 X[ X_WIDE – CORNER_R*2] Z[-Z_DEPTH_X]N[UN] G91 G3 J[CORNER_R*2/2 – TOOL_D/2] X[CORNER_R*2/2 – TOOL_D/2] Y [CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 Y[ Y_WIDE – CORNER_R*2] Z[-Z_DEPTH_Y]N[UN] G91 G3 I-[CORNER_R*2/2 – TOOL_D/2] X-[CORNER_R*2/2 – TOOL_D/2 ] Y[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

%COUNT = COUNT+1;—————————————————————–
%C_DEPTH = C_DEPTH – A_DEPTH
%UN = [(计数 <= NO_CUT) ?计数 : -1]N[UN] G91 G1 X[ -X_WIDE +CORNER_R*2] Z[-Z_DEPTH_X]N[UN] G91 G3 J-[CORNER_R*2/2 – TOOL_D/2] X-[CORNER_R*2 /2 – TOOL_D/2] Y-[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 Y[ -Y_WIDE +CORNER_R*2] Z[-Z_DEPTH_Y]N[UN] G91 G3 I[CORNER_R*2/2 – TOOL_D/2] X[CORNER_R*2/2 – TOOL_D/2] Y-[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 X[ X_WIDE – CORNER_R*2] Z[-Z_DEPTH_X]N[UN] G91 G3 J[CORNER_R*2/2 – TOOL_D/2] X[CORNER_R*2/2 – TOOL_D/2] Y [CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 Y[ Y_WIDE – CORNER_R*2] Z[-Z_DEPTH_Y]N[UN] G91 G3 I-[CORNER_R*2/2 – TOOL_D/2] X-[CORNER_R*2/2 – TOOL_D/2 ] Y[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

%COUNT = COUNT+1;—————————————————————–
%C_DEPTH = C_DEPTH – A_DEPTH
%UN = [(计数 <= NO_CUT) ?计数 : -1]N[UN] G91 G1 X[ -X_WIDE +CORNER_R*2] Z[-Z_DEPTH_X]N[UN] G91 G3 J-[CORNER_R*2/2 – TOOL_D/2] X-[CORNER_R*2 /2 – TOOL_D/2] Y-[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 Y[ -Y_WIDE +CORNER_R*2] Z[-Z_DEPTH_Y]N[UN] G91 G3 I[CORNER_R*2/2 – TOOL_D/2] X[CORNER_R*2/2 – TOOL_D/2] Y-[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 X[ X_WIDE – CORNER_R*2] Z[-Z_DEPTH_X]N[UN] G91 G3 J[CORNER_R*2/2 – TOOL_D/2] X[CORNER_R*2/2 – TOOL_D/2] Y [CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 Y[ Y_WIDE – CORNER_R*2] Z[-Z_DEPTH_Y]N[UN] G91 G3 I-[CORNER_R*2/2 – TOOL_D/2] X-[CORNER_R*2/2 – TOOL_D/2 ] Y[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

%COUNT = COUNT+1;—————————————————————–
%C_DEPTH = C_DEPTH – A_DEPTH
%UN = [(计数 <= NO_CUT) ?计数 : -1]N[UN] G91 G1 X[ -X_WIDE +CORNER_R*2] Z[-Z_DEPTH_X]N[UN] G91 G3 J-[CORNER_R*2/2 – TOOL_D/2] X-[CORNER_R*2 /2 – TOOL_D/2] Y-[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 Y[ -Y_WIDE +CORNER_R*2] Z[-Z_DEPTH_Y]N[UN] G91 G3 I[CORNER_R*2/2 – TOOL_D/2] X[CORNER_R*2/2 – TOOL_D/2] Y-[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 X[ X_WIDE – CORNER_R*2] Z[-Z_DEPTH_X]N[UN] G91 G3 J[CORNER_R*2/2 – TOOL_D/2] X[CORNER_R*2/2 – TOOL_D/2] Y [CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 Y[ Y_WIDE – CORNER_R*2] Z[-Z_DEPTH_Y]N[UN] G91 G3 I-[CORNER_R*2/2 – TOOL_D/2] X-[CORNER_R*2/2 – TOOL_D/2 ] Y[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

%COUNT = COUNT+1;—————————————————————–
%C_DEPTH = C_DEPTH – A_DEPTH
%UN = [(计数 <= NO_CUT) ?计数 : -1]N[UN] G91 G1 X[ -X_WIDE +CORNER_R*2] Z[-Z_DEPTH_X]N[UN] G91 G3 J-[CORNER_R*2/2 – TOOL_D/2] X-[CORNER_R*2 /2 – TOOL_D/2] Y-[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 Y[ -Y_WIDE +CORNER_R*2] Z[-Z_DEPTH_Y]N[UN] G91 G3 I[CORNER_R*2/2 – TOOL_D/2] X[CORNER_R*2/2 – TOOL_D/2] Y-[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 X[ X_WIDE – CORNER_R*2] Z[-Z_DEPTH_X]N[UN] G91 G3 J[CORNER_R*2/2 – TOOL_D/2] X[CORNER_R*2/2 – TOOL_D/2] Y [CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 Y[ Y_WIDE – CORNER_R*2] Z[-Z_DEPTH_Y]N[UN] G91 G3 I-[CORNER_R*2/2 – TOOL_D/2] X-[CORNER_R*2/2 – TOOL_D/2 ] Y[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

%COUNT = COUNT+1;—————————————————————–
%C_DEPTH = C_DEPTH – A_DEPTH
%UN = [(计数 <= NO_CUT) ?计数 : -1]N[UN] G91 G1 X[ -X_WIDE +CORNER_R*2] Z[-Z_DEPTH_X]N[UN] G91 G3 J-[CORNER_R*2/2 – TOOL_D/2] X-[CORNER_R*2 /2 – TOOL_D/2] Y-[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 Y[ -Y_WIDE +CORNER_R*2] Z[-Z_DEPTH_Y]N[UN] G91 G3 I[CORNER_R*2/2 – TOOL_D/2] X[CORNER_R*2/2 – TOOL_D/2] Y-[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 X[ X_WIDE – CORNER_R*2] Z[-Z_DEPTH_X]N[UN] G91 G3 J[CORNER_R*2/2 – TOOL_D/2] X[CORNER_R*2/2 – TOOL_D/2] Y [CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 Y[ Y_WIDE – CORNER_R*2] Z[-Z_DEPTH_Y]N[UN] G91 G3 I-[CORNER_R*2/2 – TOOL_D/2] X-[CORNER_R*2/2 – TOOL_D/2 ] Y[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

%COUNT = COUNT+1;—————————————————————–
%C_DEPTH = C_DEPTH – A_DEPTH
%UN = [(计数 <= NO_CUT) ?计数 : -1]N[UN] G91 G1 X[ -X_WIDE +CORNER_R*2] Z[-Z_DEPTH_X]N[UN] G91 G3 J-[CORNER_R*2/2 – TOOL_D/2] X-[CORNER_R*2 /2 – TOOL_D/2] Y-[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 Y[ -Y_WIDE +CORNER_R*2] Z[-Z_DEPTH_Y]N[UN] G91 G3 I[CORNER_R*2/2 – TOOL_D/2] X[CORNER_R*2/2 – TOOL_D/2] Y-[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 X[ X_WIDE – CORNER_R*2] Z[-Z_DEPTH_X]N[UN] G91 G3 J[CORNER_R*2/2 – TOOL_D/2] X[CORNER_R*2/2 – TOOL_D/2] Y [CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 Y[ Y_WIDE – CORNER_R*2] Z[-Z_DEPTH_Y]N[UN] G91 G3 I-[CORNER_R*2/2 – TOOL_D/2] X-[CORNER_R*2/2 – TOOL_D/2 ] Y[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

%COUNT = COUNT+1;—————————————————————–
%C_DEPTH = C_DEPTH – A_DEPTH
%UN = [(计数 <= NO_CUT) ?计数 : -1]N[UN] G91 G1 X[ -X_WIDE +CORNER_R*2] Z[-Z_DEPTH_X]N[UN] G91 G3 J-[CORNER_R*2/2 – TOOL_D/2] X-[CORNER_R*2 /2 – TOOL_D/2] Y-[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 Y[ -Y_WIDE +CORNER_R*2] Z[-Z_DEPTH_Y]N[UN] G91 G3 I[CORNER_R*2/2 – TOOL_D/2] X[CORNER_R*2/2 – TOOL_D/2] Y-[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 X[ X_WIDE – CORNER_R*2] Z[-Z_DEPTH_X]N[UN] G91 G3 J[CORNER_R*2/2 – TOOL_D/2] X[CORNER_R*2/2 – TOOL_D/2] Y [CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 Y[ Y_WIDE – CORNER_R*2] Z[-Z_DEPTH_Y]N[UN] G91 G3 I-[CORNER_R*2/2 – TOOL_D/2] X-[CORNER_R*2/2 – TOOL_D/2 ] Y[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

%COUNT = COUNT+1;—————————————————————–
%C_DEPTH = C_DEPTH – A_DEPTH
%UN = [(计数 <= NO_CUT) ?计数 : -1]N[UN] G91 G1 X[ -X_WIDE +CORNER_R*2] Z[-Z_DEPTH_X]N[UN] G91 G3 J-[CORNER_R*2/2 – TOOL_D/2] X-[CORNER_R*2 /2 – TOOL_D/2] Y-[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 Y[ -Y_WIDE +CORNER_R*2] Z[-Z_DEPTH_Y]N[UN] G91 G3 I[CORNER_R*2/2 – TOOL_D/2] X[CORNER_R*2/2 – TOOL_D/2] Y-[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 X[ X_WIDE – CORNER_R*2] Z[-Z_DEPTH_X]N[UN] G91 G3 J[CORNER_R*2/2 – TOOL_D/2] X[CORNER_R*2/2 – TOOL_D/2] Y [CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 Y[ Y_WIDE – CORNER_R*2] Z[-Z_DEPTH_Y]N[UN] G91 G3 I-[CORNER_R*2/2 – TOOL_D/2] X-[CORNER_R*2/2 – TOOL_D/2 ] Y[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

%COUNT = COUNT+1;—————————————————————–
%C_DEPTH = C_DEPTH – A_DEPTH
%UN = [(计数 <= NO_CUT) ?计数 : -1]N[UN] G91 G1 X[ -X_WIDE +CORNER_R*2] Z[-Z_DEPTH_X]N[UN] G91 G3 J-[CORNER_R*2/2 – TOOL_D/2] X-[CORNER_R*2 /2 – TOOL_D/2] Y-[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 Y[ -Y_WIDE +CORNER_R*2] Z[-Z_DEPTH_Y]N[UN] G91 G3 I[CORNER_R*2/2 – TOOL_D/2] X[CORNER_R*2/2 – TOOL_D/2] Y-[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 X[ X_WIDE – CORNER_R*2] Z[-Z_DEPTH_X]N[UN] G91 G3 J[CORNER_R*2/2 – TOOL_D/2] X[CORNER_R*2/2 – TOOL_D/2] Y [CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 Y[ Y_WIDE – CORNER_R*2] Z[-Z_DEPTH_Y]N[UN] G91 G3 I-[CORNER_R*2/2 – TOOL_D/2] X-[CORNER_R*2/2 – TOOL_D/2 ] Y[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

%COUNT = COUNT+1;—————————————————————–
%C_DEPTH = C_DEPTH – A_DEPTH
%UN = [(计数 <= NO_CUT) ?计数 : -1]N[UN] G91 G1 X[ -X_WIDE +CORNER_R*2] Z[-Z_DEPTH_X]N[UN] G91 G3 J-[CORNER_R*2/2 – TOOL_D/2] X-[CORNER_R*2 /2 – TOOL_D/2] Y-[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 Y[ -Y_WIDE +CORNER_R*2] Z[-Z_DEPTH_Y]N[UN] G91 G3 I[CORNER_R*2/2 – TOOL_D/2] X[CORNER_R*2/2 – TOOL_D/2] Y-[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 X[ X_WIDE – CORNER_R*2] Z[-Z_DEPTH_X]N[UN] G91 G3 J[CORNER_R*2/2 – TOOL_D/2] X[CORNER_R*2/2 – TOOL_D/2] Y [CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 Y[ Y_WIDE – CORNER_R*2] Z[-Z_DEPTH_Y]N[UN] G91 G3 I-[CORNER_R*2/2 – TOOL_D/2] X-[CORNER_R*2/2 – TOOL_D/2 ] Y[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

%COUNT = COUNT+1;—————————————————————–
%C_DEPTH = C_DEPTH – A_DEPTH
%UN = [(计数 <= NO_CUT) ?计数 : -1]N[UN] G91 G1 X[ -X_WIDE +CORNER_R*2] Z[-Z_DEPTH_X]N[UN] G91 G3 J-[CORNER_R*2/2 – TOOL_D/2] X-[CORNER_R*2 /2 – TOOL_D/2] Y-[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 Y[ -Y_WIDE +CORNER_R*2] Z[-Z_DEPTH_Y]N[UN] G91 G3 I[CORNER_R*2/2 – TOOL_D/2] X[CORNER_R*2/2 – TOOL_D/2] Y-[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 X[ X_WIDE – CORNER_R*2] Z[-Z_DEPTH_X]N[UN] G91 G3 J[CORNER_R*2/2 – TOOL_D/2] X[CORNER_R*2/2 – TOOL_D/2] Y [CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 Y[ Y_WIDE – CORNER_R*2] Z[-Z_DEPTH_Y]N[UN] G91 G3 I-[CORNER_R*2/2 – TOOL_D/2] X-[CORNER_R*2/2 – TOOL_D/2 ] Y[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

%COUNT = COUNT+1;—————————————————————–
%C_DEPTH = C_DEPTH – A_DEPTH
%UN = [(计数 <= NO_CUT) ?计数 : -1]N[UN] G91 G1 X[ -X_WIDE +CORNER_R*2] Z[-Z_DEPTH_X]N[UN] G91 G3 J-[CORNER_R*2/2 – TOOL_D/2] X-[CORNER_R*2 /2 – TOOL_D/2] Y-[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 Y[ -Y_WIDE +CORNER_R*2] Z[-Z_DEPTH_Y]N[UN] G91 G3 I[CORNER_R*2/2 – TOOL_D/2] X[CORNER_R*2/2 – TOOL_D/2] Y-[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 X[ X_WIDE – CORNER_R*2] Z[-Z_DEPTH_X]N[UN] G91 G3 J[CORNER_R*2/2 – TOOL_D/2] X[CORNER_R*2/2 – TOOL_D/2] Y [CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 Y[ Y_WIDE – CORNER_R*2] Z[-Z_DEPTH_Y]N[UN] G91 G3 I-[CORNER_R*2/2 – TOOL_D/2] X-[CORNER_R*2/2 – TOOL_D/2 ] Y[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

%COUNT = COUNT+1;—————————————————————–
%C_DEPTH = C_DEPTH – A_DEPTH
%UN = [(计数 <= NO_CUT) ?计数 : -1]N[UN] G91 G1 X[ -X_WIDE +CORNER_R*2] Z[-Z_DEPTH_X]N[UN] G91 G3 J-[CORNER_R*2/2 – TOOL_D/2] X-[CORNER_R*2 /2 – TOOL_D/2] Y-[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 Y[ -Y_WIDE +CORNER_R*2] Z[-Z_DEPTH_Y]N[UN] G91 G3 I[CORNER_R*2/2 – TOOL_D/2] X[CORNER_R*2/2 – TOOL_D/2] Y-[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 X[ X_WIDE – CORNER_R*2] Z[-Z_DEPTH_X]N[UN] G91 G3 J[CORNER_R*2/2 – TOOL_D/2] X[CORNER_R*2/2 – TOOL_D/2] Y [CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 Y[ Y_WIDE – CORNER_R*2] Z[-Z_DEPTH_Y]N[UN] G91 G3 I-[CORNER_R*2/2 – TOOL_D/2] X-[CORNER_R*2/2 – TOOL_D/2 ] Y[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

%COUNT = COUNT+1;—————————————————————–
%C_DEPTH = C_DEPTH – A_DEPTH
%UN = [(计数 <= NO_CUT) ?计数 : -1]N[UN] G91 G1 X[ -X_WIDE +CORNER_R*2] Z[-Z_DEPTH_X]N[UN] G91 G3 J-[CORNER_R*2/2 – TOOL_D/2] X-[CORNER_R*2 /2 – TOOL_D/2] Y-[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 Y[ -Y_WIDE +CORNER_R*2] Z[-Z_DEPTH_Y]N[UN] G91 G3 I[CORNER_R*2/2 – TOOL_D/2] X[CORNER_R*2/2 – TOOL_D/2] Y-[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 X[ X_WIDE – CORNER_R*2] Z[-Z_DEPTH_X]N[UN] G91 G3 J[CORNER_R*2/2 – TOOL_D/2] X[CORNER_R*2/2 – TOOL_D/2] Y [CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 Y[ Y_WIDE – CORNER_R*2] Z[-Z_DEPTH_Y]N[UN] G91 G3 I-[CORNER_R*2/2 – TOOL_D/2] X-[CORNER_R*2/2 – TOOL_D/2 ] Y[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

%COUNT = COUNT+1;—————————————————————–
%C_DEPTH = C_DEPTH – A_DEPTH
%UN = [(计数 <= NO_CUT) ?计数 : -1]N[UN] G91 G1 X[ -X_WIDE +CORNER_R*2] Z[-Z_DEPTH_X]N[UN] G91 G3 J-[CORNER_R*2/2 – TOOL_D/2] X-[CORNER_R*2 /2 – TOOL_D/2] Y-[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 Y[ -Y_WIDE +CORNER_R*2] Z[-Z_DEPTH_Y]N[UN] G91 G3 I[CORNER_R*2/2 – TOOL_D/2] X[CORNER_R*2/2 – TOOL_D/2] Y-[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 X[ X_WIDE – CORNER_R*2] Z[-Z_DEPTH_X]N[UN] G91 G3 J[CORNER_R*2/2 – TOOL_D/2] X[CORNER_R*2/2 – TOOL_D/2] Y [CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 Y[ Y_WIDE – CORNER_R*2] Z[-Z_DEPTH_Y]N[UN] G91 G3 I-[CORNER_R*2/2 – TOOL_D/2] X-[CORNER_R*2/2 – TOOL_D/2 ] Y[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

%COUNT = COUNT+1;—————————————————————–
%C_DEPTH = C_DEPTH – A_DEPTH
%UN = [(计数 <= NO_CUT) ?计数 : -1]N[UN] G91 G1 X[ -X_WIDE +CORNER_R*2] Z[-Z_DEPTH_X]N[UN] G91 G3 J-[CORNER_R*2/2 – TOOL_D/2] X-[CORNER_R*2 /2 – TOOL_D/2] Y-[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 Y[ -Y_WIDE +CORNER_R*2] Z[-Z_DEPTH_Y]N[UN] G91 G3 I[CORNER_R*2/2 – TOOL_D/2] X[CORNER_R*2/2 – TOOL_D/2] Y-[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 X[ X_WIDE – CORNER_R*2] Z[-Z_DEPTH_X]N[UN] G91 G3 J[CORNER_R*2/2 – TOOL_D/2] X[CORNER_R*2/2 – TOOL_D/2] Y [CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 Y[ Y_WIDE – CORNER_R*2] Z[-Z_DEPTH_Y]N[UN] G91 G3 I-[CORNER_R*2/2 – TOOL_D/2] X-[CORNER_R*2/2 – TOOL_D/2 ] Y[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

%COUNT = COUNT+1;—————————————————————–
%C_DEPTH = C_DEPTH – A_DEPTH
%UN = [(计数 <= NO_CUT) ?计数 : -1]N[UN] G91 G1 X[ -X_WIDE +CORNER_R*2] Z[-Z_DEPTH_X]N[UN] G91 G3 J-[CORNER_R*2/2 – TOOL_D/2] X-[CORNER_R*2 /2 – TOOL_D/2] Y-[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 Y[ -Y_WIDE +CORNER_R*2] Z[-Z_DEPTH_Y]N[UN] G91 G3 I[CORNER_R*2/2 – TOOL_D/2] X[CORNER_R*2/2 – TOOL_D/2] Y-[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 X[ X_WIDE – CORNER_R*2] Z[-Z_DEPTH_X]N[UN] G91 G3 J[CORNER_R*2/2 – TOOL_D/2] X[CORNER_R*2/2 – TOOL_D/2] Y [CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 Y[ Y_WIDE – CORNER_R*2] Z[-Z_DEPTH_Y]N[UN] G91 G3 I-[CORNER_R*2/2 – TOOL_D/2] X-[CORNER_R*2/2 – TOOL_D/2 ] Y[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

%COUNT = COUNT+1;—————————————————————–
%C_DEPTH = C_DEPTH – A_DEPTH
%UN = [(计数 <= NO_CUT) ?计数 : -1]N[UN] G91 G1 X[ -X_WIDE +CORNER_R*2] Z[-Z_DEPTH_X]N[UN] G91 G3 J-[CORNER_R*2/2 – TOOL_D/2] X-[CORNER_R*2 /2 – TOOL_D/2] Y-[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 Y[ -Y_WIDE +CORNER_R*2] Z[-Z_DEPTH_Y]N[UN] G91 G3 I[CORNER_R*2/2 – TOOL_D/2] X[CORNER_R*2/2 – TOOL_D/2] Y-[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 X[ X_WIDE – CORNER_R*2] Z[-Z_DEPTH_X]N[UN] G91 G3 J[CORNER_R*2/2 – TOOL_D/2] X[CORNER_R*2/2 – TOOL_D/2] Y [CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 Y[ Y_WIDE – CORNER_R*2] Z[-Z_DEPTH_Y]N[UN] G91 G3 I-[CORNER_R*2/2 – TOOL_D/2] X-[CORNER_R*2/2 – TOOL_D/2 ] Y[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

%COUNT = COUNT+1;—————————————————————–
%C_DEPTH = C_DEPTH – A_DEPTH
%UN = [(计数 <= NO_CUT) ?计数 : -1]N[UN] G91 G1 X[ -X_WIDE +CORNER_R*2] Z[-Z_DEPTH_X]N[UN] G91 G3 J-[CORNER_R*2/2 – TOOL_D/2] X-[CORNER_R*2 /2 – TOOL_D/2] Y-[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 Y[ -Y_WIDE +CORNER_R*2] Z[-Z_DEPTH_Y]N[UN] G91 G3 I[CORNER_R*2/2 – TOOL_D/2] X[CORNER_R*2/2 – TOOL_D/2] Y-[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 X[ X_WIDE – CORNER_R*2] Z[-Z_DEPTH_X]N[UN] G91 G3 J[CORNER_R*2/2 – TOOL_D/2] X[CORNER_R*2/2 – TOOL_D/2] Y [CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 Y[ Y_WIDE – CORNER_R*2] Z[-Z_DEPTH_Y]N[UN] G91 G3 I-[CORNER_R*2/2 – TOOL_D/2] X-[CORNER_R*2/2 – TOOL_D/2 ] Y[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

%COUNT = COUNT+1;—————————————————————–
%C_DEPTH = C_DEPTH – A_DEPTH
%UN = [(计数 <= NO_CUT) ?计数 : -1]N[UN] G91 G1 X[ -X_WIDE +CORNER_R*2] Z[-Z_DEPTH_X]N[UN] G91 G3 J-[CORNER_R*2/2 – TOOL_D/2] X-[CORNER_R*2 /2 – TOOL_D/2] Y-[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 Y[ -Y_WIDE +CORNER_R*2] Z[-Z_DEPTH_Y]N[UN] G91 G3 I[CORNER_R*2/2 – TOOL_D/2] X[CORNER_R*2/2 – TOOL_D/2] Y-[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 X[ X_WIDE – CORNER_R*2] Z[-Z_DEPTH_X]N[UN] G91 G3 J[CORNER_R*2/2 – TOOL_D/2] X[CORNER_R*2/2 – TOOL_D/2] Y [CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 Y[ Y_WIDE – CORNER_R*2] Z[-Z_DEPTH_Y]N[UN] G91 G3 I-[CORNER_R*2/2 – TOOL_D/2] X-[CORNER_R*2/2 – TOOL_D/2 ] Y[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

%COUNT = COUNT+1;—————————————————————–
%C_DEPTH = C_DEPTH – A_DEPTH
%UN = [(计数 <= NO_CUT) ?计数 : -1]N[UN] G91 G1 X[ -X_WIDE +CORNER_R*2] Z[-Z_DEPTH_X]N[UN] G91 G3 J-[CORNER_R*2/2 – TOOL_D/2] X-[CORNER_R*2 /2 – TOOL_D/2] Y-[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 Y[ -Y_WIDE +CORNER_R*2] Z[-Z_DEPTH_Y]N[UN] G91 G3 I[CORNER_R*2/2 – TOOL_D/2] X[CORNER_R*2/2 – TOOL_D/2] Y-[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 X[ X_WIDE – CORNER_R*2] Z[-Z_DEPTH_X]N[UN] G91 G3 J[CORNER_R*2/2 – TOOL_D/2] X[CORNER_R*2/2 – TOOL_D/2] Y [CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 Y[ Y_WIDE – CORNER_R*2] Z[-Z_DEPTH_Y]N[UN] G91 G3 I-[CORNER_R*2/2 – TOOL_D/2] X-[CORNER_R*2/2 – TOOL_D/2 ] Y[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

%COUNT = COUNT+1;—————————————————————–
%C_DEPTH = C_DEPTH – A_DEPTH
%UN = [(计数 <= NO_CUT) ?计数 : -1]N[UN] G91 G1 X[ -X_WIDE +CORNER_R*2] Z[-Z_DEPTH_X]N[UN] G91 G3 J-[CORNER_R*2/2 – TOOL_D/2] X-[CORNER_R*2 /2 – TOOL_D/2] Y-[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 Y[ -Y_WIDE +CORNER_R*2] Z[-Z_DEPTH_Y]N[UN] G91 G3 I[CORNER_R*2/2 – TOOL_D/2] X[CORNER_R*2/2 – TOOL_D/2] Y-[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 X[ X_WIDE – CORNER_R*2] Z[-Z_DEPTH_X]N[UN] G91 G3 J[CORNER_R*2/2 – TOOL_D/2] X[CORNER_R*2/2 – TOOL_D/2] Y [CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 Y[ Y_WIDE – CORNER_R*2] Z[-Z_DEPTH_Y]N[UN] G91 G3 I-[CORNER_R*2/2 – TOOL_D/2] X-[CORNER_R*2/2 – TOOL_D/2 ] Y[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

%COUNT = COUNT+1;—————————————————————–
%C_DEPTH = C_DEPTH – A_DEPTH
%UN = [(计数 <= NO_CUT) ?计数 : -1]N[UN] G91 G1 X[ -X_WIDE +CORNER_R*2] Z[-Z_DEPTH_X]N[UN] G91 G3 J-[CORNER_R*2/2 – TOOL_D/2] X-[CORNER_R*2 /2 – TOOL_D/2] Y-[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 Y[ -Y_WIDE +CORNER_R*2] Z[-Z_DEPTH_Y]N[UN] G91 G3 I[CORNER_R*2/2 – TOOL_D/2] X[CORNER_R*2/2 – TOOL_D/2] Y-[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 X[ X_WIDE – CORNER_R*2] Z[-Z_DEPTH_X]N[UN] G91 G3 J[CORNER_R*2/2 – TOOL_D/2] X[CORNER_R*2/2 – TOOL_D/2] Y [CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 Y[ Y_WIDE – CORNER_R*2] Z[-Z_DEPTH_Y]N[UN] G91 G3 I-[CORNER_R*2/2 – TOOL_D/2] X-[CORNER_R*2/2 – TOOL_D/2 ] Y[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

%COUNT = COUNT+1;—————————————————————–
%C_DEPTH = C_DEPTH – A_DEPTH
%UN = [(计数 <= NO_CUT) ?计数 : -1]N[UN] G91 G1 X[ -X_WIDE +CORNER_R*2] Z[-Z_DEPTH_X]N[UN] G91 G3 J-[CORNER_R*2/2 – TOOL_D/2] X-[CORNER_R*2 /2 – TOOL_D/2] Y-[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 Y[ -Y_WIDE +CORNER_R*2] Z[-Z_DEPTH_Y]N[UN] G91 G3 I[CORNER_R*2/2 – TOOL_D/2] X[CORNER_R*2/2 – TOOL_D/2] Y-[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 X[ X_WIDE – CORNER_R*2] Z[-Z_DEPTH_X]N[UN] G91 G3 J[CORNER_R*2/2 – TOOL_D/2] X[CORNER_R*2/2 – TOOL_D/2] Y [CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 Y[ Y_WIDE – CORNER_R*2] Z[-Z_DEPTH_Y]N[UN] G91 G3 I-[CORNER_R*2/2 – TOOL_D/2] X-[CORNER_R*2/2 – TOOL_D/2 ] Y[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

%COUNT = COUNT+1;—————————————————————–
%C_DEPTH = C_DEPTH – A_DEPTH
%UN = [(计数 <= NO_CUT) ?计数 : -1]N[UN] G91 G1 X[ -X_WIDE +CORNER_R*2] Z[-Z_DEPTH_X]N[UN] G91 G3 J-[CORNER_R*2/2 – TOOL_D/2] X-[CORNER_R*2 /2 – TOOL_D/2] Y-[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 Y[ -Y_WIDE +CORNER_R*2] Z[-Z_DEPTH_Y]N[UN] G91 G3 I[CORNER_R*2/2 – TOOL_D/2] X[CORNER_R*2/2 – TOOL_D/2] Y-[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 X[ X_WIDE – CORNER_R*2] Z[-Z_DEPTH_X]N[UN] G91 G3 J[CORNER_R*2/2 – TOOL_D/2] X[CORNER_R*2/2 – TOOL_D/2] Y [CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 Y[ Y_WIDE – CORNER_R*2] Z[-Z_DEPTH_Y]N[UN] G91 G3 I-[CORNER_R*2/2 – TOOL_D/2] X-[CORNER_R*2/2 – TOOL_D/2 ] Y[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

%COUNT = COUNT+1;—————————————————————–
%C_DEPTH = C_DEPTH – A_DEPTH
%UN = [(计数 <= NO_CUT) ?计数 : -1]N[UN] G91 G1 X[ -X_WIDE +CORNER_R*2] Z[-Z_DEPTH_X]N[UN] G91 G3 J-[CORNER_R*2/2 – TOOL_D/2] X-[CORNER_R*2 /2 – TOOL_D/2] Y-[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 Y[ -Y_WIDE +CORNER_R*2] Z[-Z_DEPTH_Y]N[UN] G91 G3 I[CORNER_R*2/2 – TOOL_D/2] X[CORNER_R*2/2 – TOOL_D/2] Y-[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 X[ X_WIDE – CORNER_R*2] Z[-Z_DEPTH_X]N[UN] G91 G3 J[CORNER_R*2/2 – TOOL_D/2] X[CORNER_R*2/2 – TOOL_D/2] Y [CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

N[UN] G91 G1 Y[ Y_WIDE – CORNER_R*2] Z[-Z_DEPTH_Y]N[UN] G91 G3 I-[CORNER_R*2/2 – TOOL_D/2] X-[CORNER_R*2/2 – TOOL_D/2 ] Y[CORNER_R*2/2 – TOOL_D/2] Z[Z_DEPTH_R]

;仕上げ加工
%UN = 9999
G90 G1 Z[Z_DEPTH]N[UN] G91 G1 X[ -X_WIDE +CORNER_R*2]
N[UN] G91 G3 J-[CORNER_R*2/2 – TOOL_D/2] X-[CORNER_R*2/2 – TOOL_D/2] Y-[CORNER_R*2/2 – TOOL_D/2]

N[UN] G91 G1 Y[ -Y_WIDE + CORNER_R*2]
N[UN] G91 G3 I[CORNER_R*2/2 – TOOL_D/2] X[CORNER_R*2/2 – TOOL_D/2] Y-[CORNER_R*2/2 – TOOL_D/2]

N[UN] G91 G1 X[ X_WIDE – CORNER_R*2]
N[UN] G91 G3 J[CORNER_R*2/2 – TOOL_D/2] X[CORNER_R*2/2 – TOOL_D/2] Y[CORNER_R*2/2 – TOOL_D/2]

N[UN] G91 G1 Y[ Y_WIDE – CORNER_R*2]
N[UN] G91 G3 I-[CORNER_R*2/2 – TOOL_D/2] X-[CORNER_R*2/2 – TOOL_D/2] Y[CORNER_R*2/2 – TOOL_D/2]

G90 G0 Z[Z_ST+5]M5
M30