generative modeling for Rhino
I am having difficulty figuring out a way to unroll a mesh to the xy plane. The only way I have come up with is by re-orienting each individual mesh face to the xy plane then rotating to achieve coincident edges. One mesh face at a time possibly with a loop via hoopsnake. In case you know of Pepakura, a software who's sole function is to unroll a mesh, would be a great addition to grasshopper. The mesh I am trying to unroll only has 60 faces so I am not trying asking for a way to unroll a large mesh with hundreds or thousands. Does anyone know of a better way to do that within grasshopper?
I am not asking for anyone to build a definition for me. If someone could just offer a very rough pseudo code strategy. Thanks!
This pair of scripts might be of some use. One converts a mesh to a BRep and the other takes advantage of the built-in Unroller class.
If you wanted to code it up from scratch, you might take a look at this: http://www.grasshopper3d.com/profiles/blogs/unfolding-with-compound
to see how I'm using compound transforms to unroll strips of surfaces to flat.
here's the file
Thank you so much Andrew. I am happy someone has solved this before. I will dig into the files you offered. I can't wait.
Your definitions worked perfectly. What a nicely written piece of work. I really appreciate you generosity.
I am trying to use this file with GH version 9.0012 and it's not working.
My problem is to unroll a number of surfaces created as loft between two closed polylines.
You could also maybe try using the 'Shell and plate' example from this page. It can be used to unroll a 3d mesh to a 2d one.
If the rest-angle between all adjacent faces is reduced to zero, then they will unfold, while edge springs can be used to keep the lengths and areas fixed. Having a floor to flatten it onto and some gravity also helps.
This should work provided your mesh is open. If it was closed or had handles, then you'd have to find some way of choosing seams to split it along.
Thank you Daniel. Its interesting to hear you talk about using a floor to flatten a mesh with gravity. That sounds so common sensical. I like how intuitive virtual physics can be applied to a more theoretical geometric idea of flattening a mesh. I have not yet started to play with kangaroo, it has been a little daunting to view from afar...Not knowing just were to start. This sounds like this might be a great place to start exploring Kangaroo.