Resin Curing Formulas
Formulas and calculations used by the Resin Curing process are described in the following sections:
Setup Formula for Resin Curing
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 (15 minutes 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 Resin Curing
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 = (Part Time + Support Time + Preprocessing Time) / Number of Parts
Process time depends on the following:
Part time (see formula)
Support time (see formula)
Preprocessing time: this is the time to orient the part or parts on the build platform. By default, it is specified by the cost model variable slaPreprocessingTime (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: this is the number of parts that are built at once, that is, the number of parts on the build platform at one time--see Number of Parts for Resin Curing.
Part Time = (Build Time * Number of Parts) + Layer Delay + Wipe Time
Part time is the time to build all the parts on the build platform, not including time to build the support base (see the formula for Support Time), and including the time spent between layers (including layers of the support base) to move the build platform in preparation for the next layer. It also includes time after each layer to apply a fresh layer of resin. It depends on the following:
Build time (see formula)
Number of parts (see Number of Parts for Laser Sintering, above)
Layer delay: time spent putting fresh powder between layers. See formula.
Wipe time: time apply fresh layers of resin for all the parts on the build platform. See formula.
Build Time = Part Volume / Solidification Rate
This is the time to build one part (not including the support base). It depends on the following:
Part volume (determined by geometry extraction)
Solidification rate (see formula)
Solidification Rate = Beam Diameter * Adjusted Layer Thickness * Scanning Speed
Solidification rate is the volume per unit time created by the sintering process. It is the product of the following:
Beam diameter (specified by the machine property Beam Diameter)
Adjusted layer thickness: by default, this is specified by the cost model variable slaStandardLayerResolution (0.1mm in starting point VPEs) or the cost model variable slaHighLayerResolution (0.05mm in starting point VPEs), depending on the setting the option Layer Resolution. Users can override the default on a part-by-part basis with the setup option Layer Thickness.
Scanning speed (specified by the machine property Scanning Speed)
Layer Delay = (Layers - 1) * Layer Delay per Layer
Layer delay is the time spent between layers moving the build platform in preparation for a new layer. This is the time spent for all the parts on the build platform. The total layer delay depends on the following:
Layers: this is the number of layers in one vertical cross-section of the part and support base. See formula.
Layer delay per layer: this is the time to put powder on a single layer. It is specified by the machine property Layer Delay.
Layers = roundup (Part Height + Base Support Structure Height) /
Adjusted Layer Thickness
This is the distance in layers from the platform to the top of the part, that is, the number of layers in one vertical cross-section of the sintered material (the part together with the buffer of material between platform and part). It depends on the following:
Part height (specified by geometry extraction)
Base support structure height: this is the height of the buffer of material that separates the part from the build platform. The buffer protects the part from damage when the operator scrapes the finished part off of the platform. By default, the buffer height is specified by the site variable buildPlateOffset (10mm in starting point VPEs). User can override the default with the setup option Base Plate: Support Structures Height.
Adjusted layer thickness: by default, this is specified by the cost model variable slaStandardLayerResolution (0.1mm in starting point VPEs) or the cost model variable slaHighLayerResolution (0.05mm in starting point VPEs), depending on the setting the option Layer Resolution. Users can override the default on a part-by-part basis with the setup option Layer Thickness.
Wipe Time = (Bed Width / Wiper Speed) * Layers
This is the time apply fresh layers of resin for all the parts on the build platform. Wipe time depends on the following:
Bed width (specified by the machine property Bed Width)
Wiper speed (specified by the machine property Wiper Speed)
Layers: this is the number of layers in one vertical cross-section of the part and support base. See formula.
Support Time = (Support Volume / Support Solidification Rate) * Number of Parts
This is the time to build the bases that separate the parts from the build platform. It depends on the following:
Support volume: this is the volume of the supports structures required for the part (see Support Structures for Resin Curing). See formula.
Support Solidification rate (see formula below)
Number of parts: this is the number of parts on the build platform at one time (see Number of Parts for Resin Curing)
Support Volume = ((Support Model Volume - Default Base Support Volume) +
Base Support Volume) * SLA Support Volume Fraction
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 cycle time and rough mass calculations, 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.
SLA support volume fraction: this factor reduces the volume in order to account for the fact that each structure, rather than being solid, is actually composed of a lattice of material. The factor is specified by the cost model variable slaSupportVolumeFraction (0.05 in starting point VPEs).
Support Solidification Rate = Beam Diameter * Support Layer Thickness * Scanning Speed
Solidification rate is the volume per unit time created by the sintering process. It is the product of the following:
Beam diameter (specified by the machine property Beam Diameter)
Support layer thickness: this is specified by the cost model variable slaSupportLayerThickness (0.1mm in starting point VPEs).
Scanning speed (specified by the machine property Scanning Speed)
Number of Parts for Resin Curing
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 for Resin Curing.
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.
1 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.)
2 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.)
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).
Support Structures for Resin Curing
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.
In particular, the structures include the following:
Structures that separate 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 these base structures 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 cycle time and rough mass.
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.
The structures are made with the same material as the part, but the layer thickness can differ (see the formula for Support Solidification Rate in Cycle Time Formulas for Resin Curing). Support structure material is not recoverable.
If the 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, 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.
Material Cost and Utilization for Resin Curing
Material Cost includes the cost for the material used for the part.
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 (see formula)
Cost Per Volume = Material Density * Material Cost Per KG
Material density: this is specified by the material property Density.
Material cost per kg: this is specified by the material property Unit Cost.
Utilization = Finish Mass / Rough Mass
Utilization depends on the following:
Finish mass: this is the mass of the finished part (volume times material density)
Rough mass: this is the mass of material used per part (see formula)
Rough Mass = Finish Mass + Support Mass
Rough mass depends on the following:
Finish mass (part volume times material density)
Support mass: see formula in Cycle Time Formulas for Resin Curing.
Additional Direct Costs for Resin Curing
Additional direct costs include laser replacement costs.
Additional Direct Costs = Laser Cost / Final Yield
Additional direct costs depend on the following:
Laser cost (see formula)
Laser Cost = Laser Rate * (Build Time + Support Time)
Laser cost depends on the following:
Laser rate: this is the cost per unit time (specified by the machine property Laser Cost Per Hour)
Build time (see formula in Cycle Time Formulas for Resin Curing)
Support Time (see formula in Cycle Time Formulas for Resin Curing)
Note that aPriori converts the times to hours for use in this formula.