generative modeling for Rhino
So I just finished my first course in grasshopper so I wanted to make two suggestions that would really help beginners find components they are looking for (when they don't know what exists or what the options are).
1) I wish there were better search features included in the double-left-click "enter a search keyword" option, which only brings up icons/components by name in relation to what's typed but doesn't help users understand what that icon's/component's function is. I wish every keyword in the full text that is already included as each component's function description (which appears when you hover over it with the mouse, below the component name) were included in the search keywords, not just the name of the component. That would amount to searching by the function needed, not just by the name of a component (which might not help someone who has never heard of the component to know its function).
example/rephrased: if I double-left-click and type "create a point" the components that appear under "create" in the list are "create set" (or "create material", "create branch" or "create complex", but no point). To get the "create a point" component, you have to know to type "point" but then you also have to check out every point component by inserting it and hovering over it to see if one of them creates a point. However, the "Point XYZ" component's description when i hover over it says "Create a point from xyz coordinates". I wish the description text for every component was part of the searchable content, so that de facto that component would appear as an option in the list when i type "create a point."
2) All along I wished there were an online index/dictionary for all grasshopper components, downloadable and searchable, that could be organized and searchable in order by user preference, including component name, component function (both general categories like "verb" - see below - as well as its specific function) and finally with a brief description/definition of what the component is good for. I imagine categories like "verbs" (someone learning a foreign language the first time gets a list of major verbs) where all the "action functions" like graft, flatten, extrude, etc. are viewable in a single list. This way when i want to make something happen, but don't know what component to choose, i have a way to read about what's possible without going through the 250+ pages of the manual (which isn't a searchable pdf when downloaded, from what i see, and doesn't have an index).
The double-click search does look in the description as well. Here's the search order it adheres to:
The percentages indicate what importance is given to a hit. When you search for "Point", then all the components that have "Point" in the name will be considered 100 times as important than the ones with "Point" in the description.
Furthermore, weighting is only a relative factor. Exact matches are valued more than poor matches and fuzzy matches (misspellings) are valued least of all. Eventually all the search results are sorted by importance and the 12 most important results are displayed.
The main problem is not I think writing a smarter searcher (although there is definitely room for improvement). The main problem is that words like "Point" and "Create" are so ubiquitous that you'll ever only get the most obvious results. Perhaps a secondary 'deep-search' UI makes sense as well, something that can display more than 12 results and is aimed at those who don't have a full grasp of the component set. This needs some thought and any ideas are welcome.
I fully concur that an online resource of all standard components would be a great thing to have. As I hinted before, I'm planning to rewrite the help-system from the ground up and this would be an excellent time to also have a look at generating online data. This is a really big job though so it won't happen any time soon. Two people (to my knowledge) have tried to generate web-based content from the help files, and have gotten pretty far, however the information I supply is too sketchy to make anything really decent.
The only thing I've ever missed is that fact that when I use the search feature and find a component, I have no way of knowing where it is located in the menu area. I've often spent several minutes trying to find where something is located in the menus. David, I imagine that a component's location could be included in the help section for that component (i.e. in the help for the "Average" component" it might say at the top "Math>Util"). I say this as a novice who likes to access things in multiple ways and who enjoys understanding the layout of a program.
On the other hand, I wouldn't ask this at the expense of all the kick-ass GUI features you add with each new release. I guess I'm just suggesting this incase you ever have a bored intern... :-)
You're aware of the Ctrl+Alt+Click right? It highlights the tab and location of any component on the canvas you clicked on, only catch is it has to actually be present on the Tab, otherwise it won't show. I still need to make it better so it will also highlight on dropdowns.
whoah, anyway to expose this more to the user?
glad I saw this, now I just have to remember it!
If there were a help-file for GH that's where you'd find it, but since there isn't, forum posts like this are your best source of information.
Also if you press Ctrl+Shift+Alt then it will save an image of the icon markers.
Thanks for the tips, David!
Is there anywhere I can find out all the shortcuts like this? Documented anywhere? or can I potential change/customize it? I guess these short cuts are always helpful if I can remember all of them. Thanks! :-)