docs: handoff — веха 2D-чертёж начата (drawing_create_standard_views готов)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-27 14:45:48 +03:00
parent ddbb46196e
commit 23d245fd78
+21 -6
View File
@@ -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`,