Заметили ли вы зерна или дефекты на криволинейных поверхностях ваших 3D-печати, особенно в моделях высокого разрешения? Эта распространенная проблема, известная как заикание или buffer underrun, не является механической неисправностью, а ограничением программного обеспечения. Она возникает, когда принтер получает лавину слишком маленьких и быстрых команд G1, насыщая свой буфер движения. Машина должна делать микроскопические паузы для обработки очереди инструкций, оставляя видимые следы. К счастью, есть прямое решение — оптимизация G-кода перед печатью.
Техническая причина: насыщение буфера команд 🔍
Причина кроется в том, как 3D-геометрия преобразуется в инструкции для машины. Слайсеры превращают идеальные кривые в тысячи крошечных прямых сегментов (команд G1). В очень сложной модели это генерирует массивную последовательность чрезвычайно коротких линейных движений. Принтер с ограниченной памятью и процессором не может их обработать с требуемой скоростью. Его внутренний буфер заполняется, и он должен кратковременно останавливать моторы, чтобы догнать, создавая эти паузы, которые проявляются как зерна на поверхности. Это узкое место в коммуникации между файлом и электроникой.
Два практических решения: упростить код ⚙️
Окончательное решение — уменьшить количество команд. Вы можете подойти к этому с двух сторон. Во-первых, используя плагин Arc Welder (для OctoPrint или как самостоятельный инструмент). Это ПО постобработает G-код, обнаруживая последовательности G1, формирующие дуги, и заменяя их на единственную команду G2 или G3 дуги, резко сокращая количество инструкций. Второй вариант — превентивный: в вашем слайсере найдите настройку Максимальное разрешение или Толерантность сетки и увеличьте ее значение (например, с 0.01 мм до 0.05 мм). Это экспортирует более длинные прямые сегменты в кривых, избегая перегрузки с самого начала.
Как устранить зерна и заикания на кривых ваших 3D-печати, не теряя детали модели?
(P.S.: не забудьте выровнять стол, иначе ваша печать будет похожа на абстрактное искусство)