In reality for most problems you never find the right example you need. Either that use-case does not exist, is not worth to mentioned or is lost in the ocean of information.
As a developer it is impossible to foresee the usage of the interface you create.
Asking good and precise questions to the right audience (or tool) is one option. But even with that you might not succeed.
The only true solution is to learn reading programming interfaces. That of course requires you to understand programming in first place. Which partially defeats the purpose of Grasshopper. So its a chicken-egg problem. And on top of that you likely need certain advanced knowledge in math and modeling.
The key to success is a lot of patience, having fun and the will to learn things a level deeper. You will be rewarded with powerful skills which are more fundamental as you might think. So its worth the effort. Most of those people who master GH have started at times were everything was even worse. Its all about motivation, not documentation
I’ve only read one of the tutorials so far. Skimmed a couple others. It checks every box: It’s recent; very recent in fact, which answered the “where has this been all my life” question. It’s written format. Key concepts in every tutorial.
“This should”… is really the wrong mindset. Get above this thinking. Any software comes with tons of imperfections, which clearly should not be in there. You can’t disagree to this, but it is not going to help you at all because you get the feeling of “wasting your time” because of the “stupidity” of others.
Some people quit early because of having a feeling that this tool is just not well made or because they expect must faster progress. But its a subjective view. Endurance is so important.
The tutorials on this page you mentioned are great for beginners. They do a great job in slowly and precisely introducing you to this app. But they also lie on you in terms of what to achieve in which time. They claim to make you a pro in 2 weeks if you go for their paid courses. I’m not discouraging you in taking their offer, I’m just warning you to expect too fast progress.
The biggest hurdle will come when you try to solve real world problems, and a realistic timeframe to master a tool of this kind is rather measured in years than month or weeks
I don’t know if someone has already mentioned the ParametricCamp tutorial playlists in this thread or linked ones, but in any case:
For example starting with Grasshopper and following along the Introduction to Parametric Modeling. And then once confident enough with Grasshopper you can follow the Advanced Development in Grasshopper. If you don’t know C#, there’s a playlist for that too (not to mention all the other awesome internet material about programming languages).
Really great stuff, and if you only spend the 10-15 minutes on a regular basis on each video and do the exercises yourself as you go, you will improve in Grasshopper and computational geometry and so on. The more you delve into it, the better you get. Someone might say: “I don’t have the time to watch hours of videos, I have other stuff to do”. Well, you can go in little segments that suit your resources and take baby steps.
It’s not so much a search issue but rather not knowing that the “volume” component also included the centroid. Given there’s a 2D centroid I expected a 3D one. If not that maybe a component that spat out all the properties of the closed brep (including volume), which would be more similar to using an object-oriented program Some components do that. I later ran into an issue when dealing with a point cloud (and input) but luckily solved that with Google. I guess in short my issue is/was that I just don’t intrinsically know where stuff is. Thus far I’m finding I’m a little more memory dependent compared to object-orientated programming.
I somewhat disagree: Something that takes me seconds even as a newb in object orientated programming shouldn’t take that much time. Although the more someone uses Grasshopper the less time there’re going to spend looking for that one component, or in this case property.
Never said anything along these lines. Not even close.
There’s 5 pages of free tutorials on varying subjects. It looks like 9 tutorials per page. Although each individual tutorial is fairly “basic”… actually maybe a better term would be that each tutorial focuses on a single fundamental skill. Using multiple tutorials, a person could build a GH script of something fairly complex. More importantly, they would be able to use each skill to build something unique or to solve their own individual problem. Much of the other stuff available is focused on a single unique problem, often rehearsed to make the demo look “cooler”, but not really useable as soon as the context changes (in the case of YouTube, if the tutorial isn’t fun to watch, it won’t get views… so not necessarily the author’s fault). I’ll take the former any day of the week.
I don’t think they give any excessively bold marketing claims. They provide very good free tutorials (if they suit your learning style). The course is named the “Pro” course but that more implies that it’s “Pro” relative to their scale (probably compared to the free stuff available). It’s not like they’re saying “You’ll be earning $200,000 USD as a parametric designer in two weeks”. I’m not seeing anything wrong there.
Maybe the tone is lost because I’m not an native English speaker… but sounds like you quoted my statements and completely changed the meaning of what I have said.
The point of the statement regarding the mindset is, that you judge about how easy or how difficult things should be. And all I’m saying is that this is not going to help you (and that you can’t really do this yet).
And no you haven’t said it explicitly, but your mindset is all about finger-pointing to developer and those people who write documentation and (official) tutorials. Probably you are not aware of this, but its not going to help to judge about how hard it is to jump into Grasshopper, because you’ll develop a negative attitude and very often people get the feeling of wasting time. I have been to this point multiple times during my digital career myself. It certainly helps if you have no choice. Just take everything as it is. Don’t get me wrong, but thinking that things should be easier, is a form of (inner) arrogance.
Well and regarding that page, I was not saying anything bad about them, but somewhere on the page they sell you with phrase like, that by average people need two weeks to complete their pro course. On the same page they claim that this makes you an advanced user. No, when you are still at the point of learning how to rebuild script templates, you are not so much learning about the why. And as I said, when you are at the point to solve problems in your daily work with Grasshopper, you will need the ability to create your own definitions. Other than that, this also involves to understand more than the GUI.
E.g. it is not so much a matter of the GUI to explain you how you panel a surface. See that is rather a geometrical problem. So you need to know how you would model that in the first place and you also need to understand how to translate your manual input in a numeric form. Sure you can copy and paste snippets, but the given example script does not always work for you in your particular case. How you transform geometry is a math problem and how you work with graphs(=trees) is a programming problem. If you have a solid basis in those fields, Grasshopper can really be easy to work with. But often this knowledge is what is really missing.
I used your exact quote: “wasting your time” because of the “stupidity” of others.”. I never even said anything remotely close to referring to anyone as “stupid”. You’ve also repeated similar things in your latest post.
I think this is where you’ve went wrong. Perhaps my Grasshopper skills are at about the same level as your ‘assumption’ skills.
If a person perceives something to be a flaw or shortcoming in Grasshopper, and they share it here, a couple things can happen: 1) Someone else might share a solution/workaround. And 2) It’s brought to people’s attention and might be improved if it’s deemed a big enough issue.
Regarding the documentation: If you create something amazing, but there’s either no, or poor, user documentation, the utility that someone can gain from it is greatly reduced. Good documentation is very important. It’s not easy to find the “best” documentation for GH. Lots of useful stuff was shared here; so much so it would have been nearly impossible to find on one’s own. Lots of the documentation is over 10 years old, and although good, it could be even better if someone put the time in. I don’t expect that especially given GH2 is on the horizon, and most the people who could create it are too busy with other stuff. What we have is good enough it was just hard to find.
I daily deal with much worse documented code. My believe is that you are on your own in this world. It doesn’t matter how right you are about improving documentation.
Even if David is liking your post, he “fails” to improve it in more than 15 years. I mean we discuss this topic on a tool which is meant to be succeeded and is out of active development for a long time. We have waited for GH2 to take over for 5 years.
I’m talking just about a mindset in how to become independent and take things as they are and not to wait things to “be fixed”. If you disagree it’s ok. Maybe I’m on the wrong path…
Btw if I put something in quotes it means that you should not take too literally.
And one more thing, yes it is totally right to report flaws, but the tone of this whole thread is a bit too critical in my opinion
AI can find specific answers quite quickly, ask Gemini.Google.com
How do I find the centroid of a 3d object in Grasshopper? How do I connect a point or curve in Rhino to a curve component in Grasshopper? How do I create a point in Grasshopper?
Example: What does graft do in Grasshopper?
10 seconds later…
In Grasshopper, the Graft component plays a crucial role in manipulating data structures. It essentially takes a data tree and replicates its branches, creating a new branch for every single item within the original tree.
Here’s a breakdown of how Graft works:
Imagine a Data Tree:
Think of a data tree as a collection of information organized hierarchically. It’s like an upside-down tree with branches and leaves. The branches represent different levels of detail, and the leaves hold the actual data values.
What Graft Does:
Splits Branches into Individual Items: When you feed a data tree into the Graft component, it takes each item within the tree and promotes it to its own individual branch. This essentially flattens one level of the hierarchy.
Creates New Branches: For each item in the original tree, Graft creates a new branch at the same level. This means the overall structure becomes wider, with more branches at the same level.
Example:
Let’s say you have a data tree with two main branches (A and B). Each branch contains three numbers (1, 2, 3).
Before Graft:
Branch A: 1, 2, 3
Branch B: 1, 2, 3
After Graft:
1 (individual branch)
2 (individual branch)
3 (individual branch)
1 (individual branch)
2 (individual branch)
3 (individual branch)
Why Use Graft?
Grafting is useful in various Grasshopper workflows, such as:
Working with Multiple Data Points: If you have multiple data points you want to apply an operation to individually, Graft can prepare your data for this.
Connecting to Components with Single Inputs: Some Grasshopper components only accept a single data item as input. Grafting allows you to connect a data tree with multiple items to such components by essentially breaking it down into individual branches.
Creating Arrays: Grafted data can be used to create arrays for further operations within Grasshopper.
Important Note:
Grafting only affects the data structure, not the data itself. The values within the data tree remain the same, but their organization changes.
I hope this explanation clarifies the function of Graft in Grasshopper!
I can’t discuss of how a great achievements are being done with AIs … but at the same time I am disgusted.
The same way huge assets of artworks were being used without copyright to “train” the AIs …
(imho, worse than piracy, where at least original author paternity is not removed, while with AIs original paternity IS removed, “washed” and the output sold “”“legally”“”)
… now it is obvious that this forum (and the older one) is being “scanned” and used by the AIs. Like everything else.
As it seems there is no interest or attempt to prevent this (I, for one, do not agree into having my posts used for AI training), my only “tool” is to give answers with pictures or leave most of the explanation inside of the .gh attachment.
Fewer words: f*** AIs!
As @bob.h.mackay said, and as we can see in other AIs outputs: sounds good, lots of elegant words, but noone is taking responsibility of the outcome.
Making pictures? Sad. Unoriginal. Deludent.
Newbies using it to “learn”? Ok. Whatever. Be ready to make big mistakes.
When some genius will use un-verified output/data/formula for something serious it will be too late to cry.
It’s not really wrong in the context. And search engines have been doing much the same thing for ages.
Whenever I search for something specific for Grasshopper I rarely get the result I need first, second, third try… If I’m programming in C# I tend to find answers very quickly using Google.
It feels like it’s one step beyond a search engine.
AIs as “next level” alternative to search engines is a very good idea!
But… give sources. Links.
Probably the best use for AIs today.
But what @gwm1010 posted is a whole “subjective” description of something.
A “clash” or “remix” of many different chunks of text that seemed about something related to the query.
Totally different.