Obtaining flat patterns that produce 3D shape when sewn edge to edge

Hi, I posted this question to SW subreddit a while ago, but didn’t get many replies, so I thought maybe you guys will have more insights.

I am designing sailboats (as a hobby), including their sails. For that, there are softwares like Sailcut CAD, which allow you to define desired 3D sail shape, and then produces flat patterns for panels of the sail. Basic idea is that when you join two curved edges of fabric, the extra material gets pushed into the panels, forcing a compound curvature. This is a screenshot from Sailcut CAD of a sail profile, and how the flat patterns (development panels) look like. The curvature on the mating edges is very subtle, but it’s there if you look closely.

Perhaps this is easier to visualize with how air balloons are made - same idea, curved panels stitched together to force a 3D curved shape.

Sails are the same, just less extreme. Compound curvature is created through forcing curved edges into contact.

Now, problem is, that Sailcut CAD doesn’t have parametric link with SW, and exporting dimensions from SW to Sailcut and then importing DXFs back is a royal PITA. There is a lot that Sailcut CAD doesn’t do that is required to continue the design, so it was to be done in SW after importing these DXFs back. And boat design requires A LOT of iterations, so this becomes a major bottleneck.

So, to workaround the issue, I thought, is it possible to recreate this workflow in SW alone?

I designed the sail I need with SW, fully 3D, with highly controlled shape. Then I split it into panels, and used Surface Flatten for each panel. However, the result is very different from what I had in Sailcut:

The panel edges are curved, yes, but not really in a way that would force a compound curvature shape into the sail when sewn together. I printed them out on paper, cut them with scissors and taped together to make sure - the resulting sail is nearly flat.

Moreover, the edge lengths of joining panels sometimes differ quite a lot after flattening, even though it was a straight split. For example, a split edge that is 1581.42mm before flattening, becomes 1580.61mm on one panel, and 1583.56mm on the other - which would lead to distortions when sewn together (I know that from sad experience).

This suggests to me that the algorithm SW uses to flatten compound curvature in Surface Flatten feature shapes attempts to evenly distribute strain rather than to concentrate that strain along the edges, which makes sense for most applications, but not this one. I think Surface Flatten was meant to do approximate layouts for labels and such, not precision work.

Can anyone offer any guidance on how to get the kind of flat patterns that I need here solely within SW? I know SW is not really meant for this kind of work, but there really aren’t any other sailmaking softwares out there that integrate with SW, and without automatic workflow each design iteration becomes a massive chore. If I could just figure out this bit, it would be a massive time saver.

I am aware of the ExactFlat, but it is seriously expensive (6k for a single license), and since I only need this work for my hobby projects, I can’t justify such an expense. I tried Sheet Metal tools too, but it is extremely limited in making compound curvature flattening, so unfortunately I was not able to recreate this shape with it. I also tried writing my own macro to perform flattening without InsertFlattenSurface2, but didn’t get too far, the math is too complicated for me.

Attaching the part in question (SW 2024). Check configurations for different views. Any suggestions?

A00002801 2024.SLDPRT (2.5 MB)

I have noticed the distortion using flatten surface before. I think what I did was create a separate flat sketch but tied the lengths to the lengths of the edges on the not flat surface. I think I had straight lines though, no actual curved edges.

If you intend to flatten the panels, they should each be a developable surface, right? Make the sail shape with a ruled surface for each panel, all non-tangent to each other, then each should flatten accurately. Or I would hope, because I don’t have experience with the Solidworks flatten function. I would think, though, you’d want to start with something that can be flattened accurately.

Sails are always a compound shape, which by definition is not a developable surface. There are some inevitable distortions. However, fabric, stiff as it is, is still flexible enough to accommodate that. The trick is getting flat panels that will force that designed shape when sewn edge-to-edge.

I agree that the full sail shape you are targeting is a nondevelopable shape. I am suggesting that you make the intermediate panel shapes developable surfaces. You could take the full ideal sail, cut it where you want, and joint the cuts with a ruled surface.

Okay, thank you, I get what you mean now. Question is, how? The sail I showed is the ideal shape I’d like to achieve. I don’t even know how to begin recreating/approximating something like this with a ruled surfaces…

sail_loft.SLDPRT (1.3 MB)

Something like this? I have no idea if it suits what you want. Just kicking it around.

And I meant a lofted surface for Solidworks, not ruled.

SolidWorks (and other CAD) only work with solid part. Not really stretchable fabric.

So you can only model solid panel. It won’t understand how it’ll stretch after inflated.

The “Sheetmetal” should be named “break press” because it can only do that.

Might need to cut some pieces in smaller scale sewn together and see how it looks.

FEA might be able to show how it looks inflated if you can give it correct properties of the material.

Thanks, Dwight, I did my sail with loft feature too (the one I uploaded in my initial post). But lofted surface doesn’t necessarily mean developable surface. Only ruled surfaces are truly developable as far as I know. In your example, these panels are probably developable, but they do not respect the boundary that you drew with Boundary feature, resulting in jagged edges. If we force loft features to use these boundary curves as guides, then it would result in compound (non-developable) surfaces, which goes back to my initial issue. I am not sure if it is possible to avoid compound surfaces here at all. Maybe with ruled surface feature, but I wouldn’t know how to produce a shape like this with it…

I think you’re thinking about this the other way. I don’t want to sew the flat panels in SW to get a 3D shape, want to obtain flat panels from a 3D shape (flatten them). That should be possible. It’s just that the default Surface Flatten algorithm doesn’t do it the way I need it, and the surface is too complex to do it with Sheet Metal tools. I know I am pushing this software a bit outside of what it was meant to do, but I hope there is some neat workaround.

Did you play with the surface flatten to see if any of the controls got you closer to what you want?

I’m also wondering if you make 3D curves along the edges if they can then be copied to a plane in some fashion.

Well yes, but there aren’t that many controls to play with. Almost nothing in fact. I am not sure if anything there makes any significant change to the final shape. As for curve copying, well, it could be done, but I don’t think it would help much. Ideally we want to take the total amount of compound curvature in the panel, calculate extra material it requires (stretch), and translate that extra material by expanding edge curves accordingly. At least that’s how I think it could work. No idea how to do it though.

Do you know what the maths are involve in flattening the sail into a flat pattern?

There is some additional information in the flatten feature that you might have missed. Right click on the unfolded surface and you have a deformation plot available. Not that it will help in your situation but it is useful for seeing where the stretching/compressing takes place. Before flatten feature I used an STL export to a program called Pepakura designer that sliced up the unfolded surface instead of stretching/compressing it. It required a lot of extra spicing and manipulating but it made it possible to keep the lengths of the edges.

I’m afraid I don’t have anything useful to add here, but I need to ask for my dad…
He’s been working on determining stress in a sail. Do you have any resources for that?

I’ve often tried to do similar things with the sheet metal tools and it always feels like it’s ‘nearly’ there, but not close enough.

Might be too complex, but you could try looking at one other add-in partner products that manipulate flat > formed shapes for die design or similar. These guys appear to offer a trial:

3D Tool Design Solutions

Good luck :slight_smile: