<!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>Part Containment</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_topic5" id="xps10_pagetitle">Part Containment</div>
      <hr noshade="true">
      <p class="para_topic">Part Containment defines cut regions by creating loops along exterior edges of selected part surfaces and surface regions. Loops are similar to boundaries in that they define cut regions. They are dissimilar to boundaries in that they are generated directly on the part surface edges and are not projected.</p>
      <div class="figure">
         <p align="center"><img align="bottom" src="graphics/loops_exter.gif"></p>
      </div>
      <div class="title_figure">Loops Along all Exterior Edges of Part Surfaces</div>
      <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"> NOTE:When creating part containment from a solid body, select the faces to be machined not the solid body. Selecting the solid body can result in no loops being created. The solid body contains multiple possible exterior edges and this ambiguity will prevent the creation of loops. Selecting the faces to be machined will clearly define the exterior edges and allow the desired loop to be created.</p>
                  <p class="para_note_body"></p>
               </div>
            </td>
         </tr>
      </table>
      <p class="para_topic">Once the system has created the loops, you may specify which loops to use in the operation by selecting Edit and then toggling the Use This loop button On or Off for each loop. Like boundaries, each loop utilized in the operation is assigned an On, Tanto, or Contact tool position attribute and displays corresponding tool position indicators.</p>
      <p class="para_topic">Part Containment is only available for Fixed Contour operations. This area of the dialog box is blanked out for Variable Contour operations. Also, the Projection Vector must be either set to Tool Axis or must be a fixed vector equivalent to the Tool Axis option. A drive path cannot be generated if both of these conditions are not satisfied.</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">  CAUTION: When using a surfaced model (as opposed to a solid model), you should be sure that the faces can be sewn together to form the desired region. If not, the loops may yield unexpected results. For example, neighboring faces must not overlap excessively or have too large a gap between them, faces should not be duplicated, and areas of significant size should not be covered by more than one face. These problems can be identified by carefully examining the faces in the part list to see if any faces can be removed to eliminate double coverage, or by using the Topology option and choosing a tolerance to filter out gaps and overlaps.</p>
               </div>
            </td>
         </tr>
      </table>
      <p class="para_topic">Loops may be planar or non-planar and are always closed. They are generated along all exterior part surface edges. You may specify that All Loops be used to define the Cut Region (Use This Loop in the Part Containment dialog is toggled On for all of the newly created loops) or that only the Largest Loop be used to define the Cut Region (Use This Loop in the Part Containment dialog is toggled On for only the largest loop). In each case, the same loops are actually created. The status of the Use This Loop option is all that differs.</p>
      <div class="figure">
         <p align="center"><img align="bottom" src="graphics/allvslgloop.gif"></p>
      </div>
      <div class="title_figure">All Loops vs. Largest Loop</div>
      <p class="para_topic">Regardless of the initial setting, you can still use Edit to manually turn on or off the status of a loop. Changing the Part Containment option between Largest Loop and All Loops will override any manually set loops. Turning Part Containment Off and then back to the same option will not affect manually edited loops.</p>
      <p class="para_topic">Interior edges (part surface edges adjacent to other part surface edges) are ignored. If you define the part surfaces using Select All, be sure to remove all unwanted part surfaces so that the desired exterior edges (which will become loops) are correctly defined. The system will not generate loops if there are no exterior edges.</p>
      <p class="para_topic">Loops define the main area to be cut as well as islands and pockets to be avoided. The direction of the island and pocket tool position indicators (the arrowheads and half-arrowheads along the loops) relative to the main containment loop indicator determines whether an area will be included or excluded from the cut region. By default, the system defines the tool position indicators for pockets and islands pointing in the opposite direction of the main containment loop indicator, causing the areas to be excluded from the cut region as illustrated below.</p>
      <div class="figure">
         <p align="center"><img align="bottom" src="graphics/cutreg_loop.gif"></p>
      </div>
      <div class="title_figure">Cut Region Defined by Loops</div>
      <p class="para_topic">In the above figure, All Loops has been specified causing the system to use all three loops. By default, the system initially defines each loop with a Contact tool position. You may specify that the island loop and the pocket loop not be used by selecting Edit and toggling Use This Loop OFF. You may also change the tool position from Contact to On or Tanto as illustrated above.</p>
      <p class="para_topic">The following figure illustrates an island loop with indicators pointing in the same direction as the main containment loop. This occurs because part surface A is not adjacent to the part surfaces defining the main containment loop, causing the system to define the island loop as another exterior edge.</p>
      <p class="para_topic"> </p>
      <div class="figure">
         <p align="center"><img align="bottom" src="graphics/main_islnd_loop.gif"></p>
      </div>
      <div class="title_figure">Main Containment Loop and Island Loop Indicators Pointing in Same Direction</div>
      <p class="para_topic">If the tool position indicators for islands or pockets point in the same direction as the main containment loop indicators, only the island or pocket will form the cut region as illustrated above. This situation should be avoided since it causes the main containment loop to be ignored completely. Part surface A in the above illustration should be machined in a separate operation.</p>
      <p class="para_topic">Loops can be used in combination with boundaries to define the cut region. When projected along the tool axis to a plane, the area common to the boundary and loops defines the cut region as illustrated below.</p>
      <div class="figure">
         <p align="center"><img align="bottom" src="graphics/regloop_bndry.gif"></p>
      </div>
      <div class="title_figure">Cut Region Defined by Loops and Boundaries</div>
      <p class="para_topic">Multiple cut regions may be defined using combinations of boundaries and loops as illustrated below.</p>
      <div class="figure">
         <p align="center"><img align="bottom" src="graphics/reg_intrsct_loopbndry.gif"></p>
      </div>
      <div class="title_figure">Cut Regions Defined by Intersecting Loops and Boundaries</div>
      <p class="para_topic">Notice in the above figure that the system does not combine all boundaries into one cut region, but rather finds the intersecting areas and defines only those areas as cut regions.</p>
      <p class="para_topic">You should avoid using loops and boundaries that superimpose directly on one another when projected to a plane. Ambiguities such as whether to include or exclude an area from the cut region, or whether to position the tool as On, Contact, or Tanto may arise.</p>
      <p class="para_topic">In the following figure, for example, loop A superimposes on loop B in the plan view. The tool position indicators for loop A specify an On condition and indicate that the area will be included in the cut region. The tool position indicators for loop B, however, specify a Tanto condition and indicate that the area will be excluded from the cut region. The system cannot determine which loop or which tool position to use when calculating the drive path and the results will be unpredictable.</p>
      <div class="figure">
         <p align="center"><img align="bottom" src="graphics/superimpos_loop.gif"></p>
      </div>
      <div class="title_figure">Ambiguities Caused by Superimposing Loops</div>
      <p class="para_topic">To correct this situation, loop A should be made inactive (Use This Loop should be turned OFF) to yield the cut region illustrated below. Part surface C must be machined in a separate operation.</p>
      <div class="figure">
         <p align="center"><img align="bottom" src="graphics/cutregdefine.gif"></p>
      </div>
      <div class="title_figure">Cut Region Defined</div>
      <p class="para_topic">The Part Containment button activates the Edit and Display buttons described below. When you toggle this button to the ON position, the system identifies all exterior part surface edges as loops. You then use the Edit button described below to specify which loops you wish to use in defining the cut region.</p>
      <div class="title_division">Edit</div>
      <p class="para_division">Edit displays the Part Containment dialog box and highlights all exterior part surface edges. The Part Containment dialog box enables you to cycle through the loops and specify which loops to use in defining the cut regions. It is important to correctly identify only those loops you wish to use in the operation, especially if you have identified the part surfaces using Select All. Edit also enables you to define the tool position for each loop.</p>
      <p class="para_division">The left and right arrow buttons enable you to cycle through the loops. Each loop highlights in turn as you click on the the arrow.</p>
      <p class="para_division">The Use This Loop button determines whether or not the currently highlighted loop will be used in defining the cut region. It activates and deactivates the Tool Position option. For any loop you choose to use, you must specify an On, Tanto, or Contact tool position. Loops that are used in establishing the cut region are identified by displaying tool position indicators.</p>
      <p class="para_division">Tool Position is an attribute that determines how the tool will position when it approaches the loop. The tool must position to the loop using an On, Tanto, or Contact condition. The loops you choose to utilize are designated by tool position indicators as illustrated below.</p>
      <div class="figure">
         <p align="center"><img align="bottom" src="graphics/toolpostn_ind.gif"></p>
      </div>
      <div class="title_figure">Tanto, On and Contact Tool Position Indicators</div>
      <p class="para_division">The difference between these three positions is most apparent on steep surfaces.</p>
      <div class="figure">
         <p align="center"><img align="bottom" src="graphics/tantoncontct.gif"></p>
      </div>
      <div class="title_figure">Tanto, On, and Contact</div>
      <p class="para_division">In an On position, the center point of the tool aligns with the loop along the projection vector. In a Tanto position, the side of the tool aligns with the loop along the projection vector. In a Contact position, the tool contacts the loop.</p>
      <p class="para_division">The tool position that you specify applies to the entire loop. Unlike boundaries, you cannot Edit Members to specify a different tool position for each entity of the loop.</p>
      <div class="title_division">Display</div>
      <p class="para_division">Display highlights the loops that will be used in determining the cut regions.</p>
      <div class="title_division">Example of Part Containment</div>
      <p class="para_division">Here is an example of how Part Containment works:</p>
      <p align="center"><img align="bottom" src="graphics/ptcntnmnt.gif"></p>
      <ul>
         <li>
            <p class="para_item">Define the Part Geometry. For this example, select surfaces a, b, and c illustrated below.</p>
         </li>
         <li>
            <p class="para_item">Choose Boundary as the Drive Method.</p>
         </li>
         <li>
            <p class="para_item">Specify Part Containment as All Loops.</p>
         </li>
         <li>
            <p class="para_item">Choose Edit located just below Part Containment. The main containment loop highlights and the Part Containment dialog displays indicating that this loop is currently used.</p>
         </li>
      </ul>
      <p align="center"><img align="bottom" src="graphics/ptsurface.gif"></p>
      <ul>
         <li>
            <p class="para_item">Choose the left or right arrow button (&lt;&lt;&lt; or &gt;&gt;&gt;) to highlight the island loop.</p>
         </li>
         <li>
            <p class="para_item">Notice that Use This Loop is toggled ON for the island loop.</p>
         </li>
         <li>
            <p class="para_item">Change Tool Position to Tanto. The system uses the island loop to prevent the tool from gouging the island by stepping over to the next Zig or Zag cutting move when the tool is tangent to the loop.</p>
         </li>
      </ul>
      <p align="center"><img align="bottom" src="graphics/tanto.gif"></p>
      <ul>
         <li>
            <p class="para_item">Choose the left or right arrow button (&lt;&lt;&lt; or &gt;&gt;&gt;) to highlight the pocket loop.</p>
         </li>
         <li>
            <p class="para_item">Notice that Use This Loop is toggled ON for the pocket loop.</p>
         </li>
         <li>
            <p class="para_item">Change Tool Position to On. The system uses the pocket loop to allow the tool to cut to the edge of the pocket and steps over to the next Zig or Zag cutting move when the tool center line contacts the pocket loop.</p>
         </li>
      </ul>
      <p align="center"><img align="bottom" src="graphics/toolpostn_on.gif"></p>
      <ul>
         <li>
            <p class="para_item">Choose OK to return to the Boundary Drive Method dialog box.</p>
         </li>
         <li>
            <p class="para_item">Choose Display located below Part Containment to verify that the loops have been correctly defined.</p>
         </li>
         <li>
            <p class="para_item">Choose Display Drive Path to verify that the drive path has been correctly defined.</p>
         </li>
         <li>
            <p class="para_item">Choose OK to return to the Fixed or Variable Contour dialog box.</p>
         </li>
         <li>
            <p class="para_item">Choose Generate to create the tool path.</p>
         </li>
      </ul>
      <p align="center"><img align="bottom" src="graphics/pcgenerate.gif"></p>
   </body>
</html>