Расширяя границы домашней обработки с помощью G-Code, GRBL, CNCJS и Macro Magic

от | 10 марта 2024 г. | 5-осевой станок с ЧПУ своими руками マシン, 工作機械の基礎, ЧПУルーター | Нет комментариев

Программы, которые будут использоваться с функцией макроса CNCjs

Программа непрерывной линейной обработки

Эта программа ЧПУ предназначена для операции обработки, которая последовательно выполняет резку по трем линиям, определяемым точками A, B и C, за три отдельных прохода, каждый из которых глубже предыдущего. Вот разбивка переменных и их использования:

Переменные

  • PTH: общая глубина разреза установлена на -9 единиц. Это значение отрицательное, поскольку станки с ЧПУ используют отрицательные значения для представления движения вниз в материал.
  • %POINT_A_X, %POINT_A_Y: координаты X и Y точки A, обозначающие начало первой линии.
  • %POINT_B_X, %POINT_B_Y: координаты X и Y точки B, конца первой линии и начала второй.
  • %POINT_C_X, %POINT_C_Y: координаты X и Y точки C, конца второй линии и теоретически возврата к началу координат, если это замкнутая форма.

Применение

  1. Настраивать: Убедитесь, что станок с ЧПУ настроен на метрические единицы измерения (G21) и скорость шпинделя (С5000) и скорость подачи (F30) установлены.
  2. Начальное позиционирование: Программа запускается с перемещения инструмента на безопасную высоту (Z5) над материалом, а затем позиционирует инструмент в начале координат (Х0 Y0).
  3. Процесс резки:
    • Инструмент опускается на поверхность (Z0), а затем начинается процесс резки.
    • За каждый из трех проходов инструмент опускается на треть общей глубины (PTH/3), а затем последовательно движется по линиям от точки А к Б к С, создавая непрерывный путь.
    • После каждого прохода инструмент отводится на безопасную высоту (Z13), останавливает шпиндель (М5), возвращается в начало координат (Х0 Y0) и паузы (М0). Перед началом следующего прохода шпиндель перезапускается (М3), и инструмент возвращается вниз (Z-13 минус дополнительная глубина).
  4. Завершение: После последнего прохода программа завершается М30, сигнализируя об окончании программы и перезагружая машину для следующей операции.

Ключевые моменты

  • Глубина инструмента постепенно увеличивается с каждым проходом, что делает эту программу идеальной для постепенного удаления материала, обеспечения точности и предотвращения чрезмерной нагрузки на инструмент.
  • Использование относительных координат (G91) для движения гарантирует, что каждое действие основывается на предыдущем, что позволяет легко корректировать путь без перерасчета от фиксированного начала координат.
  • Эта программа подходит для операций, требующих нескольких проходов с контролируемой глубиной, таких как гравировка, резка каналов или создание сложных форм с точным контролем глубины.
Программа непрерывной линейной обработки (Awesome LINES Freak)

;Потрясающий урод LINES

Г90 Г94
G17
G21;ММ
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

С5000 М3
F30

G90
Г0 З5
Х0 Y0

Г0 З0

;1
G91 G1 Z[DEPTH/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
М5
G90 Х0 Y0
М0
М3
G91 G0 Z-13

;2
G91 G1 Z[DEPTH/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
М5
G90 Х0 Y0
М0
М3
G91 G0 Z-13

;3
G91 G1 Z[DEPTH/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
М5
G90 Х0 Y0
М30

Программа для изготовления отверстий

В этой программе ЧПУ переменные настройки и условное ветвление используются для автоматизации и точного многократного выполнения операций сверления отверстий или обработки круговых канавок. Вот подробное объяснение:

Настройки переменных

  • %TOOL_D = 3: Устанавливает диаметр инструмента на 3 мм.
  • %ДИАМЕТР = 20: устанавливает диаметр обрабатываемого круга на 20 мм.
  • %Z_ST = 0: Устанавливает начальную координату Z для обработки на 0.
  • %Z_DEPTH = -8: устанавливает конечную координату Z для обработки на уровне -8 мм, указывая общую глубину удаляемого материала.
  • %NO_CUT = 20: устанавливает количество проходов (раундов обработки) на 20.
  • %A_DEPTH = [Z_DEPTH - Z_ST] / NO_CUT: Расчет глубины резания для каждого прохода. Это равномерно делит общую глубину на количество разрезов, обеспечивая равномерное удаление материала.

Условное ветвление

Условное ветвление используется как %UN = [(COUNT <= NO_CUT) ? СЧЕТ : -1]. Это означает «если СЧИТАТЬ (текущее количество проходов) меньше или равно НЕТ_CUT (общее количество проходов), затем установите %UN к СЧИТАТЬ; в противном случае установите его в -1». Эта логика проверяет, достиг ли процесс обработки заданного количества проходов, и определяет, все ли операции обработки завершены.

Использование в процессе обработки

По этой логике программа работает следующим образом:

  1. Приращение %COUNT на 1 за каждый цикл обработки.
  2. Использовать %UN для условного ветвления выполнение команды обработки (Н[УН] G91 G3...) только если %COUNT меньше или равно %NO_CUT. Это гарантирует, что круговой путь будет пройден указанное количество раз.
  3. После выполнения указанного количества проходов программа прекращает выполнение команд обработки.

Этот метод позволяет программе автоматически и точно выполнять заданные операции сверления отверстий или нарезания круговых канавок с заданной глубиной и диаметром. Использование условного ветвления обеспечивает гибкость управления процессом обработки, делая программу легко настраиваемой и многократно используемой.

Программа непрерывной линейной обработки (Awesome HOLES Freak)

;Потрясающий урод с ДЫРАМИ

Г90 Г94
G17
G21;ММ
;——————————————————————–
%TOOL_D = 3 ;Диаметр инструмента
%ДИАМЕТР = 20
%Z_ST = 0 ;Координата Z начала обработки
%Z_DEPTH = -8 ;Обработка конечной координаты Z
%NO_CUT = 20 ;количество витков (машины)

С5000 М3
Ф1000
G90 G0 Z5 ;Высота перемещения
G90 X0 Y0 ;Стандартное гнездо обрабатывающего центра

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

;Перейти к начальной точке
G91 G0 Y[ДИАМЕТР/2 – ИНСТРУМЕНТ_D/2]G90 G0 Z[Z_ST]

%COUNT = 0
%A_DEPTH = [Z_DEPTH- Z_ST] / NO_CUT

%COUNT = COUNT+1;————————————————————–
%UN = [(COUNT <= NO_CUT) ? COUNT : -1]N[UN] G91 G3 J-[ДИАМЕТР/2 – ИНСТРУМЕНТ_D/2] Y-[ДИАМЕТР – ИНСТРУМЕНТ_D] Z[A_DEPTH/2 ]N[UN] G91 G3 J[ДИАМЕТР/2 – ИНСТРУМЕНТ_D/2 ] Y[ДИАМЕТР – ИНСТРУМЕНТ_D] Z[A_DEPTH/2 ]

%COUNT = COUNT+1;————————————————————–
%UN = [(COUNT <= NO_CUT) ? COUNT : -1]N[UN] G91 G3 J-[ДИАМЕТР/2 – ИНСТРУМЕНТ_D/2] Y-[ДИАМЕТР – ИНСТРУМЕНТ_D] Z[A_DEPTH/2 ]N[UN] G91 G3 J[ДИАМЕТР/2 – ИНСТРУМЕНТ_D/2 ] Y[ДИАМЕТР – ИНСТРУМЕНТ_D] Z[A_DEPTH/2 ]

%COUNT = COUNT+1;————————————————————–
%UN = [(COUNT <= NO_CUT) ? COUNT : -1]N[UN] G91 G3 J-[ДИАМЕТР/2 – ИНСТРУМЕНТ_D/2] Y-[ДИАМЕТР – ИНСТРУМЕНТ_D] Z[A_DEPTH/2 ]N[UN] G91 G3 J[ДИАМЕТР/2 – ИНСТРУМЕНТ_D/2 ] Y[ДИАМЕТР – ИНСТРУМЕНТ_D] Z[A_DEPTH/2 ]

%COUNT = COUNT+1;————————————————————–
%UN = [(COUNT <= NO_CUT) ? COUNT : -1]N[UN] G91 G3 J-[ДИАМЕТР/2 – ИНСТРУМЕНТ_D/2] Y-[ДИАМЕТР – ИНСТРУМЕНТ_D] Z[A_DEPTH/2 ]N[UN] G91 G3 J[ДИАМЕТР/2 – ИНСТРУМЕНТ_D/2 ] Y[ДИАМЕТР – ИНСТРУМЕНТ_D] Z[A_DEPTH/2 ]

%COUNT = COUNT+1;————————————————————–
%UN = [(COUNT <= NO_CUT) ? COUNT : -1]N[UN] G91 G3 J-[ДИАМЕТР/2 – ИНСТРУМЕНТ_D/2] Y-[ДИАМЕТР – ИНСТРУМЕНТ_D] Z[A_DEPTH/2 ]N[UN] G91 G3 J[ДИАМЕТР/2 – ИНСТРУМЕНТ_D/2 ] Y[ДИАМЕТР – ИНСТРУМЕНТ_D] Z[A_DEPTH/2 ]

%COUNT = COUNT+1;————————————————————–
%UN = [(COUNT <= NO_CUT) ? COUNT : -1]N[UN] G91 G3 J-[ДИАМЕТР/2 – ИНСТРУМЕНТ_D/2] Y-[ДИАМЕТР – ИНСТРУМЕНТ_D] Z[A_DEPTH/2 ]N[UN] G91 G3 J[ДИАМЕТР/2 – ИНСТРУМЕНТ_D/2 ] Y[ДИАМЕТР – ИНСТРУМЕНТ_D] Z[A_DEPTH/2 ]

%COUNT = COUNT+1;————————————————————–
%UN = [(COUNT <= NO_CUT) ? COUNT : -1]N[UN] G91 G3 J-[ДИАМЕТР/2 – ИНСТРУМЕНТ_D/2] Y-[ДИАМЕТР – ИНСТРУМЕНТ_D] Z[A_DEPTH/2 ]N[UN] G91 G3 J[ДИАМЕТР/2 – ИНСТРУМЕНТ_D/2 ] Y[ДИАМЕТР – ИНСТРУМЕНТ_D] Z[A_DEPTH/2 ]

%COUNT = COUNT+1;————————————————————–
%UN = [(COUNT <= NO_CUT) ? COUNT : -1]N[UN] G91 G3 J-[ДИАМЕТР/2 – ИНСТРУМЕНТ_D/2] Y-[ДИАМЕТР – ИНСТРУМЕНТ_D] Z[A_DEPTH/2 ]N[UN] G91 G3 J[ДИАМЕТР/2 – ИНСТРУМЕНТ_D/2 ] Y[ДИАМЕТР – ИНСТРУМЕНТ_D] Z[A_DEPTH/2 ]

%COUNT = COUNT+1;————————————————————–
%UN = [(COUNT <= NO_CUT) ? COUNT : -1]N[UN] G91 G3 J-[ДИАМЕТР/2 – ИНСТРУМЕНТ_D/2] Y-[ДИАМЕТР – ИНСТРУМЕНТ_D] Z[A_DEPTH/2 ]N[UN] G91 G3 J[ДИАМЕТР/2 – ИНСТРУМЕНТ_D/2 ] Y[ДИАМЕТР – ИНСТРУМЕНТ_D] Z[A_DEPTH/2 ]

%COUNT = COUNT+1;————————————————————–
%UN = [(COUNT <= NO_CUT) ? COUNT : -1]N[UN] G91 G3 J-[ДИАМЕТР/2 – ИНСТРУМЕНТ_D/2] Y-[ДИАМЕТР – ИНСТРУМЕНТ_D] Z[A_DEPTH/2 ]N[UN] G91 G3 J[ДИАМЕТР/2 – ИНСТРУМЕНТ_D/2 ] Y[ДИАМЕТР – ИНСТРУМЕНТ_D] Z[A_DEPTH/2 ]

%COUNT = COUNT+1;————————————————————–
%UN = [(COUNT <= NO_CUT) ? COUNT : -1]N[UN] G91 G3 J-[ДИАМЕТР/2 – ИНСТРУМЕНТ_D/2] Y-[ДИАМЕТР – ИНСТРУМЕНТ_D] Z[A_DEPTH/2 ]N[UN] G91 G3 J[ДИАМЕТР/2 – ИНСТРУМЕНТ_D/2 ] Y[ДИАМЕТР – ИНСТРУМЕНТ_D] Z[A_DEPTH/2 ]

%COUNT = COUNT+1;————————————————————–
%UN = [(COUNT <= NO_CUT) ? COUNT : -1]N[UN] G91 G3 J-[ДИАМЕТР/2 – ИНСТРУМЕНТ_D/2] Y-[ДИАМЕТР – ИНСТРУМЕНТ_D] Z[A_DEPTH/2 ]N[UN] G91 G3 J[ДИАМЕТР/2 – ИНСТРУМЕНТ_D/2 ] Y[ДИАМЕТР – ИНСТРУМЕНТ_D] Z[A_DEPTH/2 ]

%COUNT = COUNT+1;————————————————————–
%UN = [(COUNT <= NO_CUT) ? COUNT : -1]N[UN] G91 G3 J-[ДИАМЕТР/2 – ИНСТРУМЕНТ_D/2] Y-[ДИАМЕТР – ИНСТРУМЕНТ_D] Z[A_DEPTH/2 ]N[UN] G91 G3 J[ДИАМЕТР/2 – ИНСТРУМЕНТ_D/2 ] Y[ДИАМЕТР – ИНСТРУМЕНТ_D] Z[A_DEPTH/2 ]

%COUNT = COUNT+1;————————————————————–
%UN = [(COUNT <= NO_CUT) ? COUNT : -1]N[UN] G91 G3 J-[ДИАМЕТР/2 – ИНСТРУМЕНТ_D/2] Y-[ДИАМЕТР – ИНСТРУМЕНТ_D] Z[A_DEPTH/2 ]N[UN] G91 G3 J[ДИАМЕТР/2 – ИНСТРУМЕНТ_D/2 ] Y[ДИАМЕТР – ИНСТРУМЕНТ_D] Z[A_DEPTH/2 ]

%COUNT = COUNT+1;————————————————————–
%UN = [(COUNT <= NO_CUT) ? COUNT : -1]N[UN] G91 G3 J-[ДИАМЕТР/2 – ИНСТРУМЕНТ_D/2] Y-[ДИАМЕТР – ИНСТРУМЕНТ_D] Z[A_DEPTH/2 ]N[UN] G91 G3 J[ДИАМЕТР/2 – ИНСТРУМЕНТ_D/2 ] Y[ДИАМЕТР – ИНСТРУМЕНТ_D] Z[A_DEPTH/2 ]

%COUNT = COUNT+1;————————————————————–
%UN = [(COUNT <= NO_CUT) ? COUNT : -1]N[UN] G91 G3 J-[ДИАМЕТР/2 – ИНСТРУМЕНТ_D/2] Y-[ДИАМЕТР – ИНСТРУМЕНТ_D] Z[A_DEPTH/2 ]N[UN] G91 G3 J[ДИАМЕТР/2 – ИНСТРУМЕНТ_D/2 ] Y[ДИАМЕТР – ИНСТРУМЕНТ_D] Z[A_DEPTH/2 ]

%COUNT = COUNT+1;————————————————————–
%UN = [(COUNT <= NO_CUT) ? COUNT : -1]N[UN] G91 G3 J-[ДИАМЕТР/2 – ИНСТРУМЕНТ_D/2] Y-[ДИАМЕТР – ИНСТРУМЕНТ_D] Z[A_DEPTH/2 ]N[UN] G91 G3 J[ДИАМЕТР/2 – ИНСТРУМЕНТ_D/2 ] Y[ДИАМЕТР – ИНСТРУМЕНТ_D] Z[A_DEPTH/2 ]

%COUNT = COUNT+1;————————————————————–
%UN = [(COUNT <= NO_CUT) ? COUNT : -1]N[UN] G91 G3 J-[ДИАМЕТР/2 – ИНСТРУМЕНТ_D/2] Y-[ДИАМЕТР – ИНСТРУМЕНТ_D] Z[A_DEPTH/2 ]N[UN] G91 G3 J[ДИАМЕТР/2 – ИНСТРУМЕНТ_D/2 ] Y[ДИАМЕТР – ИНСТРУМЕНТ_D] Z[A_DEPTH/2 ]

%COUNT = COUNT+1;————————————————————–
%UN = [(COUNT <= NO_CUT) ? COUNT : -1]N[UN] G91 G3 J-[ДИАМЕТР/2 – ИНСТРУМЕНТ_D/2] Y-[ДИАМЕТР – ИНСТРУМЕНТ_D] Z[A_DEPTH/2 ]N[UN] G91 G3 J[ДИАМЕТР/2 – ИНСТРУМЕНТ_D/2 ] Y[ДИАМЕТР – ИНСТРУМЕНТ_D] Z[A_DEPTH/2 ]

%COUNT = COUNT+1;————————————————————–
%UN = [(COUNT <= NO_CUT) ? COUNT : -1]N[UN] G91 G3 J-[ДИАМЕТР/2 – ИНСТРУМЕНТ_D/2] Y-[ДИАМЕТР – ИНСТРУМЕНТ_D] Z[A_DEPTH/2 ]N[UN] G91 G3 J[ДИАМЕТР/2 – ИНСТРУМЕНТ_D/2 ] Y[ДИАМЕТР – ИНСТРУМЕНТ_D] Z[A_DEPTH/2 ]

%COUNT = COUNT+1;————————————————————–
%UN = [(COUNT <= NO_CUT) ? COUNT : -1]N[UN] G91 G3 J-[ДИАМЕТР/2 – ИНСТРУМЕНТ_D/2] Y-[ДИАМЕТР – ИНСТРУМЕНТ_D] Z[A_DEPTH/2 ]N[UN] G91 G3 J[ДИАМЕТР/2 – ИНСТРУМЕНТ_D/2 ] Y[ДИАМЕТР – ИНСТРУМЕНТ_D] Z[A_DEPTH/2 ]

%COUNT = COUNT+1;————————————————————–
%UN = [(COUNT <= NO_CUT) ? COUNT : -1]N[UN] G91 G3 J-[ДИАМЕТР/2 – ИНСТРУМЕНТ_D/2] Y-[ДИАМЕТР – ИНСТРУМЕНТ_D] Z[A_DEPTH/2 ]N[UN] G91 G3 J[ДИАМЕТР/2 – ИНСТРУМЕНТ_D/2 ] Y[ДИАМЕТР – ИНСТРУМЕНТ_D] Z[A_DEPTH/2 ]

%COUNT = COUNT+1;————————————————————–
%UN = [(COUNT <= NO_CUT) ? COUNT : -1]N[UN] G91 G3 J-[ДИАМЕТР/2 – ИНСТРУМЕНТ_D/2] Y-[ДИАМЕТР – ИНСТРУМЕНТ_D] Z[A_DEPTH/2 ]N[UN] G91 G3 J[ДИАМЕТР/2 – ИНСТРУМЕНТ_D/2 ] Y[ДИАМЕТР – ИНСТРУМЕНТ_D] Z[A_DEPTH/2 ]

%COUNT = COUNT+1;————————————————————–
%UN = [(COUNT <= NO_CUT) ? COUNT : -1]N[UN] G91 G3 J-[ДИАМЕТР/2 – ИНСТРУМЕНТ_D/2] Y-[ДИАМЕТР – ИНСТРУМЕНТ_D] Z[A_DEPTH/2 ]N[UN] G91 G3 J[ДИАМЕТР/2 – ИНСТРУМЕНТ_D/2 ] Y[ДИАМЕТР – ИНСТРУМЕНТ_D] Z[A_DEPTH/2 ]

%COUNT = COUNT+1;————————————————————–
%UN = [(COUNT <= NO_CUT) ? COUNT : -1]N[UN] G91 G3 J-[ДИАМЕТР/2 – ИНСТРУМЕНТ_D/2] Y-[ДИАМЕТР – ИНСТРУМЕНТ_D] Z[A_DEPTH/2 ]N[UN] G91 G3 J[ДИАМЕТР/2 – ИНСТРУМЕНТ_D/2 ] Y[ДИАМЕТР – ИНСТРУМЕНТ_D] Z[A_DEPTH/2 ]

%COUNT = COUNT+1;————————————————————–
%UN = [(COUNT <= NO_CUT) ? COUNT : -1]N[UN] G91 G3 J-[ДИАМЕТР/2 – ИНСТРУМЕНТ_D/2] Y-[ДИАМЕТР – ИНСТРУМЕНТ_D] Z[A_DEPTH/2 ]N[UN] G91 G3 J[ДИАМЕТР/2 – ИНСТРУМЕНТ_D/2 ] Y[ДИАМЕТР – ИНСТРУМЕНТ_D] Z[A_DEPTH/2 ]

%COUNT = COUNT+1;————————————————————–
%UN = [(COUNT <= NO_CUT) ? COUNT : -1]N[UN] G91 G3 J-[ДИАМЕТР/2 – ИНСТРУМЕНТ_D/2] Y-[ДИАМЕТР – ИНСТРУМЕНТ_D] Z[A_DEPTH/2 ]N[UN] G91 G3 J[ДИАМЕТР/2 – ИНСТРУМЕНТ_D/2 ] Y[ДИАМЕТР – ИНСТРУМЕНТ_D] Z[A_DEPTH/2 ]

%COUNT = COUNT+1;————————————————————–
%UN = [(COUNT <= NO_CUT) ? COUNT : -1]N[UN] G91 G3 J-[ДИАМЕТР/2 – ИНСТРУМЕНТ_D/2] Y-[ДИАМЕТР – ИНСТРУМЕНТ_D] Z[A_DEPTH/2 ]N[UN] G91 G3 J[ДИАМЕТР/2 – ИНСТРУМЕНТ_D/2 ] Y[ДИАМЕТР – ИНСТРУМЕНТ_D] Z[A_DEPTH/2 ]

%COUNT = COUNT+1;————————————————————–
%UN = [(COUNT <= NO_CUT) ? COUNT : -1]N[UN] G91 G3 J-[ДИАМЕТР/2 – ИНСТРУМЕНТ_D/2] Y-[ДИАМЕТР – ИНСТРУМЕНТ_D] Z[A_DEPTH/2 ]N[UN] G91 G3 J[ДИАМЕТР/2 – ИНСТРУМЕНТ_D/2 ] Y[ДИАМЕТР – ИНСТРУМЕНТ_D] Z[A_DEPTH/2 ]

%COUNT = COUNT+1;————————————————————–
%UN = [(COUNT <= NO_CUT) ? COUNT : -1]N[UN] G91 G3 J-[ДИАМЕТР/2 – ИНСТРУМЕНТ_D/2] Y-[ДИАМЕТР – ИНСТРУМЕНТ_D] Z[A_DEPTH/2 ]N[UN] G91 G3 J[ДИАМЕТР/2 – ИНСТРУМЕНТ_D/2 ] Y[ДИАМЕТР – ИНСТРУМЕНТ_D] Z[A_DEPTH/2 ]

%COUNT = COUNT+1;————————————————————–
%UN = [(COUNT <= NO_CUT) ? COUNT : -1]N[UN] G91 G3 J-[ДИАМЕТР/2 – ИНСТРУМЕНТ_D/2] Y-[ДИАМЕТР – ИНСТРУМЕНТ_D] Z[A_DEPTH/2 ]N[UN] G91 G3 J[ДИАМЕТР/2 – ИНСТРУМЕНТ_D/2 ] Y[ДИАМЕТР – ИНСТРУМЕНТ_D] Z[A_DEPTH/2 ]

%COUNT = COUNT+1;————————————————————–
%UN = [(COUNT <= NO_CUT) ? COUNT : -1]N[UN] G91 G3 J-[ДИАМЕТР/2 – ИНСТРУМЕНТ_D/2] Y-[ДИАМЕТР – ИНСТРУМЕНТ_D] Z[A_DEPTH/2 ]N[UN] G91 G3 J[ДИАМЕТР/2 – ИНСТРУМЕНТ_D/2 ] Y[ДИАМЕТР – ИНСТРУМЕНТ_D] Z[A_DEPTH/2 ]

%COUNT = COUNT+1;————————————————————–
%UN = [(COUNT <= NO_CUT) ? COUNT : -1]N[UN] G91 G3 J-[ДИАМЕТР/2 – ИНСТРУМЕНТ_D/2] Y-[ДИАМЕТР – ИНСТРУМЕНТ_D] Z[A_DEPTH/2 ]N[UN] G91 G3 J[ДИАМЕТР/2 – ИНСТРУМЕНТ_D/2 ] Y[ДИАМЕТР – ИНСТРУМЕНТ_D] Z[A_DEPTH/2 ]

%COUNT = COUNT+1;————————————————————–
%UN = [(COUNT <= NO_CUT) ? COUNT : -1]N[UN] G91 G3 J-[ДИАМЕТР/2 – ИНСТРУМЕНТ_D/2] Y-[ДИАМЕТР – ИНСТРУМЕНТ_D] Z[A_DEPTH/2 ]N[UN] G91 G3 J[ДИАМЕТР/2 – ИНСТРУМЕНТ_D/2 ] Y[ДИАМЕТР – ИНСТРУМЕНТ_D] Z[A_DEPTH/2 ]

%COUNT = COUNT+1;————————————————————–
%UN = [(COUNT <= NO_CUT) ? COUNT : -1]N[UN] G91 G3 J-[ДИАМЕТР/2 – ИНСТРУМЕНТ_D/2] Y-[ДИАМЕТР – ИНСТРУМЕНТ_D] Z[A_DEPTH/2 ]N[UN] G91 G3 J[ДИАМЕТР/2 – ИНСТРУМЕНТ_D/2 ] Y[ДИАМЕТР – ИНСТРУМЕНТ_D] Z[A_DEPTH/2 ]

%COUNT = COUNT+1;————————————————————–
%UN = [(COUNT <= NO_CUT) ? COUNT : -1]N[UN] G91 G3 J-[ДИАМЕТР/2 – ИНСТРУМЕНТ_D/2] Y-[ДИАМЕТР – ИНСТРУМЕНТ_D] Z[A_DEPTH/2 ]N[UN] G91 G3 J[ДИАМЕТР/2 – ИНСТРУМЕНТ_D/2 ] Y[ДИАМЕТР – ИНСТРУМЕНТ_D] Z[A_DEPTH/2 ]

%COUNT = COUNT+1;————————————————————–
%UN = [(COUNT <= NO_CUT) ? COUNT : -1]N[UN] G91 G3 J-[ДИАМЕТР/2 – ИНСТРУМЕНТ_D/2] Y-[ДИАМЕТР – ИНСТРУМЕНТ_D] Z[A_DEPTH/2 ]N[UN] G91 G3 J[ДИАМЕТР/2 – ИНСТРУМЕНТ_D/2 ] Y[ДИАМЕТР – ИНСТРУМЕНТ_D] Z[A_DEPTH/2 ]

%COUNT = COUNT+1;————————————————————–
%UN = [(COUNT <= NO_CUT) ? COUNT : -1]N[UN] G91 G3 J-[ДИАМЕТР/2 – ИНСТРУМЕНТ_D/2] Y-[ДИАМЕТР – ИНСТРУМЕНТ_D] Z[A_DEPTH/2 ]N[UN] G91 G3 J[ДИАМЕТР/2 – ИНСТРУМЕНТ_D/2 ] Y[ДИАМЕТР – ИНСТРУМЕНТ_D] Z[A_DEPTH/2 ]

%COUNT = COUNT+1;————————————————————–
%UN = [(COUNT <= NO_CUT) ? COUNT : -1]N[UN] G91 G3 J-[ДИАМЕТР/2 – ИНСТРУМЕНТ_D/2] Y-[ДИАМЕТР – ИНСТРУМЕНТ_D] Z[A_DEPTH/2 ]N[UN] G91 G3 J[ДИАМЕТР/2 – ИНСТРУМЕНТ_D/2 ] Y[ДИАМЕТР – ИНСТРУМЕНТ_D] Z[A_DEPTH/2 ]

%COUNT = COUNT+1;————————————————————–
%UN = [(COUNT <= NO_CUT) ? COUNT : -1]N[UN] G91 G3 J-[ДИАМЕТР/2 – ИНСТРУМЕНТ_D/2] Y-[ДИАМЕТР – ИНСТРУМЕНТ_D] Z[A_DEPTH/2 ]N[UN] G91 G3 J[ДИАМЕТР/2 – ИНСТРУМЕНТ_D/2 ] Y[ДИАМЕТР – ИНСТРУМЕНТ_D] Z[A_DEPTH/2 ]

 

G90 G0 Z[Z_ST+5]M5
М30

Программа слоттинга

Эта программа ЧПУ предназначена для обработки прямоугольной детали с закругленными углами, также известной как «прямоугольник со скругленными углами». Он постепенно режет материал слоями для достижения конечной глубины, используя комбинацию линейных и круговых (G1 и G3) движений. Вот разбивка его ключевых переменных, функций и использования:

Настройка переменных

  • %TOOL_D: Диаметр режущего инструмента.
  • %CORNER_R: Радиус углов прямоугольника. Он должен быть больше радиуса инструмента, чтобы соответствовать размеру инструмента в процессе округления.
  • %X_WIDE и %Y_WIDE: размеры прямоугольника в направлениях X и Y соответственно.
  • %Z_ST: Начальная координата Z для обработки.
  • %Z_DEPTH: конечная координата Z, указывающая общую глубину разреза.
  • %NO_CUT: количество проходов, которые делает инструмент для достижения конечной глубины, что облегчает поэтапное резание.

Ключевые расчеты

  • %КВАРТАЛ, 1TP3ДЛИНА, %A_DEPTH, %Z_DEPTH_X, %Z_DEPTH_Y, %Z_DEPTH_R: это расчетные значения, используемые для контроля глубины и длины каждого прохода, обеспечивая равномерное удаление материала по прямоугольнику и его закругленным углам.

Процесс обработки

  • Программа начинается с настройки машины с G90, G94, G17, G21 для абсолютного позиционирования, скорости подачи в минуту, выбора плоскости XY и измерения в миллиметрах соответственно.
  • Затем он перемещает инструмент в исходное положение с учетом диаметра инструмента и углового радиуса.
  • За каждый проход (%COUNT приращение), инструмент движется линейно (Г1) и дуги (G3) по углам с рассчитанной регулировкой глубины по оси Z (%Z_DEPTH_X, %Z_DEPTH_Y, %Z_DEPTH_R), чтобы создать скругленный прямоугольник. Процесс повторяется для указанного количества разрезов (%NO_CUT).
  • Условные проверки (%UN) используются для продолжения цикла до тех пор, пока не будет выполнено необходимое количество проходов, постепенно регулируя глубину резания с каждым проходом.
  • Наконец, делается чистовой проход на всю глубину, чтобы обеспечить окончательное качество поверхности.

Применение

  1. Подготовьте машину: Загрузите программу, настройте инструмент указанного диаметра и закрепите материал.
  2. Программные переменные: Настроить %X_WIDE, %Y_WIDE, %Z_DEPTH, и %NO_CUT переменные, необходимые для конкретных требований вашего проекта.
  3. Запустите программу: Запустить процесс обработки. Инструмент автоматически выполнит необходимые линейные и круговые движения для обработки скругленного прямоугольника.

Эта программа особенно полезна для деталей, требующих точных закругленных углов, что часто встречается в штампах, пресс-формах и механических компонентах. Технология постепенного увеличения глубины минимизирует износ инструмента и обеспечивает эффективное удаление материала.

Программа для игровых автоматов (Awesome SLOTS Freak)

;Потрясающий СЛОТЫ-фрик

Г90 Г94
G17
G21;ММ
;——————————————————————–
%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 ;количество витков (машины)

С5000 М3
Ф1000
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] / LENGTH]*A_DEPTH]%Z_DEPTH_Y = [[[Y_WIDE – Tool_D] / LENGTH]*A_DEPTH]%Z_DEPTH_R = [-[QUARTER / LENGTH]*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_DEPTH =Z_ST
%COUNT = 0

%COUNT = COUNT+1;————————————————————–
%C_DEPTH = C_DEPTH – A_DEPTH
%UN = [(COUNT <= NO_CUT) ? COUNT : -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 – ИНСТРУМЕНТ_D/2] Y-[УГОЛ_R*2/2 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_D/2] Z[Z_DEPTH_R]

%COUNT = COUNT+1;————————————————————–
%C_DEPTH = C_DEPTH – A_DEPTH
%UN = [(COUNT <= NO_CUT) ? COUNT : -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 – ИНСТРУМЕНТ_D/2] Y-[УГОЛ_R*2/2 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_D/2] Z[Z_DEPTH_R]

%COUNT = COUNT+1;————————————————————–
%C_DEPTH = C_DEPTH – A_DEPTH
%UN = [(COUNT <= NO_CUT) ? COUNT : -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 – ИНСТРУМЕНТ_D/2] Y-[УГОЛ_R*2/2 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_D/2] Z[Z_DEPTH_R]

%COUNT = COUNT+1;————————————————————–
%C_DEPTH = C_DEPTH – A_DEPTH
%UN = [(COUNT <= NO_CUT) ? COUNT : -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 – ИНСТРУМЕНТ_D/2] Y-[УГОЛ_R*2/2 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_D/2] Z[Z_DEPTH_R]

%COUNT = COUNT+1;————————————————————–
%C_DEPTH = C_DEPTH – A_DEPTH
%UN = [(COUNT <= NO_CUT) ? COUNT : -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 – ИНСТРУМЕНТ_D/2] Y-[УГОЛ_R*2/2 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_D/2] Z[Z_DEPTH_R]

%COUNT = COUNT+1;————————————————————–
%C_DEPTH = C_DEPTH – A_DEPTH
%UN = [(COUNT <= NO_CUT) ? COUNT : -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 – ИНСТРУМЕНТ_D/2] Y-[УГОЛ_R*2/2 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_D/2] Z[Z_DEPTH_R]

%COUNT = COUNT+1;————————————————————–
%C_DEPTH = C_DEPTH – A_DEPTH
%UN = [(COUNT <= NO_CUT) ? COUNT : -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 – ИНСТРУМЕНТ_D/2] Y-[УГОЛ_R*2/2 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_D/2] Z[Z_DEPTH_R]

%COUNT = COUNT+1;————————————————————–
%C_DEPTH = C_DEPTH – A_DEPTH
%UN = [(COUNT <= NO_CUT) ? COUNT : -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 – ИНСТРУМЕНТ_D/2] Y-[УГОЛ_R*2/2 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_D/2] Z[Z_DEPTH_R]

%COUNT = COUNT+1;————————————————————–
%C_DEPTH = C_DEPTH – A_DEPTH
%UN = [(COUNT <= NO_CUT) ? COUNT : -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 – ИНСТРУМЕНТ_D/2] Y-[УГОЛ_R*2/2 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_D/2] Z[Z_DEPTH_R]

%COUNT = COUNT+1;————————————————————–
%C_DEPTH = C_DEPTH – A_DEPTH
%UN = [(COUNT <= NO_CUT) ? COUNT : -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 – ИНСТРУМЕНТ_D/2] Y-[УГОЛ_R*2/2 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_D/2] Z[Z_DEPTH_R]

%COUNT = COUNT+1;————————————————————–
%C_DEPTH = C_DEPTH – A_DEPTH
%UN = [(COUNT <= NO_CUT) ? COUNT : -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 – ИНСТРУМЕНТ_D/2] Y-[УГОЛ_R*2/2 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_D/2] Z[Z_DEPTH_R]

%COUNT = COUNT+1;————————————————————–
%C_DEPTH = C_DEPTH – A_DEPTH
%UN = [(COUNT <= NO_CUT) ? COUNT : -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 – ИНСТРУМЕНТ_D/2] Y-[УГОЛ_R*2/2 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_D/2] Z[Z_DEPTH_R]

%COUNT = COUNT+1;————————————————————–
%C_DEPTH = C_DEPTH – A_DEPTH
%UN = [(COUNT <= NO_CUT) ? COUNT : -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 – ИНСТРУМЕНТ_D/2] Y-[УГОЛ_R*2/2 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_D/2] Z[Z_DEPTH_R]

%COUNT = COUNT+1;————————————————————–
%C_DEPTH = C_DEPTH – A_DEPTH
%UN = [(COUNT <= NO_CUT) ? COUNT : -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 – ИНСТРУМЕНТ_D/2] Y-[УГОЛ_R*2/2 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_D/2] Z[Z_DEPTH_R]

%COUNT = COUNT+1;————————————————————–
%C_DEPTH = C_DEPTH – A_DEPTH
%UN = [(COUNT <= NO_CUT) ? COUNT : -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 – ИНСТРУМЕНТ_D/2] Y-[УГОЛ_R*2/2 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_D/2] Z[Z_DEPTH_R]

%COUNT = COUNT+1;————————————————————–
%C_DEPTH = C_DEPTH – A_DEPTH
%UN = [(COUNT <= NO_CUT) ? COUNT : -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 – ИНСТРУМЕНТ_D/2] Y-[УГОЛ_R*2/2 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_D/2] Z[Z_DEPTH_R]

%COUNT = COUNT+1;————————————————————–
%C_DEPTH = C_DEPTH – A_DEPTH
%UN = [(COUNT <= NO_CUT) ? COUNT : -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 – ИНСТРУМЕНТ_D/2] Y-[УГОЛ_R*2/2 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_D/2] Z[Z_DEPTH_R]

%COUNT = COUNT+1;————————————————————–
%C_DEPTH = C_DEPTH – A_DEPTH
%UN = [(COUNT <= NO_CUT) ? COUNT : -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 – ИНСТРУМЕНТ_D/2] Y-[УГОЛ_R*2/2 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_D/2] Z[Z_DEPTH_R]

%COUNT = COUNT+1;————————————————————–
%C_DEPTH = C_DEPTH – A_DEPTH
%UN = [(COUNT <= NO_CUT) ? COUNT : -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 – ИНСТРУМЕНТ_D/2] Y-[УГОЛ_R*2/2 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_D/2] Z[Z_DEPTH_R]

%COUNT = COUNT+1;————————————————————–
%C_DEPTH = C_DEPTH – A_DEPTH
%UN = [(COUNT <= NO_CUT) ? COUNT : -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 – ИНСТРУМЕНТ_D/2] Y-[УГОЛ_R*2/2 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_D/2] Z[Z_DEPTH_R]

%COUNT = COUNT+1;————————————————————–
%C_DEPTH = C_DEPTH – A_DEPTH
%UN = [(COUNT <= NO_CUT) ? COUNT : -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 – ИНСТРУМЕНТ_D/2] Y-[УГОЛ_R*2/2 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_D/2] Z[Z_DEPTH_R]

%COUNT = COUNT+1;————————————————————–
%C_DEPTH = C_DEPTH – A_DEPTH
%UN = [(COUNT <= NO_CUT) ? COUNT : -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 – ИНСТРУМЕНТ_D/2] Y-[УГОЛ_R*2/2 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_D/2] Z[Z_DEPTH_R]

%COUNT = COUNT+1;————————————————————–
%C_DEPTH = C_DEPTH – A_DEPTH
%UN = [(COUNT <= NO_CUT) ? COUNT : -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 – ИНСТРУМЕНТ_D/2] Y-[УГОЛ_R*2/2 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_D/2] Z[Z_DEPTH_R]

%COUNT = COUNT+1;————————————————————–
%C_DEPTH = C_DEPTH – A_DEPTH
%UN = [(COUNT <= NO_CUT) ? COUNT : -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 – ИНСТРУМЕНТ_D/2] Y-[УГОЛ_R*2/2 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_D/2] Z[Z_DEPTH_R]

%COUNT = COUNT+1;————————————————————–
%C_DEPTH = C_DEPTH – A_DEPTH
%UN = [(COUNT <= NO_CUT) ? COUNT : -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 – ИНСТРУМЕНТ_D/2] Y-[УГОЛ_R*2/2 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_D/2] Z[Z_DEPTH_R]

%COUNT = COUNT+1;————————————————————–
%C_DEPTH = C_DEPTH – A_DEPTH
%UN = [(COUNT <= NO_CUT) ? COUNT : -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 – ИНСТРУМЕНТ_D/2] Y-[УГОЛ_R*2/2 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_D/2] Z[Z_DEPTH_R]

%COUNT = COUNT+1;————————————————————–
%C_DEPTH = C_DEPTH – A_DEPTH
%UN = [(COUNT <= NO_CUT) ? COUNT : -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 – ИНСТРУМЕНТ_D/2] Y-[УГОЛ_R*2/2 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_D/2] Z[Z_DEPTH_R]

%COUNT = COUNT+1;————————————————————–
%C_DEPTH = C_DEPTH – A_DEPTH
%UN = [(COUNT <= NO_CUT) ? COUNT : -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 – ИНСТРУМЕНТ_D/2] Y-[УГОЛ_R*2/2 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_D/2] Z[Z_DEPTH_R]

%COUNT = COUNT+1;————————————————————–
%C_DEPTH = C_DEPTH – A_DEPTH
%UN = [(COUNT <= NO_CUT) ? COUNT : -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 – ИНСТРУМЕНТ_D/2] Y-[УГОЛ_R*2/2 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_D/2] Z[Z_DEPTH_R]

%COUNT = COUNT+1;————————————————————–
%C_DEPTH = C_DEPTH – A_DEPTH
%UN = [(COUNT <= NO_CUT) ? COUNT : -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 – ИНСТРУМЕНТ_D/2] Y-[УГОЛ_R*2/2 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_D/2] Z[Z_DEPTH_R]

%COUNT = COUNT+1;————————————————————–
%C_DEPTH = C_DEPTH – A_DEPTH
%UN = [(COUNT <= NO_CUT) ? COUNT : -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 – ИНСТРУМЕНТ_D/2] Y-[УГОЛ_R*2/2 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_D/2] Z[Z_DEPTH_R]

%COUNT = COUNT+1;————————————————————–
%C_DEPTH = C_DEPTH – A_DEPTH
%UN = [(COUNT <= NO_CUT) ? COUNT : -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 – ИНСТРУМЕНТ_D/2] Y-[УГОЛ_R*2/2 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_D/2] Z[Z_DEPTH_R]

%COUNT = COUNT+1;————————————————————–
%C_DEPTH = C_DEPTH – A_DEPTH
%UN = [(COUNT <= NO_CUT) ? COUNT : -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 – ИНСТРУМЕНТ_D/2] Y-[УГОЛ_R*2/2 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_D/2] Z[Z_DEPTH_R]

%COUNT = COUNT+1;————————————————————–
%C_DEPTH = C_DEPTH – A_DEPTH
%UN = [(COUNT <= NO_CUT) ? COUNT : -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 – ИНСТРУМЕНТ_D/2] Y-[УГОЛ_R*2/2 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_D/2] Z[Z_DEPTH_R]

%COUNT = COUNT+1;————————————————————–
%C_DEPTH = C_DEPTH – A_DEPTH
%UN = [(COUNT <= NO_CUT) ? COUNT : -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 – ИНСТРУМЕНТ_D/2] Y-[УГОЛ_R*2/2 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_D/2] Z[Z_DEPTH_R]

%COUNT = COUNT+1;————————————————————–
%C_DEPTH = C_DEPTH – A_DEPTH
%UN = [(COUNT <= NO_CUT) ? COUNT : -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 – ИНСТРУМЕНТ_D/2] Y-[УГОЛ_R*2/2 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_D/2] Z[Z_DEPTH_R]

%COUNT = COUNT+1;————————————————————–
%C_DEPTH = C_DEPTH – A_DEPTH
%UN = [(COUNT <= NO_CUT) ? COUNT : -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 – ИНСТРУМЕНТ_D/2] Y-[УГОЛ_R*2/2 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_D/2] Z[Z_DEPTH_R]

%COUNT = COUNT+1;————————————————————–
%C_DEPTH = C_DEPTH – A_DEPTH
%UN = [(COUNT <= NO_CUT) ? COUNT : -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 – ИНСТРУМЕНТ_D/2] Y-[УГОЛ_R*2/2 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_D/2] Z[Z_DEPTH_R]

%COUNT = COUNT+1;————————————————————–
%C_DEPTH = C_DEPTH – A_DEPTH
%UN = [(COUNT <= NO_CUT) ? COUNT : -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 – ИНСТРУМЕНТ_D/2] Y-[УГОЛ_R*2/2 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_D/2] Z[Z_DEPTH_R]

%COUNT = COUNT+1;————————————————————–
%C_DEPTH = C_DEPTH – A_DEPTH
%UN = [(COUNT <= NO_CUT) ? COUNT : -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 – ИНСТРУМЕНТ_D/2] Y-[УГОЛ_R*2/2 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_D/2] Z[Z_DEPTH_R]

%COUNT = COUNT+1;————————————————————–
%C_DEPTH = C_DEPTH – A_DEPTH
%UN = [(COUNT <= NO_CUT) ? COUNT : -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 – ИНСТРУМЕНТ_D/2] Y-[УГОЛ_R*2/2 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_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 – ИНСТРУМЕНТ_D/2] X-[УГОЛ_R*2/2 – ИНСТРУМЕНТ_D/2] Y-[УГОЛ_R*2/2 – ИНСТРУМЕНТ_D/2]

N[UN] G91 G1 Y[ -Y_WIDE +CORNER_R*2]
N[UN] G91 G3 I[CORNER_R*2/2 – ИНСТРУМЕНТ_D/2] X[УГОЛ_R*2/2 – ИНСТРУМЕНТ_D/2] Y-[УГОЛ_R*2/2 – ИНСТРУМЕНТ_D/2]

N[UN] G91 G1 X[ X_WIDE – CORNER_R*2]
N[UN] G91 G3 J[CORNER_R*2/2 – ИНСТРУМЕНТ_D/2] X[УГОЛ_R*2/2 – ИНСТРУМЕНТ_D/2] Y[УГОЛ_R*2/2 – ИНСТРУМЕНТ_D/2]

N[UN] G91 G1 Y[ Y_WIDE – CORNER_R*2]
N[UN] G91 G3 I-[CORNER_R*2/2 – ИНСТРУМЕНТ_D/2] X-[УГОЛ_R*2/2 – ИНСТРУМЕНТ_D/2] Y[УГОЛ_R*2/2 – ИНСТРУМЕНТ_D/2]

G90 G0 Z[Z_ST+5]M5
М30