Files
karim 9dc191be4f 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>
2026-05-16 04:27:41 +02:00

2.4 KiB

RhinoPanel — Installation Rhino 8 (Mac)

Voraussetzungen

  • Rhino 8
  • Node.js (nur fuer Dev-Modus)

Dev-Modus

cd rhino-panel
npm run dev       # startet auf http://localhost:5173

In Rhino: _RunPythonScriptrhino/rhinopanel.py

Prod-Modus

npm run build     # erstellt dist/

In Rhino: _RunPythonScriptrhinopanel.py
Das Script erkennt dist/index.html automatisch.

Autostart

Rhino Optionen → Scripting → Startup Scripts → rhinopanel.py hinzufuegen


Grasshopper-Anbindung

Wie es funktioniert

Wenn "Anwenden" im Panel gedrueckt wird:

  1. Rhino-Layer werden erstellt/aktualisiert
  2. Ebenen-JSON wird in doc.Strings["rhinopanel_ebenen"] gespeichert
  3. Grasshopper-Neuberechnung wird automatisch ausgeloest

GH Python-Component einrichten

  1. GH oeffnen → Params > Util > Python Script Komponente platzieren
  2. Inhalt von rhino/gh_ebenen.py hineinkopieren
  3. Outputs der Komponente (Rechtsklick → "Manage Outputs") anlegen:
Output Typ Inhalt
namen list Grundriss-Namen (EG, 1OG, ...)
okff list Bodenniveau je Geschoss in m
hoehen list Geschosshoehe in m
schnitthoehen list Schnitthoehe ueber Boden in m
grundriss_ebenen list Planes auf Schnitthoehe (fuer Section)
boden_ebenen list Planes auf OKFF (fuer Extrusion)
gebaeude_hoehe item Gesamthoehe in m
schnitte list Namen der Schnitt-Ebenen
ansichten list Namen der Ansichts-Ebenen

Typische GH-Verknuepfungen

Automatischer Grundrissschnitt:

gh_ebenen.grundriss_ebenen → Brep Split / Section

Wandextrusion (2D → 3D):

Curves auf Layer 01_WAND
  → Extrude (Vektor: {0,0,hoehe})
  → Cap Holes
  → BooleanUnion

Stockwerke positionieren:

gh_ebenen.boden_ebenen → Orient

Alternativ: Get Document String (ohne Python)

  • Params > Util > Get Document String
  • Key: rhinopanel_ebenen
  • Output → Deserialize JSON oder Evaluate Expression

Dateistruktur

rhino-panel/
├── src/                  React-App (Quellcode)
├── dist/                 Gebaute App (nach npm run build)
└── rhino/
    ├── rhinopanel.py     Panel starten (in Rhino ausfuehren)
    ├── layer_builder.py  Layer-Erstellung
    └── gh_ebenen.py      GH Python-Component Code