{
  "schema": "piping-dimensional-methods/v1",
  "chapter": "C17",
  "scope": "Educational centerline layout and cut-length arithmetic; not fabrication release or project acceptance",
  "variables": [
    {
      "symbol": "H",
      "definition": "Perpendicular centerline separation",
      "units": "mm, or a consistent length unit"
    },
    {
      "symbol": "theta",
      "definition": "Diagonal angle relative to parallel line portions",
      "units": "degrees in example; appropriate angle convention in trigonometric evaluation"
    },
    {
      "symbol": "X",
      "definition": "Advance along the original line direction",
      "units": "same length units as H"
    },
    {
      "symbol": "S",
      "definition": "Distance between virtual centerline intersections along diagonal",
      "units": "same length units as H"
    },
    {
      "symbol": "e1",
      "definition": "First elbow takeout along diagonal",
      "units": "same length units as H"
    },
    {
      "symbol": "e2",
      "definition": "Second elbow takeout along diagonal",
      "units": "same length units as H"
    },
    {
      "symbol": "g1",
      "definition": "First specified butt-weld root gap",
      "units": "same length units as H"
    },
    {
      "symbol": "g2",
      "definition": "Second specified butt-weld root gap",
      "units": "same length units as H"
    },
    {
      "symbol": "L",
      "definition": "Required end-to-end straight pipe piece length",
      "units": "same length units as H"
    },
    {
      "symbol": "Hy",
      "definition": "Perpendicular offset along y axis",
      "units": "consistent length units"
    },
    {
      "symbol": "Hz",
      "definition": "Perpendicular offset along z axis",
      "units": "same length units as Hy"
    },
    {
      "symbol": "phi",
      "definition": "Rolled-offset plane orientation atan2(Hz,Hy)",
      "units": "angle"
    },
    {
      "symbol": "R",
      "definition": "Ideal circular bend centerline radius",
      "units": "length"
    },
    {
      "symbol": "bend_theta",
      "definition": "Ideal bend change of direction",
      "units": "radian"
    }
  ],
  "formulas": [
    {
      "expression": "S = H / sin(theta)",
      "conditions": "Single-plane offset; 0 < theta < 90 degrees; virtual intersections as drawn"
    },
    {
      "expression": "X = H / tan(theta)",
      "conditions": "Same single-plane geometry"
    },
    {
      "expression": "L = S - e1 - e2 - g1 - g2",
      "conditions": "Two butt-weld ends; takeouts measured from the same virtual intersections along diagonal"
    },
    {
      "expression": "H = sqrt(Hy**2 + Hz**2)",
      "conditions": "Perpendicular signed offsets in orthogonal directions; common datum and length units"
    },
    {
      "expression": "phi = atan2(Hz,Hy)",
      "conditions": "Axes and signs defined; retains orientation quadrant"
    },
    {
      "expression": "arc_length = R * bend_theta",
      "conditions": "Ideal circular centerline arc; radians; does not include straight tangents or stock/process allowance"
    }
  ],
  "example": {
    "classification": "hypothetical educational inputs",
    "inputs": {
      "H_mm": 600,
      "theta_deg": 45,
      "e1_mm": 65,
      "e2_mm": 65,
      "g1_mm": 3,
      "g2_mm": 3
    },
    "results_unrounded": {
      "X_mm": 600.0000000000001,
      "S_mm": 848.5281374238571,
      "L_mm": 712.5281374238571
    },
    "display_rounding": "2 decimal places, educational only; no cut precision or acceptance implied"
  },
  "rolled_offset_example": {
    "inputs": {
      "Hy_mm": 300,
      "Hz_mm": 400
    },
    "H_mm": 500.0
  },
  "tolerance_accumulation_example": {
    "inputs": {
      "terminal1_bound_mm": 3,
      "terminal2_bound_mm": 3
    },
    "worst_case_relative_bound_mm": 6,
    "conditions": "Illustrative opposing deviations along one axis only; no statistical independence, angular error or permissible equipment load inferred"
  }
}
