cnc_time_estimate
Estimate CNC machining time from a 3D model and material using removal-rate modeling, delivering roughing, finishing, and setup breakdowns for cost estimation.
Instructions
Machining time for a live solid from a material-removal-rate model — the
honest cnc machine time cost_estimate's flat volume table cannot give.
stock = bbox grown by stock_allowance_mm per side
roughing_min = (stock − part volume) / MRR(material)
finishing_min = machined face area / finish area-rate(material)
total = (roughing + finishing)/utilisation · tolerance factor
+ setups · setup_minMRR is per material class (aluminium 60, steel 12, stainless 6, titanium 2.5
cm³/min …) — ratios that track the standard machinability ratings amplified by
the depth-of-cut headroom a soft alloy allows on the same spindle. Stock-envelope
faces are excluded from the finishing area: facing a billet is not finishing a
pocket. setups defaults to the count cnc_machinability_check derives from the
same solid, so the two tiers agree. tolerance_class ('IT7', 7, …) scales the
cutting time through the shared tolerance-cost corpus, so a tolerance costs the
same here as in tolerance_cost_check.
fidelity='correlation', band_pct=50 — the RSS of MRR scatter (±40 %) and
cut-time utilisation scatter (±25 %), against the flat table's ±100 %; supply a
measured mrr_cm3_min and it tightens to 30. Feed machine_time_hr into
cost_estimate(machine_time_hr=…) to replace the table there too.
Returns {machine_time_min, machine_time_hr, roughing_min, finishing_min, cutting_min, setup_min_total, removed_volume_mm3, stock_volume_mm3, removal_fraction, machined_area_mm2, setups, setups_basis, material_class, material_basis, mrr_cm3_min, finish_cm2_min, utilisation, tolerance, bbox_mm, part_volume_mm3, fidelity, band_pct, basis, warnings, next}.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| model | Yes | ||
| setups | No | ||
| material | Yes | ||
| setup_min | No | ||
| mrr_cm3_min | No | ||
| utilisation | No | ||
| finish_cm2_min | No | ||
| tolerance_class | No | ||
| stock_allowance_mm | No |