Что описывает G-code

G-code — построчный язык команд, который используют 3D-принтеры, станки с ЧПУ и родственные системы управления движением. Строка может запросить перемещение, изменить модальную настройку, задать температуру или обновить функцию, специфичную для контроллера.

Отдельно взятая команда редко однозначна. Результат зависит от режима единиц, режима координат, режима экструзии, конфигурации станка и прошивки, которая читает файл. Поэтому справочник описывает и обычное значение команды, и контекст, способный его изменить.

Главная мысль

G-code точнее понимать как семейство родственных диалектов, а не как единый и полностью однородный стандарт файлов для принтеров. Базовый синтаксис движения совпадает, но доступные команды, параметры, значения по умолчанию и расширения зависят от целевой прошивки и её настроек.

Как читать командную строку

G1 X120 Y40 E1.6 F1800
G1

Запрашивает согласованное линейное перемещение.

X / Y

Задают целевую позицию или расстояние — в зависимости от G90/G91.

E

Задаёт позицию или длину подачи экструдера — в зависимости от M82/M83.

F

Задаёт скорость подачи. В файлах для печати её обычно указывают в миллиметрах в минуту, а последующие перемещения часто продолжают использовать последнее значение.

; ...

Обычно начинает комментарий для человека или программы. Слайсеры помечают комментариями слои и типы элементов, но эти метки не стандартизированы.

За буквой не закреплена единица измерения вне контекста. X может быть координатой, F — скоростью подачи, а S — температурой, оборотами вентилятора или другой настройкой. Параметр всегда следует читать через команду, которой он принадлежит.

Файл печати обычно состоит из трёх частей

Подготовка

Задаёт единицы и режимы позиционирования, включает нагрев, выводит оси в ноль, выбирает инструмент, может запускать калибровку стола, очистку или стартовые макросы. Именно здесь определяется, как читать значения дальше.

Послойное тело

Длинные последовательности перемещений, экструзии, ретракта, смены обдува и температуры формируют деталь. Слои и типы элементов чаще помечаются комментариями слайсера, чем отдельными командами.

Завершение

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

; начало: задать состояние
G21
G90
M83
G28

; тело: холостой ход, затем печать
G0 X40 Y20 Z0.20 F9000
G1 X80 Y20 E1.40 F1800

; конец: остановить активные выходы
M104 S0
M140 S0
M107

Это иллюстрация структуры, а не готовый файл для запуска на любом станке. Направление парковки, порядок нагрева, позиция парковки и имена макросов должны соответствовать конкретному принтеру.

Контекст прошивки имеет значение

Marlin, Klipper, RepRapFirmware и контроллеры ЧПУ совпадают в базовых командах движения, но не образуют полностью взаимозаменяемый язык. Одна и та же задача может требовать других имён команд, других параметров или другой шкалы значений.

СистемаМодель расширенияЧто проверить
MarlinКоманды в стиле RepRapМногие возможности задаются на этапе сборки, поэтому две сборки одного и того же релиза могут предоставлять разные команды.
KlipperСтандартное подмножество + именованные расширенияНамеренно поддерживает общее стандартное подмножество, добавляет имена вроде SET_PRESSURE_ADVANCE и позволяет макросам дополнять или переопределять поведение.
RepRapFirmwareG-code повсюду + макросы и выраженияКонфигурация, управление и отчёты о состоянии широко используют G-code, а свежие версии поддерживают также метакоманды и выражения.
LinuxCNC / RS274NGCМодальные группы ЧПУ и системы координатПонятия ЧПУ — шпиндель, коррекция инструмента, рабочие координаты, постоянные циклы — не подразумевают принтерной оси E или логики нагревателей.

Поэтому минимальный контекст совместимости — это имя прошивки, её версия и конфигурация. Ни расширение файла, ни успешный запуск на чужом станке не доказывают, что на вашем принтере всё выполнится так же.

Как разбирать незнакомый файл

  • Определите слайсер, целевой станок и прошивку. Если этот контекст отсутствует, считайте совместимость неизвестной.
  • Прежде чем толковать перемещения, прочитайте единицы, режим осей, режим экструзии, парковку и настройку инструмента и нагревателей.
  • Отслеживайте изменения X/Y/Z отдельно от E, чтобы отличать холостой ход, печать, ретракт и подачу обратно.
  • Считайте комментарии после точки с запятой подсказками слайсера, а не командами, которые станок обязательно исполнит, и не думайте, что все слайсеры используют одинаковые метки.
  • Для макросов, именованных расширений и незнакомых M-кодов смотрите официальную документацию нужной версии прошивки, а не догадывайтесь по номеру.
  • Наконец, проверьте, что завершение выключает нагрев, обдув и другие выходы, а парковочные перемещения не выходят за пределы и не задевают деталь.

Что содержит страница каждой команды

  • Краткое определение и состояние, необходимое для правильного чтения команды.
  • Синтаксис и значение параметров с практическими примерами G-code.
  • Различия между прошивками и ошибки, способные изменить поведение станка.
  • Честное описание того, что локальный просмотрщик может проверить, а что нет.

Что может показать просмотрщик

Показывает файл, а не принтер

Просмотрщик отображает поддерживаемые траектории и часть сведений из файла. Он не воспроизводит настройки принтера и не предсказывает точно, что сделает реальный станок.

Начните с этих ключевых команд

Официальные источники этого руководства

Подготовлено 8 августа 2026 года по перечисленным ниже первичным источникам. Вместе они объясняют общую структуру строки и причины расхождения диалектов контроллеров.