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