PricingDeep DiveLevel 1 - Process Deep Dives

Vacuum Casting

How to price vacuum-cast polyurethane parts by combining one-time mould cost amortisation with per-part casting cost.

Why this process is unique

Vacuum casting produces polyurethane parts from a silicone mould. The mould is made from a master pattern (typically SLA-printed). Cost has two distinct components that behave very differently with quantity:

  1. Mould cost: a one-time charge (or amortised over the mould's lifespan). Each silicone mould typically lasts 15-25 shots before degrading.
  2. Casting cost per part: polyurethane material + operator time + mixing, curing, and demoulding.

At low quantities (1-5), mould amortisation dominates. At high quantities (20+), you need a second mould and the per-part cost levels out.

Typical applications: functional prototypes, enclosures, medical devices, over-moulded parts.


Core methodology

Mould cost per part: mouldCost / min(quantity, mouldLifespan)

If quantity > mouldLifespan: additional moulds are needed. Each mouldLifespan parts uses one mould.

Casting cost: material volume × PU cost/litre + fixed operator time per cast


Numerical example

Part: 100 × 60 × 30mm housing, volume = 50,000 mm³

ParameterValue
mouldCost€600
mouldLifespan20 shots
castingCostPerPart€18 (PU material + labour)
Quantity5

Mould per part: 600 / 5 = €120

Casting cost: €18

Unit price: €138

At qty 20: mould = 600/20 = €30. Unit price = €48.

At qty 40: two moulds needed. Mould = 2 × 600 / 40 = €30. Same unit price. (Correctly handled by the formula below.)


Complete algorithm

const { volume, length, width, height } = specification
const { quantity } = requisition

const mouldCost         = material.variables['mouldCost']
const mouldLifespan     = material.variables['mouldLifespan']  // shots per mould
const castingCostPerPart = material.variables['castingCostPerPart']

// How many moulds are needed?
const numberOfMoulds = Math.ceil(quantity / mouldLifespan)
const totalMouldCost  = numberOfMoulds * mouldCost
const mouldPerPart    = round(totalMouldCost / quantity, 2)

const baseCost  = mouldPerPart + castingCostPerPart
const unitPrice = variable('unitPrice', round(baseCost, 2))

// Flag parts that need master pattern creation (charged separately as setup)
const largePartFlag = Math.max(length, width, height) > 400
done(unitPrice, 0, largePartFlag)

Note: If you charge separately for the master pattern (SLA print), add that as a Level 3 line item or a separate process quote.

Material variables: mouldCost, mouldLifespan, castingCostPerPart


When to use this

Any silicone-moulded polyurethane casting process. Works for single-component and two-component PU. For injection moulding (steel tooling), the same structure applies but mouldCost is €5,000-200,000 and mouldLifespan is 10,000-100,000+.

Last updated on

On this page