docs: handoff — веха 2D-чертёж начата (drawing_create_standard_views готов)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -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`,
|
||||
|
||||
Reference in New Issue
Block a user