Grasshopper

algorithmic modeling for Rhino

Data matching, tree manipulation, branch management. As I progress in proficiency with GH, these are the issues that continually hang me up...And I actually feel like I understand these concepts fairly well.  

In MHO the item that would benefit GH the most from further development is:

 

A way to analyse which lists items match with another list.  I currently use various combination of 'flip matrix', 'shift' , 'item list', 'simplify', 'graft', 'flatten', and 'path mapper' in my work flow to get a single branches to match up, then after getting a single branch to work,  I then must reconfigure to revert to the entire multi branch lists so they now match up in the larger  newly shifted list.... This is sooo laborious.  There has got to be a better way... or could another set of components be developed to simplify this involved process.

 

I would give my left mouse click finger if I could click on an element in Rhino and get its tree position... or, for maybe my right pinky finger, have a way to have a bake option called "bake with tree information".  This idea is based on the tree information remaining with an element after baking and accessible in rhino, where you could click on an element in rhino (after baking) and query which component it came from and what its tree address was.  I am just brainstorming here but I hope you get the idea.

 

Perhaps my favorite idea is to have a short cut to be able select a specific branch or specific list items within any list and have it highlight it in rhino in a gradation of color (indicating which end of the list or branch it is on.  This would help short cut the analysis process for data matching. What would be even cooler is to get a graphic representation of what is pairing up between two separate lists during a particular operation in rhino.  Just dreaming...

 

I know this is asking a lot, however, these issues seem to be the at the core of my daily challenges with GH.  Once the lists are manipulated, the rest is easy ; )

 

Thanks for considering.

Stan Carroll

 

Views: 578

Replies to This Discussion

Hi Stan

have a way to have a bake option called "bake with tree information"

In the next release I have gleaned from this forum that there is such a component. Although not indented for this purpose the GeoCache component will bake items with there Tree address in the name. Its intended purpose is to free up processing by baking items into rhino severing the input link to it so you can disable components upstream and it will then read back into GH the baked items. This allows you to edit them in Rhino if you want between GH processes as well.

http://www.grasshopper3d.com/forum/topics/wishsuggestion-bakerefere...

 

With regards to viewing an item in Rhino you can use the Tree Item component to select any item and pass it to a Preview Component

I put the information in the UserText, not the object name. I figured it was still accessible there while being a bit more out of harms way (read: you can't screw it up if you don't know what you're doing).

 

Stan; I'm a bit too inebriated right now to fully understand what you're asking for. I'll have to return to it when the fumes dissipate sufficiently.

 

--

David Rutten

david@mcneel.com

Poprad, Slovakia

Thanks David,

 

Will you be there for a while?  I need to come by and take up a collection so I can settle a debt...Have another round... on me.

 

Stan

Dang Danny you made that look too easy.  Your use of interesting components reminds me of the many components that I have yet to explore.  I should have asked that question months ago.

 

Thank you soooo much.

 

Stan

Firstly, with regard to your primary question, the attached definition called 'Bake with Paths' will bake geometry with its data path as its object name, and then allow you to load those objects back in with the names translated back into paths. It seems to be fairly similar to the way David's upcoming Geometry Cache that Danny mentioned will function. 

 

Now I just have to figure out what to do with your right pinky!

 

Secondly, in working with trees in general, I have come up with a number of clusters of my own that simplify frequent tasks. In particular many of them are designed to eliminate the use of the Path Mapper, which I find to be a clumsy tool because it has to be updated every time there is a change in the tree structure fed into it.

 

Maybe you will find some of them useful. I have attached them all in the definition called "Andrew's Tree Utilities"...

 

1. Match Path - Given two sets of data with N total items, assign the path structure from one list to the other. 

2. Assign Paths - Given a flat set of data and a flat list of paths, format the data items into the specified tree structure.

3. Partial Flatten - Equivalent to a Path Mapper from {A;B;C;D} to {A;B;C}, except it takes an integer value for the number of "levels" to eliminate, and works regardless of the input structure. (i.e. could be {A;B;C} or {0;0;0;A;0;0;B;0;C}

4. Flatten one level - same as above, but defaults to a single level of flattening. I use this one in almost every definition I make. 

5. Clip Tree - this reduces a "jagged" set of paths ({0;0} and {0;0;0} and {0;1} etc.), such as are produced by many of the intersection components (the intersections that exist get another level of hierarchy where the nulls remain in the original tree structure) to the overlap among the paths. Equivalent to Path Mapping {A;B}->{A;B} and {A;B;C}->{A;B} but works regardless of the input structure. 

 

 

 

Attachments:

Wow Andrew!!! 

That is exactly what the Doctor ordered.  Thank you for sharing your efforts. I really appreciate being able to try these... can't wait.  I am a little squeamish about blood. Did I mention that when I send the pinky, it will have a grown man attached to it?

 

However, if you prefer a severed pinky, I could probably swing by David's place and make that happen as well; considering Davids condition at the moment.

 

Stan

Now before you go cutting off any of David's extremities... I actually have an alternative idea.... I'm working right now in the realm of digital metal fabrication and I'd love to pick your brain about a few things! Send me an email if you're up to chat a bit. Andrew @ Heumann . com

RSS

About

Translate

Search

Photos

  • Add Photos
  • View All

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service