Why create just one design when you can create infinitely many? Instead of designing a ring in just one size, you could use parametric design to control the ring size or the surface pattern, effectively creating many designs within one. Parameters also enable you to create algorithmic, generative designs with amazing complexity.
A good entry point to parametric design is OpenSCAD; you can read more about it in our previous article Tutorial Tuesday 4: Using OpenSCAD to Design With Code. When you’re ready to step into more complex, even organic-looking parametric design, then it’s time to look at Grasshopper. Grasshopper is a plug-in that comes standard with the powerful 3D modeling software Rhino.
To give Grasshopper a try, you must first download a free trial of Rhino for Windows, or download the Work in Progress version of Rhino for Mac. Start up Rhino and type “grasshopper” into the Rhino command line; Grasshopper will open in a window that overlays your Rhino workspace. Creating designs in Grasshopper involves placing visual code elements and connecting them with input/output “wires.” The resulting forms can be modified with parametric sliders and then ultimately “baked” into Rhino when you find a desirable set of parameters.
It looks complicated, but it isn’t as hard as it seems; once you get the hang of it, it is easier than writing text-based code. Here’s what a typical Grasshopper design-in-progress might look like:
Getting Started with Grasshopper
For first steps, follow through the Grasshopper Getting Started videos by David Rutten. These videos will walk you through creating your first Grasshopper definition, working with sliders, and using the interface effectively.
Once you understand the basics of interacting with Grasshopper, move on to Mode Lab’s fantastic Grasshopper Primer. This primer is a printable online resource that can be used as the basis of a short but powerful first course on Grasshopper. This foundations course covers not only the basics but also more advanced key topics such as data trees, algorithms, and mesh geometry.
For more advanced tips, walthroughs, and examples, head back to the main Grasshopper site to check out their list of video tutorials:
And finally, you can order a printed reference for Grasshopper: Dave Bachman‘s excellent new book Grasshopper: Visual Scripting for Rhinoceros 3D. The first half of this book is a thorough introduction to Grasshopper, including very detailed breakdowns of Grasshopper scripts for key example designs. The second half is an extensive Component Reference, which is handy to flip through to get new ideas or a birds-eye view of available options.
A simple Grasshopper design
This bracelet was designed by sketching out the Witness path shape on a flat plane, extruding around that sketch with a tube, then wrapping the resulting form around an elliptical cylinder whose dimensions are determined by parameters that represent wrist width and height. The Grasshopper code for those actions is the mysterious mess of wiring shown below:
Of course, we could have created this simple bracelet in a much simpler, nonparametric way, but using Grasshopper enables us to move sliders to control wrist size measurements, path definition, and other features. This means that the Grasshopper code can create millions of variations on our design, and we decided to print one of them.
Designers who leverage the power of parametric design don’t create just one model at a time, they create whole families of models with adjustable parameters. For example, consider the stunning Clothoid.A Lamp by Alienology, one beautiful form chosen from a huge array of possible designs created with parametric lofted splines:
Using the same Grasshopper code and modifying certain parameters, Alienology also created this very different Clothoid.B Lamp:
As another example, consider the work done by Responsive Design Studio in Germany. Using Grasshopper, they created a parametric ring design that can be customized to finger size, width, pattern, and other preferences.
Have you been creating parametric designs with Grasshopper or other modeling software? Tell us about it in the comments for a chance to be featured in future Tutorial Tuesday posts.
Or, if you’ve got questions about Grasshopper, leave a comment so that someone in the Shapeways community can help you get started.