OrcaSlicer 2.3: Junction Deviation и более точный расчёт времени печати — где цифрам уже можно верить - Блог Папы Карло

Опубликовано: 5 месяцев назад
Просмотров: 206

Привет. Я тут в своей мастерской опять залип в профили, тестовые башни и часы у принтера, и скажу сразу главное: ветка OrcaSlicer 2.3 реально подвинула тему с Junction Deviation из разряда «где-то там в прошивке» в нормальный рабочий инструмент. А ещё расчёт времени печати стал заметно честнее, так что на цифры уже можно смотреть не как на гадание, а как на ориентир для очереди, заказов и ночных запусков.

Ниже покажу, что именно поменялось, почему это важно для Klipper и Marlin 2, где оценка времени теперь попадает ближе к факту, а где я всё равно держу в голове запас. Заодно дам короткий чек-лист, как я проверяю профиль после перехода на OrcaSlicer 2.3, чтобы потом не ловить сюрпризы на углах и по таймингу.

Содержание:

Что именно произошло в OrcaSlicer 2.3

Если по-человечески, в ветке 2.3 разработчики закрыли сразу два старых раздражителя. Первый — нормальная работа с cornering-настройками, то есть с тем, как принтер проходит углы и смену направления. Второй — более правдоподобная оценка времени печати, которая раньше местами легко улетала в космос и мешала планировать запуск деталей.

В ранних релизах ветки 2.3 в OrcaSlicer завезли встроенную калибровку Input Shaping и Junction Deviation, плюс отдельный лимит JD для Marlin 2. Это уже было полезно: раньше многие ковыряли эти значения вручную, а тут слайсер сам подвёл к тесту, показал логику и дал сохранить результат в профиль. Для ребят, кто держит несколько принтеров с разным характером, это прям подарок: меньше хаоса, меньше «а почему на этом корпусе рябь, хотя профиль вроде тот же».

Потом подтянули и сам расчёт времени. OrcaSlicer начал учитывать Junction Deviation в оценке длительности печати, а позже в ветке 2.3 доработали обработку JD так, чтобы на расчёт не продолжали влиять jerk-лимиты там, где активен именно JD, и добавили учёт по оси Z. Вот после этого история стала уже взрослой: не просто новая галочка в интерфейсе, а реальный шаг к тому, чтобы слайсер считал поведение головы на траектории ближе к тому, что делает железо.

И вот тут начинается самое интересное. Раньше многие смотрели на время в слайсере как на «ну плюс-минус когда-нибудь». Сейчас это уже больше похоже на рабочую цифру. Не идеальную, не священную, а именно рабочую.

Ноутбук со слайсером рядом с 3D-принтером во время печати детали

Почему расчёт времени стал ближе к реальности

В старых сценариях оценка часто ломалась об углы. На прямых всё выглядело бодро: скорость задана, ускорения заданы, значит и время вроде посчитать легко. Но как только модель состояла из кучи коротких сегментов, поворотов, маленьких стенок и резких смен направления, начиналась настоящая жизнь. И вот там обычная логика «скорость плюс ускорение» уже давала кривую картину, особенно если принтер жил не по классическому jerk, а по Junction Deviation.

Смысл JD в том, что голова не просто тупо тормозит и ускоряется по старой схеме. Проход угла считается иначе, и фактическая скорость на поворотах зависит от связки ускорения и значения JD. Когда слайсер это не понимает, он легко врёт по длительности печати — иногда в приятную сторону, иногда наоборот. Для мастерской это неудобно: ставишь очередь из трёх деталей, думаешь, что к утру всё готово, а по факту тайминг уплыл.

В OrcaSlicer 2.3 эту дыру начали закрывать системно. Теперь оценка опирается не только на «голые» ограничения скорости, но и на cornering-логику, ближе к прошивке. На практике это особенно заметно на деталях с множеством углов, мелкими карманами, текстом на стенках, техничными кронштейнами и корпусами с короткими проходами. То есть как раз на тех моделях, где раньше время плясало сильнее всего.

Но я бы всё равно держал в голове один важный момент. Даже после улучшений это не секундомер из будущего. На итог всё ещё влияют стартовый и финальный G-code, прогрев, продувки, ограничения по потоку, замедления на маленьком слое, особая логика прошивки и всякие фирменные приколы конкретного принтера. Поэтому для себя я использую простое правило: если профиль откалиброван, то оценке в OrcaSlicer 2.3 уже можно доверять для планирования смены, очереди и дедлайна на один день. А вот для сверхточного попадания в минуту я всегда смотрю ещё на пару контрольных распечаток.

Сценарий Как было раньше Что даёт ветка 2.3
Простая крупная модель с длинными проходами Оценка обычно терпимая Разница стала ещё стабильнее
Корпуса, кронштейны, модели с кучей углов Время легко улетало заметно дальше от факта Слайсер лучше понимает cornering и считает спокойнее
Профили с Marlin 2 и Junction Deviation Логика углов учитывалась криво или не полностью Появился более уместный расчёт под JD
Планирование очереди печати в мастерской Приходилось закладывать большой запас Запас всё ещё нужен, но уже не такой дикий

Что Junction Deviation даёт на практике

Теперь к самому вкусному. Junction Deviation — это не «волшебная кнопка скорости», а способ аккуратнее задать поведение принтера в поворотах. На нормальном железе он помогает пройти угол быстрее, чем слишком дубовый classic jerk, и при этом не раскидать артефакты по стенке. Если переборщить — словишь звон, дрожь и неровный контур. Если задушить слишком сильно — принтер станет вялым на траектории, а время печати начнёт расти там, где этого можно было избежать.

Поэтому появление cornering-калибровки прямо в Orca — история полезная. Не нужно гадать в столбик. Печатаешь тест, смотришь, на какой высоте углы начинают терять чёткость, читаешь значение и сохраняешь его в профиль. Для Marlin 2 это особенно удобно, потому что можно держать нормальный Maximum Junction Deviation и уже от него плясать по конкретной машине.

На практике JD сильнее всего ощущается там, где ты печатаешь не вазу и не коробку на два прохода, а детали с активной геометрией: крепёж, кожухи, элементы кареток, техничные переходники, корпуса с окнами, таблички с буквами. То есть всё, где сопло всё время меняет направление и не живёт на длинной прямой. Именно там грамотный cornering делает две вещи сразу: помогает держать внешний контур чище и одновременно не тормозит печать сильнее, чем надо.

Если тема движения и колебаний тебе вообще интересна, рядом хорошо ложатся материалы про Input Shaping в Klipper и про волны от вибраций на стенках. А если после обновления профиля внезапно поползли размеры, глянь ещё раз на калибровку Flow Ratio в OrcaSlicer. Очень часто люди ругают cornering, а косяк сидит вообще в потоке.

Кому это реально нужно, а кому можно не суетиться

Сейчас скажу грубо, по-цеховому. Если у тебя обычный бытовой профиль, ты печатаешь не спеша декор, горшочки и коробочки, а время запуска не критично, то переход на ветку 2.3 ради одного только JD не обязан перевернуть жизнь. Да, будет приятнее. Да, цифры станут ближе к делу. Но вау-эффект не у всех одинаковый.

А вот кому реально есть смысл смотреть в эту сторону внимательно:

  • тем, кто печатает сериями и планирует загрузку принтера по часам;
  • тем, у кого Marlin 2 и активный Junction Deviation, а не старый classic jerk;
  • тем, кто гоняет техничные детали с кучей углов и коротких проходов;
  • тем, кто уже упёрся в баланс «скорость печати vs качество» и ищет не просто быстрее, а точнее;
  • тем, кто держит несколько машин и хочет одинаковую логику профилей.

Кстати, про баланс скорости и качества у меня в мастерской это вечная тема. Вот почему я бы рядом открыл материал про подбор профиля под скорость и качество. А если сидишь на Cura и сравниваешь подходы, полезно глянуть, как там работает Print Estimation Factor в Cura 5.12. Логика другая, но задача та же: сделать так, чтобы цифры на экране не жили отдельной жизнью.

Как я проверяю профиль после обновления

Я бы не ставил OrcaSlicer 2.3, не менял JD и не верил первой же цифре после слайсинга. Делаю проще.

  1. Проверяю, какая логика углов реально живёт в прошивке. Если это Marlin 2, смотрю, активен ли Junction Deviation. Если это Klipper, держу в голове аналогичную тему со square corner velocity.

  2. Запускаю cornering-калибровку. Сначала широкий диапазон, потом добиваю второй башней около рабочей зоны. Не беру значение «на глаз плюс запас», а выбираю место, где углы ещё чистые.

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

  4. Смотрю на расхождение по времени. Если слайсер обещал 2 часа 20 минут, а железо стабильно укладывается в 2 часа 10–30 минут, для мастерской это уже нормальная история. Если расхождение снова огромно, ищу не в JD, а в start G-code, лимитах потока, замедлениях по охлаждению и переопределениях прошивки.

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

Где логика Orca и Cura сходится, а где расходится

Раз уж статья идёт в рубрику про Cura, скажу честно: OrcaSlicer и Cura сегодня уже не выглядят как «старый лагерь против нового». По многим вещам они сходятся — оба слайсера пытаются дать больше контроля над траекторией, скоростью, качеством поверхностей и прогнозом по времени. Но Orca в ветке 2.3 сделал сильный упор именно на motion tuning, то есть на то, как настройки движения стыкуются с реальной механикой принтера.

У Cura подход чаще выглядит более модульным: отдельные механики ускорения, отдельные плагины и коэффициенты, отдельные хитрые настройки под конкретный кейс. У Orca мне сейчас нравится другое: меньше ощущения, что ты собираешь пазл вручную. Особенно когда дело касается калибровки движения и связи профиля с прошивкой.

При этом никто не отменял старую истину мастерской: если у тебя гуляет Z-offset, скачет поток, шатается рама или неверно выставлены ускорения, никакой суперслайсер не сделает чудо. Поэтому рядом с темой OrcaSlicer 2.3 я бы держал под рукой ещё и материалы про калибровку Z-offset, про ускорения и jerk и, для фигурок, про Adaptive Layers в Cura. Потому что итоговое время печати рождается не в одном поле настроек, а в их связке.

Вывод

Если совсем по делу, то OrcaSlicer 2.3 — это не косметика. Ветка принесла внятную работу с Junction Deviation, встроенную калибровку cornering и более взрослый расчёт времени печати для тех сценариев, где раньше цифры любили фантазировать. После нормальной настройки профиля этим значениям уже можно доверять заметно сильнее, чем раньше.

Я бы сформулировал так: для домашнего энтузиаста это удобное улучшение, для мастерской — уже практический инструмент. Когда слайсер ближе понимает, как принтер проходит углы, ты получаешь сразу два бонуса: чище прогноз по таймингу и меньше шансов гонять профиль вслепую. А это, как ни крути, экономит и пластик, и нервы, и часы у станка.

Так что мой вердикт простой: обновление ветки 2.3 имеет смысл не ради красивой цифры в changelog, а ради нормальной связки «движение — качество — время». Вот тут уже реально есть за что зацепиться руками, а не просто покликать новые пункты в меню.

Метки: , , , , , , ,