Blog · Inventor · 10 Oct 2026 · 4 min read · By Stefano B.
Inventor skips a bend when unfolding a STEP part: why, and how to catch it
On a STEP part converted to sheet metal, Unfold2 can leave a bend folded and return without an error. What we measured on test parts, the thickness rounding that stops every bend, and a short check that catches it before the DXF goes out.
Short answer: on our test parts, Inventor unfolded a bend only when its outer radius minus its inner radius equalled the sheet metal thickness. 0.001 mm off was already enough to leave it folded, and so was a bend face stored as a B-spline. Unfold2 returned without an error every time. Set the thickness as a number, not a string, and check the flat after the unfold: if every bend unfolded, it is exactly one thickness high.
Tested on Inventor 2025.2, October 2026: a U-shaped plate (2 mm, two mirrored bends R2) built in Inventor, exported to STEP, re-imported, converted with SubType and unfolded with Unfold2. The check below was then run inside a real iLogic rule from the Autodesk forum.
What we measured
| Test part | Bends unfolded | Flat length | Error |
|---|---|---|---|
| Clean, thickness 2.000 | 2 of 2 | 133.048 mm (hand calculation, K 0.44: 133.048) | none |
| One outer radius 0.001 mm too large | 1 of 2 | 96.5 mm, one flange standing | none |
| One bend with one or both faces as B-splines | 1 of 2 | 96.5 mm | none |
| Thickness parameter 1.999, 1.99, 1.95 or 2.05 on the 2.000 part | 0 of 2 | 60 mm | none |
| Thickness parameter 1.981 on a 1.9812 part | 0 of 2 | 60 mm | none |
| Clean, with holes in the flanges or in the bend | 2 of 2 | 133.048 mm | none |
The rule quoted on the forum, outer radius = inner radius + thickness, is right.
Why one bend fails and its mirror does not
We reproduced two ways one bend fails while its twin passes: one face stored as a B-spline, or a radius 0.001 mm off. We have not checked which one a given CAD export produces. In the flat the skipped bend is easy to spot: its flange is still standing.
We have not found an API call or unfold setting that makes Inventor accept that bend. What should work, not tested here: re-export the STEP from the source CAD, or rebuild the bend. Arkance, an Autodesk reseller, shows rebuilding the part from a surface and thickening it (Arkance). We have not tested it either.
The thickness trap: GetStringFromValue rounds
A common pattern writes the measured thickness as a string:
oThick.Expression = oDoc.UnitsOfMeasure.GetStringFromValue(dThicknessCm, UnitsTypeEnum.kMillimeterLengthUnits)
That string uses the document's display precision. With 3 decimals (LengthDisplayPrecision 3, Standard (mm) template), measured:
| Value | GetStringFromValue | GetPreciseStringFromValue |
|---|---|---|
| 1.9812 mm | 1.981 mm | 1.9812 mm |
| 3.4163 mm | 3.416 mm | 3.4163 mm |
| 1.5189 mm | 1.519 mm | 1.5189 mm |
On the 1.9812 part, "1.981 mm" left every bend folded. Set the number instead:
oSMCompDef.UseSheetMetalStyleThickness = False
oSMCompDef.Thickness.Value = dThicknessCm ' database units, cm, not rounded
The same part then unfolded to 133.097 mm, matching the hand calculation.
Check the flat, not the return value
Paste this after Unfold2:
Dim oFlatBody As SurfaceBody = oSMCompDef.FlatPattern.Body
Dim oFlatFace As Face = oFlatBody.Faces.Cast(Of Face)().Where(Function(f) f.SurfaceType = SurfaceTypeEnum.kPlaneSurface).OrderBy(Function(f) f.Evaluator.Area).Last()
Dim oNorm As UnitVector = CType(oFlatFace.Geometry, Plane).Normal
Dim dMin As Double = Double.MaxValue
Dim dMax As Double = Double.MinValue
For Each oV As Vertex In oFlatBody.Vertices
Dim d As Double = oV.Point.X * oNorm.X + oV.Point.Y * oNorm.Y + oV.Point.Z * oNorm.Z
dMin = Math.Min(dMin, d)
dMax = Math.Max(dMax, d)
Next
Dim dExtraMm As Double = (dMax - dMin - oSMCompDef.Thickness.Value) * 10
If oFlatBody.Vertices.Count = 0 OrElse dExtraMm > 0.01 Then
MessageBox.Show("The flat is " & dExtraMm.ToString("0.00") & " mm higher than the thickness: a bend was not unfolded.")
Return ' do not export
End If
On the four bad parts we ran it on (rounded thickness, radius 0.001 mm off, one and both faces as B-splines), the flat came out 38 mm too high and the check stopped them. The good parts passed at 0.000 mm, including a hole in the bend.
It does not check the flat length: a wrong K-factor gives a flat one thickness high and the wrong size. Not tested on formed features (louvers, embosses, extruded holes); anything that sticks out of the flat will stop it too.
Do and don't
Do
- Set the thickness with
Thickness.Value, from the measured value. - Check the flat height after every unfold.
Don't
- Don't write the thickness through
GetStringFromValue. - Don't take "no error" from
UnfoldorUnfold2as success. - Don't count on mirrored bends being identical in the file.
Questions people ask
Is this normal for STEP files?
Yes, in our tests. Unfold2 needs exact bend geometry, and a STEP written by another CAD may not have it.
Can the API force Inventor to accept the bend? We have not found a way.
More on the conversion itself: flat pattern from a STEP solid.