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:
@@ -0,0 +1,98 @@
|
||||
# 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
|
||||
```
|
||||
Reference in New Issue
Block a user