G2, G3: Круговое перемещение

Редактировал(а) writer 2023/09/20 16:48

Дуга окружности или спирали задаётся с помощью команд 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 соответственно).

Для определения дуги допустимы два формата: задание центра и задание радиуса.

Является ошибкой:
  • не установлена скорость подачи;
  • параметр P не является целым числом.
Формат дуги с указанием центра

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→

Является ошибкой:
  • не установлена скорость подачи;
  • не заданы смещения центра;
  • если дуга спроецирована на текущую плоскость интерполяции, расстояние от текущей позиции до центра отличается от расстояния от конечной точки до центра на более чем 0.5 мм или (0.005 мм и 0.1% от радиуса).
Пример построения дуги:
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 (формат дуги с указанием радиуса)