Grasshopper is an algorithmic design tool in the 3D modeling software Rhino. (Why all the animal names? I really don’t know…) Here is a tutorial about how to get started modeling in Grasshopper.
Step One: Open Grasshopper
Type “grasshopper” into the command line in Rhino, a new window like this should pop up:
Grasshopper has lots of different tools you can use to alter the geometry you make in Rhino. Grasshopper itself doesn’t have any geometry, it’s just a way of writing unique instructions to alter your geometry in Rhino. Nothing will be saved in your Rhino file until you “bake” it, which is like exporting it from a Grasshopper preview into a Rhino geometry. Still confused? Check out the Grasshopper website, read along with my tutorials, check out this helpful tutorial, or go play with it yourself!
Step Two: Set Up the Display
Make sure the icons are off and the full names are on. This isn’t a major step but it’ll help you follow along the tutorial.
Step Three: Add Components
Double click anywhere on the canvas to get started. A search bar will pop up like this.
Type the name of the component you want to use into the search bar, for example I am using Solid Intersection.
If you want more information about a component, simply hover your cursor over it. The little orange flag at the top right corner is a warning that nothing has been plugged into it yet so it is not working. This makes problem-solving a larger string of components super easy!
So, what’s a “brep”?
You might be wondering, what in the world is a “brep”?! Well, it’s a Boundary REPresentation, a collection of multiple trimmed surfaces. It’s what Grasshopper calls most of your basic Rhino geometry and it’s perfect for playing with boolean operations.
Add two breps to the canvas and “plug them in” to the breps A and B ports on the left side of the solid intersection component by clicking and dragging from the white half-circle on the right side of the brep to the white half circle on the left side of the intersection component.
Step Four: Link Geometry from Rhino
Link your geometry from Rhino to the components in Grasshopper. I am using two overlapping boxes in Rhino but this should work with any shape (as long as they are overlapping, for the intersection command). Select one of your boxes and then right click on the first brep and select “set one brep”. This should automatically link the selected geometry to that brep component. Then, select the other box in Rhino and right click on the other brep in Grasshopper and set that brep.
Step Five: Play!
Now is the fun part! You can play around with your shapes in Rhino until you’ve found a geometry you want to save. This makes it really easy to work iteratively and test out a lot of ideas really quickly. While we could do a boolean intersection like this in Rhino without using Grasshopper, we wouldn’t have the flexibility of making so many iterations so quickly.
For this step, you want to make sure your Rhino view is set to WIREFRAME and you clicked the red icon on the upper left of Grasshopper, and that the final component in your train is selected. This will make your input geometry red and your Grasshopper result green! Now you can move the input shapes around in Rhino to see how that changes the output.
Step Six: Bake
Once you have found a result you like, the final step is to “bake” the geometry, which is like exporting it back into Rhino. Simply right click on the Solid Intersection component and select “bake.”
Now your final geometry is in Rhino and it will be saved in your Rhino file after you close Grasshopper.
Additional Boolean Operations
If you want to do even more with basic boolean operations, try out this simple Solid Difference operation:
Want more of a challenge? Check out this Solid Union operation that calculates the percent by volume of the result as compared to the original bounding box:
This operation unions two shapes, intersects them with a bounding box, and then calculates the volume percentage (as a decimal, so this example would be 19%.
If walls could dream… they’d dream of playing with Grasshopper all day!