PricingDeep DiveLevel 1 - Process Deep Dives

Metal - LPBF (SLM / DMLS)

How to price metal Laser Powder Bed Fusion parts using a machine-time-dominated model based on build volume and laser build rate.

Why this process is unique

Laser Powder Bed Fusion (LPBF) - also called SLM, DMLS is expensive AM process to run. Cost is dominated almost entirely by machine time, not material.

Key characteristics:

  • Machine cost per hour: €80-250+ (inert gas consumption, laser wear, maintenance)
  • Layer heights: 0.02-0.06mm - far thinner than polymer processes
  • Print speeds: much slower than MJF or FDM per cm³
  • Supports are mandatory and made of metal - dense, slow to print, costly to remove
  • Heat treatment (stress relief, HIP) is typically mandatory post-process
  • Material is expensive: Ti-6Al-4V ~€300-500/kg, 316L ~€80-120/kg, Inconel ~€400+/kg

Despite high material costs, machine time typically accounts for 60-80% of a metal part's price.


Core methodology

Use a simplified time model based on build volume and laser scanning speed:

Print time = (layer count × area per layer) ÷ scan speed + overhead

Or, simpler and nearly as accurate for quoting:

Print time ≈ (shrinkWrapVolume + support volume) ÷ build rate

Where buildRate = mm³/hour of actual metal deposited (a material variable, calibrated per machine and material).


Numerical example

Part: 30 × 30 × 60 mm bracket, volume = 10,000 mm³, convexHullVolume = 13,000 mm³

ParameterValue
Material: 316L stainless steel
Density7.9 g/cm³
Material cost per kg€100
buildRateMm3PerHour5,000
machineCostPerHour€130
setupCost€150

Support volume: (13,000 − 10,000) × 0.40 = 1,200 mm³ (dense metal supports) Print volume: 10,000 + 1,200 = 11,200 mm³ Print time: 11,200 / 5,000 = 2.24 hours Machine cost: 2.24 × 130 = €291 Material mass: (10,000 / 1,000) × 7.9 / 1,000 = 79g = 0.079 kg Material cost: 0.079 × 100 = €7.90 Setup (1 part): €150 Total: €449 - machine time is 65% of cost


Complete algorithm

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

// Chamber limits — adjust to your machine (e.g. EOS M290 = 250×250×325mm)
const CHAMBER_LENGTH = 250
const CHAMBER_WIDTH  = 250
const CHAMBER_HEIGHT = 325

const buildRateMm3PerHour = material.variables['buildRateMm3PerHour']
const machineCostPerHour  = material.variables['machineCostPerHour']
const setupCost           = material.variables['setupCost']
const materialDensity     = material.variables['materialDensity']
const materialCostPerKg   = material.variables['materialCostPerKg']

// Support volume (metal supports are denser than FDM — use 35–45%)
const hullGap       = convexHullVolume - volume
const supportVolume = variable('supportVolume', round(hullGap * 0.40, 0))

// Print time based on build rate
const printVolume    = volume + supportVolume
const printTimeHours = variable('printTime', round(printVolume / buildRateMm3PerHour, 2))
const machineCost    = round(printTimeHours * machineCostPerHour, 2)

// Material cost (part only, not support — support is removed)
const massKg = (volume / 1_000_000) * materialDensity  // mm³ → cm³ → g → kg... wait
// volume in mm³. density in g/cm³. 1 cm³ = 1000 mm³
const massGrams      = (volume / 1000) * materialDensity
const materialCost   = round((massGrams / 1000) * materialCostPerKg, 2)

// Setup amortised (typically one part per build for LPBF unless batch run)
const setupPerPart = round(setupCost / quantity, 2)

const baseCost  = machineCost + materialCost + setupPerPart
const unitPrice = variable('unitPrice', round(baseCost, 2))

const oversized = length > CHAMBER_LENGTH || width > CHAMBER_WIDTH || height > CHAMBER_HEIGHT
// Also flag open mesh — geometry errors cause metal build failures
const reviewRequired = oversized || revision.watertight === 0
done(unitPrice, printTimeHours, reviewRequired)

Material variables: buildRateMm3PerHour, machineCostPerHour, setupCost, materialDensity, materialCostPerKg


When to use this

All laser powder bed fusion of metals: SLM, DMLS, LPBF, DMP. Works for steel, titanium, aluminium, Inconel, copper. Adjust buildRateMm3PerHour and machineCostPerHour per alloy and machine.

Last updated on

On this page