diff --git a/.claude/skills/kompas-fdm-design/references/geometry-audit.md b/.claude/skills/kompas-fdm-design/references/geometry-audit.md new file mode 100644 index 0000000..6908c80 --- /dev/null +++ b/.claude/skills/kompas-fdm-design/references/geometry-audit.md @@ -0,0 +1,33 @@ +# Гео-аудит модели под FDM — что проверяемо инструментами осмотра + +Лёгкая самопроверка построенной модели **существующими** инструментами осмотра MCP. Запускать на +шаге 4 рабочего цикла (см. SKILL.md), перед чек-листом и экспортом. + +## Что проверяемо + +| Проверка | Как | Статус | +|---|---|---| +| Нависания (приближённо) | `list_faces`/`describe_face`: для **нижних** граней угол поверхности от вертикали; > `θ_max` → флаг | ✅ плоские; ⚠️ криволинейные грубо | +| Ориентация (геом. прокси) | `get_bounding_box`: как ось слоёв соотносится с габаритом | ⚠️ длинная ось ≠ путь нагрузки | +| Горизонтальные круглые отверстия | `describe_face`: цилиндр с горизонтальной осью → «нужен teardrop» | ✅ | +| Номиналы / зазоры / габариты | `measure` между гранями; `get_bounding_box` | ✅ | +| Тело / манифолд перед выдачей | `list_bodies` (одно тело?), `validate_part` | ✅ | + +## Граница честности + +- **Угол нависания** мерить в **той же конвенции, что fdm-rules.md** (от вертикали; нижняя грань с + поверхностью > `θ_max` от вертикали = нависание) — не путать с углом нормали от горизонтали. +- **Путь нагрузки агент НЕ выводит из габарита** — берёт из задачи/опроса (правило 1). Длинная ось + ≠ несущая. +- **Истинная мин. толщина стенки и полный детект криволинейных нависаний — не решаются** (нет + thickness/overhang-солвера). +- **Аудит эвристический и НЕ доказывает печатнопригодность** (не ловит анизотропию/путь нагрузки). + Вывод — список флагов для решения, не «приговор». Слайсер навык не зовёт намеренно. + +## Как применять в цикле + +1. После построения и `validate_part` — пройти таблицу выше сверху вниз. +2. Каждый флаг — сверить с соответствующим правилом `fdm-rules.md` и решить: исправить геометрию + или принять осознанно. +3. Путь нагрузки и косметические грани взять из ответа пользователя (правило 1), не из габарита. +4. Затем — чек-лист печатнопригодности (SKILL.md) → экспорт через `export_step`.