How to reroll an unrolled surface

I was working with Solidworks to create the above results. Can’t quite get the results that I want there because I can’t edit the pattern on a flat surface. I know that Rhino can do it by using the unroll surface command. Thought there is a way to re-roll an unrolled surface but can’t seem to find a solution on the web for my situation.

Ideally, what I want is to be able to unroll a piece from the sphere, trim that unrolled piece with a pattern, re-roll it and circular pattern that to complete the design. Is there a way to do it? Below is a snapshot of what I’ve been trying on rhino:

See I can’t get that unrolled surface back into that original triangular piece from the sphere.


You can’t re-roll a surface. What you’ll need to do is look into the FlowAlongSrf command, which will let you map the desired flat pattern from the flattened surface back onto the original surface.

you can use squish and squishback

1 Like

Wow thanks for the quick reply.

I’ve tried that before but the program doesn’t allow me to select that base edge near the corner.

Squish and squishback. I think I get the idea now. Thanks.

you can also use project directly onto the sphere with curves drawn infront above or from any position normal to the surface. or pull. you can also draw directly onto the surface with InterpcrvOnSrf, but FlowAlongSrf as Ncik pointed out should also work. you just have to click at the right spot.

The first problem is that a sphere is not an unrollable surface.
Be aware that squish will deform your surfaces.

You can’t unroll (flatten) the surface of a sphere onto a plane.

The first metric, that of the sphere, has constant positive curvature. The second metric, that of the plane, has zero curvature. Both aren’t locally isometric; see Theorema Egregium.

No Fields Medal to be won here ; )

1 Like

i wonder what @Andrew_Nowicki with his visualizing brain would imagine. i theorize that a sphere could be unrolled into a slightly warped rectangular surface as above, if you agree to open the sphere at one point having 4 edges. the curvature of the sides would have to be chosen that they matchup in a circular seam. and that all 4 corners match up at one point.

if we think about soap bubbles for example which consist of realigning molecules having the ability to role up into a sphere from basically any flat shape which was submerged into the liquid, then the answer into what a sphere could be unrolled to brings up an infinity of possibilities.

Any surface can be flattened with enough stretching and shrinking. But that is different than the usual definition of “unroll” - to flatten a surface without any stretching or shrinking,

Rhino command Unroll unrolls a surface without zero or minimal stretching and shrinking. It only works on developable or “close enough” to developable surfaces.

Rhino commands Smash and Squish flatten surfaces using as much stretching and shrinking as required.

1 Like

I noticed on your screen shot your using Rhino corporate I do not believe there is such a thing. I think this may be pirated.

Just saying … Danny

1 Like

this depends on how you set you tolerance. if you set it lower, surfaces begin to unroll. it bascially does almost the same job as smash.

not as required but reflected towards materials in reality.

Yes, with a large enough tolerance Unroll will flatten surfaces which are not close to developable similar to Smash or Squish, but with significant distortion.

Any non-developable surfaces will be distorted with local stretching and/or shrinking when flattened. That is because of geometry. Curves on the surface will have different lengths after flattening. The angle between intersecting curves on the surface will change. The area of a selected part of the surface will change.

1 Like

unroll is no more distorted than smash.
results from the duplicated boarder are congruent on a test surface (quarter of a sphere)

Command: CrvDeviation
Overlap interval 1 of 1:
start: distance = 0
crvA( -30.8828) = (13.9022, 26.5545, 0)
crvB( -30.8828) = (13.9022, 26.5545, 0)
end: distance = 0
crvA( 61.7656) = (13.9022, 26.5545, 0)
crvB( 61.7656) = (13.9022, 26.5545, 0)
Minimum deviation = 0
Maximum deviation = 8.31177e-13

unroll surface has a tolerance setting for double curved surfaces so it produces the same result, which makes smash obsolete i believe.


squish produces a different result because it tries to mimic the nature of the materials which was what i wanted to point out. thats not only because of the geometry.

@RichardZ Yes, it is posible to make algorithm that maps any surface to a different surface. Unfortunately, Rhino 5 does not have suitable algorithm. Squish and Smash commands cannot unroll spherical surfaces well. Both of them ignore holes in the original surface. It seems that the only practicable way to do it is to use Project command to project the holes on several (maybe 6) flat surfaces. You can edit the holes on the flat surfaces before projecting them back on the spherical surface.