Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Variable

Description

model.volume

Volume of the 3D model in mm3

model.area

Area of the 3D model in mm2

model.h

Height of the 3D model in mm

model.w

Width of the 3D model in mm

model.d

Depth of the 3D model in mm

model.shells

Number of separated shells in 3D model

model.box

Bounding box volume of the 3D model in mm3

model.machine_volume

Convex hull volume of the model in mm3

support.volume

Volume of the solid support structures in mm3

support.area

Area of the model connected to support structures in mm2

item.quantity

Quantity of the same geometry in the basket.
(Because the pricing script define a unit price, this variable is needed for quantity-based discounts.

User Properties

See the variable listing under User Based Pricing Scripts

Sample Material Pricing Scripts

...

Code Block
languagejs
let maxVolume = 380 * 284 * 380; // dimensions of the printer
let materialCost = 60;           // euro/kg
let density = 1.02;              // g/cm^3
let machineRate = 50;            // euro/hour
let maxPrintTime = 14;           // printing time of a full building chamber
let margin = 5;                  // total price is multiplied with margin

// Price calculation
let material = model.volume * materialCost * density * 0.000001;
let time = model.machine_volume * maxPrintTime / maxVolume * machineRate;
let price = margin * (material + time);

// Last line must contain final price
price;

SLA (Accura ClearVue)

Code Block
languagejs
let maxXYSurface = 650 * 750;    // dimensions of the printer
let materialCost = 120;          // euro/kg
let density = 1.12;              // g/cm^3
let machineRate = 32;            // euro/hour
let timePerSurface = 0.00001;    // h/mm^2 model’s surface
let margin = 5;                  // total price is multiplied with margin

// Price calculation
let material = (model.volume + support.volume * 0.1) * materialCost * density * 0.000001;
let time = model.area * timePerSurface * machineRate;
let price = margin * (material + time);

// Last line must contain final price
price;

DMLS (Aluminum ALSI10MG)

Code Block
languagejs
let materialCost = 180;        //euro/kg
let density = 4.43;            //g/cm^3
let hourlyRate = 35;           //euro/hour
let scanningSpeed = 3000;      //mm/s
let laserDiameter = 0.1;       //mm
let layerHeight = 0.1;         //mm
let layerPreparationTime = 10; //s
let modelInfill = 0.2;         // 20%
let supportInfill = 0.1;       // 10%

let factor = 1;

// Price calculation
let machineTime = factor * ((model.volume + support.volume * supportInfill) / (scanningSpeed * laserDiameter * layerHeight) + layerPreparationTime * model.h / layerHeight / item.quantity) / 3600;
let price = hourlyRate * machineTime + density * (model.volume + supportInfill * support.volume) * materialCost / 1000000;

// Last line must contain final price
price;