Глиф Учебники

Что такое G-code

Справочник · 3D-печать · 2 минуты чтения

G-code — текстовый язык команд, который понимает прошивка принтера. Каждая строка — одна команда: «нагрей сопло», «двигайся в точку», «включи вентилятор». Файл .gcode создаёт слайсер из модели; вручную G-code пишут редко — разве что начальный и конечный код или команды для настройки.

Как читать строку

G-code
G1 X120 Y20 E3.3 F1200 ; линия до точки X=120, Y=20

Пример: линия вручную

G-code
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

В профиле принтера в слайсере есть два блока, которые добавляются в начало и конец каждого файла. Начальный обычно выглядит так:

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              ; снова сбросить счётчик

Линия очистки прокачивает сопло перед печатью. В настоящем профиле слайсер подставляет температуры из профиля пластика вместо чисел — у каждого слайсера для этого свои обозначения.

Конечный:

G-code
M104 S0             ; выключить нагрев сопла
M140 S0             ; выключить нагрев стола
M107                ; выключить обдув
G91                 ; относительные координаты
G1 E-2 F2700        ; немного втянуть нить
G1 Z10 F600         ; поднять сопло на 10 мм
G90                 ; снова абсолютные
G1 X0 Y200 F3000    ; отвести стол и головку, чтобы снять деталь
M84                 ; выключить моторы

Координаты в примерах — для стола 220 × 220 мм. Для своего принтера берите начальный и конечный код из готового профиля слайсера и меняйте его осторожно.

Где вводить команды

Команда выполняется сразу и без вопросов. Неверная координата может ударить сопло о стол, а M502 в Marlin сбрасывает настройки к заводским (после M500 — навсегда). Перед непривычной командой проверьте её в документации прошивки.

Подробнее