Grasshopper

algorithmic modeling for Rhino

Wanted to share some thoughts on GH previews.

Once a definition is heavier than 100 or so components it's becoming increasingly difficult to go back and find specific steps you created that you want to re-evaluate. I try to help myself with GH groups. If I don't need to see dependencies on my most recently created geometry (at the end of the definition), I can just select all components I don't want to see and deactivate them. This is rare though. I will usually need to see a specific surface or curve just for a short moment as I modify sliders to double-check how everything works together, and if perhaps I need to modify.

I know the option to "only draw preview of selected component", yet it is rarely useful because you always need to see other geometry as well that depens on the selected component.

GH seems to have some kind of hierarchy which components preview is shown on top of the other. This can create a great amount of confusion because you effectively highlight something but nothing green shows up in Rhino until you have un-previewed 10+ components elsewhere in your definition that sit "on top" of your desired component.

Thus: It'd be nice if selecting a component will ALWAYS show its green preview. I would also like to test how mouse-hovering over component = green preview would work.

Moreover, finding the component you want to see and disabling all others that hide it is one thing, the next is the different preview modes. I'm not talking about wireframe or shaded mode, I mean stuff like the "Dash" component. Essentially it's just a different kind of preview. I really like it. It's fantastic to use on guide curves that represent boundaries of your surfaces. It's just a bit laborious to always put up a new dash component for every curve, and edit their lengths and gutters, etc. So you will find yourself feeding multiple inputs into one Dash component. This becomes very confusing once your definition has become larger, and several wires are crossing all over it just to go into that one Dash component. Hiding or fainting the wires doesn't really help either, because I still need to be able to see which has been assigned with this special type of preview.

So a second suggestion: Allow assigning previews on the component itself, rather than using an external one. Simply indicate the preview type with an icon, similar to how graft, simplify, and so on, are indicated.Then with this info: have a library of components being previewed with attributes in what "mode" their previewed: wireframe, shaded, dashed, etc, ...even "preview=off". Allow to group them at hand of their preview. Again, I would be curious to see how mouse-hover = highlight component in green works. Double-click could jump you to the component on the RH canvas, just like GH's "saved views" work right now.

Views: 2268

Replies to This Discussion

I recently posted a similar discussion and recieved some interesting solutions to the issues you've raised:

 

http://www.grasshopper3d.com/forum/topics/flow-control-that-is-doin...

 

See what you think.

Thanks, that topic does look interesting. I'll have a read.

Hi Duncan,

I've had some ideas about this as well. At the moment it's certainly very cumbersome to control the preview of individual geometry. Here's a sketch of what I have in mind for GH2:

Instead of having a boatload of display settings in the menu of each component/parameter, you can attach leech-like objects to components. These leeches also have wires so can inherit data from each other. Each type of leech would change something about the component it is attached to. This might be the preview colour, or the preview width, or preview display mode (wireframe/shaded/etc.) or it may have nothing to do with previews at all. Maybe it specifies a certain automatic-baking behaviour or perhaps it attached a certain sound to objects so that when you navigate around the Rhino viewports you can hear your model around you*.

It is going to be somewhat more work to assign a leech to an object rather than just picking a menu-item, but I think there are also significant benefits;

  1. There can be dozens to hundreds different type of leeches, putting them all in the menu would be silly.
  2. It's easier for 3rd party developers to add functionality this way.
  3. It won't interfere with beginners, it'll be an expert user feature that can be hidden from the superficial interface.
  4. It's easy to copy or move a property from one component to another.
  5. Since leeches can be connected, it's easy to modify a large number of leeches by changing a source object.
  6. Leeches can inherit their data from Grasshopper variables, thus exposing these properties to computation (though how that would work with multiple values is not entirely clear to me yet).
  7. It's immediately obvious which components have special settings.

--

David Rutten

david@mcneel.com

Tirol, Austria

* I'm just making ridiculous sh*t up here to illustrate the versatility of this appoach.

David, thanks for replying. Always good to hear from you.

To be honest though, how is adding leeches to components any different than adding display components (such as "Dash")? It seems the logic behind it is the same. As of now, the only advantage that stands out to me in the screen is that display properties are directly indicated and not external, which is great. I do not see yet though how this would mean an improved and quicker management of the different types of previews you want.

It should be quicker to set up and it should make the file less messy. You won't have to disable the preview for the actual component and you can override specific properties only (like dash-pattern or curve width) without having to fully specify a new display mode.

It can also be much easier to quickly assign and remove leeches as one could assign shortcut keys.

--

David Rutten

david@mcneel.com

Tirol, Austria

RSS

About

Translate

Search

Videos

  • Add Videos
  • View All

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service