Commit Graph

3 Commits

Author SHA1 Message Date
mikhail 8afad88241 test: per-test очистка документов через IntegrationTestBase (CloseAllAsync)
Базовый класс IntegrationTestBase (IAsyncLifetime) закрывает все открытые
документы КОМПАС после КАЖДОГО теста (DocumentService.CloseAllAsync) — чтобы не
копились вкладки-пустышки и упавший Assert не оставлял открытый документ. Все
интеграционные тест-классы переведены на него (: base(fx)); индивидуальные
finally CloseAsync сохранены как первичная очистка.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-27 13:38:48 +03:00
mikhail 8c778a449d @
feat(query): габариты детали (get_bounding_box)

QueryService.GetBoundingBoxAsync через API5 ksPart.GetGabarit(full=false) →
габаритный параллелепипед (мм) + размеры по осям. Помогает агенту оценить
протяжённость модели и подбирать точки для select-by-point (грани/рёбра).
Новый инструмент get_bounding_box; запись BoundingBox.

Тест: цилиндр R10×H20 → X,Y ∈ [-10;10], Z ∈ [0;20] (расширен QueryTests).
Презентация: 26 инструментов.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@
2026-05-26 10:03:53 +03:00
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