{
  "name": "sheet-metal unfold specification",
  "units": "millimetre / kilogram / degree",
  "k_factor_source": "newlife default (declared, not a standard)",
  "disclaimer": "Reference calculation. Validate against your own flat pattern before cutting.",
  "generated": "2026-08-13",
  "version": "1.0.0",
  "license": "Data and formulas are free to use. No standard is reproduced here.",
  "concept": "Bending stretches the outside of the material and compresses the inside. Between them lies a fibre that does neither — the neutral axis. The flat blank is the length of THAT fibre, not of the inside or outside of the part.",
  "symbols": {
    "A": "bend angle, degrees away from flat (90 = right angle)",
    "R": "INSIDE bend radius, mm",
    "T": "material thickness, mm",
    "K": "neutral-axis factor: the fraction of T at which the neutral axis sits (0 = inside surface, 0.5 = centre)",
    "BA": "bend allowance, mm — arc length of the neutral axis through the bend",
    "OSSB": "outside setback, mm — from the tangent point out to the sharp apex",
    "BD": "bend deduction, mm — what to subtract from apex-to-apex flange lengths"
  },
  "formulas": {
    "neutral_axis_radius": "R + K*T",
    "bend_allowance": "BA = radians(A) * (R + K*T)",
    "outside_setback": "OSSB = (R + T) * tan(A/2)",
    "bend_deduction": "BD = 2*OSSB - BA",
    "flat_length": "L = sum(flanges) - sum(BD for each bend)",
    "flat_area": "area_mm2 = L * width_mm",
    "weight": "kg = area_mm2 * T * density_kg_m3 / 1e9"
  },
  "conventions": [
    "Flange lengths are measured APEX TO APEX (outside mould line), which is how a drawing dimensions a bent part. That is why bend DEDUCTION is subtracted, not bend allowance.",
    "A part with N flanges has exactly N-1 bends.",
    "The bend radius is the INSIDE radius, not the tool radius and not the outside radius.",
    "K defaults to 0.45. It is an empirical property of material, tool and process — override it if you know yours."
  ],
  "domain": {
    "angle_deg": "strictly less than 180. A fully closed fold is a hem: a different operation with its own allowance, outside this formula.",
    "thickness_mm": "greater than 0",
    "radius_mm": "0 or greater"
  },
  "advisories": [
    "A bend radius below material_min_radius_factor * T risks cracking. It is still computable — the shop floor decides.",
    "A flange shorter than its own outside setback cannot be formed: the press brake has nothing to hold.",
    "Beyond about 150 degrees the setback grows fast and the result gets sensitive to a K that was never measured for that regime."
  ],
  "worked_example": {
    "input": {
      "material": "S235JR",
      "thickness_mm": 2,
      "flanges_mm": [
        50,
        200,
        50
      ],
      "bends": [
        {
          "angle_deg": 90,
          "radius_mm": 2
        },
        {
          "angle_deg": 90,
          "radius_mm": 2
        }
      ],
      "width_mm": 100,
      "k": 0.45
    },
    "output": {
      "flat_length_mm": 293.111,
      "total_deduction_mm": 6.889,
      "weight_kg": 0.46
    },
    "reading": "A U-channel measuring 300 mm around the outside is cut from a blank ~6.9 mm shorter, because each 90 degree corner \"saves\" one bend deduction."
  }
}
