A curated guide to learning grasshopper

On this Page

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.

A Modular Grasshopper Course

Most tutorials and courses just showcase what Grasshopper can do without actually teaching you the core principles that allow you to master it. You need to understand things like algorithmic thinking and data tree manipulation to truly become an expert.

On top of that, most learning materials don't cater to the different use cases of people. If you're an engineer, your learning path is different than a 3D modeler or an architect, even if the goal is to master Grasshopper.

That's why I want to build an online course that offers a modular system beyond the basics. One that caters to your learning path. I want to teach you the skills you need to become an expert in your field, regardless of your field.

But before I invest the time and effort into building this course, I need to know if there's enough interest. If this sounds like something you want, sign up below!

If I get enough people signing up, I'll create the course and even offer a discount to those who sign up early as a thank you for believing in me.

    We won't send you spam. Unsubscribe at any time.

    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.

    1. Start with getting familiar with the interface and how Grasshopper works.
      • This could mean watching some Youtube videos or an online course about how Grasshopper works
      • It could mean getting familiar with a few basic components, how data flows in Grasshopper and how to search for components in Grasshopper
    2. 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 although mundane can help hone your algorithmic thinking and improve your use of Grasshopper components
    3. 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.
    4. 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 know or are interested in programming, you can make your own plugins or dabble with Grasshopper's script components.
    5. 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
    • Session 01 | Introduction to Rhino - YouTube
      • This is the series that I followed alongside when I was learning Grasshopper.
      • I would not recommend watching all of it unless you have a lot of time to kill. The ones that are worth watching are Sessions 1 - 5
      • Session 6 onwards is very structural engineering, Karamba and Kangaroo focused which, if you don't have a need for it, there is no point in watching them.
    • 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
      • The course also has a small chapter on customisation but I don't think I would watch that
    • Learning Algorithmic Design With Grasshopper (Paid)
      • This course is good because it brings you along for a long and complex project. Which will help you understand how Grasshopper is used beyond single scripts.
        • It's long but I think it's worth it for scripting skills, may not be needed if you plan on doing a long Grasshopper project on their own

    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.