
3D Printing Efficiency Formula
Learn how expected material use, yield-adjusted machine time, and direct cost per successful commercial 3D printed part are calculated.
This calculation estimates the direct production cost of one acceptable 3D printed part. It converts model volume to weight, adds support and waste, includes machine time, adjusts print costs for expected failures, and adds post-processing labor.
- 100% Free
- No Sign-Up Required
- Private & Secure
- Mobile Friendly
Expected Cost per Good Part
Where:
Calculate the cost of one print attempt, divide it by the expected pass rate to allow for failed attempts, then add labor applied to each acceptable finished part.
Variables Explained
| Variable | What It Means | Unit |
|---|---|---|
| partVolume - Part volume | Solid material volume of the model from CAD or slicer software. | cm³ |
| materialDensity - Material density | Density of the selected filament, resin, powder, or other print material. | g/cm³ |
| supportWastePercent - Support and waste allowance | Percentage added for supports, purge material, rafts, and other expected material losses. | percent |
| materialCostPerKg - Material cost per kilogram | Landed material cost per kilogram. | currency |
| printTime - Print time per attempt | Machine time required for one print attempt, excluding post-processing. | hours |
| machineRate - Machine rate per hour | Hourly cost assigned to machine operation. | currency |
| failureRate - Expected print failure rate | Expected percentage of attempts that do not produce an acceptable part. | percent |
| postProcessHours - Post-processing time | Labor hours required for finishing, inspection, and related work on one good part. | hours |
| laborRate - Labor rate per hour | Fully loaded hourly labor cost for post-processing work. | currency |
Step-by-Step Calculation
Convert volume to finished-part weight
Volume in cubic centimeters multiplied by density gives the solid part weight in grams.
partWeightGrams = partVolume * materialDensity
Add support and material waste
The waste allowance increases the finished-part weight to estimate material consumed in one attempt.
materialUsedGrams = partWeightGrams * (1 + supportWastePercent / 100)
Calculate material cost per attempt
Material use is converted from grams to kilograms before applying the material price.
materialCostPerAttempt = materialUsedGrams / 1000 * materialCostPerKg
Calculate machine cost per attempt
Machine time is multiplied by the hourly machine rate.
machineCostPerAttempt = printTime * machineRate
Find the successful yield
The successful yield is the percentage of attempts expected to result in an acceptable part.
successfulYield = 100 - failureRate
Adjust attempt cost for failures
Expected failed attempts are spread across the parts that pass.
expectedPrintCost = (materialCostPerAttempt + machineCostPerAttempt) / (successfulYield / 100)
Add post-processing labor
Post-processing labor is added once for each acceptable finished part.
costPerGoodPart = expectedPrintCost + (postProcessHours * laborRate)
Example: Small functional component
Finished-part weight
125 × 1.24
155.0 g
Material used per attempt
155.0 × 1.15
178.25 g
Material cost per attempt
178.25 / 1000 × 30.00
$5.35
Machine cost per attempt
10 × 8.00
$80.00
Failure-adjusted print cost
(5.35 + 80.00) / 0.92
$92.77
Post-processing cost
0.5 × 25.00
$12.50
Expected cost per good part
92.77 + 12.50
$105.27
Final Result
Expected cost per good part: $105.27. Expected machine time per good part: 10 / 0.92 = 10.87 hours. Material utilization: 155.0 / 178.25 × 100 = 87.0%.
Assumptions
- ✓Each failed attempt uses the same material and machine time as a successful attempt.
- ✓The entered failure rate represents the expected share of unacceptable print attempts.
- ✓Post-processing labor applies only to acceptable finished parts.
- ✓The machine rate includes whichever operating and overhead costs the operator chooses to recover.
- ✓Material cost and waste are treated as consistent across attempts.
Limitations
- !Actual failures may use less or more material and machine time than complete successful attempts.
- !The estimate excludes design, setup, scheduling, packaging, shipping, taxes, tooling, and profit unless they are included in entered rates.
- !Density and waste can vary by material condition, process settings, orientation, and workflow.
- !The calculation does not model batch nesting, shared setup, or multiple parts in one build.
Common Mistakes to Avoid
Entering shell or bounding-box volume instead of the actual solid material volume.
Using retail material price when a different landed commercial cost is intended.
Leaving supports, purge material, resin losses, or powder losses out of the waste allowance.
Entering successful yield as the failure rate, or vice versa.
Using a machine rate that omits costs the business expects to recover.
Applying post-processing labor to every attempted print when the input is defined per good part.
Related Formulas
Frequently Asked Questions
How is 3D printing cost per good part calculated?
The calculator adds material and machine cost for one attempt, divides that amount by the successful-yield fraction, and adds post-processing labor per acceptable part.
Why is the print cost divided by successful yield?
A yield below 100% means some attempts are expected to fail. Dividing by yield spreads the expected cost of those attempts across accepted parts.
What is material utilization in 3D printing?
It is the finished-part weight divided by material used per attempt, expressed as a percentage. It shows the share not allocated to supports or waste before failures.
Does the formula include failed-print material?
Yes. Failure adjustment applies to the total material and machine cost per attempt. The support and waste allowance is also included in each attempt.
How are expected machine hours per good part calculated?
Print time per attempt is divided by the successful-yield fraction. For example, a 10-hour attempt at 92% yield requires an expected 10.87 machine hours per good part.
Ready to calculate your result?
Use the calculator to get instant results with your own inputs.