<!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>Simulation steps</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_topic2" id="xps10_pagetitle">Simulation steps</div>
      <hr noshade="true">
      <p class="para_topic">The &quot;simulation&quot; is actually a series of simulations. During the simulation operation, random combinations of the extreme tolerance values for all the tolerances are created. The <a class="links" href="javascript:void(0)" onclick="top.openFile('quickstack/results.html');return(false);">Results</a> for the simulation are a summary of all of these random combinations.
      </p>
      <p class="para_topic">When you initiate a simulation, NX performs the following steps:</p>
      <ol type="1" start="1">
         <li>
            <p class="para_item">Creates a simulation model.</p>
         </li>
         <li>
            <p class="para_item">Creates a list of ordered features for the simulation.</p>
         </li>
         <li>
            <p class="para_item">Creates a list of ordered tolerances for the simulation.</p>
         </li>
         <li>
            <p class="para_item">Simulates each tolerance.</p>
         </li>
         <li>
            <p class="para_item">Modifies the features for each tolerance simulation.</p>
         </li>
         <li>
            <p class="para_item">Simulates each feature, based on the tolerances applied to it.</p>
         </li>
         <li>
            <p class="para_item">Performs the required number of simulations.</p>
         </li>
         <li>
            <p class="para_item">Calculates the variation results.</p>
         </li>
         <li>
            <p class="para_item">Calculates contributor results.</p>
         </li>
      </ol>
      <div class="title_division">Details of the steps</div>
      <div class="title_division">Simulation model</div>
      <p class="para_division">The simulation model is based on:</p>
      <ul>
         <li>
            <p class="para_item">Geometry</p>
         </li>
         <li>
            <p class="para_item">Tolerance definitions</p>
         </li>
         <li>
            <p class="para_item">Assembly sequence</p>
         </li>
         <li>
            <p class="para_item">Mating conditions</p>
         </li>
      </ul>
      <div class="title_division">List of ordered features</div>
      <p class="para_division">The order in which features are simulated, which is similar to the order used in manufacturing and assembly, is determined by:</p>
      <ol type="1" start="1">
         <li>
            <p class="para_item">Datums</p>
         </li>
         <li>
            <p class="para_item">Origin features for each tolerance</p>
         </li>
         <li>
            <p class="para_item">The rest of the features</p>
         </li>
      </ol>
      <p class="para_division">The prerequisite datums and origin features for each tolerance determine feature references:</p>
      <ul>
         <li>
            <p class="para_item">For a positional diametral tolerance (POS|DIA.001(M)|A|B|C) applied to a hole feature, the simulation places datum features A, B, and C before the hole feature.</p>
         </li>
         <li>
            <p class="para_item">For a directed plus/minus where the toleranced feature is measured from a referenced plane, the referenced plane is simulated before the toleranced feature.</p>
         </li>
      </ul>
      <p class="para_division">Datum features are given special treatment. They should be manufactured as early as possible. Datum features will be simulated in alphabetical order, if the rule in the previous paragraph has not already dictated an order. For example, is tolerance PER|1|F is applied to Datum D, then Datum F is simulated before Datum D.</p>
      <div class="title_division">List of ordered tolerances</div>
      <p class="para_division">The order is based on the type of control of each tolerance. Tolerances are ordered from the least constraining to the most constraining by:</p>
      <ol type="1" start="1">
         <li>
            <p class="para_item">Form</p>
         </li>
         <li>
            <p class="para_item">Size -- size tolerances (Width, Radius, and Diameter) provide size control.</p>
         </li>
         <li>
            <p class="para_item">Orientation -- includes MMC bonus in tolerance magnitude. It also includes plus/minus and bidirectional tolerances.</p>
         </li>
         <li>
            <p class="para_item">Location -- includes MMC bonus in tolerance magnitude. It also includes plus/minus and bidirectional tolerances.</p>
         </li>
      </ol>
      <table border="0">
         <tr>
            <td valign="top" align="left"><img align="left" src="../graphics/note.gif" alt="Note" title="Note"></td>
            <td valign="bottom" align="left" width="100%">
               <div class="para_note">
                  <p class="para_note_body">For orientation and location control, the tolerances that provide the most degrees of control (DOC) are considered first. For example, POS|DIA.010|A|B|C has 6 DOC and is, therefore, applied before POS|DIA.005|A, which has 3 DOC.</p>
               </div>
            </td>
         </tr>
      </table>
      <div class="title_division">Tolerance simulation</div>
      <p class="para_division">Each tolerance is simulated by the following amounts that are appropriate to that tolerance (based on its DOC):</p>
      <ul>
         <li>
            <p class="para_item">Location</p>
         </li>
         <li>
            <p class="para_item">Orientation</p>
         </li>
         <li>
            <p class="para_item">Form</p>
         </li>
      </ul>
      <table border="0">
         <tr>
            <td valign="top" align="left"><img align="left" src="../graphics/note.gif" alt="Note" title="Note"></td>
            <td valign="bottom" align="left" width="100%">
               <div class="para_note">
                  <p class="para_note_body">Amounts that are not appropriate to a tolerance are not simulated. For example, if a tolerance controls only form, then location and orientation are not included in the simulation.</p>
               </div>
            </td>
         </tr>
      </table>
      <p class="para_division">Each amount assumes either the maximum or minimum value defined by the tolerance for a <b class="uiTerm">Use Extreme Distribution</b>, or any value within the range (including the minimum or maximum value) for a <b class="uiTerm">Use Normal Distribution</b>.
      </p>
      <div class="title_division">Example 1</div>
      <p class="para_division">The first example is a plus/minus tolerance:</p>
      <p class="para_division"><img align="bottom" src="graphics/qs_plusminus.gif" border="0"></p>
      <p class="para_division">These are some of the configurations it can assume during the series of simulations:</p>
      <p class="para_division"><img align="bottom" src="graphics/qs_pm_configs.gif" border="0"></p>
      <table border="0">
         <tr>
            <td valign="top" align="left"><img align="left" src="../graphics/note.gif" alt="Note" title="Note"></td>
            <td valign="bottom" align="left" width="100%">
               <div class="para_note">
                  <p class="para_note_body">The face rotates in two planes: the plane of the screen (or paper, if this is printed), and a plane perpendicular to it.</p>
               </div>
            </td>
         </tr>
      </table>
      <div class="title_division">Example 2</div>
      <p class="para_division">In this example, which is a size tolerance:</p>
      <p class="para_division"><img align="bottom" src="graphics/qs_sizetol.gif" border="0"></p>
      <p class="para_division">The simulated values will be:</p>
      <p class="para_division"><img align="bottom" src="graphics/qs_sz_configs.gif" border="0"></p>
      <div class="title_division">Example 3</div>
      <p class="para_division">In this example (GD&amp;T, perpendicularity):</p>
      <p align="center"><img align="bottom" src="graphics/qs_perp.gif"></p>
      <p class="para_division">The simulated values will be:</p>
      <p align="center"><img align="bottom" src="graphics/qs_perp_configs.gif"></p>
      <table border="0">
         <tr>
            <td valign="top" align="left"><img align="left" src="../graphics/note.gif" alt="Note" title="Note"></td>
            <td valign="bottom" align="left" width="100%">
               <div class="para_note">
                  <p class="para_note_body">  The face rotates in two planes: the plane of the screen (or paper, if this is printed), and a plane perpendicular to it.</p>
               </div>
            </td>
         </tr>
      </table>
      <div class="title_division">Feature modification</div>
      <p class="para_division">Once the values for location, orientation, and form are determined for a simulation, those values are applied to the feature.</p>
      <div class="title_division">Simulation</div>
      <p class="para_division">Each feature is simulated, based on the tolerances applied to it, following the rules of the previous steps. At the end of the process, a &quot;designed&quot; component is transformed into a &quot;simulated&quot; component.</p>
      <p class="para_division">All the simulated components are then assembled together, according to the defined mating conditions. Each simulated &quot;from&quot; feature mates the specified simulated &quot;to&quot; feature. This results in a simulated assembly that contains all the components that were &quot;deformed&quot; by the tolerance applications (i.e., the random combinations of their minimum or maximum values).</p>
      <div class="title_division">Number of simulations</div>
      <p class="para_division">The default number of Monte Carlo simulations (for either a <b class="uiTerm">Use Extreme Distribution</b> or a <b class="uiTerm">Use Normal Distribution</b>) is 500, but you can <a class="links" href="javascript:void(0)" onclick="top.openFile('quickstack/preferences.html');return(false);">modify this number in the <b class="uiTerm">Tolerance Stackup Validation Preferences</b> dialog box</a>.
      </p>
      <p class="para_division">The number of contributor simulations depends on the number of toleranced features in the analysis.</p>
      <div class="title_division">Variation results</div>
      <p class="para_division">Once the entire assembly is simulated, a measurement can be taken between the faces. The measurement is taken along the direction that you specified, either the angle between the faces or the linear distance between two faces. (A measurement for distance is based on the points you specified: either the default point in the middle of the each face, or a point that you defined.)</p>
      <div class="title_division">Contributor results</div>
      <p class="para_division">The percentage calculation of how much each tolerance contributed to the total variation is performed as follows:</p>
      <ol type="1" start="1">
         <li>
            <p class="para_item">A base set of simulations is run to obtain a base variance.</p>
         </li>
         <li>
            <p class="para_item">Values of the base-variation for each measurement (V1, V2, ..., Vn) are stored.</p>
         </li>
         <li>
            <p class="para_item">For each tolerance:</p>
            <ul>
               <li>
                  <p class="para_item">The tolerance is set to zero.</p>
               </li>
               <li>
                  <p class="para_item">A new simulation is run, and the new variation for each measurement is calculated (W11, W12, ..., W1n)</p>
               </li>
               <li>
                  <p class="para_item">The difference between the new variation and the base-variation is the contribution to the measurement of the tolerance set to zero.</p>
               </li>
               <li>
                  <p class="para_item">The tolerance is restored to the original value.</p>
               </li>
            </ul>
         </li>
         <li>
            <p class="para_item">All differences are added.</p>
         </li>
         <li>
            <p class="para_item">Each calculated difference is normalized to 100. The calculated value shows the contribution of the tolerance to the total variation.</p>
         </li>
      </ol>
   </body>
</html>