fix(feature): правки sweep по ревью Codex

- описание sweep смягчено (несовместимость → ошибка Create)
- тест: проверка габарита цилиндра 10x10x50 (подтверждает ось)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-26 23:07:09 +03:00
parent 6e3c7c6fd5
commit ddc71a8ac0
2 changed files with 7 additions and 1 deletions
+1 -1
View File
@@ -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<string> Sweep(int profileSketchId, int pathSketchId)
{
await session.ConnectAsync();
@@ -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); }
}