algorithmic modeling for Rhino

Hello all,

The attached UserComponent uses GHPython in order to unroll one or more Breps and or surfaces together or not with one or more geometries which have either been created on the brep or have been projected onto it.

Just paste the user component inside of the User Objects folder located here:


In case you don't already have GHpython then follow this link:

Views: 28864


Replies to This Discussion

Thanks Tudor for this new update !

How do you parametrise the componment to keep the geometry joined and avoid explosion ?


I haven't checked Tudors source, but the unroller class has a property you can set to keep the unrolled geometry joined. Like so:

unroller = rc.Geometry.Unroller(Brep)
unroller.ExplodeOutput = False

Hope that helps..


I just test it, it works nice !


Hi Tudor,

Thank you very much for your script. It works very nicely. However, I'm running into a problem. I have successfully unrolled 168 joined surfaces ( I want the unroll surface to join as these surfaces will be folded. Each of the joined surface is made up of 8 individual surfaces). However, when I unrolled them, they are stacked on top of one another. See the attached images. I need to spread the 168 joined surfaces out to further process the geometry. I tried to use Orient component, but from the 168 joined surfaces, I can only create 168x8 frames, that is 1344 frames. So how do I layout out all 168 joined surfaces without breaking down into individual panels?

Hello Jiangmei,

Just create an array of points and move the unrolled geometries to the points in the array.

Hello Tudor,

Nice idea. I have figured it already by using a different method.

I'm learning Python and need a little help. Anyway, I'm trying to do the same thing in Python using a different script (not yours) but keeping getting an error. It said the BREP can't be unrolled. However, The same Brep worked fine with your Python script. Would you mind taking a look? I will email you the files. Thank you very much for your help.

Hi Tudor, 

I'm having a similar issue that I can not figure out. The script works to unroll all the brep surfaces, but they are all stacked on top of each other. Doing an array makes multiple stacks of the same problem. Any advice?

Thank you!


Hi Kyle, I hope you've already figured out how to solve your problem, but if not here's what i've done to resolve it. I just made a series to make several moves to split parts in one line. Just choose the spacing you want.

Here's the small definition, hope it helps you!


I'm trying to unfold a geometry with your definition but the result is always null.

can you please help me on figuring out what's wrong with it?
maybe I'm doing a mistake?

Can you post your file? I ll have a look tomorrow.






  • Add Photos
  • View All


  • Add Videos
  • View All

© 2021   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service