Arc fitting (G2/G3): дуги в G-code — зачем и когда включать

Arc fitting — функция слайсера, которая заменяет множество коротких отрезков на окружностях командами дуг G2/G3. Разбираем, зачем это нужно (меньше файл, плавнее движение, меньше «подтормаживаний» по USB и на слабых платах), поддержку в Marlin и Klipper, возможные проблемы и когда лучше выключить.
Коротко: слайсер описывает окружности и кривые множеством коротких прямых отрезков — тысячами команд G1. Arc fitting заменяет их командами дуг G2/G3: одна команда вместо десятков. Это уменьшает размер файла, снижает нагрузку на плату и может убрать «подтормаживания» и пятна на кривых, особенно при печати по USB и на слабых 8-битных платах. Прошивка должна поддерживать дуги: в Marlin — опция ARC_SUPPORT, в Klipper — секция [gcode_arcs]. На современных быстрых принтерах выигрыш обычно небольшой, а на некоторых прошивках дуги дают артефакты — тогда функцию выключают. Ниже — подробнее.
Как это работает
STL состоит из треугольников, поэтому окружность в модели уже является многоугольником. Слайсер режет её на слои и получает контуры из отрезков. Если модель экспортирована в высоком разрешении, отрезков очень много — каждый длиной доли миллиметра. Arc fitting находит последовательности отрезков, лежащие на дуге, и заменяет их одной командой G2 (по часовой) или G3 (против часовой) с центром и радиусом. Прошивка затем сама раскладывает дугу на движения. G-code, STL.
Плюсы и минусы

Когда полезно
- Печать по USB или через OctoPrint — меньше команд, меньше риск, что буфер команд опустеет и голова будет «подтормаживать» с пятнами на модели. OctoPrint.
- Слабые 8-битные платы — процессор не успевает обработать поток коротких команд на высокой скорости. Платы.
- Модели с множеством окружностей — цилиндры, вазы, шестерни.
- Большие файлы — экономия места на карте памяти.
Когда не нужно или вредно
- Klipper на мощном хосте — Klipper сам эффективно обрабатывает короткие отрезки; выигрыш минимален.
- Прошивка без поддержки — команды G2/G3 будут проигнорированы или выполнены неправильно, модель испортится.
- Проблемы с качеством — на некоторых версиях прошивок дуги дают «гранёные» окружности или неровную экструзию; если после включения стало хуже — выключите.
Поддержка в прошивках

В Marlin поддержка дуг включена во многих современных сборках; проверьте опцию в конфигурации или отправьте тестовую команду G2. В Klipper добавьте в конфиг секцию [gcode_arcs] с параметром resolution (длина сегмента, на которые прошивка разбивает дугу). Прошивка Marlin, Klipper.
Настройка в слайсере
В Orca Slicer и Bambu Studio — параметр «Arc fitting» в настройках качества. В PrusaSlicer — «Arc fitting» в настройках печати (в новых версиях). В Cura функция доступна через плагины постобработки. Допуск аппроксимации задаёт, насколько точно дуга должна повторять исходные отрезки. Orca Slicer, PrusaSlicer.
Связь с разрешением модели
Грубая модель с крупными гранями не станет гладкой от arc fitting: если окружность в STL из 32 сегментов, дуги её не «восстановят». Экспортируйте модели с хорошим разрешением, а для слишком детализированных сеток можно задать минимальную длину сегмента в слайсере (resolution), чтобы не перегружать прошивку. Круги и сегменты STL.
Как проверить
- Напечатайте цилиндр с arc fitting и без.
- Сравните поверхность и равномерность окружности.
- Сравните время и размер файла.
- Оставьте вариант, который даёт лучшее качество на вашем принтере.
Пример: печать по USB с OctoPrint
Ваза с множеством кривых печаталась по USB со старой 8-битной платой, и на стенке появлялись мелкие «пупырышки» — голова на мгновение останавливалась, ожидая команды. После включения arc fitting размер G-code уменьшился втрое, а пупырышки исчезли. На том же принтере после перехода на Klipper разница между режимами стала незаметной. Пупырки на поверхности.
Arc fitting и другие оптимизации
Похожие задачи решают и другие функции: ограничение разрешения G-code (слайсер объединяет слишком короткие отрезки), сглаживание в прошивке, а в Klipper — эффективная обработка движения на компьютере-хосте. Если на кривых поверхностях видны пятна и неровности, сначала проверьте влажность пластика, pressure advance и скорость, и только потом экспериментируйте с arc fitting: чаще всего причина не в дугах. Pressure advance, сушка.
Частые вопросы
Что такое arc fitting?
Замена коротких отрезков на окружностях командами дуг G2/G3.
Нужно ли включать arc fitting?
Полезно при печати по USB и на слабых платах; на Klipper выигрыш мал.
Поддерживает ли Marlin дуги?
Да, при включённой опции ARC_SUPPORT.
Как включить дуги в Klipper?
Добавить секцию [gcode_arcs] в printer.cfg.
Сделает ли arc fitting круги ровнее?
Не исправит грубую модель; влияет на плавность движения.
Что делать, если стало хуже?
Выключить функцию.
Нужна 3D-печать на заказ?Студия Universe3D в Тюмени: фотополимерная печать, моделирование, покраска. Доставка по России и СНГ.
Оставить заявку