From 8c560fd0f6f2e4631e15b790fc93fc2d051925ee Mon Sep 17 00:00:00 2001 From: Shahovalov MIkhail Date: Tue, 26 May 2026 10:10:02 +0300 Subject: [PATCH] =?UTF-8?q?@=20docs:=20=D1=80=D0=B5=D0=B2=D1=8C=D1=8E=20v2?= =?UTF-8?q?=20=D0=B2=20OPEN=5FQUESTIONS=20(=D0=BD=D0=B0=D0=BF=D1=80=D0=B0?= =?UTF-8?q?=D0=B2=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=BE=D0=BF=D0=B5=D1=80?= =?UTF-8?q?=D0=B0=D1=86=D0=B8=D0=B9,=20=D0=B8=D0=BD=D0=B4=D0=B5=D0=BA?= =?UTF-8?q?=D1=81=D1=8B=20=D0=B3=D1=80=D0=B0=D0=BD=D0=B5=D0=B9,=20=D1=83?= =?UTF-8?q?=D1=82=D0=B5=D1=87=D0=BA=D0=B8=20RCW)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Зафиксированы наблюдения по новому слою v2 и отложенные на проработку пункты (v2-1 направление boss/cut на грани зависит от нормали; v2-2 транзитные RCW в PartModeler; v2-3 стабильность индексов граней; v2-4 fillet/chamfer по одному ребру), а также принятые по ходу решения (углы вращения, габариты). Co-Authored-By: Claude Opus 4.7 @ --- docs/OPEN_QUESTIONS.md | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/docs/OPEN_QUESTIONS.md b/docs/OPEN_QUESTIONS.md index ae836e7..c1fb224 100644 --- a/docs/OPEN_QUESTIONS.md +++ b/docs/OPEN_QUESTIONS.md @@ -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)` (только тела), координаты в мм. + ## Журнал решений по ходу (дополняется автоматически во время работы)