To Define Tolerance Stackups

Open an assembly and click Tolerance Analysis in the Environments tab to enter the environment and begin an analysis.

Before you begin, set the defaults for your analysis in Tolerance Analysis tab, Application panel, Settings.

When you finish defining the Settings, click the New Stackup command to define a tolerance study.

Define a Stackup using Constraints/Joints

  1. Select two features that define the stackup gap. The following are valid picks for Selection 1 and 2:
    • Planes
    • Cylinders
    • Linear or circular edges
    • Vertices or points

    If the direction cannot be determined from the selections, such as when measuring between two cylindrical features, you are prompted to make a selection to define the Direction of the stackup.

    Use one of the following to define the direction:
    • Plane: The outward normal vector defines the direction.
    • Cylinder and Cone: The axis defines the direction.
    • Linear edge: The edge defines the direction.
    • Note: Width features are two parallel planes with outward normal vectors pointing in opposite directions. To satisfy the width selections, select parallel surfaces with opposing outward normals. Press and hold the Ctrl key before you select the first plane to automatically enable Width mode.
  2. Select the Annotation Plane to orient the loop diagram dimension annotations. Valid selections are planar part surfaces and origin or reference planes.
  3. Click in the display to satisfy the Dimension Location for the nominal stackup value annotation.
  4. After the stackup study is fully defined, a new minitoolbar appears that lets you specify the parts included in the stackup loop. These selections are commonly called assembly constraint surfaces.

    If the assembly contains valid joint or constraint information, the minitoolbar defaults to the Assembly Constraints/Joints selector and you can select a constraint/joint path to define the stackup loop.

    Important: For automatic loop detection, the assembly must contain at least one joint or constraint path in the direction of the stackup, and every joint or constraint in the path must make a valid connection between adjoining parts.
    The following relationships are valid for automatic dimension loop detection:
    • All Joints defined with face-to-face relationships.
    • The following constraints defined with face-to-face relationships:
      • Mate
      • Flush
      • Transitional
      • Tangent Inside and Outside
      • Rotation/Translation
      • Rotation
    • Mate: Face to Work Point
    • Mate: Work Point to Work Point
  5. Click the drop-down next to paths found and choose the path that represents the assembly relationships you want to use for the stackup definition.
  6. Click OK to finish.

Define a Stackup Manually

Use this method if the assembly is an imported file without constraint or joint information, or if the automatic loop detection does not produce the expected results.

Note: For more information about importing a file as a Reference Model or using Convert Model, see To Import Files as an AnyCAD Reference or Convert Model.
  1. Click New Stackup and then follow steps 1-3 in the previous section.
  2. Click the drop-list next to Assembly Constraints/Joints and change to the Select option.
    Note: If the assembly does not contain any constraint or joint information, the Select option is active.

    The part associated with the first feature is automatically included in the loop and the appearance temporarily changes to transparent.

  3. Select the part opposite the gap being analyzed that is attached to the first part. The selected part appearance changes to transparent. Continue to select parts until you have selected all parts in the loop. The last part you select is the one that contains the second feature of the gap being analyzed.
    The minitoolbar displays the number of selected parts. If you select the wrong part, restart the process by selecting Components in the minitoolbar.
    Tip: Be sure to include alignment pins or fasteners being used to position the parts to one another. Tolerance Analysis is not able to calculate the assembly shift through these parts if they are not included in the loop definition.
  4. After all the parts in the stackup loop are defined, you need to define each pair of interacting surfaces. Tolerance Analysis hides all but the first two parts in the stackup definition to help in the selection process. The first part is opaque and the second part with an interacting surface is transparent.

  5. Select the feature on the first part that mates with the second. After you select
    Tip: View the prompts at the bottom of the display for guidance.
  6. After you select the feature from the first part, the part changes to transparent and the second part is fully visible. You are prompted to select a feature from the second part that mates with the first. After the second feature is selected, the first part is hidden and the third part is displayed transparent to help you select the next feature on the second part. Continue the selection process until you have selected all the necessary mating surfaces. Tolerance Analysis updates the count of the features selected vs. the total needed as you proceed. You can start the selection process over by selecting the Mating Faces/Points button in the minitoolbar.
  7. Click the OK check mark to finish.

About Assembly Closure

If the stackup definition includes adjacent parts with coincident surfaces that are not correctly aligned in the model, Tolerance Analysis closes the gaps before calculating the stackup nominal. When this condition occurs, the calculated stackup nominal value is slightly different from the measured distance between the stackup endpoints in the model. Use the Add Offset command to specify both the required nominal value of the distance and the associated tolerance if this distance is required to be included in the stackup definition.

Tolerance Analysis does not provide an indication that assembly closure has occurred. If you select the wrong interacting surface feature of a part during the loop definition it is possible to have incorrect nominal stackup values. To verify that the selections are correct, hold your mouse over each of the features in the Stackup Details panel to cross-highlight the associated part in the display.

Refine the Dimension Loop, Tolerance Types, and Tolerance Values

After you complete the part loop definition, Tolerance Analysis shows the dimensions between the selected features on the parts and creates the preliminary stackup analysis table in the Stackup Details panel.

Next, review the dimensions and tolerances for each part and verify that they match the actual, or desired dimensioning scheme of the part. The initial Tolerance Analysis dimensions represent the optimal dimensioning scheme to minimize variation of the stackup. Any features you add to include more dimensions only add extra variation to the stackup results. For example, dimensions that exist on the drawing.

Tip: To change the size of the dimension annotations shown in the model, adjust the Annotation Scale parameter in the Settings dialog box. You can also change the annotation color in the Settings dialog.
Start at the top part in the table and work your way down. For each part you can change the following:
  • The name of a feature.
  • The name of a dimension. These dimensions are included in the report unless the size of the feature contributes to the stackup results.
  • The type and value for tolerances, including adding geometric tolerances.

    To change the type, select the icon indicating the type, and select the desired type from the drop-list. The default type is ± Symmetric.

    Select Geometric to open the Add Geometric Tolerance dialog box.
    Note: The Geometric option is not available for edges, vertices, or points.

The feature listed in the top value box is assumed to be controlled by the definition of the tolerance in the Feature Control Frame (Face1 and Face 3 in the previous image). If the order is not correct, use the toggle button to reverse the features.

Use the drop-down at the left of the Feature Control Frame (FCF) to choose the type of control and set the desired tolerance value. Sometimes you can add a material modifier to the feature being controlled or to the datum feature. To add a material modifier, use the drop-list next to the tolerance or datum feature name respectively.

Use this workflow to make modifications to the Geometric Tolerance definition. You can change the tolerance value directly in the Stackup Details table.

Click the Add Features command, and then select a face, edge, vertex, or point to add intermediate features to the stackup dimension scheme. Adding a feature splits the original dimension into two dimensions.

You can also make the following modifications to entries in the table:
  • When there are four or more features in the table you can change the order of features between the first and last entry to reflect a different series of dimensions. Drag a row up or down in the table and then release when it is on top of a dimension between two other features. When you reposition a feature, Tolerance Analysis creates dimensions between each of the features in the order they appear in the table.
  • To remove a feature from the stackup, right-click the feature in the table select Delete.
  • To change the attachment of dimensions to or from features of size (cylindrical and width features), select the line to the left of the dimension in the table as shown in the following image.

    When both the feature above and below the dimension is a feature of size, there are multiple options. The first indicates whether the dimension origin should be attached to the Near, Center, or Far side of the feature immediately above the dimension. The second item is for the attachment to the feature immediately below the dimension. If only one of the features is a feature of size, there are only three options in the list.

Add an Offset Between Parts

Tolerance Analysis assumes the constraining surfaces selected during the stackup loop definition are coincident, but you can use the Add Offset command to specify a distance or offset between the parts with an associated tolerance.

Uses for Add Offset include controlling the distance between parts during assembly, such as a gear on a motor shaft, or adding the thickness of a coating operation to one or both parts that are not included in the model. Specifying a negative value for the offset causes the surface of one part to extend into the surface of the other, although this is not commonly used.

Click Add Offset in the Tolerance Analysis tab > Stackup Panel. The Add Offset Dimension dialog box appears.

Click the drop-down to list all the assembly constraints defined for the current stackup. Click an entry and then click OK to add a row between two parts in the Stackup Details table with the prefix Offset. Specify a nominal value and tolerance for the distance. To remove an offset, right-click on the row and choose Delete.

An offset cannot be defined if one of the features referenced by a constraint is a feature of size. For example, a cylinder or width with an associated size dimension. Such instances are shown in a light-gray font. If all assembly constraints in the current stackup involve a feature of size, the message Offset cannot be applied to features of size! is displayed in the Add Offset Dimension dialog box and the OK button is disabled.

Add a New Stackup

You can create another stackup in the model by selecting New Stackup in the ribbon and repeating the previously described steps. If you include part features in a new stackup that are included in another stackup in the file, the dimension path between them is known and it is included in the new stackup. The icon shown in the following image appears near the dimension to alert you that more than one stackup includes the dimension. Hold your mouse over the icon to display a tooltip that lists all stackups that include the dimension.

If features and associated dimensions are shared by two or more stackups, you are not able to reorder any shared features that are used as a part constraint. You may also experience restrictions adding a new feature in a stackup if it is already used in another stackup. This action is a considered a reorder and should be performed in the stackup that contains the feature. These restrictions help ensure that a consistent part-level dimensioning scheme is applied to all defined stackups.