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> @
17 lines
618 B
C#
17 lines
618 B
C#
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;
|
|
}
|