Files
kompas-plugin/plugin/skills/kompas-fdm-design/references/fdm-rules.md
T

27 KiB
Raw Blame History

Свод правил DFM для FDM-печати

Выверено 3 ревью (pi/glm-5.1, pi/kimi-k2.6, Codex). Числа для w≈0.40.45, h≈0.2 (сопло 0.4). Зазоры — на сторону (радиальные); диаметральный = 2×. Угол нависания — от вертикали (вертикаль=0°, горизонталь=90°); самонесущие — ≤ θ_max. Параметры w/h/θ_max — см. SKILL.md → «Калибровка». Ссылки «§N» ниже — на разделы этого файла.

1. Стенки и оболочки

  • Толщина стенки = n · w. Мин. конструктивная — 2·w (~0.8 мм); несущая — ≥3·w.
  • Маппинг стенка→периметры: нужно N периметров ⇒ стенка N·w (при w=0.45: 3 → 1.35, 4 → 1.8, 5 → 2.25 мм).
  • Не задавай толщину стенки, не кратную w (напр. 0.6 при w=0.45): слайсер оставит зазор или переэкструдирует. Прыгай на следующий кратный.
  • Caveat: n·w — для конструктивных стенок; внешняя функциональная величина (флексура, тепловой барьер, посадочный размер) важнее кратности.
  • Одиночная стенка 1·w — только декоративная. Узкий сквозной прорез — ≥2·w (~0.8 мм).

2. Нависания, полки, мосты (разделять!)

  • Самонесущие — поверхности ≤ θ_max от вертикали. Зона 4560° (т.е. выше θ_max=45° при дефолте) — ещё печатается, но с падением качества; > θ_max существенно — поддержки → избегать редизайном.
  • 90°-полка (консоль, опора с одной стороны) НЕ печатается ни на какой длине (миф «≤6 мм» неверен — провисает с первого слоя). Любую горизонтальную полку: скос под θ_max, либо превратить в мост (две опоры), либо поддержка.
  • Мост (bridge) — пролёт между двумя опорами на одной высоте. При достаточном обдуве, h≈0.2, консервативно (для ненастроенного слайсера): PLA ~1525 мм, PETG ~1015 мм, ABS ~1218 мм. Длинные прямоугольные проёмы ориентировать так, чтобы мост шёл по короткой стороне; концы — на сплошных опорах.
  • Нижнюю функциональную поверхность моста — припуск 0.20.3 мм на провис. Граница: величину провиса из CAD не предсказать (обдув/скорость — настройки печати).
  • Внутренние/потолочные нависания хуже наружных — потолок пазов аркой/шевроном, не плоским пролётом > 2 мм.
  • Доступ к поддержкам: окно во внутренней полости ≥810 мм.

3. Отверстия

  • Вертикальные (ось ∥ Z) печатаются уже номинала → увеличить диаметр модели (радиус на половину): +0.2 мм (Ø<4), +0.20.3 мм (Ø 410), +0.10.2 мм (Ø>10); калибровать, критичные — рассверливать.

  • Горизонтальные (ось в XY)teardrop или D-отверстие (плоский верх). Мин. Ø 2 мм. Круглая часть тоже печатается уже → +0.10.2 мм к её Ø.

  • Геометрия teardrop (полная капля): боковины касательны окружности под углом θ_max к вертикали (с двух сторон), сходятся в вершине на вертикальной оси. Высота вершины над центром = r / sin θ_max; включённый угол при вершине = 2·θ_max. При θ_max=45° → r/sin45° = √2·r ≈ 1.414·r над центром (= 0.414·r над верхом окружности), угол 90°. Низ — оставшаяся дуга окружности. Это единственная форма, у которой ВСЯ крыша самонесущая по критерию θ_max; платой идёт максимальное искажение круга (при θ_max=45° некруглыми становятся 90° дуги из 360°).

  • Усечённая касательная капля — когда клюв мешает глазу. Полная капля при θ_max=45° выступает на 0.414·r, и на мелком отверстии это заметно. Та же конструкция, но с точкой касания на ±φ от макушки при φ < θ_max: боковины остаются КАСАТЕЛЬНЫМИ (контур гладкий, излома на стыке с дугой нет, круг не срезается вовсе), а

    • вершина над центром = r / cos φ, то есть выступ над окружностью = r·(1/cos φ 1);
    • боковины наклонены к вертикали на 90° φ — тем положе, чем короче клюв;
    • перекрываемый пролёт = 2r·sin φ. Судить эту форму по углу боковин бесполезно — судите по пролёту. У маленького отверстия 2r·sin φ укладывается в единицы миллиметров, а мост такой длины FDM печатает не задумываясь: θ_max — критерий для ПРОТЯЖЁННЫХ нависаний, а не для перемычки в пару миллиметров. Замер (Ø6, φ=22.5°): выступ 0.247 мм против 1.243 у полной капли, пролёт 2.30 мм, боковины 67.5° от вертикали — печатается без поддержек, крыша отверстия чистая.
  • Мягкий колпачок — когда круглость важнее, чем полная самонесущесть. Посадка вала, подшипник, штифт: полная капля съедает верхнюю четверть окружности, и сопряжение по ней уже не работает. Тогда заменяют не сектор ±(90−θ_max), а УЗКИЙ сектор ±φ у самой макушки, подняв вершину на k слоёв (k·h) над окружностью:

    • точки стыка — на ±φ от макушки, вершина — на оси, на r + k·h над центром;
    • включённый угол при вершине = 2·arctan( r·sin φ / (r + k·h r·cos φ) );
    • угол остаётся ТУПЫМ, пока r·(sin φ + cos φ 1) > k·h — это и есть связь между шириной сектора и подъёмом: ужимая φ, синхронно снижайте k, иначе колпачок вырождается в шпиль.
    • Замер (Ø8, φ=12°, k=2 при h=0.2, т.е. подъём 0.4 мм): круглыми остаются 336° из 360°, стык отходит от оси на ±0.83 мм, угол при вершине 119°, боковины — 59.6° от вертикали.
    • Честная граница приёма: у чистой окружности зона нависания — сектор ±(90−θ_max) от макушки (при 45° это ±45°, ширина 2r·sin45°≈1.41·r). Колпачок ±12° снимает только самую макушку — участок от 12° до 45° остаётся нависанием. То есть это НЕ решение по θ_max, а замена плоского потолка на микро-мост шириной ~2r·sin φ за k слоёв. Берите его осознанно: круглость в обмен на частичное улучшение печати, а не на полное.
  • Точки касания задавайте с ПОЛНОЙ точностью — округление рвёт контур. Дуга плюс две касательные замыкаются у КОМПАС по допуску жёстче обычного округления: те же координаты, срезанные до 6 знаков (−16.668356 вместо 16.6683532), дали «код 19: контур должен быть замкнут», и вырез развалился. Коварство в том, что sketch_update отчитался габаритом как об успехе — невалидность вылезла только предупреждением «2 операц. в ошибке». Считайте r·sin φ/r·cos φ и подставляйте все знаки.

  • Глухое отверстие: дно = внутренний мост → толщина дна ≥23 мм или купольное/ вентилируемое. Сквозные предпочтительнее.

  • Отступ от края — через остаточную перемычку: стенка между отверстием и краем ≥23·w (лёгкая нагрузка) / больше под крепёж.

4. Посадки и зазоры (печатная деталь ↔ печатная деталь)

Зазор на сторону (радиальный); диаметральный = 2× значения:

Посадка Зазор/сторону Примечание
Натяг (press) 0.05…0 мм (вычесть из номинала!) короткий, PLA; иначе snap-fit (§14)
Переходная/плотная 0.050.15 мм
Скользящая 0.150.20 мм PLA↔PLA; контакт ≥20 мм → 0.20; PETG +0.05
Свободная 0.250.35 мм >0.35/сторону — уже очень слабо
  • Знак: «натяг» = отрицательный зазор → вычесть из номинала (вал +/отверстие −). Положительное число в строке press — ошибка прочтения.
  • ABS↔ABS: +0.05/сторону. PETG: прессовые со временем «расслабляются».
  • Допуск точности (НЕ прибавлять к посадкам): общий разброс FDM — XY ±0.2 мм (±0.1 калибровано), Z хуже. Это точность изготовления, не добавка к зазору.

5. Первый слой / стол

  • Elephant foot — от притирки первого слоя (низкий Z-offset/переэкструзия; НЕ от высоты слоя). Фаска по нижним рёбрам: 0.3 × 45° (калибровано) / 0.5–1.0 × 45° (слабая калибровка).
  • Внутренние углы у основания — скругление ≥R0.5.
  • Опорная площадка: без «лезвийных» оснований; контакт хотя бы ~3 периметра. Высокие тонкие детали — интегральный фланец 1–2 мм (предпочтительнее brim).

6. Ориентация и прочность

  • Z (межслойная) прочность от XY: PLA ~4055%, PETG ~3550%, ABS ~2035% (выброс). Несущую нагрузку — в XY (вдоль слоёв).
  • В абсолютных числах (нужны, чтобы посчитать запас — SKILL.md §«Ориентация: когда три требования не сходятся»): XY на разрыв PLA ~5060 МПа, PETG ~4550, ABS ~3540 ⇒ межслойная PLA ~2030, PETG ~1525, ABS ~815 МПа. Порядок величины, не паспорт конкретного филамента.
  • Z-сжатие допустимо (слои в сжатии не расслаиваются); избегать Z-растяжения и Z-среза.
  • Изгиб: слои в растяжении/сжатии, не на срез по линии слоя.
  • Z-нагрузка неизбежна → увеличить несущее сечение ~×2 относительно XY-расчёта.
  • Плоскости сопряжения — на XY-гранях, не на Z-боковинах.

7. Минимальные элементы и текст

  • Выступ/штифт/ребро — ≥1·w (≥0.5 мм); паз/щель — ≥2·w (~0.8 мм).
  • Аспект тонких выступов: высота ≤ ~4–5× базовой ширины; выше — конусность/раскос/редизайн.
  • Выпуклый текст: штрих ≥0.5 мм, высота ≥2·h (~0.4 мм), sans-serif bold.
  • Гравированный текст: штрих ≥2·w (~0.80.9 мм) (нужно ≥2 периметра; 0.6 мм не влезает), глубина ≥2·h (~0.4 мм). (pt не используем — геометрия в мм.)
  • Штрих задаёт ШРИФТ, а не кегль, и чертёжные шрифты под печать не годятся. По ГОСТ 2.304 толщина линии чертёжного шрифта равна h/14: кегль 8 даёт 0.57 мм — полторы ширины сопла, то есть ниже порога 2·w. Такой шрифт берёт порог только с кегля ~13 мм, а уверенно читаемые 3·w — с ~18 мм. У жирного гротеска штрих ≈ h/4.5 (Arial Black при кегле 10 → ~2.2 мм), и порог выполняется с запасом уже на кегле 4–5 мм. Замер: «2» кеглем 8 шрифтом GOST type A на вертикальной стенке не читается вовсе; тот же символ кеглем 10 шрифтом Arial Black читается издалека. Маркировку набирайте жирным sans-serif и проверяйте штрих, а не высоту.

8. «Лесенка» (staircase) — критерий ориентации

  • Наклонные/криволинейные поверхности дают ступени: глубина ≈ h / tan(α) (α — угол от горизонтали; не путать с θ_max, который от вертикали). Пример: α=30°, h=0.2 → ~0.35 мм.
  • Критичные (скользящие/уплотняющие/оптические) поверхности ориентировать вертикально или горизонтально. Это вход в правило ориентации (SKILL.md, правило 1).
  • Большой плоский верх без опоры коробит («подушка») — внутренние рёбра каждые ~15–20 мм или достаточная толщина верха.

9. Бобышки, инсёрты, резьба

  • Саморез/винтонарезной пилот (M3): ~Ø2.5 PLA / Ø2.6 PETG / Ø2.7 ABS; заход ≥3 мм.
  • Термоинсёрт латунный (M3): бор по даташиту (типично ~Ø4.0, ±0.05); Ø_bore = OD_инсёрта (0…0.1) мм (≤ OD, лёгкий натяг под расплав — НЕ больше OD); стенка бобышки ≥2 мм; глубина = длина инсёрта + 0.5 мм; ставить с верхней (Z) грани (не в боковину).
  • Бобышка под винт: OD ≥ 2–3× Ø винта; не делать массивный сплошной объём (карман/оболочка).
  • Сквозное под металлический болт: радиальный зазор 0.2–0.3 → +0.4–0.6 мм к номиналу болта.
  • Резьба: не моделировать <M6 → инсёрты/саморезы. Если моделировать: ≥M6, ось вертикальная, зазор +0.1–0.2 мм, профиль крупный/трапецеидальный (не мелкий ISO — вершины-нависания).

10. Фаски vs скругления

  • Нижние (у стола) рёбра — фаска (скругление = нулевой контакт + EF).
  • Косметическое лицо кладут НА СТОЛ: первый слой на стекле/PEI даёт поверхность лучше любого верхнего слоя (там видны швы и «лесенка»). Тогда деталь и моделируют в этой ориентации — лицом к XOY, — а несимметричный рисунок (логотип, текст) зеркалят: на лицевую грань смотрят со стороны −Z. Проверка — снимок со стороны лица (model_snapshot(view=rear) для эскиза на XOY).
  • Зеркалит не только лицо на столе — зеркалит ЛЮБАЯ грань, обращённая против нормали эскиза. Надпись читается с той стороны, куда смотрит нормаль плоскости: XOY → +Z, XOZ → +Y, YOZ → X (нормаль YOZ уходит в МИНУС X — тот же замер, что разворачивает на ней выдавливание). Значит гравировка по эскизу на YOZ, положенная на щеку с бОльшим X, выйдет зеркальной, а на щеку X=0 — правильной. Замер: цифра на щеке X=20.4 читалась зеркально при ЛЮБОМ angle; тот же эскиз, перенесённый на X=0, встал верно. Поворотом это не лечитсяangle вращает, а не отражает; лечится выбором грани (или зеркальным контуром).
  • Фаска по лицевому контуру — это ещё и размер первого слоя. При 45° она сжимает силуэт лица на катет c по всему периметру, поэтому её потолок задаёт не эстетика, а то, что останется: ширина_штриха − 2c ≥ 2·w. У широкого рисунка (штрих ~10 мм) ограничением становится толщина детали — держите c ≤ ⅓·T, иначе плашка читается пирамидой. У мелкого (штрих ~1 мм) фаска почти невозможна: 0.15 мм уже съедает половину первого слоя.
  • Считайте по САМОМУ УЗКОМУ месту рисунка, а не по типичному штриху. У знака с клиньями и перемычками (логотипы, вензеля) минимум вдвое-впятеро меньше медианы. Мерить это глазом по эскизу нельзя и незачем: sketch_measure_thickness(entitiesFile, minSegment) возвращает наибольшую вписанную окружность, узкое место с координатами и таблицу «офсет c → на сколько кусков распалось лицо» — ничего не строя.
  • Узкое место зависит от СОСТОЯНИЯ контура, поэтому порядок такой: чистка → замер чищеного → катет. Чистка (minSegment) заменяет скругления острыми углами: в выпуклом углу это добавляет материал, в вогнутом — срезает, а перемычки между штрихами образованы как раз вогнутыми углами. То есть операция, которую делают РАДИ фаски, уменьшает допустимый катет — на обводке логотипа это единицы процентов, и хватает, чтобы катет перестал проходить свой же критерий. Мерьте после неё, тем же порогом, каким будете строить.
  • Норматив катета — c = stroke_min/2 w, где stroke_min — узкое место ЧИЩЕНОГО силуэта, w — ширина нити. Он и есть решение неравенства ширина 2c ≥ 2w: в узком месте остаётся ровно 2w, два прохода сопла. Считайте его на своём контуре — величина принадлежит рисунку. Осторожно с «эталонными» значениями из прошлых работ: катет, принятый когда-то на похожем знаке, своему же правилу обычно не удовлетворяет — он подбирался под другой рисунок, другой порог чистки или вовсе на глаз. Катет вдвое сверх норматива оставляет в узком месте одну нить экструзии: тело там сплошное, рвётся косметика лицевой грани — та самая поверхность, ради которой деталь и кладут лицом на стол. Сверьте нормативом, а не воспоминанием.
  • Верхние рёбра — скругление (R0.52.0); но радиус > ~½ толщины стенки сам даёт нависание > θ_max → тогда фаска/ступень.
  • Внутренние углы — всегда скругление ≥R0.5.

11. Зенковки / цековки

  • Цековка (counterbore) — большим Ø/полостью вверх (дно по телу, не мостом); глубина +0.3 мм.
  • Зенковка (countersink): конус вверх; включённый угол ≤90° → стенки ≤45° от вертикали печатается; >90° → стенки-нависание → поддержка или замена цилиндрической цековкой.

12. Заходные фаски (assembly relief)

  • На штифтах, отверстиях, инсёртах, защёлках, «ласточкиных хвостах» — заходная фаска (≈0.5–1 мм × 45° или ≈ половина зазора) против задиров при сборке.

13. Разбиение детали и сборка из печатных частей

  • Конфликт «прочная ориентация vs бесподдержечность», или крупная/коробящаяся деталь → разбить на части с самоустанавливающимися стыками (печатные штифты/шпонки/замки), склейка; стыки на XY-гранях. Зазор стыка — по §4.

14. Защёлки (snap-fit) / живой шарнир

  • Консольная защёлка: толщина балки ≈1.02.0 мм (функциональный размер, не привязан к кратности w; тоньше ~1 мм — хрупко), зацеп/возврат 0.30.8 мм, длина/толщина ≥5:1 (до 10:1), скругление в основании ≥R0.5.
  • Направление слоёв: балка гнётся в плоскости XY (слои перпендикулярны изгибу), не поперёк Z (расслоится с первого нажатия).
  • Живой шарнир — только PLA/PP-подобные, перемычка 0.30.5 мм; PETG/ABS не годятся.

15. Коробление (геометрия)

  • Большие плоскости (>80×80, особенно ABS): скругления углов R3–5 + рёбра/решётка снизу.
  • Радиус внешних углов: R2 (ABS) / R1 (PLA/PETG).
  • Длинные тонкие пролёты (>60 мм, <2 мм) — рёбра/косынки каждые 30–40 мм; высота ребра ≤5× базы.
  • Избегать сплошных кубов/плит → карман/оболочка + рёбра. Усадка: PLA ~0.3%, PETG ~0.5%, ABS ~0.8%.
  • Симметрия геометрии уравновешивает усадку.
  • «Мышиные уши» (Ø8–10 мм по углам)крайняя мера адгезии (по сути brim-геометрия); предпочтительно интегральный фланец/скругления углов.
  • Граница: стол/корпус/обдув для ABS — настройки печати, вне навыка; здесь только геометрия.

16. Полые детали и гигиена модели

  • Полости: дренаж Ø35 мм у низшей точки + вент у высшей.
  • Допуски/зазоры — в геометрию (слайсер читает модель буквально).
  • Раздельные тела — зазор ≥0.2 мм (общая CAD-гигиена; перед выдачей объединять — рабочий цикл, шаг 5 в SKILL.md).