algorithmic modeling for Rhino

Hi Grasshoppers,

I'm trying to optimise my unfold script (attached) for some card nets, which will be folded and glued into 3D polyhedrons which will stack together.

As you can see from Screenshot 1, I am trying to improve upon Rhino's  *UnrollSrf*  command to condense the unfolded polyhedra's net. Green lines are fold lines and Blue lines are the cut lines for the laser cutter.

Rhino's  *UnrollSrf*  unfolds one surface at a time, resulting in two folded edges either side of each face (the green lines in Screenshot 1) but I want the unroll pattern to branch instead, so that each surface has three or four folded edges around it, therefore reducing the amount of cuts the laser cutter will need to do. This will make a massive difference in the cost and time of making, because I will have 200+ of these polyhedra to make, so any small improvement makes a big difference.

I used the plug-in Ivy to build the grasshopper script, but I think my script can still be improved (i.e. increase the amount of folds in the net, and decrease the amount of cuts)

I tried assigning different weights to the meshgraph and applied the various algorithms from the Ivy Plugin, not all of them work for me however - it would be great to get this working to see how much it can optimise the cutting pattern.

I am also finding that sometimes my mesh creates unfolded/cutting lines which are definitely incorrect (Screenshot 2) I'm not sure what is causing these irregularities in my mesh - maybe the script doesn't like acute angles? My original 3D polyhedra brep is a closed polysurface.

I have followed this tutorial:

It would be great to get some tips/thoughts on the above to see what else I could try to improve this script to suit my requirements.

Thank you!



Views: 172


Replies to This Discussion

Hi Priestess,

Here is an update version of you Ivy based GH script. 

Ivy is a mesh unfolder so it has different requirements than RhinoUnfold that works with breps.

1. You need to specifically triangulate the polygons of your polyhedron. I've used delaunay mesh for this. This will give you a minimal nr. or tris for each polygon.

2. You need to set up a strategy for edge weight. In the example I've set the weight through a combination of angle and fold edge length. If angle is close to flat => weight is set to 0. Else weight is set to the inverse of the length of the fold edge (1/x)

This gives a nice unfold I think. But you can change it if you have something more suitable in mind.

As always you can just ignore the flat edges in the fabrication step to get the polygons cut. 

Hope this helps. 

Ps. For other requests please move the discussion on the McNeel Forum 







  • Add Photos
  • View All


  • Add Videos
  • View All

© 2021   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service