- CodedShapes
- Posts
- A Curated Guide to Learning Grasshopper
A Curated Guide to Learning Grasshopper
Grasshopper is a visual programming tool that runs inside the Rhinoceros (a CAD program) environment. Since you are reading this, I can only assume you want to learn how to use Grasshopper or to get better at using it.
It can be challenging to learn Grasshopper especially if you aren't familiar with programming or other visual programming interfaces. But what you do get after overcoming this barrier is access to a tool that can help you solve almost any problem.
Even though there are plenty of learning resources out there, most of them don't teach you the long-term principles you need to use Grasshopper in any situation. What is mostly offered is just a guide through a list of Grasshopper's features, which I don't find very useful.
Instead of going through a list of features, I think it's more important to instil the long-term thinking and building blocks required for you to use Grasshopper in any situation and for you to read any Grasshopper script.
That's why I wrote this article. I wanted to share a rough starting point for anyone looking to learn Grasshopper. I will leave some advice and links to free and paid resources that I have personally used. I will also tackle the mindset of using Grasshopper in other articles and update this one accordingly.
Choosing a Path
Grasshopper has just about infinite use cases. Whether it's for structural optimization, environmental design, or even jewellery modelling, there seems to be no end to what this tool can do. While it's great to see so many possibilities, it can be overwhelming for new users.
This is also why I think the amount of learning resources out there can be overwhelming because each resource can be specific to each use case.
These options present themselves as the paradox of choice. The more choices you have, the harder it can be to start. To learn Grasshopper effectively, it's essential to ignore all the things you can do and focus on why you want to learn Grasshopper in the first place.
Are you a structural engineer looking to automate some work with Grasshopper's scripting ability? Or maybe you're a student who wants to get ahead of the class? Perhaps you're a 3D modeller who wants to add parametricism to your models.
Whatever your reason, focus on it because it will give you a good place and context to start learning. But if you can't choose or if you are at the intersection of many paths, don't worry about picking the "right" path. Any path will improve your Grasshopper skills in general, which is the goal.
Grasshopper is built as an all-round and multipurpose tool, it does not discriminate between "paths". Paths are just something I made up and its role is to provide you with the specificity and context to get you started.
In fact, the more advanced you become in Grasshopper, the more you will understand that "paths" do not matter and don't exist. You will have the right instinct and skills to do almost anything in Grasshopper.
Learning Grasshopper
Once you have chosen your reason for learning Grasshopper, how do you go about actually learning?
Here is a rough guideline that I would follow.
Start with getting familiar with the interface and how Grasshopper works.
This generally just means getting to know the interface and process of Grasshopper
It could also mean getting familiar with a few basic components, how data flows in Grasshopper as well as the component search in Grasshopper
Then extend your current knowledge with modelling exercises
Find modelling exercises with a clear result and try to replicate them without looking at the answer script
These modelling exercises may seem irrelevant but they can help hone your algorithmic thinking and improve your use of Grasshopper components
Then look for complicated models to reproduce. Ideally, ones that have to make you deal with a decent amount of data
This will train your understanding of Grasshopper's data structure. After understanding how components work, a lot of the skill in Grasshopper is being able to manipulate and use data.
At this point, you have a good idea of how Grasshopper works and you can really expand your knowledge any way you want. Here are a few suggestions
You can start exploring different plugins that extend Grasshopper's base functionality
If you are interested in programming, you can start making your own plugins or experiment with Grasshopper's script components.
There are also things that you can learn that will make you indirectly better at Grasshopper. Like getting better at algorithms, geometry processing, programming and even using Rhino commands
Curated Resources
Here is a list of curated resources with my comments and advice that may help you learn Grasshopper.
Grasshopper Tutorial Beginner (Easy) - YouTube
This gives you an overall understanding of Grasshopper's interface and basic data flow
01 Basics of Data Trees - YouTube
This is a Youtube playlist created by one of the developers of Grasshopper that teaches you how to manipulate and use data trees.
It helped me a lot after I understood the basics of Grasshopper
Introduction to Rhino - YouTube
This is the series that I followed when I first started learning Grasshopper
Sessions 1 - 5 are the ones that are worth the most, skip the rest if you are not interested.
Session 6 onwards is structural engineering focused, if you aren’t in that field, I would skip it.
Grasshopper Essential Training (Paid)
The Algorithmic Thinking Chapter summarises the mind shift that you need to work with Grasshopper
The Modelling a Musical Instrument Chapter is good for getting a feel of how to model in Grasshopper
The Tilling and Tessalation chapter will give you good experience wrangling data-trees
But I would skip the customisation chapter
Learning Algorithmic Design With Grasshopper (Paid)
It guides you through a long and somewhat complex project. Which helps you understand how to use Grasshopper beyond single scripts.
The course is quite long but it's worth it to learn how to manage a large-ish project in Grasshopper. You may not need to do this course if you plan on making your own Grasshopper project.
Final Thoughts
It's quite easy for me to talk about learning Grasshopper as a very straightforward path, but I know that I am biased because I already know how to use the program. Learning anything new is never easy but learning Grasshopper is one of the pivotal programs in my life because it opened a lot of doors for me.
That's why I am quite passionate about teaching people how to use Grasshopper and I hope that this article has given you a brought starting point to learning the program.
Thanks for reading and happy learning.