G2, G3: Круговое перемещение
Дуга окружности или спирали задаётся с помощью команд G2 (вращение по часовой стрелке) или G3 (вращение против часовой стрелки) с текущей скоростью подачи. Направление вращения определяется относительно положительного направления оси, вокруг которой происходит вращение. Ось окружности или спирали должна быть параллельна оси X, Y или Z системы координат. Эта ось (или, соответственно, плоскость, перпендикулярная оси) выбирается с помощью команд G17G17 - G19.1: Выбор рабочей плоскости (ось Z, плоскость XY), G18G17 - G19.1: Выбор рабочей плоскости (ось Y, плоскость XZ) или G19G17 - G19.1: Выбор рабочей плоскости (ось X, плоскость YZ).
Чтобы задать спираль, укажите параметр оси, перпендикулярной плоскости интерполяции. Например, для плоскости G17G17 - G19.1: Выбор рабочей плоскости укажите значение Z. Это вызовет движение по оси Z до указанного значения в процессе круговой интерполяции в плоскости XY.
Чтобы задать дугу, которая описывает больше одного полного оборота, используйте параметр P, который определяется как число полных оборотов плюс заданная дуга. Параметр P должен быть целым числом. Если параметр P не указан, результат такой же, как при задании P1: будет выполнен только один полный или частичный оборот. Например, если задана дуга в 180 градусов с параметром P2, результирующее перемещение будет составлять 1 ½ оборота.
Если строка G-кода задаёт дугу и содержит движение поворотной оси, поворотная ось движется с постоянной скоростью таким образом, чтобы вращение начиналось и заканчивалось одновременно с движением по XYZ. Подобные команды используются редко.
Центр дуги задаётся в абсолютных либо относительных координатах (устанавливается командами G90.1G90.1, G91.1: Задание режима абсолютных/относительных координат для центра дуги и G91.1G90.1, G91.1: Задание режима абсолютных/относительных координат для центра дуги соответственно).
Для определения дуги допустимы два формата: задание центра и задание радиуса.
Формат дуги с указанием центра
G2 or G3 axes offsets
Формат дуги с указанием центра является более точным по сравнению с форматом с указанием радиуса и предпочтителен для использования.
Для задания дуги используется указание конечной точки дуги и смещение центра дуги относительно текущей позиции. Конечная точка дуги может совпадать с текущей позицией. В режиме инкрементального позиционирования центра (используется по умолчанию) координаты центра задаются относительно начала дуги. В режиме абсолютного позиционирования центра координаты центра задаются относительно текущего начала координат.
XY-plane (G17)
G2 or G3 <X- Y- Z- I- J- P->
XZ-plane (G18)
G2 or G3 <X- Z- Y- I- K- P->
YZ-plane (G19)
G2 or G3 <Y- Z- X- J- K- P→
Пример построения дуги:
G0 X0 Y0
G2 X1 Y1 I1 F10 (дуга по часовой стрелке в плоскости XY)
Пример построения дуги
Пример построения спирали:
G0 X0 Y0 Z0
G17 G2 X10 Y16 I3 J4 Z-1 (спираль с перемещением по Z)
Пример использования параметра P:
G0 X0 Y0 Z0
G2 X0 Y1 Z-1 I1 J0.5 P2 F25
В формате дуги с указанием центра радиус дуги не указывается, но он может быть легко вычислен как расстояние между центром дуги и начальной либо конечной точкой.
Формат дуги с указанием радиуса
G2 or G3 axes R- <P→
Для задания дуги используется указание конечной точки дуги и радиуса дуги. Команда G2 axes R-, где R – радиус дуги. Положительное значение радиуса показывает, что дуга поворачивается менее чем на 180 градусов, отрицательное – более чем на 180 градусов.
Не рекомендуется задавать дуги в формате с указанием радиуса, если они близки к полной окружности или полуокружности, так как в этом случае небольшое изменение в положении конечной точки приводит к намного большему изменению в положении центра дуги.
Пример построения дуги:
G17 G2 X10 Y15 R20 Z5 (формат дуги с указанием радиуса)