<!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>Advanced engagement value assignment</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_topic4" id="xps10_pagetitle">Advanced engagement value assignment</div>
      <hr noshade="true">
      <table cellspacing="4" align="center">
         <tr valign="top">
            <td bgcolor="#f7f7f7" colspan="1" rowspan="1">
               <p class="para_td"><a class="links" href="javascript:void(0)" onclick="top.openFile('routingtools/parts_overview.html');return(false);">Parts Overview</a></p>
            </td>
            <td bgcolor="#f7f7f7" colspan="1" rowspan="1">
               <p class="para_td">How To</p>
            </td>
            <td bgcolor="#f7f7f7" colspan="1" rowspan="1">
               <p class="para_td"><a class="links" href="javascript:void(0)" onclick="top.openFile('routingtools/parts_toolbar.html');return(false);">Options</a></p>
            </td>
            <td bgcolor="#f7f7f7" colspan="1" rowspan="1">
               <p class="para_td"><a class="links" href="javascript:void(0)" onclick="top.openFile('routingtools/parts_quality.html');return(false);">Related Topics</a></p>
            </td>
         </tr>
      </table><br><p class="para_topic">How do we define the two ports' engagements so they are parametric and independent in the same part?</p>
      <p class="para_topic">Some solutions:</p>
      <ol type="1" start="1">
         <li>
            <p class="para_item">Define the engagement value for each port via expressions. For example, define an expression engage_exp_1 = {whatever} and another expression engage_exp_2 = [something altogether different] and set the first port's engagement value in <b class="uiTerm">Qualify Part</b> to engage_exp_1 and the second's value to engage_exp_2. You should define these expressions such that they change in step with the overall size / configuration of the part. For example, engage_exp_1 may be defined as Depth_Of_Hole_1 * .95. As long as the expressions defined will take on correct values for the various sizes of the part, no other work or set up is required for this part or its part table.
            </p>
         </li>
         <li>
            <p class="para_item">If the engagement values for the ports do not change with different sizes of the part, you can define an ENGAGE characteristic on each port (using <b class="uiTerm">Qualify Part</b>) that has the requisite value, for example, ENGAGE = .161 for one and ENGAGE = .241 for the other. (Of course, you could also do the same with solution 1).
            </p>
         </li>
         <li>
            <p class="para_item">If the engagement values need to change with different sizes of the part and you do not want to use the 1st solution. Define ENGAGE as a REFERENCE characteristic and set its value to the name of the part characteristic to use. </p>
         </li>
      </ol>
      <p class="para_topic">For example, define ENGAGE for the 1st port with a value of ENGAGE_1 and ENGAGE for the 2nd port as ENGAGE_2. Then define two new columns in the part table, ENGAGE_1 and ENGAGE_2. We typically define these as hidden so that you do not use them for selecting the particular part member from the table. For example, here is a part of the definition of a part table's columns:</p><pre class="indent">COLUMNS
REAL / HIDE ENGAGE_1
REAL / HIDE ENGAGE_2
STRING MATERIAL
REAL SIZE 
...
END_OF_COLUMNS</pre><p class="para_topic">You need to define appropriate values for the ENGAGE_1 and ENGAGE_2 columns that correspond to the other selection columns of the part table, for example, SIZE and MATERIAL.</p>
      <p class="para_topic">What are the advantages / disadvantages of the three methods?</p>
      <ol type="1" start="1">
         <li>
            <p class="para_item">This is very flexible as you are using the full power of the expression subsystem to define the values. But, it requires that you modify the part (and the expressions) if you need to change the engagement values for a particular part. (Note that already instantiated parts from this part class will NOT update, unless you use the <b class="uiTerm">Part Family</b> mechanism for doing so.
            </p>
         </li>
         <li>
            <p class="para_item">This is the least flexible solution, but is also the easiest if the values are not going to change.</p>
         </li>
         <li>
            <p class="para_item">This is reasonable flexible, although not as flexible as solution 1. You can change the engagement values assigned to new instances of this part class without modifying the part, just by changing the part table. (Although changing the part table may require executing the update utility that synchronizes the part table and the part file. If you define new geometric rows in the table, you must use the update utility to add those new rows to the part family table within the part file).</p>
         </li>
      </ol>
      <p class="para_topic">We generally recommend using Solution 1.</p>
   </body>
</html>