diff --git a/docs/superpowers/NEXT-SESSION.md b/docs/superpowers/NEXT-SESSION.md index 2b6602b..360a105 100644 --- a/docs/superpowers/NEXT-SESSION.md +++ b/docs/superpowers/NEXT-SESSION.md @@ -14,7 +14,16 @@ затем ЧЕРТЁЖ. ## Текущее состояние (main, синхронизирован с origin) -- 72 MCP-инструмента, 156 тестов зелёных (98 unit + 58 integration). +- 73 MCP-инструмента, 177 тестов зелёных (116 unit + 61 integration). +- **ВЕХА 2 (2D-ЧЕРТЁЖ) НАЧАТА:** `drawing_create_standard_views(partFilePath, scale, x, y)` СДЕЛАН + (инкремент 1) — стандартные ассоциативные виды (спереди/сверху/слева) детали/сборки на активном + чертеже (API7, `DrawingService`, namespace `Kompas.Mcp.Core.Drawings`). Workflow: + `doc2d.ViewsAndLayersManager.Views.AddStandartViews(path, "#Спереди", object[]{1,3,5}, x, y, scale, + 20, 20)`. Эмпирика: `object[]`→SAFEARRAY VT_I4 ОК; новый чертёж стартует с Count=1 (системный вид), + 3 проекции → Count=4; ObjectCount>0 сразу (rebuild не нужен); проверка `created==3` + непустота по + новым видам (разница `IView.Number`) + откат `IView.Delete`. Спек: + `2026-05-27-drawing-standard-views-design.md`. **СЛЕДУЮЩЕЕ — инкремент 2 чертежа: оформление + (размеры/обозначения на видах, рамка, основная надпись).** - **СБОРКИ: инкременты 1 и 2 СДЕЛАНЫ** (API7, `AssemblyService`, namespace `Kompas.Mcp.Core.Assemblies`): - `assembly_add_component(filePath, x, y, z)` — вставка детали/подсборки из `.m3d`/`.a3d` с позицией. Workflow: `IParts7.AddFromFile(path,true,true)` → `part.Placement.SetOrigin(x,y,z)` → @@ -94,13 +103,19 @@ FirstLevel=false)` (мировые координаты с учётом placemen вида (`LineSegments`/`Circles`/… — как в разведке параметрики). Рекомендуемые инкременты: -1. `drawing_create_standard_views(partFilePath, scale)` — чертёж со стандартными видами детали. - Тест: построить деталь → сохранить → создать чертёж → `AddStandartViews` → проверить - `Views.Count > 0` (виды созданы). Объёмом не проверить — считать виды/объекты. -2. Размеры/обозначения на видах (линейные/диаметральные), рамка/основная надпись — по мере надобности. +1. ✅ **СДЕЛАНО:** `drawing_create_standard_views(partFilePath, scale, x, y)` — стандартные виды + (спереди/сверху/слева) детали/сборки на чертеже. `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`** по интерфейсам простановки размеров на чертеже + (возможны тонкости, сделай спайк до спека). Тест — число объектов/размеров на виде. Тонкости: чертёж проверяется не объёмом, а числом видов/объектов; ассоциативные виды требуют -сохранённого `.m3d`-файла детали. Уточни workflow через `kompas-sdk-research`. +сохранённого `.m3d`/`.a3d`-файла. Коды видов `ksRelativeProjectionTypeEnum`: `ksPtFront=1`, +`ksPtUp=3`, `ksPtLeft=5`, `ksPtIsoXYZ=7` и т.д. ## Процесс на каждую операцию (отлажен в прошлых сессиях) Сборки/чертёж — это НЕ `PartModeler` (он API5-деталь). Заводи НОВЫЕ сервисы (`AssemblyService`,