A sheet metal enclosure for an elliptical staircase, a conical shroud split into two halves for shipping, a large cylindrical tank section cut into panels for laser cutting — these all share the same fabrication requirement: a curved sheet metal body that must be divided into manageable pieces, each with its own flattenable geometry and its own DXF.
SOLIDWORKS’s Split feature appears to solve this. It doesn’t. Applied to a curved sheet metal body, Split divides the geometry but destroys the flat pattern capability on every resulting piece. This post explains why that happens and gives three approaches that actually preserve flattenability.
Why Split Breaks the Flat Pattern
A SOLIDWORKS sheet metal part’s feature tree contains, at minimum:
Sheet-Metal1 ← thickness, K-factor, bend allowance
<base features> ← Base Flange, Insert Bends, Lofted Bend, etc.
SM-FlatPattern1 ← the feature that computes and stores the unfolded body
The SM-FlatPattern1 feature is linked to a specific, continuous sheet metal body. When the tree is intact, the flat pattern engine walks backwards through every bend feature, reverses each bend operation, and produces the unfolded geometry.
When you apply Insert > Features > Split:
- The split sketches cut the original body into multiple bodies
- Each resulting body lives in the Bodies folder of the FeatureManager
SM-FlatPattern1still references the original body ID — which no longer exists as a single entity- The feature rebuilds with an error, or it attaches to whichever remaining fragment matches its stored body reference — usually the largest one
The split bodies inherit the Sheet-Metal1 parameters (thickness, K-factor), but they have no independent flat pattern features. The new bodies are sheet metal bodies in the sense that they have the correct material thickness. They are not sheet metal bodies in the sense that they can be unfolded.
Why the Cut Extrude Approach Fails Too
A Cut Extrude through a sheet metal body creates a multi-body part in the same way Split does. The same outcome results: SM-FlatPattern1 loses its body reference, and the cut-off piece has no flat pattern feature. Thin Feature cuts suffer the same problem.
The underlying issue is that neither Split nor Cut Extrude adds new sheet metal intelligence to the bodies they produce. They just divide geometry.
Approach 1: Model Each Section as a Separate Part (Recommended)
The correct parametric approach is to never have a single curved body that needs splitting. Design the fabrication sections upfront and model each one independently.
Cylindrical and conical sections
For a cylindrical enclosure divided into N vertical panels, each panel is a separate flat sheet that gets rolled:
- Calculate the arc length per panel:
arc_length = 2π × r × (panel_angle / 360) - Create a new SLDPRT for each panel
- Start with a flat rectangular sketch:
arc_length × height - Use Insert > Sheet Metal > Base Flange with the correct thickness and K-factor
- Use Insert > Sheet Metal > Insert Bends with a cylindrical reference face to roll the flat blank to the correct radius
The flat pattern is exact because cylinders are developable surfaces — zero Gaussian curvature means the rolled geometry can be unrolled without stretching. See the cylindrical collar flat pattern Insert Bends method for the axial slit technique that makes this work.
Lofted bend sections
For a doubly-curved or elliptical section where each panel is modeled as a Lofted Bend, create one Lofted Bend feature per fabrication section. The profiles for adjacent sections share edges — draw them once and reference them in multiple parts via external references or by copying the sketch geometry.
For the Bent vs Formed distinction: use Bent if the section is developable (approximately cylindrical or conical). Use Formed only if the curvature is genuinely non-developable — and recognize that Formed produces an approximation, not an exact flat pattern. The SOLIDWORKS Lofted Bend Bent vs Formed post covers when each mode applies and how to check which one SOLIDWORKS will select.
Assemble all sections in a SOLIDWORKS assembly to verify fit. The assembly does not affect the individual part flat patterns.
When to use this approach
Use separate-part modeling when you control the design from the start, when the design requires more than two sections, or when the curved geometry is complex enough that Split body cleanup would take longer than modeling directly.
Approach 2: Save Bodies → Reapply Sheet Metal Per Part
For an existing design where the single-body model is already complete and correct, Save Bodies converts the split results into independent parts that each get their own sheet metal features.
Step 1: Apply the Split feature
Create the split sketches (one per seam line). Apply Insert > Features > Split. Assign each resulting body a name in the Split PropertyManager. At this point, the flat pattern is broken — that’s expected.
Step 2: Save Bodies
Insert > Features > Save Bodies (or right-click the Bodies folder > Save Bodies). Map each body to a new SLDPRT filename. SOLIDWORKS creates a new part file for each body containing an ImportedBodyFeature — the body geometry without parametric history.
Step 3: Reapply Insert Bends to each saved part
Open each saved part. The tree shows an ImportedBodyFeature. This is an imported solid body — no sheet metal features yet.
For a cylindrical or conical section:
- Select a flat or cylindrical face on the body
- Insert > Sheet Metal > Insert Bends
- Set the rip edges (any open edges that need to be recognized as rips rather than bends)
- Confirm thickness and K-factor
SOLIDWORKS will add Sheet-Metal1 and SM-FlatPattern1 to the tree. If the body geometry is clean and the section is developable, the flat pattern succeeds immediately.
If the section is a lofted shape with residual non-developable curvature, Insert Bends may fail. In that case, the Surface Flatten tool (Insert > Sheet Metal > Flatten) is available if the body has a Surface body counterpart, but it produces an approximation — the same constraint that applies to all non-developable sheet metal. This is covered in the curved sheet metal forming tools workflow under the doubly-curved scenario.
VBA macro to automate Save Bodies and flat pattern status check
After running Save Bodies on multiple sections, this macro checks the flat pattern status on each saved part file:
Sub CheckFlatPatternStatus()
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim swFeat As SldWorks.Feature
Set swApp = Application.SldWorks
Dim filePaths(2) As String
filePaths(0) = "C:\fab\section_A.sldprt"
filePaths(1) = "C:\fab\section_B.sldprt"
filePaths(2) = "C:\fab\section_C.sldprt"
Dim i As Integer
For i = 0 To UBound(filePaths)
Dim errors As Long, warnings As Long
Set swModel = swApp.OpenDoc6( _
filePaths(i), _
swDocPART, _
swOpenDocOptions_Silent, _
"", errors, warnings)
If swModel Is Nothing Then
Debug.Print filePaths(i) & ": failed to open"
GoTo NextFile
End If
Set swFeat = swModel.FirstFeature()
Dim foundFP As Boolean
foundFP = False
Do While Not swFeat Is Nothing
If swFeat.GetTypeName2() = "SM-FlatPattern" Then
foundFP = True
Dim suppressed As Boolean
suppressed = swFeat.IsSuppressed()
If suppressed Then
Debug.Print filePaths(i) & ": flat pattern SUPPRESSED"
ElseIf swFeat.GetErrorCode2(False) <> 0 Then
Debug.Print filePaths(i) & ": flat pattern ERROR (code " & swFeat.GetErrorCode2(False) & ")"
Else
Debug.Print filePaths(i) & ": flat pattern OK"
End If
Exit Do
End If
Set swFeat = swFeat.GetNextFeature()
Loop
If Not foundFP Then
Debug.Print filePaths(i) & ": no SM-FlatPattern feature (Insert Bends not yet applied)"
End If
swApp.CloseDoc swModel.GetPathName()
NextFile:
Next i
End Sub
The GetTypeName2() string "SM-FlatPattern" is stable across SOLIDWORKS versions. If a file reports no SM-FlatPattern feature, that part still needs Insert Bends applied manually.
Approach 3: Multi-Body Flat Pattern Within One Part
SOLIDWORKS does support multiple flat pattern features in a single part — one per sheet metal body. If your part contains multiple sheet metal bodies (created by mirroring, patterning, or deliberate multi-body sheet metal design), you can insert one SM-FlatPattern feature per body.
The limitation for the split case: this only works if each split body is independently flattenable. For a developable cylindrical split where each half is a clean semi-cylinder, it often works. For an elliptical or doubly-curved split where each piece has residual curvature, the flat pattern engine may accept or reject each body independently depending on the curvature values.
How to attempt it:
- Apply Split. Let
SM-FlatPattern1error. - Suppress
SM-FlatPattern1. - For each body in the Bodies folder, Insert > Sheet Metal > Flat Pattern and select a face on that specific body as the fixed face.
- SOLIDWORKS adds a new
SM-FlatPatternfeature for that body. - Repeat for each body.
If the geometry supports it, you end up with multiple independent flat pattern features in a single SLDPRT — which is clean and avoids managing separate files. Each flat pattern can be exported as a separate DXF using CadShift’s batch DXF export (it handles multi-body parts and exports each body’s flat pattern to its own named file) or via a VBA loop calling IPartDoc.ExportToDWG2 with swExportToDWG_ExportSheetMetal and selecting each body in turn.
If any body fails the flat pattern step, fall back to Approach 2 for that body.
Which Approach for Which Situation
| Situation | Approach |
|---|---|
| New design, full control | Separate parts from the start (Approach 1) |
| Existing finished model, developable sections | Multi-body flat pattern in one part (Approach 3) |
| Existing finished model, complex curvature | Save Bodies → Insert Bends per part (Approach 2) |
| Need individual DXF files for CNC | Any approach — each section ends up as its own SLDPRT |
The common mistake is applying Split and expecting the flat patterns to survive. They won’t. The fix is either to avoid the Split by designing sections independently, or to use the Save Bodies path to rebuild the sheet metal intelligence per section.
For the downstream DXF export pipeline — once each section is a separate SLDPRT with a valid SM-FlatPattern1 — the large STEP file sheet metal rebuild and DXF workflow covers the batch export macro that processes a folder of individual part files, checks flat pattern status before attempting export, and routes the DXF files to a named output directory.