docs: handoff — диаметральный размер готов (инкремент 4 чертежа); далее — радиус/угол

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-27 18:45:54 +03:00
parent 17efc79ffb
commit ecf7b15e7a
+18 -15
View File
@@ -14,16 +14,16 @@
затем ЧЕРТЁЖ.
## Текущее состояние (main, синхронизирован с origin)
- 75 MCP-инструментов, 203 теста зелёных (131 unit + 72 integration).
- **ВЕХА 2D-ЧЕРТЁЖ: 3 инкремента готовы.** (1) `drawing_create_standard_views` — стандартные виды
(возвращает `ViewNumbers` для адресации). (2) `drawing_fill_title_block` — основная надпись
(`Stamp.Text[id].Str`). (3) `drawing_add_linear_dimension(x1,y1,x2,y2,x3,y3,orientation,viewNumber)`
— линейный размер на виде (horizontal/vertical/parallel) через `(ISymbols2DContainer)view` (QI от
вида) → `LineDimensions.Add` → координаты в ЛОКАЛЬНОЙ СК вида → `Update` → авто-значение
`((IDimensionText)dim).NominalValue`. Находка: размеры НЕ в `IView.ObjectCount` (они в
`ISymbols2DContainer`). Память: `kompas-drawing-api7`. **СЛЕДУЮЩЕЕ — инкремент 4: диаметральные/
радиальные/угловые размеры** (те же `ISymbols2DContainer.*Dimensions`; нужен спайк привязки к
окружности/дуге) ИЛИ рамка/формат листа (`ILayoutSheet.Format`/`SheetFormat` — проще).
- 76 MCP-инструментов, 218 тестов зелёных (141 unit + 77 integration).
- **ВЕХА 2D-ЧЕРТЁЖ: 4 инкремента готовы.** (1) `drawing_create_standard_views` (возвращает
`ViewNumbers`). (2) `drawing_fill_title_block` — основная надпись. (3) `drawing_add_linear_dimension`
— линейный размер. (4) `drawing_add_diametral_dimension(xc,yc,radius,angle°,viewNumber)`
диаметральный размер (Ø) через `(ISymbols2DContainer)view.DiametralDimensions.Add``Xc/Yc/Radius/
Angle(рад)``Update``NominalValue`=2R. Общий хелпер `RequireSymbols2DContainer(viewNumber)` для
всех размеров. Размеры — в `ISymbols2DContainer` (QI от вида), НЕ в `IView.ObjectCount`. Координаты —
локальная СК вида. Память: `kompas-drawing-api7`. **СЛЕДУЮЩЕЕ — инкремент 5: радиальный
(`RadialDimensions`, есть ветви) / угловой (`AngleDimensions`) размер** (те же `ISymbols2DContainer`;
спайк) ИЛИ рамка/формат листа (`ILayoutSheet.Format`/`SheetFormat` — проще, без спайка).
- **ВЕХА 2 (2D-ЧЕРТЁЖ) НАЧАТА:** `drawing_create_standard_views(partFilePath, scale, x, y)` СДЕЛАН
(инкремент 1) — стандартные ассоциативные виды (спереди/сверху/слева) детали/сборки на активном
чертеже (API7, `DrawingService`, namespace `Kompas.Mcp.Core.Drawings`). Workflow:
@@ -120,11 +120,14 @@ FirstLevel=false)` (мировые координаты с учётом placemen
3.**СДЕЛАНО:** `drawing_add_linear_dimension` — линейный размер на виде (`ISymbols2DContainer.
LineDimensions`). Размеры — в `ISymbols2DContainer` (QI от `IView`), НЕ в `IDrawingContainer`/
`IView.ObjectCount`. Координаты — локальная СК вида. Память `kompas-drawing-api7`.
4. **СЛЕДУЮЩЕЕ:** диаметральные/радиальные/угловые размеры — те же `ISymbols2DContainer`:
`DiametralDimensions`/`RadialDimensions`/`AngleDimensions` (`IDiametralDimension`/`IRadialDimension`/
`IAngleDimension` есть в interop). **Спайк ДО спека** (привязка к окружности/дуге вида — точка на
окружности vs центр; авто-значение). Тест — `*Dimensions.Count` целевого вида вырос, значение.
Проще/альтернатива: рамка/формат листа (`ILayoutSheet.Format` → `SheetFormat`).
4. **СДЕЛАНО:** `drawing_add_diametral_dimension(xc,yc,radius,angle°,viewNumber)` — диаметральный
размер (Ø). `(ISymbols2DContainer)view.DiametralDimensions.Add` → `Xc/Yc/Radius/Angle(рад)`;
`NominalValue`=2R. Общий хелпер `RequireSymbols2DContainer(viewNumber)`. Память `kompas-drawing-api7`.
5. **СЛЕДУЮЩЕЕ:** радиальный (`RadialDimensions`, `IRadialDimension` — Xc/Yc/Radius/Angle + ветви
`AddBranch`/`AddBranchByArcParam`) / угловой (`AngleDimensions`, `IAngleDimension`) размер. Тот же
`ISymbols2DContainer` (переиспользуй `RequireSymbols2DContainer`). **Спайк ДО спека** (у радиального
— `DimensionType`/ветви; у углового — задание двух прямых/точек). Тест — `*Dimensions.Count` вырос,
значение. Альтернатива (проще, без спайка): рамка/формат листа (`ILayoutSheet.Format`→`SheetFormat`).
Тонкости: чертёж проверяется не объёмом, а числом видов/объектов; ассоциативные виды требуют
сохранённого `.m3d`/`.a3d`-файла. Коды видов `ksRelativeProjectionTypeEnum`: `ksPtFront=1`,