docs: handoff — типы отверстий завершены (+коническое); следующее: пакет C расширения, 2D/сборки

This commit is contained in:
2026-05-27 12:22:58 +03:00
parent e587130340
commit ab6370fceb
+16 -11
View File
@@ -9,17 +9,18 @@
КОМПАС-3D должен быть запущен (нужен для интеграционных тестов).
## Текущее состояние (main, синхронизирован с origin)
- 69 MCP-инструментов, 118 тестов зелёных (69 unit + 49 integration).
- 70 MCP-инструментов, 119 тестов зелёных (69 unit + 50 integration).
- Пакет A «богаче эскизы» — готов (дуга×2, эллипс, ломаная, многоугольник, сплайн, точка).
- Пакет B «формообразующие» — основная часть готова: shell, rib, sweep, loft.
- Пакет C «массивы и зеркало» — ГОТОВ: `linear_pattern`, `circular_pattern`,
`mirror_operation`, `mirror_body`. Источник копирования — id операций из реестра `_features`
(хелпер `RequireFeature`); оси — `CoordinateAxis`/`CoordinateAxes` (`Core/Modeling`).
- `hole` — отверстия ГОТОВЫ (через **API7**, в API5 определения нет): `HoleService`
(`Core/Modeling/HoleService.cs`). Типы: простое цилиндрическое (`hole`), с цековкой
(`hole_counterbore`, `ksHTCounterbore`), с зенковкой (`hole_countersink`, `ksHTCountersinking`).
`HoleCore` рефакторен под `configure`-колбэк (`HoleParameters` после `HoleType`). Прецедент:
первая формообразующая на API7. Направление в тело — по убыли объёма.
(`Core/Modeling/HoleService.cs`). Все типы: простое (`hole`), цековка (`hole_counterbore`,
`ksHTCounterbore`), зенковка (`hole_countersink`, `ksHTCountersinking`), коническое
(`hole_conic`, `ksHTConic`). `HoleCore` рефакторен под `configure`-колбэк (`HoleParameters`
после `HoleType`). Прецедент: первая формообразующая на API7. Направление в тело — по убыли
объёма. Ещё не сделано: резьба (`ShowThread`/`IThread`) — трудно тестировать (нет Δобъёма).
- `draft` — уклон граней ГОТОВ (через **API5** `ksInclineDefinition`/`o3d_incline=42` — операция
«Incline», не «Draft»; стандартный паттерн `PartModeler.Features.cs`, регистрируется в `_features`).
Эмпирика: `direction=false`=расширение, `true`=сужение → маппинг `!outward`.
@@ -45,13 +46,17 @@
ограничена CRUD переменных (готово). НЕ тратить время на этот путь повторно.
## Задача следующей сессии (по приоритету)
1. Завершить типы отверстий: **коническое** (`hole_conic`, `ksHTConic=4` + `IConicHoleParameters`:
ConicDiameter/ConicAngle) — тот же `HoleCore`-паттерн. Резьба (`ShowThread`/`IThread`) — сложно
тестировать (нет изменения объёма), низкий приоритет.
1. Расширения пакета C: **2D-сетка линейного массива** (2-я ось у `ksMeshCopyDefinition`
`SetAxis2`+`count2`), выбор оси массива/нейтральной плоскости по ребру/грани, массив вдоль
кривой (`o3d_curveCopy=37`/`ksCurveCopyDefinition`). Низкий риск (паттерн пакета C известен).
2. Расширения draft: уклон от ребра (`IDraftFromEdges`, API7); нейтральная плоскость по грани.
3. Расширения пакета C: 2D-сетка линейного массива (2-я ось у `ksMeshCopyDefinition`), выбор оси
массива по ребру, массив вдоль кривой (`o3d_curveCopy=37`/`ksCurveCopyDefinition`).
4. 2D-чертёж / сборки — крупные отдельные направления (новая большая веха).
3. **2D-чертёж** / **сборки** — крупные отдельные вехи (ассоциативные виды детали; вставка
компонентов, сопряжения). Самый ценный нереализованный класс после геометрии детали.
4. Резьба отверстия (`ShowThread`/`IThread`) — мелочь, трудно тестировать.
Типы отверстий завершены (простое/цековка/зенковка/коническое). Параметрика — CRUD переменных
(управление геометрией недостижимо, см. findings). Деталь как класс операций близка к насыщению —
дальше логично 2D-чертёж и сборки.
Бери по одной операции за инкремент, доводи до зелёного и merge+push, потом следующую.
Не пытайся сделать весь пакет одним заходом — инкремент надёжнее.