algorithmic modeling for Rhino
Hi Andrei and everyone else,
I'm looking for a way of taking an open polysurface with planar faces (which can easily be converted to a mesh to use in Ivy), unrolling it (which Ivy does perfectly), but then building additional geometry on the unfolded surfaces, and then rerolling the whole lot back to its original shape, taking the new geometry with it. Since the folded mesh is represented as a directed graph, it seems like it should be possible to reverse the set of transformations encoded in the graph, to re-roll the unroll. what would be needed is a way to assign any new geometry to one of the unrolled faces, so that when the unroll transformation is reversed, it goes along with the base geometry.
Do you have any ideas how this might be done? I've been trying to work with the standard rhino/gh unrollsrf, but this doesnt preserve the origins or vertex/edge/face ordering of the original surface, so is not very helpful.
The refolding with additional geometry is not supported in Ivy atm.
However is a very interesting idea. Theoretically it can be done, but one must take into account the geometry transformations that happen after unfolding too. It is just a matter of reversing those transformations back into the 3d object.
If you are looking just at final states (no animation of the process) then it should be even easier. It could be done with a plane to plane transformation for each face from the unfolded to the folded state.
You would just need a clear face plane to face plane correspondence to be outputted from the unfold.
This is not happening right now in Ivy. I'll look into it as soon as I will have some time.
(might not be too soon. sorry)
Thanks for responding. Some background to the problem - I'm an architect, and one of the problems I often come across is laying out complex ceiling geometry for a multi-planar complex ceiling. I've written various grasshopper patches to help me with this - unfolding the base geometry, building 3D elements (typically beams, rails and cladding panels) on the unfolded geometry, then refolding everything. The refolding step I'm doing by hand at the moment, as I've been unable to automate this process. As you say - face plane to face place correspondence is the issue. There is a 1:1 correspondence - there is no distortion of the planes. However, the standard unrollsrf type function messes up the vertex/edge order and shifts the origin of each surface. So something like Ivy looks like the best option.
This is something that comes up in my work regularly, so even if there is a wait for a solution, I don't mind. If you do solve it, then you may well have a new group of users interested in Ivy. I'm also happy to help with the development if needed (I was a software engineer before I became an architect).