diff --git a/docs/superpowers/NEXT-SESSION.md b/docs/superpowers/NEXT-SESSION.md index 360a105..d675f39 100644 --- a/docs/superpowers/NEXT-SESSION.md +++ b/docs/superpowers/NEXT-SESSION.md @@ -14,7 +14,12 @@ затем ЧЕРТЁЖ. ## Текущее состояние (main, синхронизирован с origin) -- 73 MCP-инструмента, 177 тестов зелёных (116 unit + 61 integration). +- 74 MCP-инструмента, 188 тестов зелёных (123 unit + 65 integration). +- **ВЕХА 2D-ЧЕРТЁЖ: 2 инкремента готовы.** (1) `drawing_create_standard_views` — стандартные виды + (спереди/сверху/слева). (2) `drawing_fill_title_block(designation?, name?, material?)` — основная + надпись: графы обозначение(2)/наименование(1)/материал(3) через `LayoutSheets.ItemByNumber[1]. + Stamp.Text[id].Str` + `Update()` (API7). `Str` замещает (Clear не нужен). Память: `kompas-drawing-api7`. + **СЛЕДУЮЩЕЕ — инкремент 3: размеры/обозначения на видах** (нужен спайк по размерным интерфейсам). - **ВЕХА 2 (2D-ЧЕРТЁЖ) НАЧАТА:** `drawing_create_standard_views(partFilePath, scale, x, y)` СДЕЛАН (инкремент 1) — стандартные ассоциативные виды (спереди/сверху/слева) детали/сборки на активном чертеже (API7, `DrawingService`, namespace `Kompas.Mcp.Core.Drawings`). Workflow: @@ -107,11 +112,14 @@ FirstLevel=false)` (мировые координаты с учётом placemen (спереди/сверху/слева) детали/сборки на чертеже. `AddStandartViews(path, "#Спереди", object[]{1,3,5}, x, y, scale, 20, 20)`; проверено `created==3` + непустота. Память: `kompas-drawing-api7`. -2. **СЛЕДУЮЩЕЕ:** оформление чертежа — размеры/обозначения на видах (линейные/диаметральные), - рамка/основная надпись. Точки входа: отдельный вид `IViews.Add(LtViewType)`; геометрия/размеры — - через контейнер вида (`IDrawingContainer`/`LineSegments`/`Circles`/размерные интерфейсы 2D-API). - **Сначала рефлексия + `kompas-sdk-research`** по интерфейсам простановки размеров на чертеже - (возможны тонкости, сделай спайк до спека). Тест — число объектов/размеров на виде. +2. ✅ **СДЕЛАНО:** `drawing_fill_title_block(designation?, name?, material?)` — основная надпись + (штамп). `LayoutSheets.ItemByNumber[1].Stamp.Text[id].Str` + `Update()`. Память `kompas-drawing-api7`. +3. **СЛЕДУЮЩЕЕ:** размеры/обозначения на видах (линейные/диаметральные). Точки входа: контейнер вида + (`IDrawingContainer`) → размерные интерфейсы `ILineDimension`/`IDiametralDimension`/`IRadialDimension`/ + `IAngleDimension` (есть в interop, подтверждено рефлексией). **Сначала рефлексия + `kompas-sdk-research` + + спайк ДО спека** (привязка размера к геометрии вида, координаты внутри вида — реальная + неопределённость). Тест — `IView.ObjectCount` вырос / размер существует. Альтернатива: рамка/формат + листа (`ILayoutSheet.Format`/`SheetFormat`) — проще, но менее ценно, чем размеры. Тонкости: чертёж проверяется не объёмом, а числом видов/объектов; ассоциативные виды требуют сохранённого `.m3d`/`.a3d`-файла. Коды видов `ksRelativeProjectionTypeEnum`: `ksPtFront=1`,