Настройки для прочной печати

Прочность детали определяется не «плотностью заполнения», как кажется на первый взгляд, а спеканием соседних экструзий между собой. Отсюда весь список: он про то, чтобы пластик успевал провариться, а не про то, чтобы его было больше. Основной источник чисел — методичка K3D «Принципы прочной печати», ориентированная на плохо спекающиеся материалы (ABS, ASA, HIPS, PC, PA6); я сверял её с тестами CNC Kitchen, с документацией OrcaSlicer и с собственными замерами на срезах.

Геометрия: четыре правила, которые считаются, а не подбираются

ПараметрПравило K3DПример для сопла 0.4Ключ OrcaSlicer
Ширина линии1.5 × диаметра сопла0.6 ммline_width и все производные *_line_width
Толщина слоя«~⅓ от ширины линии»0.2 ммlayer_height
Периметрытолщина стенки 2–4 мм, то есть N = [2…4] / ширина линии4–7 штук, 5 даёт ровно 3.0 ммwall_loops
Крышка и дно2–4 мм, равные толщине стенки3 мм = 15 слоёв по 0.2top_shell_thickness / bottom_shell_thickness + *_shell_layers

Ширину линии надо задавать всем типам экструзии, а не одному общему полю: в OrcaSlicer это line_width, outer_wall_line_width, inner_wall_line_width, internal_solid_infill_line_width, sparse_infill_line_width, top_surface_line_width, initial_layer_line_width. Заводские значения там разные (0.42 у одних типов, 0.45 у других), и правка только общего поля оставит половину линий узкими.

Ширина линии — ещё и самый дешёвый рычаг: CNC Kitchen мерил, что прочность растёт до 150–200 % от диаметра сопла, причём широкая линия печатается быстрее и тратит меньше пластика. Детализация падает, поэтому у внешнего периметра ширину иногда возвращают к диаметру сопла, а остальным оставляют широкой.

Правило про крышки контринтуитивно, и я на нём проверял себя. Увидев в своём профиле 15 верхних слоёв, я решил, что это перебор, и полез мерить. Оказалось — буквально формула K3D, крышка равна стенке. Снятие с 15 слоёв до 5 на кубе 60 мм дало 89.0 г против 98.1 г и ровно ноль экономии времени (3 ч 20 м против 3 ч 24 м): время съели не крышки. Гипотеза отвергнута замером.

Правила масштабируются на любое сопло, потому что все четыре завязаны на его диаметр:

СоплоШирина линииСлойСтенка 3 ммКрышка/дно
0.40.60.205 периметров15 слоёв
0.60.90.303–4 периметра (3.6 мм при 4)10 слоёв
0.81.20.403 периметра (3.6 мм)8 слоёв

Стенки важнее заполнения

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

Цена периметров при этом низкая. Мой замер на том же кубе: 3 стенки вместо 5 — это 87.9 г против 98.1 г (−10 %) и снова ноль по времени (3 ч 21 м). То есть две дополнительные стенки, дающие +1.2 мм толщины, стоят 10 г и не стоят ничего по времени.

Порядок действий при нехватке прочности: сначала периметры, потом всё остальное.

Заполнение: выбор бинарный, промежуточных значений нет

K3D формулирует так: «до плотности примерно 30–50 % прочность деталей почти не растёт, а потом уже проще сразу поставить 100 %». Всё, что между 15 % и 100 %, — плата за время и пластик почти без отдачи.

Мой замер: куб 60×60×60 мм, линия 0.6, слой 0.2, 5 стенок, крышки 3 мм, гироид, ASA, менялась только плотность.

ЗаполнениеВесВремя
15 %83.0 г2 ч 22 м
25 %98.1 г3 ч 24 м
40 %120.3 г5 ч 12 м
100 %220.1 г4 ч 15 м

Самое неочевидное: 100 % печатается быстрее, чем 40 % — 4 ч 15 м против 5 ч 12 м. Сплошное заполнение идёт длинными прямыми линиями на полной скорости, а гироид на 40 % — бесконечная смена направления, где голова не успевает разогнаться. «40 % ради прочности» — худший выбор из возможных: дороже 100 % по времени и слабее по прочности.

Разница 15 % против 25 %, на которой я и попался в своём профиле: 15 г пластика и целый час на кубе при почти неизменной прочности.

Узор при умеренной плотности лучше брать гироид: в тестах на сжатие при 15 % он потребовал на 23 % больше усилия, чем сетка, и на 11 % больше, чем кубический. K3D советует кубический, но замеры расходятся с этим советом, а разница между узорами всё равно меньше разницы между толстой и тонкой стенкой.

Если конкретная деталь требует 100 %, это делается пообъектными настройками слайсера, а не вторым профилем.

Обдув: ноль на теле детали

Формулировка K3D прямая: «обдув негативно влияет на прочность деталей, стоит общую часть детали печатать без него, а включать обдув только на элементах, которые без него пропечатать не получается».

Практически: fan_min_speed = 0, fan_max_speed = 15–20 % (достаётся только слоям короче порога fan_cooling_layer_time), overhang_fan_speed оставить рабочим со своим порогом. Короткие слои правильнее не обдувать, а замедлять — за это отвечают slow_down_layer_time и slow_down_min_speed, и они предпочтительнее вентилятора.

Гоча про вентиляторы закрытой камеры: их может быть несколько, и не все они «обдув детали». У активно греемой камеры циркуляцией часто занимается отдельный controller_fan, привязанный к нагревателю (heater: chamber) — он включается сам вместе с нагревом, и глушить одноимённый «вентилятор камеры» из слайсера в этом случае правильно, а не вредно. Прежде чем чинить «выключенную циркуляцию», стоит посмотреть, какой именно вентилятор к чему привязан в конфиге принтера.

Температура: у верхней границы диапазона

Чем горячее расплав, тем лучше новая линия проваривается в предыдущую. K3D по материалам: ABS/ASA — 280 °C сопло, 110 °C стол; PA6 — 320 и 130.

Гоча: у конкретной катушки паспортный потолок может быть ниже методички, и прошивка принтера тоже держит свой диапазон на материал. Ставить значение ровно на край шкалы не стоит — разброс термистора съест весь запас. Я беру меньший из потолков (паспорт материала, предел прошивки) и оставляю от него 5 °C поля.

Камера: самый крупный множитель

По K3D пассивная камера на 40–50 °C добавляет к прочности поперёк слоёв около 7 % для ABS и 11 % для PC. Активная камера на 60–65 °C даёт +20–50 % — это больше, чем любая другая отдельная настройка из списка.

Гоча безопасности: у нагревателя камеры есть порог аварийного отключения (у моей машины 70 °C при программном капе 68), и целиться вплотную к нему нельзя. Стол тоже греет камеру, пассивный нагрев складывается с активным — при столе 105 °C в закрытом корпусе цель 65 при пороге 70 оставляет 5 °C поля, чего мало для длинной печати. Я целюсь так, чтобы до порога оставалось не меньше 10 °C, и в моём случае это 60.

Расход: ниже предела, а не на пределе

K3D предлагает ограничивать реальную скорость печати не скоростями в мм/с, а лимитом объёмного расхода, и держать этот лимит заметно ниже максимально достижимого: для хотэнда класса V6 (потолок ~12–15 мм³/с) он даёт 4 мм³/с на максимум прочности и 8, «если требуется скорость». Причина — недогретый пруток на пределе плавления хуже сваривается со слоем ниже.

Практическое следствие, которое стоит проверить у себя: цифры скоростей в профиле печати могут вообще не достигаться. На моём срезе стенки и заполнение шли ровно на потолке расхода, а не на заявленных 200–300 мм/с. Подробно, с замером цены снижения расхода, — Ограничение печати объёмным расходом.

Что ещё крутить в OrcaSlicer

  • gap_fill_target = everywhere. Документация Orca называет этот вариант настройкой «для максимальной прочности»: заполнение щелей применяется к верхним, нижним и внутренним сплошным поверхностям. По моему замеру на кубе цена нулевая — 0 г и 0 секунд, потому что у куба щелей нет; добавляется только там, где сплошной слой не делится нацело на ширину линии. Дефолт при этом может оказаться nowhere, и это видно только в срезе.
  • detect_thin_wall = выключено. Orca прямо рекомендует отключать для функциональных деталей: одиночная линия «не замкнутая петля», у неё хуже и поверхность, и прочность.
  • infill_wall_overlap = 10–15 %. Перекрытие заполнения со стенкой улучшает сцепление, но выше коридора начинается переэкструзия и шершавая поверхность.
  • seam_gap = 0 %. Петля периметра замыкается полностью. Про сам шов K3D: «самый прочный вариант — случайный, но так деталь будет в дефектах, поэтому лучше выбрать выровненный и расположить шов в ненагруженном месте».
  • alternate_extra_wall — Orca обещает прирост: «adds an extra wall to every other layer, this way the infill gets wedged vertically between the walls, resulting in stronger prints». Гоча: опция несовместима с ensure_vertical_shell_thickness: ensure_all. Это выбор одного из двух, а не бесплатная добавка, и без замера я его не делаю.
  • wall_generator: classic против Arachne. Arachne варьирует ширину линии и лучше вытягивает тонкие элементы, но Orca предупреждает, что «in large prints it can generate defects more easily due to the reduced wall thickness». Для крупной технички однородные широкие линии честнее; Arachne разумен, когда в модели много тонких рёбер и классический генератор оставляет щели.
  • only_one_wall_top — я предлагал себе выключить ради прочности верха и отверг эту правку: ослабление касается ровно одного верхнего слоя, под ним ещё 14 сплошных с полным набором стенок. Выигрыш ничтожен, потеря качества верхней поверхности реальна.

Порядок применения: что делать первым

Список отсортирован по отдаче на единицу затрат, числа — из источников выше и моих замеров.

  1. Развернуть деталь так, чтобы нагрузка шла вдоль слоёв. Бесплатно, перебивает всё остальное (поперёк слоёв остаётся 30–50 % прочности).
  2. Высушить пруток. Бесплатно по пластику, стоит только времени сушки.
  3. Ширина линии 1.5 × сопла. Прочность растёт, время и расход падают — единственный пункт списка с отрицательной ценой.
  4. Периметры до 3 мм стенки. +10 % пластика, ноль по времени, до +22 % прочности против ставки на заполнение.
  5. Обдув в ноль на теле. Бесплатно, но требует закрытой камеры и замедления коротких слоёв вместо вентилятора.
  6. Активная камера 60–65 °C. +20–50 % поперёк слоёв, стоит только прогрева перед печатью — при условии, что камера в принципе греется.
  7. Температура сопла к верхней границе. Бесплатно, ограничено паспортом материала.
  8. Снизить лимит расхода. ~+37 % времени по моему замеру, отдача не измерена количественно.
  9. Заполнение 100 %. Дороже всех: +124 % пластика. Имеет смысл только когда пункты 1–7 уже сделаны.

Что этот список не содержит: «поднять заполнение с 15 до 40 %». Такой правки в правильном порядке действий нет вообще.

Мой собственный разбор профиля по этому списку

Технический профиль, который я считал хорошим, при сверке с методичкой оказался верным по всей геометрии (пункты 3 и 4 были выполнены), но содержал заполнение 25 % — то самое значение из мёртвой зоны. Две правки (заполнение 25 → 15 %, gap_fill_target → everywhere) дали на кубе 60 мм 98.1 г / 3 ч 24 м → 83.0 г / 2 ч 22 м без потери прочности. То есть аудит по списку окупился часом на каждой детали такого размера.

Сушка

Обязательна: «даже 4 дня на воздухе могут существенно снизить прочность». Исключение — PP и SBS. Влажный пруток даёт микропузыри в расплаве, а это ровно те дефекты, по которым деталь и ломается.

Гочи

  • Половина списка живёт в профиле филамента (температура, обдув, камера, лимит расхода), а не в профиле печати. Профиль печати задаёт геометрию и сам по себе прочность не даёт — я на этом обжёгся, решив, что «технический профиль» отвечает за всё. Правильное разделение: геометрия универсальна и живёт в профиле печати, всё материальное — в профиле филамента, тогда один профиль печати работает с любым пластиком.
  • Ориентация детали на столе перебивает все настройки разом: поперёк слоёв большинство материалов держит 30–50 % от прочности вдоль. Никакая настройка это не компенсирует, деталь надо разворачивать.
  • Число в интерфейсе слайсера — ещё не число, которое поедет в принтер. Проверять по срезу: Проверка настроек слайсера по срезанному gcode.
  • Профиль филамента, унаследованный от «универсального» варианта, может тихо терять машинные настройки вроде температуры камеры — Generic-профиль слайсера теряет машинные настройки.

Источники