mikhail
|
b73748f84b
|
@
feat(query): инструмент get_part_info (МЦХ детали)
QueryService через IMassInertiaParam7: объём, масса, площадь, центр масс.
Единицы выставляются детерминированно (мм/кг) через LengthUnits/MassUnits —
иначе КОМПАС отдаёт значения в единицах отображения МЦХ (по умолчанию см/г).
Calculate() возвращает FALSE даже при успехе → опираемся на свойство Actual.
Интеграционный тест: цилиндр R10×H20 → V≈6283 мм³, S≈1885 мм², m≈0.049 кг, Zc=10 мм.
Находка задокументирована в OPEN_QUESTIONS; презентация обновлена (19 инструментов, 14 тестов).
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@
|
2026-05-26 09:35:57 +03:00 |
|
mikhail
|
60cf26f739
|
refactor(core): правки по код-ревью (COM-утечки, безопасный shutdown, типобезопасность)
- PartModeler: ResetAsync/Dispose освобождают RCW и чистят реестр эскизов/операций;
Editor освобождается после EndEdit (C1)
- DocumentTools: сброс реестра при create/open/close — нет устаревших id (C2)
- DocumentService: освобождение транзитных IDocuments/IKompasDocument (m9)
- KompasSession.Dispose: ограниченное ожидание 5с вместо вечного блока (M3)
- PartModeler.ExtrudeAsync: убран dynamic -> конкретные definition-типы;
throughAll только для cut (M4)
- FeatureTools.extrude_cut: дефолт throughAll=false, без подмены depth (m7)
- tests: регрессия на сброс реестра (старый id недействителен)
- docs/OPEN_QUESTIONS.md: итоги ревью (исправлено/отложено)
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
2026-05-26 09:18:52 +03:00 |
|
mikhail
|
230c534403
|
fix(host): корректный возврат снимка через ImageContentBlock.FromBytes
- Data хранит base64-байты; сырые PNG-байты надо отдавать через FromBytes,
иначе изображение портится на проводе (0x89 -> U+FFFD)
- проверено сквозным прогоном по MCP-протоколу: connect -> document_create ->
sketch_create -> add_circle -> close -> extrude_boss -> model_snapshot,
получен валидный PNG (~19 КБ) цилиндра
- docs/OPEN_QUESTIONS.md: конкурентность вызовов MCP и нюанс FromBytes
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
2026-05-26 00:04:31 +03:00 |
|
mikhail
|
d4502409de
|
feat(core): SnapshotService — рендер 3D-модели в PNG (S4, "зрение агента")
- RasterImageFormat (PNG/JPG/BMP/...) + MIME-типы + парсинг
- SnapshotService: ksDocument3D.SaveAsToRasterFormat -> временный файл -> байты
(resultArrayBytes при заданном имени файла не заполняется; рендер в файл надёжен)
- tests: снимок активной детали возвращает валидный PNG (визуально проверено)
- docs/OPEN_QUESTIONS.md: зафиксирован нюанс resultArrayBytes
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
2026-05-25 23:48:35 +03:00 |
|
mikhail
|
1be3f4d8f9
|
build: project skeleton (Core / Host / Tests) + MCP SDK
- src/Kompas.Mcp.Core: classlib с ссылками на interop-сборки КОМПАС
- src/Kompas.Mcp.Host: console, ModelContextProtocol 1.3.0 + Hosting
- tests/Kompas.Mcp.Tests: xUnit, ссылка на Core
- все проекты унаследовали net8.0-windows/x64 из Directory.Build.props
- docs/OPEN_QUESTIONS.md: журнал спорных решений
- .gitignore: добавлен .scratch/
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
2026-05-25 23:39:04 +03:00 |
|