Slightly Un developable surfaces

Hello Chaps,

Sorry if the whole squish v Smash v Unroll for boat hulls is getting boring on technically non developable surfaces but I use a production method that should negate the problem or at least it does using traditional methods. I just need to replicate it with Rhino.
Basically I need to generate flat patterns from slightly curved 3d shapes that retain the edge geometry. Im working with Aluminium sheet of 2mm or 0.080" and I can introduce as much 3d shape within that boundary as I like by using an English wheel without significantly affecting the outer boundary geometry. To help anybody not familiar with an English wheel, it does that by squeezing the sheet thickness over the middle area of the sheet between two steel rollers. That thickness is reduced and the material is dispersed into extra length and breadth of the sheet there by introducing 3d shape.
It seems like Squish should produce what I need as it has extra parameters to tune the stretch and compression but even using the preserve boundary option it does not and the surface edge dimensions are not preserved.

Using Smash I get better preservation of edge length and curve shape but I get two very different shapes all parameters equal depending on whether I apply it to a surface described as a Valid surface or described as a Trimmed surface. Smashing a Trimmed surface retains good boundary curve shape but a surface that is described as a Valid surface looses one of its edge curves which is replaced with straight line.
I don’t even know how I generated a Trimmed surface Ive been playing with it for a while and now can only generate Valid surfaces. Im using Sweep 2 rails to generate my surfaces.
So my question is can I convert a valid surface that was generated by sweep 2 rails to a trimmed surface so I can apply smash or am I following the wrong path, is there a better technique that better suits my production. All I need is to preserve edge shape and edge length when its flattened, the middle of the sheet is irrelevant as I can introduce all the shape I need to the sheet later.

Hello- I think Squish is the best candidate - have you played with the Material setting and the Deformation settings?


Hi @jdelooze ,
Squish can be picky and you’ll have to learn what works well and what does not. I think you can forget Smash for your task. From your description I would try DevLoft and then add the compound curvature which you can apply with the English wheel.
Can you post some sample geometry?

I played with squish parameters and listed all the affected boundary length to analize what was going on but I can’t preserve the boundary lengths, even the option of preserve boundary doesn’t actually preserve the boundary.

Hi smash will most accurately preserve the boundary lengths so that adjacent edges of surfaces will match corner to corner but it will only work for what is described as a trimmed surface. It will not work for a valid surface.

Sorry, but I cannot confirm that. May be a special case…

Hi Jdelooze

Can you share an example 3dm file with a surface that you want to flatten. I’d like to see if I can help tweaking squish settings.


What do you mean by a “valid surface”?

Why do believe that Smash only works for trimmed surfaces?

Thanks Willemstad I’ll be in touch in a couple of days as I am on holiday

If Rhino describes it as a trimmed surface it will smash and the boundaries are preserved if Rhino describes it as a valid surface then just one of the sides becomes a straight line and loses any curvature it had.

Surfaces in Rhino can be trimmed or untrimmed. A trimmed surface is simply an untrimmed surface with portions “cut” away. All trimmed surfaces have an underlying untrimmed surface. If the What command describes a surface as “valid” without any other quailifiers then it is an untrimmed surface.

Shrink can be used on a trimmed surface to reduce the size of the underlying untrimmed surface to it’s minimum possible size (if the trimmed edge is an isocurve) or close to it’s minimum possible size. (if the trimmed edge is not an isocurve).

If Smash is used on a trimmed surface then Smash flattens the surface so that one edge of the underlying untrimmed surface is a straight line. It also shrinks the flattened surface.

Understanding the basics of untrimmed and trimmed surfaces is very helpful when using Rhino.

Thanks David. I’ll investigate further on that basis but even if I fix this issue my main problem is trying to flatten a surface without affecting the lengths of the boundary edges.
It seems like the option of “preserve boundary’s “ in squish should be the answer but it doesn’t and the lengths of the boundaries are changed.

That’s why I suggested to start with _DevLoft. But it depends on your geometry if this makes sense.
I think this problem might be solved with Grasshopper/Kangaroo.

BTW. There was another thread you may find interessting: Kuka & English wheel paths from doubly curved surface:

Thanks Jess I’ll try that and look at the other topic

Willem help file.3dm (1.4 MB) Hi Willem, Ive finally cleaned up and simplified a file to play with. Im trying to unroll or develop 3d surfaces which only have slight shape but trying to preserve the boundary length as much as possible because I can introduce as much stretch as I want with the English wheel. Any help pointing me in the right direction would be much appreciated.

Hi jdelooze,

Unfortunately I only had time for a quick look at your file. And I do not see a quick ansers to give.
Time is limited at the moment, maybe someone else can look at the example file.


OK thanks.

Yep, a lot to talk about… but in general _Squish seems to work ok with your surfaces. You may split them into pieces like you’ll fabricate it, before you squish it, then you’ll get less deviation at the boundaries.

There are also some surfaces with negativ Gaussian curvature in your model, and you may know that you’ll have to stretch the boundaries to get these anticlastic shapes…

Attached is a model which demonstrates what I meant with DevSrf. Note that the unrolled surface has almost the same shape like the squished version. I think the deviation does not mean much when working with the English wheel on such a long piece (which of course would not be practical).

However the deviation of the squished srf comes from the surface’s UV orientation and I’d guess that the unrolled srf fits better.

P.S.: It is not necessary to make developable surfaces to get good cutting data for your model.

V5 3DM:
Squish_vs_UnrollDevSrf.3dm (310.4 KB)

1 Like

Hi Jess, I cant open your file as Im on Rhino5 if you can save as an older version I would like to take a look.

Thanks Jess, I had dismissed Unroll srf early on as I couldn’t get it to work but now realize my relative tolerance was too small. I can get squish to work within probable acceptable limits by preserving edge setting to rigid and stretch only. Smash is still a problem for a trimmed surface but I now don’t need it.
The proof will be when I start fabricating and see if the edges match. Time to start cutting some sheets.