Некорректный стартовый G-code на Ender 3 проявляется типичными симптомами: сопло царапает стол при движении в нулевую точку, первая линия продувки печатается в воздухе или пластик не успевает прогреться перед началом модели. Все эти проблемы решаются правкой нескольких строк в настройках слайсера — и для этого не нужно перепрошивать принтер.

Стартовый код — это блок команд, который принтер выполняет перед печатью каждой модели: паркует оси, прогревает хотенд и стол, очищает сопло. В этой статье разберём готовый проверенный вариант для Ender 3, Ender 3 V2 и Ender 3 Pro, объясним назначение каждой команды и покажем, куда вставлять код в популярных слайсерах.

Что делает стартовый G-code и почему стандартный не всегда подходит

Стандартный стартовый скрипт, который Cura подставляет по умолчанию, содержит только базовый минимум: обнуление осей командой G28 и короткую линию продувки у края стола. Для большинства задач этого хватает, но у базового варианта есть слабые места.

Во-первых, нагрев стола и сопла в стоковом скрипте иногда запускается последовательно, что увеличивает время подготовки. Во-вторых, если вы установили датчик автокалибровки BLTouch или CR Touch, в код необходимо добавить команду G29 — без неё карта высот стола просто не построится. В-третьих, линия продувки по умолчанию короткая, и остатки старого пластика могут попасть на первый слой модели.

Хороший стартовый код решает три задачи: безопасный прогрев без касания стола соплом, построение сетки уровня (при наличии датчика) и качественная продувка сопла перед стартом. Ниже — готовый вариант, который закрывает все три пункта.

Готовый стартовый G-code для Ender 3

Этот вариант подходит для Ender 3, Ender 3 Pro и Ender 3 V2 с прошивкой Marlin. Скопируйте блок целиком:

; Ender 3 Start G-code

M140 S{material_bed_temperature_layer_0} ; нагрев стола

M104 S150 ; преднагрев сопла до 150°C без ожидания

G28 ; парковка всех осей

G29 ; автокалибровка (только с BLTouch/CR Touch)

M190 S{material_bed_temperature_layer_0} ; ожидание нагрева стола

M109 S{material_print_temperature_layer_0} ; ожидание нагрева сопла

G92 E0 ; обнуление экструдера

G1 Z2.0 F3000 ; поднять сопло

G1 X2.1 Y20 F5000 ; переход к краю стола

G1 Z0.28 F5000 ; опустить сопло

G1 Y100 E15 F1500 ; линия продувки 100 мм

G1 Y120 E12 F1500 ; вторая линия продувки

G92 E0 ; сброс экструдера

G1 Z2.0 F3000 ; поднять сопло перед печатью

Ключевая идея этого скрипта — двухэтапный нагрев. Сопло сначала греется только до 150 °C: при такой температуре пластик ещё не вытекает и не капает на стол во время калибровки G28/G29. Полный нагрев до рабочей температуры происходит уже после парковки, непосредственно перед продувкой.

💡

Если у вас нет датчика автокалибровки, просто удалите или закомментируйте строку G29 — поставьте точку с запятой перед командой: ;G29