tolerance_cost_check
Price a tolerance scheme against the process that must hold it: flags tolerances needing a secondary operation and compares total cost index across schemes.
Instructions
Price a tolerance scheme against the process that has to hold it — the missing link between tolerance_stackup ("what tolerance works") and cost_estimate ("what does it cost").
Per toleranced dimension: its ISO 286 IT grade as a FLOAT (a band between IT6
and IT7 reports 6.4, not 7), the cheapest machining operation that holds that
grade naturally (drilling ~IT11, milling ~IT10, turning ~IT9, reaming ~IT7,
grinding ~IT6), a relative cost index normalised to 1.0 at process's natural
capability, and a verdict: 'ok', 'in_process_tightening' (tighter but reachable
in the same operation), or 'needs_secondary_operation' — the flag, meaning the
part silently acquired an operation nobody costed. pass is false when any link
flags. Cost roughly doubles every 1.5 IT grades tightened below natural
capability; above it only inspection/scrap falls. total_cost_index is the sum,
so two tolerance SCHEMES over the same chain compare directly.
chain is the same [{name, nominal, plus, minus | tol}] tolerance_stackup
takes; instead pass a live handle (+ axis, default_tol, general) and the
chain is derived off the solid the same way. process: cnc | injection |
casting | sheet | fdm | drilling | milling | turning | boring | reaming |
grinding | honing | lapping.
fidelity='correlation', band_pct=50 — the RATIOS are defensible, the absolute index is dimensionless and is not money. Returns {process, links:[{name, nominal_mm, band_mm, it_grade, cost_index, verdict, cheapest_operation, natural_it, note}], n_links, total_cost_index, mean_cost_index, flagged, pass, fidelity, band_pct, basis, escalate_to}.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| axis | No | +z | |
| chain | No | ||
| handle | No | ||
| general | No | m | |
| process | No | cnc | |
| default_tol | No |