Anodize Formulas
Cycle Time = Process Time * Adjustment Factor
Cycle time is the product of the following:
Process time (see formula below)
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 = Pre-treatment Time + Anodization Time + Post-treatment Time +
((Load Time + Unload Time)/ Number of Parts per Load Window)
Process time depends on the following:
Pre-treatment time (see Pre-treatment Formulas)
Anodize time (see Anodization Formulas)
Post-treatment time (see Post-treatment Formulas)
Load time: this is the time per loadbar. By default, this is specified by the formula below. Users can override the default with the setup option Time to load all the parts on to the loadbar.
Unload time: this is the time per loadbar. By default, this is specified by the formula below. Users can override the default with the setup option Time to load all the parts on to the loadbar.
Number of parts per load window: this is the number of parts that can be hung on the loadbar. See Number of Parts per Load Window.
Load Time = Number of Handling Operators *
Handling Time per Operator * Number of Parts per Load Window
By default, load time per load bar is specified by this formula. Users can override the default with the setup option Time to load all the parts on to the loadbar. The default value is the product of the following:
Number of handling operators: this is looked up by weight in the lookup table tblHandlingTimes. Part weight is material density times part volume.
Handling time per operator: this is interpolated from values looked up by part weight in tblHandlingTimes. Part weight is material density times part volume.
Number of parts per load window: this is the number of parts that can be hung on the loadbar. See Number of Parts per Load Window.
Unload Time = Number of Handling Operators
Handling Time per Operator * Number of Parts per Load Window
By default, unload time per load bar is specified by this formula. Users can override the default with the setup option Time to load all the parts on to the loadbar. The default value is the product of the following:
Number of handling operators: this is looked up by weight in the lookup table tblHandlingTimes. Part weight is material density times part volume.
Handling time per operator: this is interpolated from values looked up by part weight in tblHandlingTimes. Part weight is material density times part volume.
Number of Parts per Load Window
This is the number of parts that can be processed in one machine load, that is, the maximum number of parts that both satisfy the machine’s surface area constraint (see Anodize Machine ) and can fit in the loadbar window at one time. By default, the cost model uses the steps below in order to determine this number. Users can override the default value with the setup option Number of Components per Loadbar.
1 Find the maximum number of tightly-packed, lengthwise-oriented parts that fit in the loadbar window.
 
rounddown (Window Length / Part’s Longest Dimension) *
rounddown (Window Height / Part’s Next-longest Dimension)
(Lengthwise orientation means that the part’s longest dimension is aligned with the window’s length and the part’s next-longest dimension is aligned with the window’s height. Tightly packed means there is no space between the parts’ bounding boxes.)
2 Find the maximum number of tightly-packed, widthwise-oriented parts that fit.
 
rounddown (Window Length / Part’s Longest Dimension) *
rounddown (Window Height / Part’s Next-longest Dimension)
(Widthwise orientation means that the part’s longest dimension is aligned with the window’s height and the part’s next-longest dimension is aligned with the window’s length.)
3 Pick the larger of the values found in 1 and 2, above. This is the maximum number of tightly-packed parts that fit in the loadbar window.
4 If the maximum number of tightly-packed parts that fit in the loadbar window is 1, then the number of parts per load window is 1, and the remaining steps are unnecessary.
5 If the maximum number of tightly-packed parts that fit in the loadbar window is greater than 1, then multiply the maximum number of tightly packed parts by the machine property Loadbar Spacing Factor. (The spacing factor is the fraction of tightly packed parts that can fit when parts are spaced appropriately.)
 
rounddown(Max Number of Tightly Packed Parts * Loadbar Spacing Factor)
The result is the maximum number of appropriately-spaced parts that fit.
6 Find the maximum number of parts that satisfy the machine’s surface area constraint. That is, round down the result of dividing the machine property Loadbar Max Load Surface Area by the total surface area to be anodized on a single part (the surface area of the part minus any masked area).
7 The number of parts per loadbar window is the smaller of the following values:
The maximum number of appropriately-spaced parts that fit (the result of step 5)
The maximum number of parts that satisfy the machine’s surface area constraint (the result of step 6)
Pre-treatment Formulas
Pre-treatment Time = Clean Time + Etch Time + Deoxidize Time + (Rinse Time * 3)
This is the sum of the cycle times for the various pre-treatment operations. Note that the cost model assumes three rinse cycles, one after each of the other pre-treatment operations:
Clean time (see formula)
Etch time (see formula)
Deoxidize time (see formula)
Rinse time (see formula)
Clean Time = Elapsed Clean Time / Number of Parts per Load Window
Clean time per part depends on the following:
Elapsed clean time: if the Mask-Bench process is not included in the current routing, this is the per-load clean time. If the Mask-Bench process is included in the current routing, this is twice the per-load clean time. The per-load clean time, by default, is specified by the machine property Clean Time; users can override the default with the setup option Clean Time for Anodizing per Loadbar.
Number of parts per load window (see Number of Parts per Load Window)
Etch Time = Etch Time Per Loadbar / Number of Parts per Load Window
Etch time per part depends on the following:
Etch time per loadbar: by default, this is specified by the machine property Etch Time. Users can override the default with the setup option Etch Time for Anodizing per Loadbar.
Number of parts per load window (see Number of Parts per Load Window)
Deoxidize Time = Elapsed Deoxidize Time / Number of Parts per Load Window
Clean time per part depends on the following:
Elapsed deoxidize time: if the Mask-Bench process is not included in the current routing, this is the per-load deoxidize time. If the Mask-Bench process is included in the current routing, this is twice the per-load deoxdize time. The per-load deoxidize time, by default, is specified by the machine property Deoxidize Time; users can override the default with the setup option Deoxidize Time for Anodizing per Loadbar.
Number of parts per load window (see Number of Parts per Load Window)
Rinse Time = Elapsed Rinse Time / Number of Parts per Load Window
Rinse time per part depends on the following:
Elapsed rinse time: if the Mask-Bench process is not included in the current routing, this is specified by the machine property Rinse Time. If the Mask-Bench process is included in the current routing, this is twice the value of the machine property Rinse Time.
Number of parts per load window (see Number of Parts per Load Window)
Anodization Formulas
Anodization Time = Anodizing Time + Anodize Rinse Time + Spray Rinse Time
This is the sum of the cycle times for the various anodization operations:
Anodizing time (see formula)
Anodize rinse time (see formula)
Spray rinse time (see formula)
Anodizing Time =
((720 * Coating Thickness in Mils) / Current Density in Amps per Sq Ft) + Ramp Time
Anodizing time in minutes is calculated using the “720 rule” (which is based on the guideline that it takes one minute to produce 1 mil of oxide using 720 amps per square foot). Anodizing time depends on the following:
Coating thickness mils: by default, this specified in millimeters by the following cost model variables (depending on the type of anodizing in the current routing):
o anodizingCoatingThicknessTypeI (0.01016mm in starting point VPEs)
o anodizingCoatingThicknessTypeII (0.02032mm in starting point VPEs)
o anodizingCoatingThicknessTypeIII (0.04064mm in starting point VPEs)
Users can override the default with the setup option Specify Anodize Coating Thickness.
Current density in amps per sq ft: by default this is the value of the machine property Anodizing Current. Users can override the default with the setup option Current Applied for Anodizing Process.
Ramp time: this is specified as follows:
o Anodizing Type I: cost model variable anodizingRampTimeHighVolt (600 seconds in starting point VPEs)
o Anodizing Type IB: cost model variable anodizingRampTimeLowVolt (300 seconds in starting point VPEs)
o Anodizing Type IC: cost model variable anodizingRampTimeLowVolt (300 seconds in starting point VPEs)
o Anodizing Type II: 0 seconds
o Anodizing Type III: 0 seconds
Anodize Rinse Time = Elapsed Rinse Time / Number of Parts per Load Window
Rinse time per part, for the rinse that follows the type-specific Anodize operation, depends on the following:
Elapsed rinse time: this is 3 times the value of the machine property Rinse Time.
Number of parts per load window (see Number of Parts per Load Window)
Spray Rinse Time = Elapsed Spray Rinse Time / Number of Parts per Load Window
Spray rinse time per part depends on the following:
Elapsed spray rinse time (specified by the machine property Spray Rinse Time)
Number of parts per load window (see Number of Parts per Load Window)
Post-treatment Formulas
Post-treatment Time = Sealing Time + Dry Time
Post-treatment time is the sum of the following:
Sealing time (see formula)
Dry time (see formula)
Seealing time = Elapsed Sealing Time / Number of Parts per Load Window
Sealing time per part depends on the following:
Elapsed sealing time: by default, this is specified in minutes by the machine property Seal Time. Users can override the default with the setup option Sealing Time for Anodizing per Loadbar.
Number of parts per load window (see Number of Parts per Load Window)
Dry Time = Elapsed Dry Time / Number of Parts per Load Window
Dry time depends on the following:
Elapsed dry time: by default, this is specified by the machine property Dry Time. Users can override the default with the setup option Drying Time for Anodizing per Loadbar.
Number of parts per load window (see Number of Parts per Load Window)
Additional Direct Costs for Anodizing
The Anodize cost model uses Additional Direct Costs to impose a lower bound on per-batch piece costs.
Additional Direct Costs = Additional Anodize Cost / Final Yield
Additional anodize cost: if the cost of a batch (Piece Cost times the Number of Parts per Load Window) is no less that the machine property Min Batch Cost, this is 0. If the batch cost is less than Min Batch Cost, this is the amount by which Min Batch Cost exceeds the batch cost, amortized over the number of parts per load window.