I am a grasshopper self-study. Most of the learning channels are from online videos. At first I didn’t think there was anything wrong, but now I think the problem is very big! My concept is really a mess, a lot of knowledge is fragments + fragments, I would like to ask, is there any book that grasshopper can recommend?
I personally think tutorials or GH books don’t help you very much solving your current problem, except understanding Data Management. The rest is really more about understanding the math, the algorithms and modelling. You can even skip Data Management if you start Scripting from very early on. This will make 1/3rd of all components redundant. Learn about the basics of math and buy a book explaining more about how to move in space, geometrics and algrebra in general:
Simply go through all tabs and test what each component does.
Furthermore practice modelling. If you don’t understand its basics and principles you have no chance at all.
Solve real world problems and not utopic pseudo science.
Start programming asap, a lot of limitations can be passed by, by using direct skripting. Learn on how to read an SDK Documentation and how to read the Rhinocommon Api.
Make yourself clear that Grasshopper is Visual Programming. To know how to code, doesn’t help you, if you have no ideas what to do with that knowledge.
You pointed out my current predicament, and your reply helped me a lot, thanks.
AAD by Arturo Tedeschi.
To follow up on @TomTom‘s reply here you go. It’s free!
Essential Mathematics for Computational Design (4th Edition)
Oh an this page is all you will ever need:
Can you recommend which program to start scripting in and also maybe a link to a good place to start using that for GH? I’ve been doing 3D CAD for 20+ years, so get modeling, recently thinking alot about whether I should start studying c# or python or go or what, to start scripting. I also do 3D printing and am interested in robotics, one of my clients uses python to run the systems I design the mechanics for. Any recommendation on which and where script language may be best to start with relative to GH? I’m really focusing on GH for a month now, really getting productive, but zero scripting yet.
I would pick C# or both! Although its true that starting programming with Python is a bit easier, I personally believe in the RH/GH environment C# is the better choice on a longer term. The documentation is better and you target C# and C++ functionality anyway. C# is a bit more difficult because its strongly typed, meaning you have to define the type of variables, making it harder to read but also highlights potential errors before executing the script. However both languages are used in older versions, making it difficult to work with modern tutorials, with IronPython its the ancient 2.7 syntax, and C# also runs on older version, although C# doesn‘t have any breaking changes, just missing language features. Yeah its not optimal for beginners, also the script editors are pretty bad. Visual Studio is one of the best IDE‘s out there, and its used to create plugins. But its not very well for fast scripting and learning GH. Its also overwhelming at first. So there are two ways to begin: A) write very basics scripts in GH and get used to the bad editor or B.) start to building simple and non-Rhino related apps, just to learn the language.Also learn how to debug and how to read Api docs. Maybe buying a good book on programming is mandatory, because you cannot trust online tutorials. There are so many bad programmers out there, usually you recognize them by writing more then 500 lines of code within one code file or by the absence of documentation. They also call them self experts and usually are very self confident, but a good programmer always self reflects himself very critical. As always this is subjective, so the best is to try both and see what works better for yourself. Just start and don‘t get frustrated if you not proceed fast. It takes time, just as dealing with Nurbs
The C# Scripting and Plugin Development videos series by Long Nguyen are likely your best bet:
It’s important to note that the Python version in Rhino is IronPython (i.e. it is written in C#). As such, I’d agree that starting with one over the other probably doesn’t matter much initially (unless you’re specifically going for writing compiled plugins, then start with C#). What’s more pertinent is getting to grips with the RhinoCommon API, which you will be implementing independent of the language you start with (i.e. you’ll be implementing the same geometry classes etc.).
I’d advice giving both languages a go using the scripting components in Grasshopper. Try to implement the same algorithms in both, and see what feels right to you. Programming languages are really -specific.
But also, ultimately, in day-to-day practice, you’ll likely need to use both statically/strongly typed languages (like C#) and dynamic typed languages (like Python). As they both excel at different things.