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>
@
This commit is contained in:
2026-05-26 10:03:53 +03:00
parent 88dad09ea7
commit 8c778a449d
5 changed files with 66 additions and 4 deletions
+16
View File
@@ -0,0 +1,16 @@
namespace Kompas.Mcp.Core.Query;
/// <summary>Габаритный параллелепипед детали (мировые координаты модели, мм).</summary>
public sealed record BoundingBox
{
public required double MinX { get; init; }
public required double MinY { get; init; }
public required double MinZ { get; init; }
public required double MaxX { get; init; }
public required double MaxY { get; init; }
public required double MaxZ { get; init; }
public double SizeX => MaxX - MinX;
public double SizeY => MaxY - MinY;
public double SizeZ => MaxZ - MinZ;
}