#! python 3 # -*- coding: utf-8 -*- """Hilfsscript: alle Dossier-Panel-Registrierungs-Flags clearen + Module neu laden. Nuetzlich nach Icon-/Layout-Aenderungen. ABER: Rhinos Panel-Manager cached die Icon-Bindung pro GUID — fuer NEUE Icons hilft oft nur ein kompletter Rhino-Neustart. Dieses Script ist fuer alles andere (Geometrie-/Bridge-Aenderungen). Ausfuehrung in Rhino: _RunPythonScript "/Users/karim/STUDIO/DOSSIER/rhino/_reset_panels.py" """ import importlib, sys import scriptcontext as sc _PANELS = ("elemente", "gestaltung", "oberleiste", "massstab", "ausschnitte", "layouts", "overrides", "werkzeuge", "dimensionen", "ebenen", "rhinopanel", "panel_base", "overrides_panel") cleared = [] for k in list(sc.sticky.keys()): kl = str(k).lower() if any(p in kl for p in _PANELS): cleared.append(k) sc.sticky[k] = None print("[reset] sticky cleared:", len(cleared)) reloaded = [] for m in list(sys.modules): if any(p in m for p in _PANELS): try: importlib.reload(sys.modules[m]) reloaded.append(m) except Exception as ex: print("[reset] reload {}: {}".format(m, ex)) print("[reset] modules reloaded:", len(reloaded)) print("[reset] FERTIG — Panels jetzt neu via _RunPythonScript oeffnen")