Grasshopper - Eine Übersicht

Grasshopper ist ein visueller Programmeditor, der von David Rutten und Robert McNeel & Associates entwickelt wurde. Als Plug-In für Rhino3D ist Grasshopper integriert in eine robuste und vielseitige Modellierungsumgebung. Diese wird von kreativen Profis in verschiedenen Bereichen, wie z.B. Architektur, Ingenieurwissenschaften und Produktdesign genutzt. Zusammen mit Rhino bietet Grasshopper uns die Möglichkeit präzise parametrische Beziehungen in Modellen zu definieren, die Fähigkeit generative Entwurfsabläufe zu erkunden und eine Plattform, um übergeordnete Programmierlogik zu entwickeln – und all das in einer intuitiven, graphischen Oberfläche.

Die Ursprünge von Grasshopper können bis zur Funktionalität des "Record History" Knopfes in Rhino3d Version 4 zurückverfolgt werden. Dieses spezifische Merkmal erlaubte es Anwendern, Modellierungsverfahren während des Ablaufes implizit im Hintergrund zu speichern. Falls Du aus vier Kurven mit der eingeschalteten Aufzeichnungsfunktion eine Loftfläche erstellt hattest, konntest Du die Kontrollpunkte der Kurven bearbeiten und die Geometrie der Fläche wurde automatisch aktualisiert. Im Jahr 2008 hat David folgende Frage gestellt: “Was würde geschehen, wenn man mehr explizite Kontrolle über die Aufzeichnungsfunktion hätte?”. Dies war der Geburtsmoment für den Vorläufer von Grasshopper - Explicit History. Diese Funktion erlaubte es, die gespeicherten Arbeitsabläufe im Detail zu bearbeiten und befähigte den Anwender logische Sequenzen zu entwickeln, welche über die bestehenden Fähigkeiten von Rhino3Ds eingebaute Funktionalität hinausreichen. Sechs Jahre später ist Grasshopper nun ein robuster, visueller Programmiereditor, der mit verschiedenen extern entwickelten Plug-Ins erweitert werden kann. Außerdem wurden dadurch Arbeitsabläufe von Profis in verschiedenen Industrien grundsätzlich verändert und eine aktive, globale Gemeinschaft der Anwender begünstigt.

Dieser Primer legt seinen Fokus sowohl auf die Grundlagen, um Kernwissen anzubieten, das Du brauchst, um in eine regelmäßige Nutzung von Grasshopper einzutauchen, als auch auf einige Sprungbretter für die nächsten Schritte in Deiner eigenen kreativen Praxis. Bevor wir in die Beschreibungen, Diagramme und Beispiele einsteigen, welche in der Folge dargeboten werden, sollten wir darüber sprechen, was visuelle Programmierung ist, wie die Grasshopper Benutzeroberfläche aufgebaut ist, welche grundlegenden Begriffe Grasshopper nutzt und welche "live" Eigenschaften die Rückkopplung des Ansichtsfensters bzgl. des Benutzererlebnisses hat.

Visuelle Programmierung ist ein Paradigma der Computerprogrammierung, innerhalb dessen der Benutzer logische Elemente graphisch statt textbasiert manipuliert. Einige der bekanntesten text-basierten Programmiersprachen, wie C#, Visual Basic oder Processing – und näher an Rhinoceros – Python und Rhinoscript, verlangen von uns, dass wir Code schreiben, der an sprachspezifische Syntax gebunden ist. Im Unterschied dazu erlaubt uns visuelles Programmieren funktionale Blöcke in einer Sequenz von Aktionen miteinander zu verbinden. Dabei ist die einzig benötigte “Syntax”, dass die Eingabeparameter Daten des entsprechenden Typs bekommen, und idealerweise, dass das Skript auf das beabsichtigte Resultat hin organisiert ist. Mehr dazu in den Abschnitten über die Abgleichung des Datenflusses und das Entwerfen mit Baumstrukturen. Diese Charakteristik des visuellen Programmierens senkt die Einstiegsbarriere, welche üblicherweise bei dem Erlernen einer neuen Sprache - auch bei einer gesprochenen - vorgefunden wird. In den Vordergrund zu stellen ist auch die graphische Benutzeroberfläche, die Grasshopper für Designer in einem vertrauten Umfeld verortet.

IMAGE

Dieses Bild zeigt die Entwicklung einer gezeichneten Sinuskurve in Python und Grsshopper.

Um bei Grasshopper einzusteigen und seine Fähigkeiten bezüglich visuellen Programmierens nutzen zu können, müssen wir das Programm von der Grasshopper3D.com Webseite laden und auf unserem Computer installieren. Einmal installiert, können wir das Plug-In öffnen, indem wir “Grasshopper” in die Rhino Befehlszeile eingeben. Das erste Mal, wenn wir diese Eingabe in einer neuen Rhinositzung machen, werden wir die Grasshopper Ladeanzeige sehen, bevor wir das Fenster des Grasshoppereditors sehen. Wir können nun funktionale Blöcke – “Komponenten” genannt - auf der “Leinwand” einfügen, mit Kabeln verbinden und die gesamte “Definition” im .ghx Dateiformat speichern.

IMAGE

Eine Grasshopperdefinition, bestehend aus Komponenten, die mit Kabeln auf der Leinwand verbunden sind.

Sobald wir begonnen haben eine Grasshopperdefinition zu entwickeln und Schieberegler in unserer Leinwand erstellt haben, um Geometrien zu kontrollieren, können wir unsere natürliche Intuition nutzen, um Verbindungen zwischen den Komponenten zu verstehen, da die Ergebnisse direkt im Rhinosansichtsfenster sichtbar werden. Die Verbindung zwischen Grasshopper und Rhino ist grundsätzlich in Echtzeit – wenn wir einen Schieberegler verändern, wird die Folge dieser Handlung im Rahmen der Definition ausgewertet und die Lösung neu berechnet, bevor das Ansichtsfenster aktualisiert wird. Beim Einstieg in Grasshopper ist es von Vorteil, dass die Vorschau der Geometrie, die wir sehen eine leichtgewichtige Darstellung der Lösung ist und diese automatisch aktualisiert wird. Es ist jetzt wichtig zu wissen, dass, sobald Deine Definitionen komplexer werden und auf geschickte Art und Weise den Datenfluss regeln, das Rhinoansichtsfenster den Status der Rechnerlösung widerspiegelt, um ungewollte Kopfschmerzen zu vermeiden.

IMAGE

Programmfluss von links nach rechts.

MERKPUNKTE

  • Grasshopper ist ein grafischer Algorithmeneditor, der in das Rhino3D Modellierwerkzeug integriert ist.
  • Algorithmen sind schrittweise Prozeduren, die entworfen wurden, um eine bestimmte Operation durchzuführen.
  • Du benutzt Grasshopper, um Algorithmen zu entwerfen, die dann Aufgaben in Rhino3D automatisieren.
  • Ein einfacher Weg, um einzusteigen, wenn Du Dir nicht sicher bist, wie eine bestimmte Operation in Grasshopper ausgeführt werden kann, wäre es, den Algorithmus händisch und schrittweise mit Rhinobefehlen zu erarbeiten.

Sobald Du erstmals beginnst Grasshopper zu erkunden oder Deine Fähigkeiten weiter entwickelst, bist Du ein Teil der weltweiten Grasshoppergemeinschaft. Diese Gemeinschaft besteht aus aktiven Mitgliedern aus vielen verschiedenen Anwendungsgebieten und vielfältigen Erfahrungsniveaus. Das Forum auf Grasshopper3D.com ist eine nützliche Quelle, um Fragen zu stellen, Ergebnisse zu teilen und Wissen zu sammeln. Diese Gemeinschaft hat uns während des Schreibens des Primers sehr geholfen und wir haben uns daran erfreut, wie sich Grasshopper über die Jahre entwickelt hat. Herzlich Willkommen!