Files
kompas3d-mcp/.claude/skills/kompas-fdm-design/SKILL.md
T

117 lines
11 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
name: kompas-fdm-design
description: >
Методика проектирования деталей под FDM/FFF 3D-печать в КОМПАС-3D через MCP-сервер этого
проекта: правила DFM (нависания и угол θ_max, толщины стенок n·w, отверстия и teardrop,
посадки/зазоры, ориентация под прочность, elephant foot, бобышки/инсёрты/защёлки) ПЛЮС
лёгкая самопроверка геометрии инструментами осмотра. Используй, когда задача — спроектировать
или ДОВЕСТИ деталь, чтобы она хорошо ПЕЧАТАЛАСЬ на FDM. Триггеры: «сделай деталь
печатнопригодной / под FDM», «спроектируй … под печать», «напечатается ли без поддержек?»,
«подбери зазоры для печатной посадки», «как ориентировать деталь под печать», «почему деталь
плохо печатается / где будут нависания», «доведи деталь под FDM». Строит через навык kompas-3d.
НЕ для: механики построения через MCP (это kompas-3d); слайсинга/нарезки/g-code (вне границ);
поиска по справке SDK (субагент kompas-sdk-research).
---
# kompas-fdm-design — проектирование деталей под FDM-печать
## Что это (и чем НЕ является)
Методический слой **поверх** навыка `kompas-3d`. Отвечает на вопрос **«как спроектировать, чтобы
напечаталось на FDM»**, а не «чем строить».
- **`kompas-3d`** = *чем и как строить* через MCP (эскиз→операция→осмотр→`validate_part`). Этот
навык **опирается** на него для механики.
- Этот навык = *какие правила геометрии* соблюдать, чтобы FDM-печать удалась.
- **Слайсинг — вне границ.** Навык не нарезает и не оценивает g-code.
## Когда применять / когда НЕ применять
**Применять:** «сделай печатнопригодным / под FDM», «спроектируй … под печать», «напечатается без
поддержек?», «подбери зазоры печатной посадки», «как ориентировать под печать», «почему плохо
печатается», «доведи деталь под печать».
**НЕ применять:** чистая механика построения (→ `kompas-3d`); слайсинг/нарезка/g-code (вне границ);
поиск сигнатур/констант в справке SDK (→ субагент `kompas-sdk-research`).
## Калибровка (выполни первым шагом)
Все правила масштабируются от трёх параметров (часть значений — абсолютные эмпирические мм,
помечены «калибровать тестом»):
- **`w` = ширина линии ≈ диаметр сопла.** Дефолт: сопло 0.4 → `w ≈ 0.40.45 мм`. → стенки `n·w`.
- **`h` = высота слоя.** Дефолт `h ≈ 0.5·сопло` (0.2 мм); структурная печать 0.2–0.25.
- **`θ_max` = предельный угол самонесущей поверхности ОТ ВЕРТИКАЛИ.** `θ_max ≈ arctan(w/2h)`
(≈45° при `w`=0.4, `h`=0.2). **Дефолт 45°** (PLA, хороший обдув); **40°** для PETG/ABS
(эмпирическая поправка на провис, не вывод формулы) или для толстого слоя (`h≥0.3` → формула
даёт ~34°). Нависания, teardrop, фаски, зенковки берут угол из `θ_max`.
- **Материал** (PLA / PETG / ABS) — модификатор зазоров/мостов/коробления/`θ_max`. См.
`references/fdm-rules.md`.
Если сопло/слой/материал не заданы — прими дефолты (сопло 0.4, `h`=0.2, PLA) и скажи об этом.
## Два правила (соблюдай всегда)
**1. Ориентация печати — первое проектное решение.**
- **Спроси у пользователя** (если не задано): главное направление рабочей нагрузки и
косметические/критичные грани. **Путь нагрузки из геометрии не выводится** — его задаёт задача.
- Реши постановку на стол (ось Z = рост слоёв). От неё зависит: где нависания; куда смотрят
отверстия (вертикальные → компенсация Ø; горизонтальные → teardrop); путь нагрузки (**держи в
XY**; Z-сжатие можно, Z-растяжение/срез — нет); плоскости сопряжения (на XY-гранях); «лесенка» на
наклонных функциональных поверхностях; если поддержки неизбежны — чтобы опорные грани были
некритичными/скрытыми.
- Зафиксируй ориентацию и проектируй под неё.
**2. Чек-лист печатнопригодности перед выдачей** (ниже). Сначала **`validate_part`** (деталь
*валидна*), затем **FDM-чек-лист** (деталь *печатнопригодна*) — разные проверки. **Гео-аудит
эвристический и не доказывает печатнопригодность** (не ловит путь нагрузки/анизотропию).
## Рабочий цикл
1. **Калибровка**: сопло→`w`; слой→`h``θ_max`; материал→поправки.
2. **Ориентация** (правило 1): опрос (нагрузка/косметика) → постановка, ось слоёв, сопряжения,
«лесенка», поддержки.
3. **Правила эскиза/операции** (строй через `kompas-3d`): стенки `n·w`; нависания → скос под
`θ_max`; горизонтальные отверстия → teardrop; вертикальные → компенсация Ø; фаска у основания;
зазоры посадок (со знаком); заходные фаски; мин. элементы/текст; бобышки/инсёрты/защёлки.
Числа — в `references/fdm-rules.md`.
4. **Гео-аудит** (`references/geometry-audit.md`) — инструментами осмотра.
5. **Предусловия экспорта**: единое тело/манифолд (`boolean_union` при необходимости) →
`validate_part` чисто.
6. **Чек-лист** → экспорт **через `export_step`**.
## Чек-лист печатнопригодности
- [ ] Направление нагрузки и косметические грани **получены от пользователя**; ориентация
зафиксирована; нагрузка в XY (или Z только на сжатие); сопряжения на XY-гранях.
- [ ] Стенки кратны `w` (≥2·w; несущие ≥3·w, т.е. 3 периметра); нет «не кратных `w`» (кроме
функциональных).
- [ ] Нет 90°-полок; нависания ≤`θ_max` или заменены скосами; мосты в пределах пролёта по короткой
стороне (числа — `references/fdm-rules.md`); внутренним поддержкам — доступ.
- [ ] Горизонтальные отверстия — teardrop/D (геометрия из `θ_max`); вертикальные — компенсация Ø;
глухие — дно ≥2–3 мм.
- [ ] Фаска у основания (elephant foot); внутренние углы ≥R0.5; опорная площадка есть.
- [ ] Посадки по таблице со **знаком** (натяг — вычесть); допуск ±0.2 **НЕ** прибавлен к зазору;
заходные фаски на сопряжениях.
- [ ] Мин. элементы/текст ≥ порогов; аспект тонких выступов ≤4–5×.
- [ ] Бобышки/инсёрты (бор отверстия ≤ OD инсёрта, ставить с Z-грани)/резьба/защёлки (изгиб в XY) по правилам.
- [ ] Полости — дренаж/вент; критичные поверхности не под «лесенкой»/поддержкой.
- [ ] Предусловия экспорта: единое тело/манифолд; `validate_part` чисто.
## Гео-аудит (кратко)
Лёгкая самопроверка построенной модели **существующими** инструментами осмотра MCP:
`describe_model` / `list_faces` / `describe_face` (нависания по нормалям нижних граней; цилиндры с
горизонтальной осью → нужен teardrop), `get_bounding_box` (как ось слоёв соотносится с габаритом),
`measure` (номиналы/зазоры), `list_bodies` + `validate_part` (единое тело). **Границы и методика —
`references/geometry-audit.md`.** Аудит эвристический; истинная мин. толщина стенки и полный детект
криволинейных нависаний не решаются — это **не приговор и не доказательство печатнопригодности**.
## Связанное
- Полный численный свод DFM: [`references/fdm-rules.md`](references/fdm-rules.md).
- Рецепты самопроверки и границы: [`references/geometry-audit.md`](references/geometry-audit.md).
- Механика построения через MCP: навык **`kompas-3d`**.
- Поиск по справке SDK: субагент **`kompas-sdk-research`**.
- Дизайн навыка: `docs/superpowers/specs/2026-05-27-kompas-fdm-design-skill-design.md`.