Grasshopper: Visual Scripting for Rhinoceros 3D. David Bachman
Operators Panel
Polynomials Panel
Script Panel
Time Panel
Trig Panel
Util Panel
Sets Tab
List Panel
Sequence Panel
Sets Panel
Text Panel
Tree Panel
Vector Tab
Field Panel
Grid Panel
Plane Panel
Point Panel
Vector Panel
Curve Tab
Analysis Panel
Division Panel
Primitive Panel
Spline Panel
Util Panel
Surface Tab
Analysis Panel
Freeform Panel
Primitive Panel
Util Panel
Mesh Tab
Analysis Panel
Primitive Panel
Triangulation Panel
Util Panel
Intersect Tab
Mathematical Panel
Physical Panel
Region Panel
Shape Panel
Transform Tab
Affine Panel
Array Panel
Euclidean Panel
Morph Panel
Util Panel
Display Tab
Color Panel
Dimensions Panel
Graphs Panel
Preview Panel
Vector Panel
Index
We live in a three-dimensional world. Every tool, piece of furniture, and building is three-dimensional. Every living organism is threedimensional. To design objects for everyday living, you must learn how to create in three dimensions. This has been done for thousands of years by traditional methods, such as sculpting clay, carving wood, or chiseling marble. However, these techniques lack the precision required for modern designs, especially when the desired object must conform to precise tolerances. For such designs we use computers to create a digital model first, and then pass that model on to a machine such as a CNC router or 3D-printer for precision fabrication.
There are many software packages that can be used to create digital models. Some allow you to sculpt and chisel on-screen, just as if you were working with virtual clay or marble. Others have precise tools that give you a high degree of control over the objects you create. One package that is popular among a variety of designers, including architects, jewelers, and visual artists, is Rhinoceros 3D, or “Rhino,” by McNeel Software. It is now available for both PCs and Macs.
To use this book you will need a copy of Rhino, although we will only assume minimal familiarity with it. Rhino comes packaged with a program called Grasshopper. (To access it, just type “grasshopper” while Rhino is open.) Grasshopper is a visual scripting platform. It allows the user to write computer programs to build Rhino objects by simply dragging boxes around the screen and connecting them with wires. No knowledge of programming is necessary! Modeling with Grasshopper adds the potential for infinite customization to your design process, as your scripts can contain number sliders and other interactive elements.
If you are a Rhino user, many of the components you will use with Grasshopper will be self-explanatory, but the workflow may be unfamiliar. Perhaps the biggest hurdle to master is the organization of data (geometric objects, modeling operations, and numerical data) into lists and data trees. For this reason, we will spend relatively little time here describing basic components that mimic native Rhino commands (e.g., Pipe, Loft, etc.). Rather, the emphasis will be on the way these components are put together in a Grasshopper script to create the desired objects.
This book is a basic introduction to modeling objects with Grasshopper. Interested readers can go on to explore Grasshopper’s more advanced features. Furthermore, countless plug-ins are available that expand Grasshopper’s functionality to a bewildering array of potential applications. There are plug-ins that add physics-based simulations (notably Daniel Piker’s Kangaroo), expand Grasshopper’s ability to work with meshes, add custom design tools for a variety of disciplines (most notably architecture and jewelry), and add the ability to interface with other hardware, such as an Arduino or Microsoft’s Kinect. Users with programming experience can even create their own Grasshopper components by writing scripts in Visual Basic, C#, and Python.
In Part 1 we will give a brief overview of scripting with Grasshopper. Time is spent here discussing specific components when they would be unfamiliar to Rhino users. In Part 2 we present more complicated Grasshopper scripts, to showcase the variety of objects you can create. These examples were carefully chosen so that the reader will see how the concepts discussed in Part 1 can be used together to create complex designs. Finally, in Part 3 of the book we have produced a reference guide from Grasshopper’s own help files (with permission of the software author) containing descriptions of some of the most common Grasshopper components.
FIGURE 1.1. The Grasshopper window with the Geometry panel expanded.
When you first start up Grasshopper you’ll see something like Figure