Unroll Surface component GH1

HI I have been hoping for an equivalent RH command “_UnrollSrf” in GH1 for a while now and wonder there will be a chance to see it on the standard GH1 components soon.

I have filled this lack by mean of a third party GH plugin ( TT toolbox - unfold component BTW ) . It works almost as well as the original RH command but I’d like to see a native GH component the perfectly reproduce the original RH command.

Any chance , any suggestion ?

many thanks


1 Like

I’m using the same GH plugin for that as well. Also am hoping for a native component.

I’ve added an issue to our tracker to add a native component for unrolling.

Here is a basic definition with a c# component that does the trick:
Unroll.gh (2.5 KB)

This makes use of the RhinoCommon Unroller class.

The code is the following:

private void RunScript(Brep brep, ref object A)
    Unroller unroll = new Unroller(brep);

    Curve[] crvs;
    Point3d[] pts;
    TextDot[] tDots;

    Brep[] breps = unroll.PerformUnroll(out crvs, out pts, out tDots);

    A = breps;


Notice that curves, points, and text dots (not natively supported in GH), can come along for the ride.


HI Luis and many thanks for the script

I will use it for the moment and wait for the native component to be available



I am excited by the possibility of this becoming native. I have tried to use this however, I can only find a way to unroll breps. How do I input Curves, Points, and TextDots in order to “go along for the ride”


Add it to a C# component: https://developer.rhino3d.com/5/api/RhinoCommon/html/T_Rhino_Geometry_Unroller.htm

Thank you Michael,

I am trying but my C# abilities are pretty sad. I’ll keep trying.

Unroll.gh (14.3 KB)

Text dots are omitted, I don’t think GH supports them native (unless I missed that), but you can just fake it by putting a point on each face and putting the list of face points and the list of unrolled points into a text tag or point list component.


Thank you.
I was close but missed a few important elements. I am in need of fundamental C# concepts. Next on my to do seek out.

Thank you for your script, very usable and helpful, I have adapted it to my needs, with spacing and in future with some more functions.

How would textdots have to be added so they can be unrolled with a brep? I cannot figure out what data type I need to set.