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:
+36
-6
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user