[
 {
  "id": "hammer-strength-plate-loaded-linear-leg-press",
  "machine_id": "hammer-strength-plate-loaded-linear-leg-press",
  "brand": "Hammer Strength",
  "title": "Hammer Strength Plate Loaded Linear Leg Press (HSLLP)",
  "kind": "incline_sled_plate",
  "status": "computed",
  "formula": "F = SR + P·sin(θ) ± μ·(SR·cot θ + P·cos θ)",
  "setting_kind": "plates_added",
  "inputs": [
   {
    "symbol": "θ",
    "name": "Rail angle to horizontal",
    "value": 45,
    "unit": "deg",
    "status": "sourced",
    "uncertainty": {
     "type": "pm",
     "value": 1,
     "basis": "ASSUMPTION (not sourced): ±1° covers rounding of the stated \"45-degree\" and build tolerance; replace with Maxime's inclinometer reading"
    },
    "source": {
     "type": "manufacturer_page",
     "url": "https://www.lifefitness.com/en-us/catalog/strength-training/plate-loaded/plate-loaded-linear-leg-press",
     "quote": "Featuring a 45-degree angle, this machine provides a smooth, stable press",
     "date": "2026-10-17"
    },
    "note": "We assume \"45-degree angle\" is the sled travel direction vs. horizontal.",
    "how_to_measure": "Phone inclinometer laid on a guide rod, 3 readings."
   },
   {
    "symbol": "SR",
    "name": "Starting resistance (empty sled, at the footplate)",
    "value": 53.523899660000005,
    "unit": "kg",
    "status": "sourced",
    "uncertainty": {
     "type": "pm",
     "value": 0.226796185,
     "basis": "rounding of the stated integer \"118 lbs\" (±0.5 lb)"
    },
    "source": {
     "type": "manufacturer_page",
     "url": "https://www.lifefitness.com/en-us/catalog/strength-training/plate-loaded/plate-loaded-linear-leg-press",
     "quote": "118 lbs (53 kg)",
     "date": "2026-10-17",
     "note": "Spec table row \"Starting Resistance\""
    },
    "note": "118 lb = 53.52 kg; the page rounds to 53 kg. Life Fitness AU page says \"118 lbs (53 kg) per arm\" for the same single-sled machine. We assume SR is the along-rail force with no plates.",
    "how_to_measure": "Crane scale + ratchet strap in series, sled empty (protocol §4)."
   },
   {
    "symbol": "μ",
    "name": "Rolling friction coefficient of the sled bearings",
    "value": null,
    "unit": "-",
    "status": "sourced",
    "uncertainty": {
     "type": "bounds",
     "low": 0.001,
     "high": 0.01,
     "basis": "THK table 4: linear bushing (0.001) up to LM roller (0.01). Hammer only says \"linear guide rods, equipped with sealed ball bearings\" – exact bearing type unknown; seal drag not included."
    },
    "source": {
     "type": "engineering_reference",
     "url": "https://tech.thk.com/en/products/pdf/en_b00_015.pdf",
     "quote": "Linear bushing LM, LMK, LMF, SC 0.001 to 0.003 … LM roller LR, LRA 0.005 to 0.01",
     "date": "2026-10-17"
    },
    "note": "Friction raises the force while pushing up (concentric) and lowers it while lowering (eccentric). Static value lies in between.",
    "how_to_measure": null
   },
   {
    "symbol": "P",
    "name": "Plate mass added (label value)",
    "value": null,
    "unit": "kg",
    "status": "setting",
    "uncertainty": null,
    "source": null,
    "note": "Plate labels are taken at face value; real plate mass tolerance is not modelled.",
    "how_to_measure": null
   }
  ],
  "unknown_unmodelled": [
   "Seal drag of the \"sealed ball bearings\" (not in THK figures)",
   "Real mass of the plates vs. their label",
   "Whether the manufacturer SR already includes friction"
  ],
  "doc": "docs/models/hammer-strength-plate-loaded-linear-leg-press.html",
  "doc_md": "docs/models/hammer-strength-plate-loaded-linear-leg-press.md",
  "diagram": "docs/models/img/hammer-strength-plate-loaded-linear-leg-press.svg",
  "counts": {
   "sourced": 3,
   "to_measure": 0,
   "setting": 1
  },
  "assumptions": [
   "θ"
  ],
  "results": [
   {
    "setting": 0,
    "nominal": 53.523899660000005,
    "low": 52.745195812144054,
    "high": 54.30730059434835
   },
   {
    "setting": 20,
    "nominal": 67.66603528373095,
    "low": 66.49449526125628,
    "high": 68.79548796202067
   },
   {
    "setting": 40,
    "nominal": 81.8081709074619,
    "low": 80.24379471036849,
    "high": 83.3212156428855
   },
   {
    "setting": 60,
    "nominal": 95.95030653119285,
    "low": 93.9930941594807,
    "high": 97.84694332375031
   },
   {
    "setting": 80,
    "nominal": 110.0924421549238,
    "low": 107.7423936085929,
    "high": 112.37267100461516
   },
   {
    "setting": 100,
    "nominal": 124.23457777865474,
    "low": 121.49169305770512,
    "high": 126.89839868547996
   },
   {
    "setting": 120,
    "nominal": 138.3767134023857,
    "low": 135.24099250681735,
    "high": 141.42412636634478
   },
   {
    "setting": 140,
    "nominal": 152.51884902611664,
    "low": 148.99029195592956,
    "high": 155.9498540472096
   },
   {
    "setting": 160,
    "nominal": 166.6609846498476,
    "low": 162.73959140504178,
    "high": 170.47558172807442
   },
   {
    "setting": 180,
    "nominal": 180.80312027357854,
    "low": 176.48889085415396,
    "high": 185.00130940893922
   },
   {
    "setting": 200,
    "nominal": 194.9452558973095,
    "low": 190.23819030326618,
    "high": 199.52703708980408
   },
   {
    "setting": 250,
    "nominal": 230.30059495663687,
    "low": 224.61143892604673,
    "high": 235.84135629196612
   },
   {
    "setting": 300,
    "nominal": 265.65593401596425,
    "low": 258.98468754882725,
    "high": 272.15567549412816
   },
   {
    "setting": 400,
    "nominal": 336.36661213461895,
    "low": 327.73118479438835,
    "high": 344.7843138984523
   },
   {
    "setting": 500,
    "nominal": 407.0772902532737,
    "low": 396.47768203994946,
    "high": 417.4129523027764
   },
   {
    "setting": 600,
    "nominal": 477.78796837192846,
    "low": 465.22417928551056,
    "high": 490.0415907071005
   },
   {
    "setting": 700,
    "nominal": 548.4986464905833,
    "low": 533.9706765310715,
    "high": 562.6702291114246
   },
   {
    "setting": 800,
    "nominal": 619.2093246092379,
    "low": 602.7171737766325,
    "high": 635.2988675157487
   }
  ]
 },
 {
  "id": "hammer-strength-iso-lateral-bench-press",
  "machine_id": "hammer-strength-iso-lateral-bench-press",
  "brand": "Hammer Strength",
  "title": "Hammer Strength Plate-Loaded Iso-Lateral Bench Press (IL-BP)",
  "kind": "lever_plate",
  "status": "parametric",
  "formula": "F(θ) = SR(θ) + P·x_p(θ)/L_h   (per arm, force perpendicular to the pivot→grip line)",
  "setting_kind": "plates_added",
  "inputs": [
   {
    "symbol": "SR",
    "name": "Starting resistance per work-arm",
    "value": 3.2,
    "unit": "kg",
    "status": "sourced",
    "uncertainty": {
     "type": "pm",
     "value": 0.226796185,
     "basis": "rounding of \"7 lb\""
    },
    "source": {
     "type": "manufacturer_page",
     "url": "https://www.lifefitness.com/en-us/catalog/strength-training/plate-loaded/plate-loaded-iso-lateral-bench-press",
     "quote": "7 lb (3.2 kg)",
     "date": "2026-10-17",
     "note": "Spec table row \"Starting Resistance (per arm)\""
    },
    "note": "7 lb = 3.18 kg. ROM position at which Hammer defines SR is not stated, so SR(θ) at mid/end is unknown.",
    "how_to_measure": "Crane scale at the grip, empty arm, start/mid/end."
   },
   {
    "symbol": "L_h",
    "name": "Pivot axis → centre of grip",
    "value": null,
    "unit": "m",
    "status": "to_measure",
    "uncertainty": null,
    "source": null,
    "note": null,
    "how_to_measure": "Tape from the centre of the pivot bolt to the centre of the hand position (±3 mm)."
   },
   {
    "symbol": "x_p(θ)",
    "name": "Horizontal distance pivot axis → plate horn axis, at start/mid/end",
    "value": null,
    "unit": "m",
    "status": "to_measure",
    "uncertainty": null,
    "source": null,
    "note": null,
    "how_to_measure": "Plumb line (string + carabiner) hanging from the horn end, tape horizontally to below the pivot. Repeat at start/mid/end."
   },
   {
    "symbol": "θ",
    "name": "Arm angle at start/mid/end",
    "value": null,
    "unit": "deg",
    "status": "to_measure",
    "uncertainty": null,
    "source": null,
    "note": null,
    "how_to_measure": "Phone level on the arm tube."
   },
   {
    "symbol": "P",
    "name": "Plates added per arm (label)",
    "value": null,
    "unit": "kg",
    "status": "setting",
    "uncertainty": null,
    "source": null,
    "note": null,
    "how_to_measure": null
   }
  ],
  "why_parametric": "No official dimension drawing with pivot/horn/grip positions was found. Design patent US D321025 (Hammer Corp., 1991, \"isolateral dumbbell press\") only claims an ornamental design: its figures are not dimensioned and not to scale, so lengths cannot be read off it.",
  "unknown_unmodelled": [
   "Bearing friction at the pivot",
   "Exact SR definition point"
  ],
  "doc": "docs/models/hammer-strength-iso-lateral-bench-press.html",
  "doc_md": "docs/models/hammer-strength-iso-lateral-bench-press.md",
  "diagram": "docs/models/img/hammer-strength-iso-lateral-bench-press.svg",
  "counts": {
   "sourced": 1,
   "to_measure": 3,
   "setting": 1
  },
  "assumptions": [],
  "results": null
 },
 {
  "id": "hammer-strength-hammer-strength-select-lat-pulldown",
  "machine_id": "hammer-strength-hammer-strength-select-lat-pulldown",
  "brand": "Hammer Strength",
  "title": "Hammer Strength Select Lat Pulldown (HS-PD)",
  "kind": "selectorized_ratio",
  "status": "parametric",
  "formula": "T_clip = W · R · η^n   with R = Δs_stack / Δs_handle (virtual work)",
  "setting_kind": "stack_pin",
  "inputs": [
   {
    "symbol": "W",
    "name": "Selected stack label",
    "value": null,
    "unit": "kg",
    "status": "setting",
    "uncertainty": null,
    "source": {
     "type": "manufacturer_manual",
     "url": "https://kb.cybexintl.com/Owners_Manuals/Strength/Hammer_Select_9510901.pdf",
     "quote": "Product Code: HS-PD … Weight Stack: 295 lbs. 138 kg",
     "date": "2026-10-17",
     "page": "31 of 73"
    },
    "note": "Stack range sourced (295 lb / 138 kg); plate increments not stated in the manual.",
    "how_to_measure": null
   },
   {
    "symbol": "R",
    "name": "Cable ratio stack travel / bar travel",
    "value": null,
    "unit": "-",
    "status": "to_measure",
    "uncertainty": null,
    "source": null,
    "note": "The owner's manual (9510901 Rev BC) has no cable-routing diagram, so a movable (doubling) pulley cannot be excluded.",
    "how_to_measure": "Pull the bar 30 cm, measure how far the top plate rises (tape on the guide rod). R = stack rise / bar travel."
   },
   {
    "symbol": "n",
    "name": "Number of pulleys the cable runs over",
    "value": null,
    "unit": "-",
    "status": "to_measure",
    "uncertainty": null,
    "source": null,
    "note": null,
    "how_to_measure": "Count pulleys from the top plate to the clip (photo)."
   },
   {
    "symbol": "η",
    "name": "Efficiency per pulley",
    "value": null,
    "unit": "-",
    "status": "sourced",
    "uncertainty": {
     "type": "bounds",
     "low": 0.96,
     "high": 1.0,
     "basis": "crane-sheave table: 0.96 (bronze bushing) to 0.98 (anti-friction); 1.0 = ideal"
    },
    "source": {
     "type": "engineering_reference",
     "url": "https://www.certex.com/blocks-sheaves/how-to-figure-line-parts/",
     "quote": "Ratio A Bronze Brushed Sheaves | Ratio B Anti-Friction Bearing Sheaves | Number of Line Parts … .96 | .98 | 1",
     "date": "2026-10-17",
     "note": "Table header and first row (1 line part)"
    },
    "note": null,
    "how_to_measure": null
   }
  ],
  "why_parametric": "Pulley ratio R is not published by Hammer Strength / Life Fitness and the manual shows no routing.",
  "doc": "docs/models/hammer-strength-hammer-strength-select-lat-pulldown.html",
  "doc_md": "docs/models/hammer-strength-hammer-strength-select-lat-pulldown.md",
  "diagram": "docs/models/img/hammer-strength-hammer-strength-select-lat-pulldown.svg",
  "counts": {
   "sourced": 1,
   "to_measure": 2,
   "setting": 1
  },
  "assumptions": [],
  "results": null
 },
 {
  "id": "technogym-selection-700-lat-machine",
  "machine_id": "technogym-selection-700-lat-machine",
  "brand": "Technogym",
  "title": "Technogym Selection 700 Lat Machine (MNLC)",
  "kind": "cable_fixed_pulleys",
  "status": "computed",
  "formula": "T_clip = W (static) ; W/η² while lifting ; W·η² while lowering",
  "setting_kind": "stack_pin",
  "inputs": [
   {
    "symbol": "W",
    "name": "Selected stack label",
    "value": null,
    "unit": "kg",
    "status": "setting",
    "uncertainty": null,
    "source": {
     "type": "manufacturer_page",
     "url": "https://www.technogym.com/en-INT/product/selection-700-lat-machine_MNLC.html",
     "quote": "90 kg | 198 lbs",
     "date": "2026-10-17",
     "note": "Standard stack; the same page lists 130 kg | 287 lbs as the increased stack"
    },
    "note": "Plate increments are not published; the model holds for any label.",
    "how_to_measure": null
   },
   {
    "symbol": "R",
    "name": "Cable ratio",
    "value": 1,
    "unit": "-",
    "status": "sourced",
    "uncertainty": {
     "type": "pm",
     "value": 0,
     "basis": "Figure shows two fixed pulleys and the bar clip on the cable end, no movable pulley → exactly 1:1 if the figure matches the machine"
    },
    "source": {
     "type": "manufacturer_manual",
     "url": "https://www.easymanua.ls/technogym/selection-700/manual?p=68",
     "quote": "2.8.12 MNLC- LAT MACHINE Fig. 67",
     "date": "2026-10-17",
     "page": "68 (Fig. 67)",
     "note": "Figure read by us: stack → rear top pulley → front top pulley → bar clip on the cable end. SELECTION 700 Technical Service Guide Rev. 2.0 (Technogym document, read on the easymanua.ls mirror). The \"doubling pulley\" section (p. 213) lists MNAC, MNDC, MNEC, MNFC, MNGC, MNHC, MNKC, MNNC – not MNLC."
    },
    "note": null,
    "how_to_measure": "Check: bar travel = stack travel (R should be 1.00)."
   },
   {
    "symbol": "n",
    "name": "Pulleys between stack and clip",
    "value": 2,
    "unit": "-",
    "status": "sourced",
    "uncertainty": null,
    "source": {
     "type": "manufacturer_manual",
     "url": "https://www.easymanua.ls/technogym/selection-700/manual?p=68",
     "quote": "2.8.12 MNLC- LAT MACHINE Fig. 67",
     "date": "2026-10-17",
     "page": "68",
     "note": "Figure read by us: 2 pulleys at the top of the frame"
    },
    "note": null,
    "how_to_measure": null
   },
   {
    "symbol": "η",
    "name": "Efficiency per pulley",
    "value": null,
    "unit": "-",
    "status": "sourced",
    "uncertainty": {
     "type": "bounds",
     "low": 0.96,
     "high": 1.0,
     "basis": "0.96 (bronze bushing) to ideal 1.0; crane wire-rope data, applied to gym pulleys as an approximation"
    },
    "source": {
     "type": "engineering_reference",
     "url": "https://www.certex.com/blocks-sheaves/how-to-figure-line-parts/",
     "quote": "Ratio A Bronze Brushed Sheaves | Ratio B Anti-Friction Bearing Sheaves | Number of Line Parts … .96 | .98 | 1",
     "date": "2026-10-17",
     "note": "Table header and first row (1 line part)"
    },
    "note": null,
    "how_to_measure": null
   }
  ],
  "defined_at": "Cable tension at the clip (bar removed). The bar's own weight helps the user and is NOT included (its mass is not published).",
  "unknown_unmodelled": [
   "Guide-rod friction of the stack",
   "Real mass of the stack plates vs. label (top plate / selector rod included or not)",
   "Weight of the bar (lowers the felt load)"
  ],
  "doc": "docs/models/technogym-selection-700-lat-machine.html",
  "doc_md": "docs/models/technogym-selection-700-lat-machine.md",
  "diagram": "docs/models/img/technogym-selection-700-lat-machine.svg",
  "counts": {
   "sourced": 3,
   "to_measure": 0,
   "setting": 1
  },
  "assumptions": [],
  "results": [
   {
    "setting": 10,
    "nominal": 10,
    "low": 9.216,
    "high": 10.850694444444445
   },
   {
    "setting": 20,
    "nominal": 20,
    "low": 18.432,
    "high": 21.70138888888889
   },
   {
    "setting": 30,
    "nominal": 30,
    "low": 27.648,
    "high": 32.552083333333336
   },
   {
    "setting": 40,
    "nominal": 40,
    "low": 36.864,
    "high": 43.40277777777778
   },
   {
    "setting": 50,
    "nominal": 50,
    "low": 46.08,
    "high": 54.25347222222222
   },
   {
    "setting": 60,
    "nominal": 60,
    "low": 55.296,
    "high": 65.10416666666667
   },
   {
    "setting": 70,
    "nominal": 70,
    "low": 64.512,
    "high": 75.95486111111111
   },
   {
    "setting": 80,
    "nominal": 80,
    "low": 73.728,
    "high": 86.80555555555556
   },
   {
    "setting": 90,
    "nominal": 90,
    "low": 82.944,
    "high": 97.65625
   }
  ]
 },
 {
  "id": "technogym-pure-strength-linear-leg-press",
  "machine_id": "technogym-pure-strength-linear-leg-press",
  "brand": "Technogym",
  "title": "Technogym Pure Strength Linear Leg Press (MG7500)",
  "kind": "incline_sled_plate",
  "status": "parametric",
  "formula": "F = SR + P·sin(θ) ± friction",
  "setting_kind": "plates_added",
  "inputs": [
   {
    "symbol": "SR",
    "name": "Starting resistance without plates",
    "value": 46,
    "unit": "kg",
    "status": "sourced",
    "uncertainty": {
     "type": "pm",
     "value": 0.5,
     "basis": "rounding of \"46 kg\""
    },
    "source": {
     "type": "manufacturer_page",
     "url": "https://www.technogym.com/en-INT/product/pure-strength-linear-leg-press_MG75.html",
     "quote": "46 kg | 101 lb (without plates)",
     "date": "2026-10-17"
    },
    "note": "Technogym also states \"a constant load profile\", consistent with a straight sled (force independent of ROM).",
    "how_to_measure": null
   },
   {
    "symbol": "θ",
    "name": "Sled travel angle to horizontal",
    "value": null,
    "unit": "deg",
    "status": "to_measure",
    "uncertainty": null,
    "source": null,
    "note": "Not published. The angle figures on the product page are the BACKREST angles, not the sled angle. The catalogue picture is a perspective photo, not a dimension drawing, so no angle was measured from it.",
    "how_to_measure": "Phone inclinometer on the guide rail, 3 readings."
   },
   {
    "symbol": "μ",
    "name": "Friction coefficient",
    "value": null,
    "unit": "-",
    "status": "to_measure",
    "uncertainty": null,
    "source": null,
    "note": null,
    "how_to_measure": "From the difference between lifting and lowering readings (protocol §4)."
   },
   {
    "symbol": "P",
    "name": "Plates added (label)",
    "value": null,
    "unit": "kg",
    "status": "setting",
    "uncertainty": null,
    "source": null,
    "note": null,
    "how_to_measure": null
   }
  ],
  "why_parametric": "Sled angle θ is not published; without it the plate contribution P·sin θ cannot be computed.",
  "doc": "docs/models/technogym-pure-strength-linear-leg-press.html",
  "doc_md": "docs/models/technogym-pure-strength-linear-leg-press.md",
  "diagram": "docs/models/img/technogym-pure-strength-linear-leg-press.svg",
  "counts": {
   "sourced": 1,
   "to_measure": 2,
   "setting": 1
  },
  "assumptions": [],
  "results": null
 },
 {
  "id": "technogym-selection-700-leg-press",
  "machine_id": "technogym-selection-700-leg-press",
  "brand": "Technogym",
  "title": "Technogym Selection 700 Leg Press (MNAC)",
  "kind": "selectorized_ratio",
  "status": "parametric",
  "formula": "F_footplate = W · R · η^n   with R = Δs_stack / Δs_footplate",
  "setting_kind": "stack_pin",
  "inputs": [
   {
    "symbol": "W",
    "name": "Selected stack label",
    "value": null,
    "unit": "kg",
    "status": "setting",
    "uncertainty": null,
    "source": {
     "type": "manufacturer_manual",
     "url": "https://www.easymanua.ls/technogym/selection-700/manual?p=13",
     "quote": "MNAC- LEG PRESS … Standard weight stack 190 kg (419 lb) Increased weight stack 250 kg (551 lb)",
     "date": "2026-10-17",
     "page": "13"
    },
    "note": "The product page says \"190 kg | 380 lbs\"; 190 kg is 419 lb, so the page's lb figure is inconsistent.",
    "how_to_measure": null
   },
   {
    "symbol": "R",
    "name": "Cable ratio (doubling pulley present)",
    "value": null,
    "unit": "-",
    "status": "to_measure",
    "uncertainty": null,
    "source": {
     "type": "manufacturer_manual",
     "url": "https://www.easymanua.ls/technogym/selection-700/manual?p=211",
     "quote": "ADJUSTING THE TENSION OF THE CABLE WITH DOUBLING PULLEY This operation applies to MNAC- LEG PRESS, …",
     "date": "2026-10-17",
     "page": "213"
    },
    "note": "The service guide confirms a doubling pulley, so R ≠ 1, but the routing figure (p. 58, Fig. 56) does not show whether the movable pulley rides on the stack (R = 0.5) or on the carriage (R = 2). We do not guess.",
    "how_to_measure": "Push the footplate/carriage 20 cm; measure the stack rise. R = stack rise / carriage travel."
   },
   {
    "symbol": "n",
    "name": "Pulleys in the path",
    "value": null,
    "unit": "-",
    "status": "to_measure",
    "uncertainty": null,
    "source": null,
    "note": null,
    "how_to_measure": "Count on site (photo)."
   },
   {
    "symbol": "η",
    "name": "Efficiency per pulley",
    "value": null,
    "unit": "-",
    "status": "sourced",
    "uncertainty": {
     "type": "bounds",
     "low": 0.96,
     "high": 1.0,
     "basis": "crane-sheave table"
    },
    "source": {
     "type": "engineering_reference",
     "url": "https://www.certex.com/blocks-sheaves/how-to-figure-line-parts/",
     "quote": "Ratio A Bronze Brushed Sheaves | Ratio B Anti-Friction Bearing Sheaves | Number of Line Parts … .96 | .98 | 1",
     "date": "2026-10-17",
     "note": "Table header and first row (1 line part)"
    },
    "note": null,
    "how_to_measure": null
   }
  ],
  "why_parametric": "Doubling-pulley direction not determinable from the official figure.",
  "doc": "docs/models/technogym-selection-700-leg-press.html",
  "doc_md": "docs/models/technogym-selection-700-leg-press.md",
  "diagram": "docs/models/img/technogym-selection-700-leg-press.svg",
  "counts": {
   "sourced": 1,
   "to_measure": 2,
   "setting": 1
  },
  "assumptions": [],
  "results": null
 },
 {
  "id": "gym80-pure-kraft-45-degrees-linear-leg-press",
  "machine_id": "gym80-pure-kraft-45-degrees-linear-leg-press",
  "brand": "gym80",
  "title": "gym80 4023 Pure Kraft 45 Degrees Linear Leg Press",
  "kind": "incline_sled_plate",
  "status": "partial",
  "formula": "F = SR + P·sin(45°) ± friction  → plate part known (0.707·P), SR unknown",
  "setting_kind": "plates_added",
  "inputs": [
   {
    "symbol": "θ",
    "name": "Rail angle to horizontal",
    "value": 45,
    "unit": "deg",
    "status": "sourced",
    "uncertainty": {
     "type": "pm",
     "value": 1,
     "basis": "ASSUMPTION (not sourced): ±1°; replace with inclinometer reading"
    },
    "source": {
     "type": "manufacturer_page",
     "url": "https://gym80.de/en/product/4023/",
     "quote": "4023 PURE KRAFT 45 DEGREES LINEAR LEG PRESS",
     "date": "2026-10-17"
    },
    "note": "Angle taken from the official product name; we assume it is the sled travel angle.",
    "how_to_measure": null
   },
   {
    "symbol": "SR",
    "name": "Starting resistance (empty sled)",
    "value": null,
    "unit": "kg",
    "status": "to_measure",
    "uncertainty": null,
    "source": null,
    "note": "Not published. Only the total machine weight and the max load are stated – the sled mass is not.",
    "how_to_measure": "Crane scale + ratchet strap, sled empty."
   },
   {
    "symbol": "μ",
    "name": "Friction coefficient",
    "value": null,
    "unit": "-",
    "status": "to_measure",
    "uncertainty": null,
    "source": null,
    "note": null,
    "how_to_measure": "Lifting vs lowering readings."
   },
   {
    "symbol": "P",
    "name": "Plates added (label)",
    "value": null,
    "unit": "kg",
    "status": "setting",
    "uncertainty": null,
    "source": null,
    "note": null,
    "how_to_measure": null
   }
  ],
  "why_parametric": "Starting resistance missing, so absolute values cannot be given; only the plate part of the force (P·sin θ, with its angle band) is computed – see the table in the derivation.",
  "doc": "docs/models/gym80-pure-kraft-45-degrees-linear-leg-press.html",
  "doc_md": "docs/models/gym80-pure-kraft-45-degrees-linear-leg-press.md",
  "diagram": "docs/models/img/gym80-pure-kraft-45-degrees-linear-leg-press.svg",
  "counts": {
   "sourced": 1,
   "to_measure": 2,
   "setting": 1
  },
  "assumptions": [
   "θ"
  ],
  "results": null
 },
 {
  "id": "gym80-seated-chest-press",
  "machine_id": "gym80-seated-chest-press",
  "brand": "gym80",
  "title": "gym80 3016 Seated Chest Press (Sygnum)",
  "kind": "selectorized_ratio",
  "status": "parametric",
  "formula": "F_handle(θ) = W · R(θ) · η^n   with R(θ) = Δs_stack / Δs_handle measured at start / mid / end",
  "setting_kind": "stack_pin",
  "inputs": [
   {
    "symbol": "W",
    "name": "Selected stack label",
    "value": null,
    "unit": "kg",
    "status": "setting",
    "uncertainty": null,
    "source": {
     "type": "manufacturer_page",
     "url": "https://gym80.de/en/product/3016/",
     "quote": "Standard weight-stack: 135 (optional 165) kg",
     "date": "2026-10-17"
    },
    "note": null,
    "how_to_measure": null
   },
   {
    "symbol": "label accuracy",
    "name": "Stack labels are not calibrated",
    "value": null,
    "unit": "-",
    "status": "sourced",
    "uncertainty": null,
    "source": {
     "type": "manufacturer_manual",
     "url": "https://gym80.de/wp-content/uploads/2025/11/Gebrauchsanweisung-gym80_2025.pdf",
     "quote": "KG-Angaben: Die aufgedruckten KG-Angaben auf den Steckgewichten sind Anhaltswerte und nicht geeicht. Die auf den Patienten wirkende Kraft bzw. Drehmomente sind durch Gerätespezifische Über- und Untersetzungen bzw. durch die integrierte Drehmomentkurve der Geräte nicht identisch und stimmen nicht mit den KG Angaben an den Steckgewichten überein.",
     "date": "2026-10-17",
     "page": "4.1",
     "note": "(our translation) \"The kg figures printed on the stack plates are guide values and not calibrated. The force or torque acting on the user is, because of machine-specific gear-up/gear-down ratios or the integrated torque curve, not identical to and does not match the kg figures on the stack plates.\""
    },
    "note": "gym80 itself says handle force ≠ stack label because of machine-specific ratios and the built-in torque curve (cam).",
    "how_to_measure": null
   },
   {
    "symbol": "R(θ)",
    "name": "Overall ratio (pulleys × cam × lever) at start/mid/end",
    "value": null,
    "unit": "-",
    "status": "to_measure",
    "uncertainty": null,
    "source": null,
    "note": null,
    "how_to_measure": "Move the handle in 5 cm steps around each ROM point; measure the stack rise each time. R = Δstack / Δhandle (measure along the handle path)."
   },
   {
    "symbol": "n, η",
    "name": "Pulleys and their efficiency",
    "value": null,
    "unit": "-",
    "status": "to_measure",
    "uncertainty": {
     "type": "bounds",
     "low": 0.96,
     "high": 1.0,
     "basis": "crane-sheave table"
    },
    "source": {
     "type": "engineering_reference",
     "url": "https://www.certex.com/blocks-sheaves/how-to-figure-line-parts/",
     "quote": "Ratio A Bronze Brushed Sheaves | Ratio B Anti-Friction Bearing Sheaves | Number of Line Parts … .96 | .98 | 1",
     "date": "2026-10-17",
     "note": "Table header and first row (1 line part)"
    },
    "note": null,
    "how_to_measure": null
   }
  ],
  "why_parametric": "gym80 publishes no ratios, cam profiles or dimension drawings (product sheet and 2025 instructions for use checked); the spare-parts brochure lists fixed pulley diameters, but fixed pulley diameters do not change the ratio.",
  "doc": "docs/models/gym80-seated-chest-press.html",
  "doc_md": "docs/models/gym80-seated-chest-press.md",
  "diagram": "docs/models/img/gym80-seated-chest-press.svg",
  "counts": {
   "sourced": 1,
   "to_measure": 2,
   "setting": 1
  },
  "assumptions": [],
  "results": null
 },
 {
  "id": "gym80-lat-pulldown-machine",
  "machine_id": "gym80-lat-pulldown-machine",
  "brand": "gym80",
  "title": "gym80 3020 Lat Pulldown Machine (Sygnum)",
  "kind": "selectorized_ratio",
  "status": "parametric",
  "formula": "F_handle(θ) = W · R(θ) · η^n   with R(θ) = Δs_stack / Δs_handle measured at start / mid / end",
  "setting_kind": "stack_pin",
  "inputs": [
   {
    "symbol": "W",
    "name": "Selected stack label",
    "value": null,
    "unit": "kg",
    "status": "setting",
    "uncertainty": null,
    "source": {
     "type": "manufacturer_page",
     "url": "https://gym80.de/en/product/3020/",
     "quote": "Standard weight-stack: 135 (optional 165) kg",
     "date": "2026-10-17"
    },
    "note": null,
    "how_to_measure": null
   },
   {
    "symbol": "label accuracy",
    "name": "Stack labels are not calibrated",
    "value": null,
    "unit": "-",
    "status": "sourced",
    "uncertainty": null,
    "source": {
     "type": "manufacturer_manual",
     "url": "https://gym80.de/wp-content/uploads/2025/11/Gebrauchsanweisung-gym80_2025.pdf",
     "quote": "KG-Angaben: Die aufgedruckten KG-Angaben auf den Steckgewichten sind Anhaltswerte und nicht geeicht. Die auf den Patienten wirkende Kraft bzw. Drehmomente sind durch Gerätespezifische Über- und Untersetzungen bzw. durch die integrierte Drehmomentkurve der Geräte nicht identisch und stimmen nicht mit den KG Angaben an den Steckgewichten überein.",
     "date": "2026-10-17",
     "page": "4.1",
     "note": "(our translation) \"The kg figures printed on the stack plates are guide values and not calibrated. The force or torque acting on the user is, because of machine-specific gear-up/gear-down ratios or the integrated torque curve, not identical to and does not match the kg figures on the stack plates.\""
    },
    "note": "gym80 itself says handle force ≠ stack label because of machine-specific ratios and the built-in torque curve (cam).",
    "how_to_measure": null
   },
   {
    "symbol": "R(θ)",
    "name": "Overall ratio (pulleys × cam × lever) at start/mid/end",
    "value": null,
    "unit": "-",
    "status": "to_measure",
    "uncertainty": null,
    "source": null,
    "note": null,
    "how_to_measure": "Move the handle in 5 cm steps around each ROM point; measure the stack rise each time. R = Δstack / Δhandle (measure along the handle path)."
   },
   {
    "symbol": "n, η",
    "name": "Pulleys and their efficiency",
    "value": null,
    "unit": "-",
    "status": "to_measure",
    "uncertainty": {
     "type": "bounds",
     "low": 0.96,
     "high": 1.0,
     "basis": "crane-sheave table"
    },
    "source": {
     "type": "engineering_reference",
     "url": "https://www.certex.com/blocks-sheaves/how-to-figure-line-parts/",
     "quote": "Ratio A Bronze Brushed Sheaves | Ratio B Anti-Friction Bearing Sheaves | Number of Line Parts … .96 | .98 | 1",
     "date": "2026-10-17",
     "note": "Table header and first row (1 line part)"
    },
    "note": null,
    "how_to_measure": null
   }
  ],
  "why_parametric": "gym80 publishes no ratios, cam profiles or dimension drawings (product sheet and 2025 instructions for use checked); the spare-parts brochure lists fixed pulley diameters, but fixed pulley diameters do not change the ratio.",
  "doc": "docs/models/gym80-lat-pulldown-machine.html",
  "doc_md": "docs/models/gym80-lat-pulldown-machine.md",
  "diagram": "docs/models/img/gym80-lat-pulldown-machine.svg",
  "counts": {
   "sourced": 1,
   "to_measure": 2,
   "setting": 1
  },
  "assumptions": [],
  "results": null
 }
]