Files
DOSSIER/rhino/INSTALL.md
T
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

99 lines
2.4 KiB
Markdown

# RhinoPanel — Installation Rhino 8 (Mac)
## Voraussetzungen
- Rhino 8
- Node.js (nur fuer Dev-Modus)
---
## Dev-Modus
```bash
cd rhino-panel
npm run dev # startet auf http://localhost:5173
```
In Rhino: `_RunPythonScript``rhino/rhinopanel.py`
## Prod-Modus
```bash
npm run build # erstellt dist/
```
In Rhino: `_RunPythonScript``rhinopanel.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
```