G-код или Gcode — это машинный код, то есть последовательный набор команд для 3D-принтеров, генерируемый слайсерами. В тоже время G-код нередко приходится править вручную, если слайсер не обладает соответствующим функционалом или пользователю просто необходимо изменить поведение 3D-принтера. В этой статье поделимся списком наиболее широко используемых команд.
Сразу предупреждаем, что в нашем перечне представлены только наиболее часто встречаемые команды и только для прошивки Marlin. Многие из перечисленных примеров не совпадают с командами в таких прошивках, как RepRapFirmware, Repetier или Klipper, поэтому используйте осторожно.
G-код может выглядеть устрашающе запутанно, но не волнуйтесь: немножко практики, и вы будете без труда отличать барышню в красном от криволинейной траектории второй головки с холодной экструзией.
В целом, команды разделяются на две категории — основные команды, начинающиеся с литеры G и касающиеся непосредственно построения модели, а также вспомогательные, обозначаемые литерой М и отвечающие за настройку систем 3D-принтера и различные дополнительные действия. За литерами следует нумерация команды, а затем указываются параметры действия. Например, команда G91 G0 X100 F200 означает, что от 3D-принтера требуется использовать относительную систему координат (G91) и провести холостое перемещение головки (G0) по оси X на 100 мм вправо (X100) со скоростью 200 мм/c (F200).
Примеры параметров
X — координата по оси X.
Y — координата по оси Y.
Z — координата по оси Z.
I — смещение по X при криволинейном движении.
J — смещение по Y при криволинейном движении.
E — длина экструдируемого филамента от начальной до конечной точки перемещения.
F — скорость холостого перемещения головки или укладки материала.
P — командный параметр, например время в миллисекундах.
S — командный параметр, например время в секундах, температура или напряжение.
T — выбор экструдера.
R — температура.
Примечание: во многих случаях некоторые параметры можно опускать, если они остаются неизменными. Например, приведенная выше команда на холостой ход полностью выглядит так: G91 G0 X100 Y000 Z000 F200, но так как перемещение по осям Y и Z не требуется, можно написать просто G91 G0 X100 F200.
Некоторые из основных команд
G0 — холостой ход, то есть без подачи материала.
G1 — координированное линейное движение.
G2 — координированное криволинейное движение по часовой стрелке.
G3 — координированное криволинейное движение против часовой стрелки.
G4 — пауза в секундах.
G10 — ретракт филамента.
G21 — перейти на измерение в миллиметрах (G20 — в дюймах).
G27 — парковка головки в указанной точке.
G28 — парковка головки «по нулям» с указанием осей.
G90 — использовать абсолютную систему координат.
G91 — использовать относительную систему координат, то есть с отсчетом от текущей позиции головки.
G92 — установить текущую позицию головки.
Пример:
T1 //переключиться с первого экструдера на второй (T1)
G0 F300 //установить скорость перемещения головки 300 мм/c
G0 X10 Y10 //переместить головку в координаты 10 по оси X и 10 по оси Y с заданной ранее скоростью (в нашем случае 300 мм/c)
G1 X80 Y15 E25 F50 //переместить головку в координаты 80 по оси X и 15 по оси Y с одновременной подачей 25 мм филамента, снизить скорость с ранее заданных 300 мм/c до 50 мм/с
Некоторые из вспомогательных команд
M0 — остановиться и ожидать пользовательской команды с дисплея, либо полностью выключиться по истечении определенного периода времени. Например, M0 P2000 или M0 S2 задает остановку, затем время ожидания ручной команды в две секунды, а затем отключение.
M17 — включить шаговые двигатели.
M18 — выключить шаговые двигатели.
M20 — прочитать список файлов на SD-карте.
M21 — активировать SD-карту.
M22 — отключить SD-карту перед извлечением.
M23 — выбрать файл на SD-карте. Пример: M23 filename.gcode.
M24 — запустить заново или продолжить (если ранее использовалась команда M25) 3D-печать файла, указанного командой M23.
M25 — приостановить 3D-печать с SD-карты (возобновляется с того же места командой
M24).
M26 — выставить позицию в файле, указывается в байтах. Указанная позиция должна точно совпадать с началом соответствующей команды в G-коде. Позволяет перепрыгивать на определенный участок кода без выполнения пропущенных команд.
M27 — узнать статус 3D-печати с SD-карты.
M28 — записать файл на SD-карту. Пример: M28 filename.gcode.
M29 — завершить запись файла на SD-карте: файл закрывается, система продолжает работу.
M30 — удалить файл с SD-карты. Пример: M30 filename.gcode.
M32 — выбрать файл с SD-карты и запустить 3D-печать.
M80 — включить блок питания ATX.
M81 — отключить блок питания ATX.
M82 — установить экструдер в абсолютную систему координат.
M83 — установить экструдер в относительную систему координат.
M84 — выключить все шаговые двигатели. Пример: M84 S15 означает перевод в режим ожидания после 15-секундного простоя.
M85 — полное отключение после определенного времени простоя. Например, команда M85 S60 означает выключение после одной минуты простоя.
M104 — Установить температуру хотэнда и немедленно перейти к следующей команде. Пример: после команды M104 S220 3D-принтер начнет прогревание хотэнда, но приступит к выполнению следующих команд, не дожидаясь полного прогревания (см. также M109).
M105 — получить текущую температуру экструдера.
M106 — включить обдув. Мощность указывается в диапазоне от 0 до 255. Например, для включения обдува на 50-процентной мощности подойдет команда M106 S127.
M107 — отключить обдув.
M108 — завершить прогревание и приступить к 3D-печати (см. M109).
M109 — установить температуру хотэнда и ждать прогрева. Пример: после команды M109 S220 3D-принтер будет ждать прогревания хотэнда до 220°С, а затем приступит к выполнению следующих команд.
М112 — экстренная остановка с прекращением работы всех двигателей и нагревателей.
M114 — получить текущие координаты.
M115 — узнать текущую версию прошивки.
M117 — вывести сообщение на дисплей. Текст сообщения следует за командой, например M117 Hello.
M119 — узнать состояние концевых выключателей.
M140 — запустить прогрев столика до указанной температуры и немедленно перейти к выполнению следующих команд (см. также M190). Пример: M140 S65 означает прогрев до 65°С.
M190 — установить температуру столика и ждать полного прогрева перед выполнением следующих команд.
M200 — задает диаметр филамента. Дополнительные параметры включают D для диаметра, Т для экструдера, L для максимального потока. Например, команда M200 T0 D1.75 L12 определяет диаметр фламента как 1,75 мм для первого экструдера (T0 — первый, T1 — второй, и так далее) с максимальным объемом подаваемого материала 12 мм^3/с. Команда позволяет в том числе настраивать 3D-принтер для работы с филаментами нестандартного диаметра.
M302 — так называемая «холодная экструзия». Разрешает работу при температуре хотэнда ниже установленной. Например, команда M302 S180 позволяет 3D-принтеру работать при температуре хотэнда как минимум 180°C, даже если хотэнду задана более высокая температура. Команда M302 S0, таким образом, позволит продолжить 3D-печать вне зависимости от текущей температуры хотэнда (фактически, при любой температуре выше 0°С).
M500 — сохранить параметры в EEPROM.
M501 — прочитать параметры из EEPROM.
M502 — сброс параметров в EEPROM.
M600 — пауза для замены филамента.
M928 — запись лога на SD-карту. Пример: M928 filename.gcode.
Полный перечень доступных команд с пояснениями и примерами доступен на сайте RepRap.org по этой ссылке.
Чтобы написать отзыв нужно авторизоватся
Вход через социальные сети