docs: handoff — основная надпись готова (инкремент 2 чертежа); следующее — размеры на видах

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-27 17:32:22 +03:00
parent 56f6e0b45a
commit d6a129b0d1
+14 -6
View File
@@ -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`,