← Blog

What does a 3D print actually cost?

Separate measured filament and duration from electricity, failures, machine wear, and labor so a hobby estimate or customer quote is honest.

cost-trackingguidefilament

Filament price multiplied by slicer-estimated grams is a useful minimum cost. It is not the full cost of making a part, and even the filament number changes when the selected spool has a different price or density.

A practical calculation separates values the printer can measure from rates you still have to choose.

Start with filament

Before a print, use the slicer’s estimated weight and the selected material’s price. PrintStash can store material profiles for this calculation. With Spoolman connected, it can use the chosen spool’s actual filament price, density, and diameter instead of a generic material preset.

For completed Moonraker jobs, PrintStash records the filament usage reported by the printer. That measured value is a better historical reference than the original estimate, although it still represents what the firmware reports rather than a scale reading of every purge and discarded strand.

Other printer providers do not currently return measured filament use to PrintStash. Their print records retain the available slicer estimate.

Add electricity

PrintStash does not measure power. Use a plug-in energy meter for the best number, or estimate from average wattage:

electricity cost = average kW x print hours x price per kWh

A printer’s nameplate wattage is a maximum, not its average draw. The bed cycles after heating, and enclosure temperature, bed temperature, room temperature, and printer design all change consumption. Measure several representative jobs if electricity matters to your quote.

Moonraker can provide the completed job duration. For other providers, use the recorded duration when available or the slicer estimate with a little margin.

Account for failed work

A failed print consumes filament, electricity, and machine time without producing a sellable part. Keep failed and cancelled jobs in the history instead of deleting them from the calculation.

One simple overhead factor is:

failure overhead = total failed-job cost / successful units

Calculate it over a useful period and group unlike work separately. A farm producing repeat parts should not apply the failure rate of experimental prototypes to every customer order.

Choose a machine rate

Belts, nozzles, build plates, fans, bearings, and the printer itself wear out. A machine-hour rate turns those irregular costs into a predictable allowance.

There is no universal rate. Estimate the purchase price and expected useful hours, then add a maintenance allowance. A hobbyist may only care about consumables. A business should also include idle capacity and the risk of tying up a machine for a long job.

Do not forget labor

Preparing a file, checking orientation, changing filament, removing supports, sanding, packing, and customer communication take human time. Automation can reduce those steps but cannot make them free.

For a quote, a workable base is:

filament
+ electricity
+ failure overhead
+ machine hours
+ labor
= production cost

Add margin after calculating cost. Taxes, shipping, payment fees, and design licensing are separate business inputs.

What PrintStash contributes

PrintStash keeps the source model, selected G-code revision, job result, slicer estimate, selected spool, and available measured Moonraker data on one print record. Electricity tariff, labor rate, and machine depreciation remain inputs you provide separately.

Use the recorded history as evidence for repeat work, then add the local rates that the server cannot infer. The Spoolman integration guide explains spool pricing and measured write-back, print history tracking covers where each job record comes from and which of its numbers are measured, and filament cost per print is the short answer for the material half on a self-hosted stack.