Wand-Outlines temporaer deaktiviert (Tech-Drawing-Konflikt)

Die Outline-Curves lagen exakt auf z=0 wie die unteren Brep-Edges. Rhinos
Technical-Drawing Hidden-Line-Analyse choked nach jedem Regen mit Duplikat-
Linien → wireframe-Fallback.

- _regen_wall_lines.outline branch auskommentiert
- _migrate_strip_wand_outlines_once raeumt existierende wand_outline-Curves
  beim naechsten Doc-Open weg
- Centerline (offset, dashed, locked) bleibt — kein Edge-Overlap

Wenn Outline-Visualisierung wieder gewollt: via Display-Conduit (visual-only,
keine Tech-Drawing-Interferenz).
This commit is contained in:
2026-05-30 16:54:35 +02:00
parent 98824c1680
commit 66971eaa7a
+36 -6
View File
@@ -3276,12 +3276,16 @@ def _regen_wall_lines(doc, wall_id, in_cluster=False):
except Exception as ex:
print("[ELEMENTE] AddCurve centerline:", ex)
outline = _make_wall_outline(axis_curve, dicke, referenz)
if outline is not None:
try: doc.Objects.AddCurve(outline, _build_attrs("wand_outline",
dashed=False))
except Exception as ex:
print("[ELEMENTE] AddCurve outline:", ex)
# Outline-Curve TEMPORAER deaktiviert: lag exakt auf z=0 wie die unteren
# Brep-Edges → Technical-Drawing Hidden-Line-Analyse choked nach jedem
# Regen. Wenn der User die outline-Visualisierung braucht, muessen wir
# auf Display-Conduit umstellen (nicht Tech-Drawing analysiert).
# outline = _make_wall_outline(axis_curve, dicke, referenz)
# if outline is not None:
# try: doc.Objects.AddCurve(outline, _build_attrs("wand_outline",
# dashed=False))
# except Exception as ex:
# print("[ELEMENTE] AddCurve outline:", ex)
# Alias fuer Backwards-Compat — alte Callsites benutzen den alten Namen.
@@ -15634,6 +15638,29 @@ def _migrate_plangrafik_60_to_80_once(doc):
except Exception: pass
def _migrate_strip_wand_outlines_once(doc):
"""One-shot: alle bestehenden wand_outline Curves loeschen (Feature
temporaer deaktiviert wegen Technical-Drawing Hidden-Line-Konflikt).
Bei spaeterer Re-Aktivierung als Display-Conduit hinfaellig."""
if doc is None: return
try: key = "_dossier_wand_outlines_strip_" + str(doc.RuntimeSerialNumber)
except Exception: key = "_dossier_wand_outlines_strip_default"
if sc.sticky.get(key): return
sc.sticky[key] = True
n = 0
try:
for obj in list(doc.Objects):
try:
if obj.Attributes.GetUserString(_KEY_TYPE) == "wand_outline":
doc.Objects.Delete(obj.Id, True)
n += 1
except Exception: pass
except Exception as ex:
print("[ELEMENTE] strip wand_outlines migration:", ex)
if n > 0:
print("[ELEMENTE] Strip-Wand-Outlines Migration: {} entfernt".format(n))
def _migrate_strip_wall_auto_groups_once(doc):
"""One-shot pro Dokument: alle wand_axis-Achsen aus ihren Auto-Groups
raus (= alte Memberships von _add_to_wall_group). Group-Inhalt-Check:
@@ -15893,6 +15920,9 @@ def _on_idle_selection(sender, e):
# One-shot: alte Wand-Auto-Groups stripten (Axis war frueher mit Volume
# gegruppt — jetzt sollen Click auf Linie nur die Linie selektieren)
_migrate_strip_wall_auto_groups_once(doc)
# One-shot: alte wand_outline Curves entfernen (Feature deaktiviert
# wegen Technical-Drawing Konflikt)
_migrate_strip_wand_outlines_once(doc)
# Oeffnungen-Tree in dossier_ebenen anlegen falls noch nicht vorhanden
# (sonst erscheinen die neuen Sublayer nicht im Ebenen-Panel).
_ensure_oeff_ebenen_once(doc)