docs: ревью v2 в OPEN_QUESTIONS (направление операций, индексы граней, утечки RCW)

Зафиксированы наблюдения по новому слою v2 и отложенные на проработку пункты
(v2-1 направление boss/cut на грани зависит от нормали; v2-2 транзитные RCW в
PartModeler; v2-3 стабильность индексов граней; v2-4 fillet/chamfer по одному ребру),
а также принятые по ходу решения (углы вращения, габариты).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@
This commit is contained in:
2026-05-26 10:10:02 +03:00
parent 8ac92095b6
commit 8c560fd0f6
+22
View File
@@ -53,6 +53,28 @@
- m11 — трансляция `COMException`/HRESULT в понятные сообщения (сейчас понятны только наши
`InvalidOperationException`); добавить текст последней ошибки КОМПАС.
### Ревью v2 (грань/вращение/скругление/фаска/габариты/список граней)
**⚠️ Отложено:**
- v2-1 — **направление операций на грани**: для бобышки/выреза на выбранной грани параметр
`forward` зависит от ориентации нормали грани, которая для эскиза-на-грани оказывается
направленной *внутрь* тела (boss с `forward=true` уходит в материал — прироста нет;
наружу даёт `forward=false`). Сейчас выбор направления — на стороне агента (по снимку).
На проработку: автоопределение «наружу» по нормали грани, либо опция `auto`.
- v2-2 — **утечки транзитных RCW в `PartModeler`**: `GetTopPart()` и коллекции
`EntityCollection(o3d_face/o3d_edge)` не освобождаются (унаследованный паттерн; `QueryService`
их освобождает, `PartModeler` — только зарегистрированные сущности в `ResetCore`). Накапливается
за длинную сессию. На проработку: единый `using`/release транзитов в построителе.
- v2-3 — **стабильность индексов граней** (`list_faces``sketch_create_on_face_index`):
индекс валиден, пока геометрия не меняется между вызовами. После любой операции порядок/состав
граней может измениться — переиспользовать старый индекс нельзя, нужно перезапросить `list_faces`.
- v2-4 — `fillet/chamfer` строятся по одному ребру (первое из `SelectByPoint`/коллекции);
`tangent=false`. На проработку: набор рёбер, скругление по касательным, переменный радиус.
**✅ Решено по ходу:**
- Угол вращения `revolve_*` — в градусах, `directionType=dtNormal`, `toroidShapeType=сфероид`,
`SetThinParam(false,…)` для сплошного тела. Ось вращения — осевая линия (системный стиль 3).
- Габариты — `ksPart.GetGabarit(full=false)` (только тела), координаты в мм.
## Журнал решений по ходу
(дополняется автоматически во время работы)