docs: handoff-промт — draft готов (API5 Incline), следующий приоритет параметрика (пакет D)

This commit is contained in:
2026-05-27 10:36:06 +03:00
parent e95c9d2240
commit 7d85eb949b
+13 -9
View File
@@ -9,7 +9,7 @@
КОМПАС-3D должен быть запущен (нужен для интеграционных тестов). КОМПАС-3D должен быть запущен (нужен для интеграционных тестов).
## Текущее состояние (main, синхронизирован с origin) ## Текущее состояние (main, синхронизирован с origin)
- 63 MCP-инструмента, 104 теста зелёных (60 unit + 44 integration). - 64 MCP-инструмента, 115 тестов зелёных (69 unit + 46 integration).
- Пакет A «богаче эскизы» — готов (дуга×2, эллипс, ломаная, многоугольник, сплайн, точка). - Пакет A «богаче эскизы» — готов (дуга×2, эллипс, ломаная, многоугольник, сплайн, точка).
- Пакет B «формообразующие» — основная часть готова: shell, rib, sweep, loft. - Пакет B «формообразующие» — основная часть готова: shell, rib, sweep, loft.
- Пакет C «массивы и зеркало» — ГОТОВ: `linear_pattern`, `circular_pattern`, - Пакет C «массивы и зеркало» — ГОТОВ: `linear_pattern`, `circular_pattern`,
@@ -18,24 +18,28 @@
- `hole` — отверстие ГОТОВ (через **API7**, в API5 определения нет): `HoleService` - `hole` — отверстие ГОТОВ (через **API7**, в API5 определения нет): `HoleService`
(`Core/Modeling/HoleService.cs`), простое цилиндрическое, сквозное/глухое. Прецедент: первая (`Core/Modeling/HoleService.cs`), простое цилиндрическое, сквозное/глухое. Прецедент: первая
формообразующая на API7 (раньше API7 был только у `move_face`). формообразующая на API7 (раньше API7 был только у `move_face`).
- `draft` — уклон граней ГОТОВ (через **API5** `ksInclineDefinition`/`o3d_incline=42` — операция
«Incline», не «Draft»; стандартный паттерн `PartModeler.Features.cs`, регистрируется в `_features`).
Эмпирика: `direction=false`=расширение, `true`=сужение → маппинг `!outward`.
- Пакет E начат: смещённая плоскость (`sketch_create_on_offset_plane`). - Пакет E начат: смещённая плоскость (`sketch_create_on_offset_plane`).
- `PartModeler` разбит на partial: `PartModeler.cs` (ядро + helpers `SelectFaceByIndex`/ - `PartModeler` разбит на partial: `PartModeler.cs` (ядро + helpers `SelectFaceByIndex`/
`SelectEdgeByIndex` + `RequireFeature` + `NewParam<T>`), `.Sketch.cs` (эскизы/примитивы), `SelectEdgeByIndex` + `RequireFeature` + `NewParam<T>`), `.Sketch.cs` (эскизы/примитивы),
`.Features.cs` (операции, включая массивы/зеркало). `.Features.cs` (операции, включая массивы/зеркало).
- Чистые маппинги/валидация — в `SketchGeometry` (Core/Modeling); тип точки — `SketchPoint` (Host). - Чистые маппинги/валидация — в `SketchGeometry` (Core/Modeling); тип точки — `SketchPoint` (Host).
- Прочитай память: `kompas-formative-features-api5` (definition в API5), - Прочитай память: `kompas-formative-features-api5` (definition в API5; draft=Incline есть),
`kompas-pattern-mirror-api5` (пакет C), `kompas-hole-api7` (hole: только API7, направление по объёму). `kompas-pattern-mirror-api5` (пакет C), `kompas-hole-api7` (hole: только API7, направление по объёму).
## Задача этой сессии (по приоритету) ## Задача этой сессии (по приоритету)
1. `draft` (уклон граней) — исследовать **API7** (в API5 `ksDraftDefinition` НЕТ; в API7 есть 1. Параметрика (пакет D): запись/создание переменных модели (`list_variables` уже читает —
`IModelContainer.DraftsFromEdges` / `Inclines` — проверить, как у hole). Если выйдет — реализовать добавить set значения/выражения и создание через `ksVariable` API5 / `IVariable7`/`IFeature7` API7).
по тому же паттерну, что `HoleService` (отдельный сервис на API7). Самый ценный недостающий класс (связывает размеры, делает модели управляемыми).
2. Параметрика (пакет D): чтение/запись переменных модели, связи размеров (`list_variables` уже есть — 2. Расширения hole: зенковка/цековка/коническое отверстие (`ksHTCounterbore=1/Countersinking=2/
добавить set/создание переменных через `ksVariable`/API7). Conic=4` + параметрические подынтерфейсы `ISpotfacingHoleParameters`/`IConicHoleParameters`/…),
3. Расширения hole: зенковка/цековка/коническое (`ksHTCounterbore/Countersinking/Conic` + резьба (`ShowThread`/`IThread`).
параметрические подынтерфейсы), резьба (`ShowThread`/`IThread`). 3. Расширения draft: уклон от ребра (`IDraftFromEdges`, API7); нейтральная плоскость по грани.
4. Расширения пакета C: 2D-сетка линейного массива, выбор оси по ребру, массив вдоль кривой 4. Расширения пакета C: 2D-сетка линейного массива, выбор оси по ребру, массив вдоль кривой
(`o3d_curveCopy=37`). (`o3d_curveCopy=37`).
5. 2D-чертёж / сборки — крупные отдельные направления.
Бери по одной операции за инкремент, доводи до зелёного и merge+push, потом следующую. Бери по одной операции за инкремент, доводи до зелёного и merge+push, потом следующую.
Не пытайся сделать весь пакет одним заходом — инкремент надёжнее. Не пытайся сделать весь пакет одним заходом — инкремент надёжнее.