/GRASSHOPPER
Grundlagen.
Framework-Konzepte, Shortcuts und Begriffserklärungen für den Einstieg und die Arbeit mit Grasshopper. Wie Daten fließen, welche Node wann passt, und was die häufigsten Begriffe bedeuten.
Wann welche Node?
- Brauchst du eine Kurve? → Curves.
- Fläche? → Surfaces.
- Punkt im Raum? → Params/Point.
- Zahlen rechnen? → Maths.
- Daten sortieren oder filtern? → Lists/Sets.
- Bewegung und Wiederholung? → Transform.
- Verschnitt oder Booleans? → Intersect.
Typische Reihenfolge
- 1. Geometrie erzeugen: Curves, Surfaces oder Params.
- 2. Geometrie vervielfältigen: Transform oder Lists.
- 3. Geometrie verarbeiten: Intersect oder Boolean.
- 4. Ergebnis ausgeben: Display oder Bake.
- Daten fließen in Grasshopper von links nach rechts.
Data Tree Logik
- Grasshopper arbeitet mit Datenbäumen.
- Ein Baum hat Branches mit Pfaden wie {0;0}.
- Flatten macht alle Äste zu einer einzigen Liste.
- Graft gibt jedem Item einen eigenen Ast.
- Path Mapper erlaubt volle Kontrolle über Baumstruktur.
Fehlersuche
- Rote Node = Fehler.
- Orange Node = Warnung.
- Rechtsklick → „Show Error" für Details.
- Param Viewer zeigt die Baumstruktur an.
- Panel auf Ausgabe setzen, um Werte zu lesen.
- Wire-Farbe: grau = Zahlen, weiß = Geometrie.
Rechtsklick-Tipps
- Rechtsklick auf Input: Flatten, Graft oder Simplify direkt setzen.
- Rechtsklick auf Node: Bake, Preview on/off oder Wire Display.
- Bake überträgt Geometrie dauerhaft nach Rhino.
- Rechtsklick auf Canvas öffnet das Suchfeld.
Bake & Preview
- Preview (Auge-Icon) schaltet Viewport-Vorschau ein oder aus.
- Bake überträgt Geometrie dauerhaft nach Rhino.
- Custom Preview gibt Geometrie eine eigene Farbe.
- Groups ordnen zusammengehörige Bereiche.
- Cluster helfen, komplexe Definitionen zu strukturieren.
Wires & Verbindungen
- Wires verbinden Outputs mit Inputs.
- Grau = Einzelwert, weiß = Liste, doppelt = Baum.
- Mehrere Wires in einen Input: Shift beim Verbinden halten.
- Wire löschen: Alt + Klick auf den Input.
- Relay-Nodes halten große Definitionen übersichtlich.
Shortcuts merken
- Tab = Suchfeld öffnen.
- Strg+W = Wire-Sichtbarkeit.
- Strg+Z = Rückgängig.
- Leertaste = Pan.
- Scroll = Zoom.
- Doppelklick auf Canvas = Suchfeld.
- Strg+S = Speichern.
Cluster sinnvoll einsetzen
- Ab etwa 5 wiederkehrenden Nodes lohnt sich ein Cluster — sonst lieber übersichtlich lassen.
- Doppelklick öffnet den Cluster zur Bearbeitung, Eingänge/Ausgänge lassen sich umbenennen.
- Cluster lassen sich exportieren und in anderen Definitionen wiederverwenden.
Vorschau bewusst steuern
- Preview an rechenintensiven oder nicht benötigten Nodes ausschalten spart Rechenzeit.
- Custom Preview vergibt eigene Farben zur schnellen visuellen Kontrolle.
- Bei komplexen Definitionen nur die letzten Nodes einer Kette anzeigen.
Solver bewusst pausieren
- Data Dam hält die Berechnung an einer Stelle an und löst sie manuell aus.
- Solution → Disable pausiert den kompletten Auto-Solve bei größeren Änderungen.
- Sinnvoll vor rechenintensiven Abschnitten wie Kangaroo-Simulationen oder großen Listen.
Panels und Notizen nutzen
- Panel an eine Ausgabe hängen, um Zwischenwerte direkt zu kontrollieren.
- Scribble für Textnotizen direkt auf dem Canvas bei größeren Definitionen.
- Gruppen (Strg+G) mit Farbe und Titel versehen, um Abschnitte klar zu trennen.
1. Vorbereitung
- Referenzgeometrie aus Rhino mit Params (Geometry, Curve, Surface) einlesen.
- Number Slider, Toggle und Value List für steuerbare Parameter anlegen.
- Gruppen und Farben früh nutzen, um die Definition lesbar zu halten.
2. Geometrie aufbauen
- Grundgeometrie mit Curves, Surfaces und Vectors erzeugen.
- Mit Transform vervielfältigen, verschieben oder ausrichten.
- Data-Tree-Struktur früh mit Panel oder Param Viewer prüfen.
3. Daten verarbeiten
- Intersect, Boolean oder Analyze für Berechnung und Prüfung einsetzen.
- Mit Flatten, Graft oder Simplify die Baumstruktur an die nächste Node anpassen.
- Bei Formfindung: Kangaroo-Solver oder Galapagos für Optimierung einsetzen.
4. Ausgabe vorbereiten
- Custom Preview zur Kontrolle vor dem Bake einsetzen.
- Bake überträgt Geometrie dauerhaft nach Rhino, Internalize Data sichert Inputs.
- Definition aufräumen: unbenutzte Nodes entfernen, Cluster benennen.
Zeichnen
- Curves und Surfaces bauen Kurven, Konturen, Flächen und Körper auf.
- Vectors liefert Punkte, Vektoren, Ebenen und Raster als Referenz.
- Params hält Geometrie und Daten als Container für den weiteren Aufbau.
Verformen
- Transform bewegt, dreht, skaliert und spiegelt Geometrie.
- Array-Nodes erzeugen lineare, polare und rechteckige Wiederholungen.
- Morph passt Geometrie an Zielflächen oder Boxen an.
Systeme
- Lists sortiert, filtert und kombiniert Datenlisten.
- Sets und Tree-Nodes steuern die Baumstruktur der Daten.
- Input-Nodes wie Slider, Toggle und Value List steuern die Definition von außen.
Analysieren
- Analyze misst Fläche, Volumen, Schwerpunkt und Krümmung.
- Intersect berechnet Schnitte, Booleans und Regionen.
- Maths wertet Domains, Operatoren und Zahlenwerte aus.
Fertigen
- Meshes bereitet Mesh-Geometrie für Export, Druck oder Rendering vor.
- Bake überträgt Geometrie dauerhaft nach Rhino.
- Weaverbird und LunchBox helfen bei Mesh-Bearbeitung und Panelisierung.
Bake vorbereiten
- Custom Preview vor dem Bake nutzen, um Farbe und Zuordnung zu kontrollieren.
- Bake überträgt Geometrie dauerhaft nach Rhino, die GH-Verbindung wird getrennt.
- Rechtsklick auf Node → Bake für gezielte, einzelne Übertragung.
Daten sichern
- Internalize Data speichert referenzierte Rhino-Geometrie fest in der GH-Datei.
- Wichtig, bevor eine Datei ohne die ursprüngliche Rhino-Referenz weitergegeben wird.
- Rechtsklick auf Param → Internalize Data.
Mesh & Export
- Mesh-Einstellungen (Render Mesh Settings) vor dem Export prüfen — grob vs. fein.
- Weaverbird für Mesh-Bearbeitung, LunchBox für Panelisierung und UV-Layouts.
- Für 3D-Druck: geschlossene, saubere Meshes ohne Löcher oder Selbstüberschneidungen.
Definition aufräumen
- Unbenutzte Nodes und Panels vor der Weitergabe entfernen.
- Gruppen, Farben und Scribbles nutzen, um die Definition nachvollziehbar zu machen.
- Cluster benennen und Eingänge/Ausgänge beschriften für Wiederverwendung.
Node / Komponente
Eine Verarbeitungseinheit in Grasshopper. Hat Eingaben (links), eine Funktion (Körper) und Ausgaben (rechts). Nodes werden über das Suchfeld oder die Ribbon-Tabs gefunden und auf den Canvas gezogen.
Wire / Verbindung
Eine Linie zwischen zwei Nodes, die Daten transportiert. Grau = Einzelwert, Weiß = Liste, Doppelt = Datentree. Mit Shift können mehrere Wires in einen Input geleitet werden.
Canvas
Die Arbeitsfläche von Grasshopper. Hier werden Nodes platziert und verdrahtet. Der Canvas hat keinen festen Maßstab – navigieren mit Scrollen (Zoom) und Leertaste+Drag (Pan).
Solver
Das Rechenmodul, das bei jeder Änderung alle Nodes neu auswertet. Kann mit „Lock Solver" pausiert werden. Data Dam erlaubt manuelles Auslösen einzelner Berechnungsschritte.
Parameter
Spezielle Nodes, die Daten halten oder aus Rhino importieren (z.B. Geometry, Point, Curve). Sie dienen als Schnittstelle zwischen Rhino-Objekt und GH-Definition.
Cluster
Eine Gruppe von Nodes, die zu einer einzigen Node zusammengefasst wird. Vergleichbar mit einer Funktion in Code. Ermöglicht Wiederverwendung und verbessert die Lesbarkeit.
Data Tree
Grasshoppers Datenstruktur. Ein Baum hat mehrere Branches (Äste), jeder mit eigenem Pfad {0;0}, {0;1} etc. Viele Operationen erzeugen automatisch Bäume, z.B. bei verschachtelten Schleifen.
Branch / Ast
Ein Pfad im Datentree, der eine Liste von Elementen enthält. Pfade werden in geschweiften Klammern geschrieben: {0}, {0;1}, {0;1;2} usw. Path Mapper erlaubt Umstrukturierung.
Flatten
Alle Branches eines Datentrees werden zu einer einzigen Liste zusammengeführt. Die Baumstruktur geht verloren. Nützlich, wenn alle Elemente gleich behandelt werden sollen.
Graft
Jedes einzelne Element bekommt seinen eigenen Branch. Aus einer Liste mit 5 Items wird ein Baum mit 5 Branches. Graft erhöht die Komplexität, ermöglicht aber feinere Kontrolle.
Simplify
Entfernt überflüssige führende Pfad-Ebenen aus dem Datentree. Aus {0;0;0} und {0;0;1} wird {0} und {1}. Macht den Baum lesbarer ohne Daten zu ändern.
Path Mapper
Ermöglicht benutzerdefinierte Umstrukturierung von Datentrees über Pfad-Muster. Sehr mächtig für komplexe Verschachtelungen. Syntax: {A;B} → {B;A} tauscht Ebenen.
Entwine
Kombiniert mehrere Listen/Trees in einen gemeinsamen Datentree mit separaten Branches pro Eingang. Gegenteil von Merge (der alles auf eine Ebene bringt).
Weave
Verwebt mehrere Listen nach einem Pattern abwechselnd zusammen. Z.B. Pattern {0,1} nimmt abwechselnd aus Liste A und Liste B. Flexibel für gemischte Datensätze.
Plane / Ebene
Ein lokales Koordinatensystem mit Origin (Ursprung), X-Achse und Y-Achse. Fast alle geometrischen Primitiven brauchen eine Plane als Referenz für Position und Orientierung.
Domain / Domäne
Ein Zahlenbereich von einem Minimum bis einem Maximum, z.B. {0.0 to 1.0}. Kurven, Flächen und andere Geometrien haben Domains, die mit Remap oder Evaluate ausgewertet werden.
NURBS
Non-Uniform Rational B-Spline – das Kurven- und Flächenformat, das Rhino und Grasshopper intern verwenden. Degree (Grad) bestimmt die Glätte: Degree 1 = Polylinie, Degree 3 = glatte Kurve.
Brep
Boundary Representation – ein Volumenkörper oder eine offene Flächengeometrie, die aus Flächen, Kanten und Punkten besteht. Solid Union/Difference/Intersection arbeiten auf Breps.
Mesh
Polygonales Netz aus Vertices, Edges und Faces. Schneller bei komplexen Formen als NURBS. Viele Plugins (Weaverbird, Kangaroo) arbeiten primär mit Meshes.
Bake
Überträgt Grasshopper-Geometrie dauerhaft in das Rhino-Dokument. Die Verbindung zur GH-Definition wird dabei getrennt. Rechtsklick auf Node → Bake oder über Custom Preview.
Remap Numbers
Skaliert Zahlen von einem Quellbereich auf einen Zielbereich. Beispiel: Temperaturdaten 0–100 auf Radius 1–10 umrechnen. Unverzichtbar für parametrische Steuerung.
Dispatch
Teilt eine Liste anhand eines Boolean-Patterns in zwei Ausgabelisten auf. True-Items gehen in Output A, False-Items in Output B. Equivalent zu einem Filter.
Cull Pattern
Entfernt Elemente aus einer Liste basierend auf einem sich wiederholenden Boolean-Pattern. Pattern {True, False} behält jeden zweiten Wert. Sehr nützlich für Raster-Filtrierung.
Loft
Erzeugt eine Fläche durch mehrere Kurvenprofile. Die Kurven definieren den Verlauf der Fläche. Mit „Closed" entsteht ein geschlossenes Loft, mit „Loose" ein weniger kontrolliertes Ergebnis.
Orient
Transformiert Geometrie von einer Quell-Plane auf eine Ziel-Plane. Bewegt, rotiert und skaliert alles gleichzeitig, sodass das Objekt in der Zielplane gleich ausgerichtet ist wie in der Quellplane.
Voronoi
Teilt ein Gebiet anhand von Punkten in Zellen auf, sodass jede Zelle den Bereich näher an „ihrem" Punkt umfasst als an anderen. Klassisches Muster für Fassaden und organische Strukturen.