Initial commit — Dossier Rhino 8 Plugin

OpenStudio-Suite Architektur-Plugin fuer Rhino 8 (Mac):
- Smart-Elemente: Wand, Decke, Dach (Pult/Sattel/Walm/Mansarde),
  Oeffnungen (Fenster/Tueren mit Rahmen + Sims + Glas + Fluegel),
  Treppen (gerade · L · Wendel mit Schrittmass-Validierung)
- Live-Previews mit Step-Lines + Soll-Range-Clamping
- Bidirektionale Selection-Sync zwischen Source-Linie und Volume
- Geschoss-/Ebenen-Verwaltung mit OKFF-Persistenz
- Layouts mit PDF-Export
- Ausschnitte / Massstab / Override-Regeln
- Petrol-Gruen Theme (Rapport-konform)

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
2026-05-16 04:27:41 +02:00
commit 9dc191be4f
145 changed files with 32629 additions and 0 deletions
+48
View File
@@ -0,0 +1,48 @@
# ! python3
"""
clean.py
Loescht ALLE sticky-Eintraege der DOSSIER-Panels, damit der naechste
startup.py-Lauf die Bridges komplett neu erzeugt.
WICHTIG: Zusaetzlich muessen die drei Panels in Rhinos Layout
einmal geschlossen werden (Rechtsklick auf Tab -> Schliessen),
damit Rhino den alten Panel-Inhalt nicht weiter verwendet.
"""
import scriptcontext as sc
KEYS = [
# Alte Keys (rueckwaerts-kompatibel)
"rhinopanel_registered", "rhinopanel_form", "rhinopanel_guid",
# panel_base-System
"panel_registered_ebenen", "panel_guid_ebenen",
"panel_registered_gestaltung", "panel_guid_gestaltung",
"panel_registered_ausschnitte","panel_guid_ausschnitte",
# EBENEN
"ebenen_layer_listener",
"ebenen_bridge_ref",
"ebenen_processing_layer",
"ebenen_processing",
# GESTALTUNG
"gestaltung_selection_listener",
"gestaltung_bridge",
]
removed = 0
for k in KEYS:
if k in sc.sticky:
del sc.sticky[k]
removed += 1
# Sicherheitshalber auch alle anderen panel_*/ebenen_*/gestaltung_*-Keys raus
for k in list(sc.sticky.keys()):
if isinstance(k, str) and (
k.startswith("panel_") or k.startswith("ebenen_") or
k.startswith("gestaltung_") or k.startswith("ausschnitt")
):
del sc.sticky[k]
removed += 1
print("[clean] {} Sticky-Keys entfernt.".format(removed))
print("[clean] Schliesse jetzt die EBENEN / GESTALTUNG / AUSSCHNITTE")
print("[clean] Panels im Rhino-Layout (Rechtsklick Tab -> Schliessen),")
print("[clean] dann startup.py neu ausfuehren.")