diff --git a/src/Kompas.Mcp.Host/Tools/FeatureTools.cs b/src/Kompas.Mcp.Host/Tools/FeatureTools.cs index cd050e3..497d5a2 100644 --- a/src/Kompas.Mcp.Host/Tools/FeatureTools.cs +++ b/src/Kompas.Mcp.Host/Tools/FeatureTools.cs @@ -114,7 +114,7 @@ public sealed class FeatureTools(KompasSession session, PartModeler modeler) } [McpServerTool(Name = "sweep")] - [Description("Кинематическая операция: переместить замкнутый профиль (эскиз profileSketchId) вдоль траектории (эскиз pathSketchId), образуя сплошное тело. Профиль и траектория — на разных плоскостях (обычно перпендикулярных); начало траектории должно совпадать с плоскостью профиля. Возвращает id операции.")] + [Description("Кинематическая операция: переместить замкнутый профиль (эскиз profileSketchId) вдоль траектории (эскиз pathSketchId), образуя сплошное тело. Профиль и траектория должны быть совместимы: на разных плоскостях (обычно перпендикулярных), начало траектории — на плоскости профиля; иначе операция вернёт ошибку построения. Возвращает id операции.")] public async Task Sweep(int profileSketchId, int pathSketchId) { await session.ConnectAsync(); diff --git a/tests/Kompas.Mcp.Tests/Integration/FeatureOpsTests.cs b/tests/Kompas.Mcp.Tests/Integration/FeatureOpsTests.cs index c5c457c..ce102b4 100644 --- a/tests/Kompas.Mcp.Tests/Integration/FeatureOpsTests.cs +++ b/tests/Kompas.Mcp.Tests/Integration/FeatureOpsTests.cs @@ -105,6 +105,12 @@ public sealed class FeatureOpsTests var v = (await _query.GetPartInfoAsync()).Volume; var expected = Math.PI * 25 * 50; Assert.InRange(v, expected * 0.95, expected * 1.05); + + // Габарит подтверждает ось: цилиндр R5 вдоль Z → ≈10×10×50. + var box = await _query.GetBoundingBoxAsync(); + Assert.InRange(box.SizeX, 10 * 0.95, 10 * 1.05); + Assert.InRange(box.SizeY, 10 * 0.95, 10 * 1.05); + Assert.InRange(box.SizeZ, 50 * 0.95, 50 * 1.05); } finally { await _docs.CloseAsync(save: false); } }