Unfolding with Compound Transforms

2013 update: this is probably a better way to go.

Unroll%20Brep.gh

------------------------------------

Cross posted here.

 

UPDATED TO WORK WITH VERSION 0.8.0010

 

Lately, in some of my work I have been investigating unfolding complex forms with Grasshopper. The newest release of Grasshopper enables the use of Compound Transformations, which makes it possible to quite efficiently unfold strips of planar surfaces. In the past I have had to use pepakura or other similar utilities to perform the unfolding outside of Rhino, or alternately a slow faux-recursive method where I essentially unfold one segment of the polysurface at a time.  
Below are a few definitions making use of this new capability.

The first, here (unfold_surface_strips.ghx), simply takes a list of surfaces that adjoin each other at an edge and unfolds them flat.


The second (triangulated_surface_strip_tool.ghx) utilizes the same processes in the first to unfold a triangulated version of an input surface. Strips can be evaluated in the U or V direction.



Finally, with the right settings on the same definition (setting V divisions to 1 and U divisions to some high number) it can be used to substitute for the UnrollSrf command in Rhino with a high degree of accuracy. This is an improvement in efficiency and accuracy over my earlier Unroll definition.

  • kleerkoat

    thanks for sharing!
  • Archieboy

    There is something wrong happen to me when I tried to open the first script. Do you also have some suggestions on unroll polysurface?
  • Andrew Heumann

    sorry, archieboy, can you be more specific? On my machine the first definition opens without problem. What issue are you experiencing? I'm also not sure I understand your second question - this definition will unroll a polysurface, if perhaps not quite as automatically as the Rhino command. If you have Rhino 5 and python, you should check out Steve Baer's script here... it currently handles only a single surface at a time but can be easily adapted to work on polysurfaces (just remove the "[0]" after breps in line 8)
  • Archieboy

    Hi Andrew, this window pops up when I tired to open your first unroll polysurface script. And I can open your second script perfectly. I'm using Rhino 4 sr9 and GH 0.8.0010. And for the second question, is this a joined polysurf or a series of srfs which you have to select them one by one in sequence? All I want to do is to unroll a polysrf, say a tetrahedron, if I use unroll command in rhino, it will unroll every single srf, however, I want to do something similar to your first post, linking adjacent srf together and then I can fold them later on.

  • Archieboy

    thx, andrew, I think I download it at the wrong place, I tried the one on your blog and it is working succesfully. It is exactly what I'm looking for. thx!
  • Andrew Heumann

    hmm, it shouldn't matter where you download from; my blog links to the exact same place for the download. In any case I'm glad you got it working. My definition allows you to unfold a sequence of surfaces in any order you specify; if you don't care about the order and just want it to unfold an entire polysurface, the adapted version of Steve Baer's python script will do the trick very efficiently.
  • RWNB

    thanks for sharing!
  • Ken Sit

    hi andrew,

    thanks for the script.  I'm a little lost as to how you operate the script.  I've been trying to unfold a surface that's already separated into different strips like pepakura but having no results out of it.  could you please give some direction has to how to operate the script?

     

    thanks.

  • Derenik Baghramian

  • Derenik Baghramian

    I have some surface like this.i want to unfold it ho i can do it?

  • tiqué

    Andrew can you please also tell how to put name tags and angle tags on the same unfold pattern.

  • Arthur Mamou-Mani

    Thanks a lot Andrew. Have you tried doing the unfold_surface_strips.ghx using several strips as input? I am struggling to find where to adjust the definition to make it branched-list friendly (file here).

  • Andrew Heumann

    Hi arthur - this post is very old. Much better ways to do things now - see this script

  • Arthur Mamou-Mani

    That's brilliant Andrew! thanks so much.

  • Carina Carmo

    Hi Andrew,


    It really seems brilliant! But unfortunately It is not working.

    The script that i downloaded was the last one (November 27, 2013)

    There are 3 errors:

    1. Before solution exception: access denied

    2. solution exception: access denied

    3. After solution exception:access denied

    I hope you can help,

    many thanks,

    Carina

  • Nathan Melenbrink

    Hi Andrew and All,

    Unrolling for fabrication has been a recurring issue for me in both my teaching and professional work. I'm posting here because Andrew's definitions are the best I've found yet (other than using Pepakura). First, does anyone know of any reliable add-on or custom component that does this within GH? I tried FabTools and some others than claim to do this, but without much success. 

    If it seems that indeed there isn't a suitable alternative to Pepakura, I'm comfortable enough with C# to give it a shot with a custom component. I would hope to include the functionality of Andrew's definition, and could replicate more Pepakura features such as tabs for gluing, and ridge/valley fold lines separated by layer. Of course I don't have access to Pepakura's source code, but I assume they're using some kind of greedy algorithm to split the mesh into as few contiguous parts as possible, which would also be helpful. A tool like that would be really helpful for me, and I assume others might find it useful as well. What do you think? 

  • Andrew Heumann

    Hi Nathan -

    Glad these definitions have proven useful - but it's been a long time since the developers exposed rhino's native "unroll" functionality into rhinocommon, so many plug-ins and scripts exist to do the same thing as this. You can try this simple script: UnrollBrep.gh and I also hear good things about the unfold script in TT Toolbox. 

  • Nathan Melenbrink

    Hi Andrew,

    Thanks for the quick reply. Yes, I've seen the Rhinocommon wiki on the unroll function. It's a good start but lacks the functionality I'm looking for. TT Toolbox is great but also doesn't offer any more functionality in terms of unrolling. But thank you for the suggestion. I'll give it a shot on my own and post back here when I get something...