Unroll Developable surface problem

How do I define where the seam of Unroll developable surface is?

My ultimate goal is to have various features intersecting the extruded surface in the attached picture, then do a trim command to cut the holes in the extruded surface and then unroll the surface.

By default Rhino chose the location indicated by the RED plane to be the seam, but I want to choose the seam location to be the Green plane. Any suggestions appreciated.

_SrfSeam has been suggested but it is not working for me as it asks for a closed surface and this shape does not qualify.


_unjoinEdge and _srfSeam
check help for usage.

something went wrong with the picture you tried to upload. - you can edit your post an try again. (maybe a smaller downsampled version)

kind regards -tom

Thanks Tom. Please see edit.

The “surface” is probably a polysurface which is several surfaces joined together.

How did you create the object? What command did you use?

Upload a .3dm file with the geometry. You can either drag the file to where you type a post or click on the vertical arrow ico above where you type a post.

unroll for forum.3dm (2.3 MB) I used _Extrudecrv to create the Surface. The curve is in the attached file. There are a BUNCH of control points… not sure why or if this is an issue.

I am wondering if there is something I need to do to the curve ahead of time… or use loft etc.

As long as you are looking at the file, LMK if there is something I need to do to the curve to optimize it. The curve will eventually go to a CNC fabric plotter and I’m not sure if I need that many control points to define the curve… but I can’t lose any precision. When I use rebuild command I don’t like the results. (off topic but thanks in advance if you have a tip for me there)


The curve is a polycurve, made up of 8 individual curve segments. When the curve is extruded the result is a polysurface made up of 8 individual surfaces.

Where did the curve come from? Did you create it or import it.

What accuracy is required? 0.1 mm, 0.000001 mm, 1 mm?
FitCrv can be useful in simplifying curves.

For Accuracy of a simplified curve, if I was within a1mm everywhere that is fine.

I am drawing the original curve not importing it. it has to by symmetric so I get one side like I like it and then mirror the other side and join together. I always use join to get them to be one curve though. Maybe I should use another process? How can I make this a single polycurve.

You have a single polycurve. A polycurve is two or more curves joined together.

How are you drawing the curve? Are you tracing over a photo with lots of points?

Try running FitCrv with a tolerance of 0.5 and Delete=No. Then use CrvDeviation to check the maximum deviation of the revised curve from the original.

I tried _fitcrv and the output is still 8 different polycurves. Even when I join them, they still extrude and then unroll as 8 segments.

How can I turn this polycurve into a single curve so it will extrude and then unroll as one rectangle?

…and that still doesn’t get my original problem solved about how to control the location of the seam. Thanks!

Hi Chris - UnjoinEdge on the original polysurface that you posted ought to do what you need.

But, I’d also think about redrawing that curve, if that is allowed, it seems a bit messy and overly complex, I don’t know how much leeway you have -

unroll for forum_Simpler.3dm (3.4 MB)


How do I join the edges? I can’t seem to get one solid surface. Even if I use _join in the original 8 segment poly line it selects like one object but generates 8 different surface segments when I _extrudecrv
_fitcurve doesn’t solve this either.

I’m trying to avoid having to redraw the curve by hand via tracing.

Hi Chris - if you unroll a polysurface, and set the seam location(s), in this case with UnjoinEdge, then in UnrollSrf, make sure Explode=No to get a single object (still a polysurface) out the other end.


Ok we are getting closer. Thank you Pascal. I was able now to unroll srf at at point where I unjoined edge, then Duplicate Border and Group… I’m soooo close. The final piece of the puzzle is creating an edge where I want it to be so that I can unjoin it.

Unjoin edge was not working for me because I was trying to click where there was no edge in the first place. What do you recommend? Perhaps using a plane to split the extruded surface… or perhaps modifying the original curve prior to to extruding planar curve to create the surface?

I’m wrapping all this in to a giant macro to be done thousands of times so I really appreciate the assistance on how to do this efficiently.

Hi Chris - in this particular case, where the seam is on an isocurve, you can ExtractSrf the face that you want to have the seam and Split > Isocurve (mind the direction) the surface, and then join it all up again and 'UnjoinEdge`. Any luck?