Что такое G-code
G-code — текстовый язык команд, который понимает прошивка принтера. Каждая строка — одна команда: «нагрей сопло», «двигайся в точку», «включи вентилятор». Файл .gcode создаёт слайсер из модели; вручную G-code пишут редко — разве что начальный и конечный код или команды для настройки.
Как читать строку
G1 X120 Y20 E3.3 F1200 ; линия до точки X=120, Y=20G1— сама команда: буква и номер. Команды G — движение, M — всё остальное (нагрев, вентиляторы, моторы, настройки).X120 Y20— координаты в миллиметрах.E3.3— сколько миллиметров нити подать (ось экструдера).F1200— скорость в миллиметрах в минуту: 1200 мм/мин = 20 мм/с.- Всё после
;— комментарий, принтер его пропускает.
Пример: линия вручную
G90 ; абсолютные координаты
M82 ; экструдер тоже в абсолютных
G92 E0 ; считать текущее положение нити нулём
G1 Z0.2 F600 ; сопло на высоту первого слоя
G1 X20 Y20 F6000 ; переехать к началу линии
G1 X120 Y20 E3.3 F1200 ; линия 100 мм, подано 3,3 мм нити3,3 мм нити диаметром 1,75 мм — это примерно столько пластика, сколько нужно на линию длиной 100 мм, шириной 0,4 мм и высотой 0,2 мм. Слайсер считает такие числа для каждой линии.
Частые команды
| Команда | Что делает |
|---|---|
G28 | Найти начало координат (домой) по всем осям |
G0, G1 | Перемещение; с E — с подачей пластика |
G90, G91 | Абсолютные или относительные координаты |
M82, M83 | Экструдер в абсолютных или относительных координатах |
G92 E0 | Считать текущее положение экструдера нулём |
M104 S200 | Сопло на 200 °C, не ждать |
M109 S200 | Сопло на 200 °C и ждать нагрева |
M140 S60 | Стол на 60 °C, не ждать |
M190 S60 | Стол на 60 °C и ждать нагрева |
M106 S255 | Обдув детали на полную (от 0 до 255) |
M107 | Выключить обдув |
G4 P1000 | Пауза 1000 мс |
M84 | Выключить моторы |
Это стандартные команды: их понимают и Marlin, и Klipper. Есть и команды только одной прошивки. Например, в Marlin G29 снимает карту стола, M500 сохраняет настройки, M503 показывает их, а M600 запускает смену пластика (если эта возможность включена в прошивке). В Klipper вместо них свои команды — BED_MESH_CALIBRATE, SAVE_CONFIG — и макросы, которые пользователь пишет сам.
Начальный и конечный G-code
В профиле принтера в слайсере есть два блока, которые добавляются в начало и конец каждого файла. Начальный обычно выглядит так:
M140 S60 ; стол — 60 °C
M190 S60 ; ждать стол
M104 S205 ; сопло — 205 °C
G28 ; домой по всем осям
M109 S205 ; ждать сопло
G92 E0 ; сбросить счётчик экструдера
G1 Z2.0 F3000 ; поднять сопло
G1 X10 Y20 Z0.28 F5000 ; к началу линии очистки
G1 X10 Y200 Z0.28 E15 F1500 ; линия очистки вдоль края стола
G92 E0 ; снова сбросить счётчикЛиния очистки прокачивает сопло перед печатью. В настоящем профиле слайсер подставляет температуры из профиля пластика вместо чисел — у каждого слайсера для этого свои обозначения.
Конечный:
M104 S0 ; выключить нагрев сопла
M140 S0 ; выключить нагрев стола
M107 ; выключить обдув
G91 ; относительные координаты
G1 E-2 F2700 ; немного втянуть нить
G1 Z10 F600 ; поднять сопло на 10 мм
G90 ; снова абсолютные
G1 X0 Y200 F3000 ; отвести стол и головку, чтобы снять деталь
M84 ; выключить моторыКоординаты в примерах — для стола 220 × 220 мм. Для своего принтера берите начальный и конечный код из готового профиля слайсера и меняйте его осторожно.
Где вводить команды
- В консоли программ, подключённых к принтеру: Pronterface, OctoPrint, веб-интерфейсы Klipper.
- Командами в файле на карте памяти: одна строка — одна команда.
Команда выполняется сразу и без вопросов. Неверная координата может ударить сопло о стол, а M502 в Marlin сбрасывает настройки к заводским (после M500 — навсегда). Перед непривычной командой проверьте её в документации прошивки.
Подробнее
- Справочник команд Marlin: marlinfw.org.
- Команды Klipper: klipper3d.org.