Commit Graph

3 Commits

Author SHA1 Message Date
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 68855c218e feat(host): MCP-сервер на stdio + 18 инструментов
- Program.cs: Host + DI (KompasDispatcher/Session/DocumentService/PartModeler/
  SnapshotService), MCP на stdio, логи в stderr
- Tools: System (connect/status/set_visible), Documents (create/open/save/
  save_as/close/active), Sketch (create/add_line/circle/rectangle/close),
  Features (extrude_boss/extrude_cut/rebuild), Vision (model_snapshot -> ImageContentBlock)
- KompasSession: SetVisibleAsync + кэш LastInfo
- smoke: tools/list по stdio возвращает все 18 инструментов

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-25 23:57:56 +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