Printing Formulas
Formulas and calculations used by the Printing process are described in the following sections:
Setup Formula for Printing
Amortized Batch Setup =
(Setup Time * (Labor Rate + Direct Overhead Rate)) / Batch Size
Batch setup cost per part depends on the following:
Setup time: by default, this is specified by the cost model variable loadFileAndSpliceTime (0.25 hours in starting point VPEs). Users can override the default and specify the setup time with the setup option Load and Splice Time.
Labor rate (specified by the machine property Labor Rate)
Direct overhead rate (see Direct and Indirect Overhead)
Batch size (specified in the Production Scenario screen of the Cost Guide)
Cycle Time Formulas for Printing
Cycle Time = Process Time * Adjustment Factor
Cycle time is the product of the following:
Process time (see formula)
Adjustment factor (specified by the cost model variable cycleTimeAdjustmentFactor). This factor is 1 in aPriori starting point VPEs. VPE administrators can modify cycleTimeAdjustmentFactor in order to adjust cycle times across processes within the current VPE.
Process Time = (Build Time + Preprocessing Time) / Number of Parts
Process time is the sum of the following:
Build time (see formula)
Preprocessing time: by default, this is specified by the cost model variable printingPreprocessingTime (1200 seconds in starting point VPEs). Users can override the default on a part-by-part basis with the setup option Preprocessing Time.
Number of parts (see Number of Parts for Printing, below)
Build Time = (Print Head Travel Length / Layer Speed) * Swipes * Layers +
(Print Head Travel Width / Layer Speed) * Passes
Build time depends on the following:
Print head travel length: this is the distance the print head travels along the length dimension of the build chamber to create a single strip one layer thick.
By default, this length is the length of the array of nested parts (that is, the length of the smallest build-plate-aligned rectangle that encloses all the parts). With the setup option Print Head Travel Type, users can override the default, and specify that the print head travel length is the length of the entire machine bed (specified by the machine property Bed Length).
Layer speed: this is the rate at which the print head travels along the length dimension of the build chamber. The rate is specified by the machine property Layer Speed.
Swipes: this is the number of swipes required to build a complete, horizontal cross-section of all parts one layer thick. See the formula below.
Layers: this is the height of the part in layers, that is, the number layers in one complete, vertical cross section of the part and support base. See the formula below.
Print head travel width: this is the nesting width (the width of the array of nested parts) minus the scanning width (specified by the machine property Scanning Width). (If the nesting width is less than the scanning width, print head travel width is 0.)
Passes: this is the number of times the print head travels the nesting length or machine bed length before moving in the width direction. By default, the number is specified by the cost model variable defaultNumPrintHeadPasses (2 in starting point VPEs). Users can override the default with the setup option Number of Print Head Passes.
Swipes = Nesting Width / Scanning Width
The number of swipes required to build a layer-thick cross-section of the part depends on the following:
Nesting width: this is the width of the array of nested parts (that is, the width of the smallest build-plate-aligned rectangle that encloses all the parts).
Scanning width (specified by the machine property Scanning Width)
Layers = roundup((Part Height + Base Support Structure Height) /
Adjusted Layer Thickness )
The height of the part in layers depends on the following:
Part height (the height of the part’s bounding box, specified by geometry extraction)
Base support structure height: this is the height of the support structure that separates the part from the build platform (which protects the part from damage when the operator scrapes the finished part off of the platform). By default, the height is specified by the site variable buildPlateOffset (10mm in starting point VPEs). Users can override the default with the setup option Base Plate: Support Structures Height.
Adjusted layer thickness: by default, this is specified by the machine property Layer Thickness. Users can override the default on a part-by-part basis with the setup option Layer Thickness.
Number of Parts for Printing
This is the number of parts that are built at one time. By default, this is the maximum number of parts that can fit on the build plate. Users can override the default and specify this number with the setup option Number of Parts per Build Plate.
To calculate the default value, aPriori uses either true-part-shape or rectangular nesting calculations. The cost model assumes a border all around each part whose size, by default, is specified by the cost model variable nestingAllowance (5mm in starting point VPEs). Users can override the default with the setup option Nesting Allowance. aPriori assumes true-part-shape nesting by default, but rectangular nesting is used if you select an option other than True-Part Shape Nesting in the Material Utilization dialog.
With true-part-shape nesting, the cost engine uses an internal algorithm that considers multiple candidate nesting arrangements using a variety of part orientations. By default, the various orientations differ by an angle specified by the cost model variable defaultUtilizationStepAngle (90° in starting point VPEs). With the setup option Step Angle for True-Part Shape Nesting, users can specify a step angle for the cost engine to use in order to generate additional candidate orientations—smaller step angles result in the consideration of a greater number of candidate nesting arrangements (which increases costing time but may result in more efficient nesting). The algorithm chooses the optimal nesting arrangement from among the considered candidates.
With rectangular nesting, the cost model uses the steps below in order to determine the number of parts that can fit on the build plate.
3 Find the maximum number of lengthwise-oriented parts that fit on the build platform.
 
rounddown (Machine Bed Length / (Part Length + (2 * Nesting Allowance))) *
rounddown (Machine Bed Width / (Part Width + (2 * Nesting Allowance)))
(Lengthwise orientation means that the part’s length is aligned with the platform’s length and the part’s width is aligned with the platform’s width.)
4 Find the maximum number of widthwise-oriented parts that fit.
 
rounddown (Machine Bed Length / (Part Width + (2 * Nesting Allowance))) *
rounddown (Machine Bed Width / (Part Length + (2 * Nesting Allowance)))
(Widthwise orientation means that the part’s width dimension is aligned with the platform’s length and the part’s length is aligned with the platform’s width.)
5 Pick the larger of the values found in 1 and 2, above. This is the Number of Parts (unless it is 0, in which the Number of Parts is 1).
Material Cost Formulas for Printing
Material Cost includes the cost for the material used for the part. The cost of material used for support structures is included in Additional Direct Costs—see Additional Direct Costs—Support Structures for Printing.
Material Cost = ((Part Volume * Cost Per Volume) / Utilization) / Final Yield
Material cost depends on the following:
Part volume (determined by geometry extraction)
Cost per volume (see formula)
Utilization: this is assumed to be 1, if the utilization mode is Computed.
Cost Per Volume = Material Density * Material Cost Per KG
Material density: for non-Default materials, this is specified by the material property Density. For the Default material, this is specified by cost model variable printingDefaultMaterialDensity (1185 kg/m3 in starting point VPEs).
Material cost per kg: for non-Default materials, this is specified by the material property Unit Cost. For the Default material, this is specified by cost model variable printingDefaultMaterialCost ($225 per kg in starting point VPEs).
Additional Direct Costs—Support Structures for Printing
Geometry extraction creates a number of GCDs to represent support structures, which support overhanging geometries, and provide a base that separates the part from the build platform.
The cost of support structures is accounted for as an additional direct cost. The material for support structures is different from the part material. Support material density and cost are determined as described for the Support Cost formula below. The cost model assumes that support structures include the following:
Structure that separates the part from the build platform (which protects the part from damage when the operator scrapes the finished part off of the platform). By default, the height of this base structure is specified by the site variable buildPlateOffset (10mm in starting point VPEs). Users can override the default with the setup option Base Plate: Support Structures Height.
Note: if you use the setup option to override the default base height, this does not affect how the base is displayed in the Viewer and does not affect the values of support structure geometric properties displayed in the Geometric Cost Drivers pane. The override is used, however, in the calculation of support material cost.
Structures to support overhanging geometries (which are removed once the part material is fully cured and can support itself). In starting point VPEs, the cost model assumes that support structures are required for all surfaces (with an exception noted below) that make an angle of less than 45 degrees with the build plate. The exception is a surface that forms a sufficiently short bridge. Administrators can customize the angle threshold with the site variable maxSupportedOverhangAngle.
Additional site variables control how many support structures are created for geometry that encompasses a range of angles with respect to the build plate (for example, an arch): overhangAngularRangeDivisionNum (2 in starting point VPEs) specifies the number of support structures created, starting at the point at which the angle is smallest and ending at the point at which the angle is maxSupportedOverhangAngle. One of these is between the point at which the angle is smallest and the point at which the angle is minSupportedOverhangAngle (35 degrees in starting point VPEs); and the remainder of the support structures are between the points at which the angles are minSupportedOverhangAngle and maxSupportedOverhangAngle.
The cost model currently only uses fully vertical supports. An overhang that might employ a slanted support is instead always handled in the cost model by a vertical support whose top and bottom are both attached to the part.
In some cases, geometry extraction may create supports that are inside of the part and cannot be removed.
Geometry extraction attempts to choose the height dimension of the part so as to minimize the volume of supports. The cost model assumes that the part is oriented with the height direction normal to the build plate. Users can override the choice of height dimension with the Build Direction tool—see Using the Build Direction Tool to Orient the Part.
If a user considers a particular support structure unnecessary, they can manually assign the GCD to the No Cost operation: right-click on the GCD in the Manufacturing Process pane or Geometric Cost Drivers pane, and select Edit Operation….
Then click No Cost operation in the Operation Sequence Selection dialog, and click OK.
In this case, costs associated with the support structure GCD will not be included.
Additional Direct Costs = Support Cost / Final Yield
Additional direct costs depends on the following:
Support cost (see formula)
Support Cost = Support Volume * Support Density * Support Cost Per KG
Support volume (see formula).
Support density (specified by the cost model variable printingSupportMaterialDensity—1050 kg/m3 in starting point VPEs)
Support cost per kg (specified by the cost model variable printingSupportMaterialCost—$250 in starting point VPEs)
Support Volume = ((Support Model Volume - Default Base Support Volume) +
Base Support Volume) * Lattice Factor
Support volume depends on the following:
Support model volume: this is the sum of the volumes of all the Support Structure GCDs. This may differ from the support volume to be used in the support cost calculation, because the actual volume of the support base may differ from the extracted volume.
Default base support volume: This is the portion of the extracted volume that represents the base support. It is the product of the site variable basePlateOffset and the sum of the values of the property Plate Contact Area for all Support GCDs.
Base support volume: this is the actual volume of the base support. It is the product of the actual base support height and the sum of the values of the property Plate Contact Area for all Support GCDs. By default, the actual base height is given by the site variable basePlateOffset, but users can override the default with the setup option Base Plate: Support Structures Height. The actual volume differs from the extracted volume when and only when the user overrides the default base height with the setup option.
Lattice spacing factor: this factor reduces the volume in order to account for the possibility that each structure, rather than being solid, is actually composed of a lattice of material. The factor is specified by the cost model variable printingLatticeSpacingFactor (1 in starting point VPEs).