algorithmic modeling for Rhino

Salut Andrei,

Thanks for your sweet plug-in! Started to play around a bit and was wondering if Ivy is able to unroll the graph tree as well (instead of rebuilding it from the unrolled mesh)?


Views: 791

Replies to This Discussion

Hi Patrick. 

Yes for now the unrolled graphs are rebuilt on top of the flat mesh pieces.

I added the feature last minute and I didn't think it would be used for anything other than visualization.

Yes it makes more sense to fit parts of the original graph on the flat pieces.

The only problem is that the pieces of flat mesh have a different face count and every original face number (that is the node meshId) doesn't make sense on the new flat mesh piece. I will have to build a correspondence index to keep track of everything.

The meshgraph itself is abstract - non geometric so it does not need any unrolling.

Can you tell me the context where you need the original graph on the flat mesh pieces ? 

Anyway the change is on the list for the next release :).

Thanks for the input.  

Well, then nooby question: how do I retrieve the unrolled graph tree (as i.e. crv) in case I would like to reproduce Marc's latest cruise ship porn?

Could do that after unrolling with Element's Face Neighbors comp, which is kind of stupid since Ivy processes (and stores) this information. Any chance to get my hands on these little meshId's?

Ok. I think what you need is already outputted by the unroll comp. 

The last two outputs make new graphs both on the unrolled stuff and on the original geometry. (See image) This way you can keep tabs on what part goes where. But if you plug a visualize graph into them you will get curves (well polylines). There is a 1to1 correspondence between the unrolled points and the flat ones. The same holds for the curves.  

If you need the meshId for the graph you can use a decompose graph component. For the original geometry the meshId is the order you get the points in.  Just remember that for now the graph pieces you get by unrolling are not really pieces from the original meshGraph. So the meshIds for the nodes of the pieces will reference the unrolled mesh pieces not the original big mesh. This way you will have multiple nodes with meshId 5 for instance, whereas in the original meshgraph you will have only one face number 5 and thus just one node with meshId 5. Of Course if you manage to unroll the whole thing in just one piece you will have the same number of faces but still they would be arranged differently in the unrolled mesh. This has to do with the way the unroller works - It starts from the leaves (tips) of the tree and unrolls towards the root. 

Thanks Andrei! All makes sense now. I'll try to further develop some component logic on these mesh faces and map them from 3D graph tree to 2D keeping the respective node ID's. I'll bug you again in case I run into trouble with orient mapping issues. Big thankies so far.






  • Add Photos
  • View All


  • Add Videos
  • View All

© 2020   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service