Ограничение печати объёмным расходом
Приём из методички K3D: «лучше всего поставить большие ограничения скоростей движения печатающей головы в слайсере, а реальную скорость печати ограничивать изменением ограничения объёмного расхода». Выглядит как экзотика, но это самый практичный способ держать профили в порядке, и вот почему.
Скорость в мм/с — не свойство материала
Расплав в сопле не знает, с какой скоростью едет голова. Он знает, сколько кубических миллиметров в секунду через него проталкивают. Связь простая:
расход [мм³/с] ≈ ширина линии [мм] × толщина слоя [мм] × скорость [мм/с]
Отсюда неприятное следствие: одна и та же скорость означает разную нагрузку на хотэнд в разных профилях.
| Профиль | Ширина × слой | 200 мм/с — это | 300 мм/с — это |
|---|---|---|---|
| «качество» | 0.42 × 0.20 = 0.084 мм² | 16.8 мм³/с | 25.2 мм³/с |
| «техничка» | 0.60 × 0.20 = 0.120 мм² | 24.0 мм³/с | 36.0 мм³/с |
| крупное сопло | 0.90 × 0.30 = 0.270 мм² | 54.0 мм³/с | 81.0 мм³/с |
Если ограничивать скоростями, то каждое сочетание «материал × профиль» придётся подбирать заново, и любое изменение ширины линии тихо ломает подбор. Если ограничивать расходом — один лимит на катушку работает с любым профилем печати, потому что слайсер сам пересчитает его в мм/с под текущую геометрию.
Практическое следствие: профиль печати становится универсальным
Именно это позволяет держать один профиль печати на все материалы. Профиль печати задаёт геометрию (ширину линии, слой, стенки, заполнение) — она от пластика не зависит. Всё материальное — температуры, обдув, камера, лимит расхода — живёт в профиле филамента. Заводить парные профили «процесс + филамент» под каждый пластик не нужно и вредно: они разъезжаются.
Замер: цифры скоростей в профиле могут не достигаться вовсе
Я разобрал готовый gcode по каждой экструзионной линии: брал текущую подачу F, считал длину хода по XY и объём по дельте E, и смотрел, во что упирается каждый тип экструзии. Профиль печати заявлял 200–300 мм/с, лимит расхода филамента стоял 16 мм³/с.
| Тип экструзии | В профиле | Факт | Расход | Чем ограничено |
|---|---|---|---|---|
| Внешняя стенка | 200 мм/с | 151 | 16.0 мм³/с | расходом |
| Внутренняя стенка | 300 мм/с | 151 | 16.0 мм³/с | расходом |
| Разреженное заполнение | 270 мм/с | 151 | 16.0 мм³/с | расходом |
| Сплошное заполнение | 250 мм/с | 178 | 16.0 мм³/с | расходом |
| Верхняя поверхность | 200 мм/с | 151 | 16.0 мм³/с | расходом |
| Первый слой и кайма | 105 мм/с | 105 | 11.1 мм³/с | скоростью |
| Внутренние мосты | 50 мм/с | 50 | 6.0 мм³/с | скоростью |
Ни одна из «страшных» цифр 200–300 мм/с не достигается: всё, что печатается толстой линией, упирается ровно в потолок расхода. Зато первый слой и мосты режутся именно скоростями — там расход низкий сам по себе, и лимит до них не дотягивается.
Вывод, который стоит держать в голове при чтении чужих профилей: большие числа скоростей в профиле — не признак «агрессивных настроек», а намеренно неработающие потолки. Смотреть надо на лимит расхода.
Чего расход НЕ ограничивает
- Ускорения. Они не связаны с подачей вообще, и на детали со множеством коротких сегментов именно они определяют время печати, а не потолок расхода.
- Перемещения без экструзии. Скорость холостых ходов — отдельная настройка.
- Тонкие линии. Заполнение щелей, мелкие периметры, мосты — там сечение маленькое, и связывает скорость.
Именно поэтому снижение лимита расхода стоит гораздо меньше, чем кажется по арифметике. Мой замер на кубе 60×60×60 мм, менялся только лимит:
| Лимит расхода | Скорость стенок | Время печати |
|---|---|---|
| 16 мм³/с | 151 мм/с | 2 ч 22 м |
| 12 мм³/с | 113 мм/с | 2 ч 38 м |
| 10 мм³/с | 94 мм/с | 2 ч 52 м |
| 8 мм³/с | 76 мм/с | 3 ч 16 м |
Вдвое меньший расход — +37 % времени, а не вдвое. Половину пути держат разгоны и смена направления, на которые потолок расхода не влияет.
Какое число ставить
Лимит расхода можно померить тензодатчиком в сопле, а не брать из вендорского профиля: Замер максимального объёмного потока тензодатчиком. Гоча в том, что измеренный максимум — это потолок безопасности, а не оптимум прочности: на нём расплав работает у самой границы, где перестаёт успевать. Для нагруженных деталей число режут — см. раздел Безопасный максимум ≠ поток для прочности.
Как самому посчитать реальный расход по срезу
Слайсер печатает подачу F только когда она меняется, поэтому «максимум F по строкам с E» врёт — надо тянуть текущее значение через все строки. Псевдокод разбора:
F = 0; x, y = None
для каждой строки G0/G1:
если есть F -> F = значение / 60 # мм/мин -> мм/с
если есть E>0 и ход по XY больше ~0.5 мм:
d = длина хода по XY
расход = E * площадь_сечения_прутка / (d / F)
запомнить x, y
Площадь сечения прутка 1.75 мм — 2.405 мм². Группировать результат по маркерам ;TYPE: — так видно, какой тип экструзии чем ограничен.
Гочи
- Первая версия моего разбора дала «30 мм/с у всех типов» и это был артефакт: я брал
Fтолько со строк, где одновременно естьE, а таких строк мало и они соответствуют медленным участкам. Признак ошибки — подозрительно одинаковое число у всех типов сразу. - Лимит расхода — свойство пары «катушка + температура», а не материала вообще: замер при 220 и при 240 даст разные числа, фиксировать надо вместе с температурой.
- Занижённый лимит режет скорости молча, без предупреждений в интерфейсе. Профиль со скоростью 230 мм/с при лимите 14 реально печатает около 172 — и в интерфейсе всё равно написано 230.
Источники
- K3D — Принципы прочной печати — раздел про ограничение скорости расходом
- Настройки для прочной печати — остальные рычаги прочности
- Проверка настроек слайсера по срезанному gcode — как получить срез для разбора