mikhail
8cc0f49f99
docs: правки спека пакета C по дизайн-ревью Codex (circular свойствами, multi-feature тест, эмпирические тонкости)
2026-05-27 00:03:47 +03:00
mikhail
d6ab16fd6a
docs: спек пакета C — массивы и зеркало (linear/circular pattern, mirror)
2026-05-26 23:45:40 +03:00
mikhail
b2aac016af
feat: смещённая плоскость (sketch_create_on_offset_plane) + операция по сечениям (loft)
...
OpenSketchOnOffsetPlaneAsync (o3d_planeOffset=14, ksPlaneOffsetDefinition) —
эскиз на смещённой плоскости. LoftAsync (o3d_baseLoft=30, ksBaseLoftDefinition):
Sketchs().Add сечений + SetLoftParam + SetThinParam(false). Смещённая плоскость
разблокировала loft (параллельные сечения). Integration: цилиндр на высоте 20;
loft 2 квадратов → призма 16000 мм³.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-26 23:17:00 +03:00
mikhail
6e3c7c6fd5
feat(feature): кинематическая операция (sweep)
...
SweepAsync (o3d_baseEvolution): SetSketch(профиль) + PathPartArray(траектория)
+ sketchShiftType=0 + SetThinParam(false). Инструмент sweep в FeatureTools.
Integration: окружность R5 по вертикали 50 → цилиндр ~3927 мм³.
loft отложен — требует offset-плоскости (пакет E) для параллельных сечений.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-26 23:04:42 +03:00
mikhail
fc99739e1e
feat(feature): операция Ребро жёсткости (rib)
...
RibAsync (o3d_ribOperation): SetSketch + index/angle/side + SetThinParam.
SketchGeometry.RibSide маппинг (left/right/up/down). Инструмент rib в FeatureTools.
Эмпирически: контур ребра висит в зазоре (не касается тела), side=left для косынки.
Integration: L-уголок + ребро в углу → объём растёт.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-26 22:51:58 +03:00
mikhail
115fcb8759
feat(feature): операция Оболочка (shell)
...
ShellAsync (o3d_shellOperation): удаление граней по индексам + толщина стенки,
thinType=!outward. SelectFaceByIndex в ядре, инструмент shell в FeatureTools.
Валидация: thickness>0, дедупликация индексов, проверка диапазона до мутации.
Integration-тест: коробка 40x30x20 → оболочка 2мм → 7152 мм³ (±5%).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-26 22:28:03 +03:00
mikhail
b6ee39a914
docs(spec): дизайн операции Оболочка (shell) — пакет B шаг 1
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-26 22:20:02 +03:00
mikhail
2eab169e28
docs(plan,spec): правки по ревью Codex — примитивы эскиза
...
- NURBS: порядок 4 (кубический), не degree=3; константа SplineOrder
- NewParam<T>: освобождать сырой RCW при неудачном cast
- сплайн: ksEndObj гарантированно через try/finally
- валидация вынесена в SketchGeometry (RequirePositive/RequireVertexCount/
RequirePoints с null+finite) — unit-тестируема
- closed polyline требует >=3 точек
- SketchPoint: [JsonPropertyName] x/y; Map с null-guard
- точка: убран неверный термin «вспомогательная»; нейтральный стиль
- зафиксированы источники сигнатур (Automation=docs, типы=interop A/B)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-26 21:43:23 +03:00
mikhail
362fea4d54
docs(spec): дизайн пакета A — богаче эскизы (примитивы 2D)
...
7 новых MCP-инструментов эскиза: дуга (3 точки / центр+углы), эллипс,
ломаная, правильный многоугольник, сплайн (NURBS), точка. Тонкие обёртки
над ksDocument2D; param-структуры через GetParamStruct. Рефакторинг
PartModeler в partial class (Sketch/Features). Сигнатуры COM сверены по
docs/Kompas3D_SDK/.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-26 21:06:34 +03:00