<!DOCTYPE html
  PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<!--
Copyright (c) 2006 UGS Corp.

All Rights Reserved.

This software and related documentation are proprietary to UGS Corp.
-->
<html>
   <head>
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <title>Assembly guidelines</title>
      <script language="javaScript">
        abridged="false";
        displayConditions=new Array();
      </script>
      <link type="text/css" href="../css/main_styles.css" rel="stylesheet">
   </head>
   <body class="bodydocs" onload="top.pageLoader()" bgcolor="#FFFFFF">
      <div class="title_topic3" id="xps10_pagetitle">Assembly guidelines</div>
      <hr noshade="true">
      <div class="title_division">Assembly order</div>
      <p class="para_division">Tolerance Stackup Validation requires a definition of an assembly with each part in its assembled state. This definition must specify the order in which each part is added to create a subassembly or the final assembly. For each part added, the definition must also specify the position and orientation relationships between the added part and existing (assembled) parts. The simulation uses this definition to mimic the actual assembly process.</p>
      <p class="para_division">You define an assembly by adding components sequentially to an assembly part. A component can be a single part, or a subassembly with multiple parts.</p>
      <p class="para_division">Tolerance Stackup Validation bases the assembly order it will use on the active assembly sequence.</p>
      <div class="title_division">Assembly order when no assembly sequence is defined</div>
      <p class="para_division">When no assembly sequence is defined, Tolerance Stackup Validation bases the assembly order on when the components were brought into the assembly.</p>
      <p class="para_division">This approach produces an order of assembly based on the relative time that each component is added to the assembly. Substitution and replacement of components result in the added component's being at the end of the assembly order. This may not be the desired effect, especially when a different version of the same part is substituted.</p>
      <p class="para_division">NX <a class="links" href="javascript:void(0)" onclick="top.openFile('quickstack/assy_mating_conditions.html');return(false);">mating conditions</a> define position and orientation constraints between components. They can be defined between any components in the assembly, but not between individual components within a subassembly.
      </p>
      <table border="0">
         <tr>
            <td valign="top" align="left"><img align="left" src="../graphics/warning.gif" alt="Warning" title="Warning"></td>
            <td valign="bottom" align="left" width="100%">
               <div class="para_warning">
                  <p class="para_warning_body">Since Tolerance Stackup Validation requires an assembly order, you must make sure that each mating condition relates a component only to those components that were brought in earlier to the assembly part. If you try to run a Tolerance Stackup Validation simulation on an assembly with an out-of-order mating condition, an error will occur, because Tolerance Stackup Validation does not know which assembly order is your intention (the assembly order based on the sequence, or the order inferred from the mating condition). The affected components show up in the Results window as not assembled to any other parts.</p>
               </div>
            </td>
         </tr>
      </table>
      <div class="title_division">Example of mating condition orders</div>
      <p class="para_division">In an assembly with 4 components (A, B, C, and D), the components were loaded into the assembly in the following order:</p>
      <ul>
         <li>
            <p class="para_item">Component A</p>
         </li>
         <li>
            <p class="para_item">Component B</p>
         </li>
         <li>
            <p class="para_item">Component C</p>
         </li>
         <li>
            <p class="para_item">Component D</p>
         </li>
      </ul>
      <p class="para_division">In order for the assembly to be properly sequenced, only the following mating conditions are valid when each component is brought into the assembly:</p>
      <ul>
         <li>
            <p class="para_item">Component A cannot be mated to any of the other components, because it is the first component loaded into the assembly.</p>
         </li>
         <li>
            <p class="para_item">Component B can only be mated to Component A.</p>
         </li>
         <li>
            <p class="para_item">Component C can be mated to Component A or Component B, but not Component D.</p>
         </li>
         <li>
            <p class="para_item">Component D can be mated to any of the components, because it is the last component loaded into the assembly.</p>
         </li>
      </ul>
   </body>
</html>