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