How the estimate is calculated
Two ways in, one model
An uploaded STL gives the exact part volume, surface area and overhang area. Without a file, the same three quantities are estimated from the bounding box, the occupancy figure and the complexity tier. Everything after that is identical, so the two routes stay comparable.
Material
An FDM part is a solid skin over a sparse core, so material tracks surface area at least as much as volume. Shell and infill are modelled separately rather than multiplying volume by a single fudge factor:
shell_volume = min(surface_area × wall_thickness, part_volume)core_volume = part_volume − shell_volumeprinted_volume = shell_volume + core_volume × infill_densitysupport_volume = overhang_area × height × 0.35 × 0.15material_cost = (printed_volume + support_volume) × density × cost_per_gram × material_grade
Time
Volumetric throughput sets the floor, but a tall part with small layers is limited by per-layer overhead instead — Z moves, travel and minimum layer time. Ignoring that badly underestimates small, detailed parts:
effective_flow = flow_rate × flow_efficiency ÷ complexityextrusion_time = material_volume ÷ effective_flowlayer_overhead = ceil(height ÷ layer_height) × 6 sprint_time = extrusion_time + layer_overhead
Machine, labour and scrap
electricity = print_time × (watts ÷ 1000) × price_per_kWhdepreciation = (printer_cost ÷ lifespan_hours) × print_timepost_processing = base_hours × complexity × (1 + support_ratio)setup = setup_hours × number_of_plates, where plates come from how many parts fit the bedscrap_rate = (0.01 with UPS, else 0.05) × complexity × qc_factor, capped at 60 %design = design_cost × complexity × design_effort, once per job, only when the design does not exist
Purpose factors
Purpose affects three different things, so it is not one multiplier applied everywhere. A critical part needs better material and much more inspection and design validation, but not 2.5× the plastic.
| Purpose | Material grade | QC / scrap | Design effort |
| General / decoration | 1.00 | 1.0 | 1.0 |
| Prototype | 0.90 | 0.8 | 0.8 |
| Functional / spare part | 1.15 | 1.2 | 1.2 |
| Critical / medical | 1.60 | 2.5 | 2.5 |
Totals
unit_manufacturing = (material + electricity + depreciation + post_processing) × (1 + scrap_rate)total = unit_manufacturing × quantity + setup + designunit_incl_design = total ÷ quantity
Not included
Packaging, shipping, import duties and customs are too context-specific to estimate here. Filament drying, failed-print disposal and printer maintenance beyond straight-line depreciation are also excluded.