<!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>Optimize</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">Optimize</div>
      <hr noshade="true">
      <p class="para_topic">Optimize allows you to preselect a tool for the next tool path, suppress duplicate tool change commands in consecutive tool paths, remove postprocessor commands which are generated (or inserted) at the end of each tool path, and verify that tool paths which use a different tool than the previous tool path contain a tool change command.</p>
      <p class="para_topic">To Inactivate optimization, you must set options 1 through 4 such that no alteration of the CLSF occurs. Set the options as follows:</p><pre class="indent">TOOL PRESELECTION - NONE
DUPLICATE TOOL CHANGES - DO NOT REMOVE
END-PATH COMMANDS - IN ALL TOOL PATHS
TOOL CHANGE VERIFY - INACTIVE</pre><p class="para_topic">When you choose OK, the Optimization option is set to INACTIVE.</p>
      <p class="para_topic">The following Optimization parameters are available:</p>
      <table bgcolor="#F7F7F7" border="1" cellspacing="2" width="100%" align="center">
         <tr>
            <th colspan="1" rowspan="1" valign="top">
               <p class="para_th">Tool Preselection</p>
            </th>
            <td colspan="1" rowspan="1" valign="top">
               <p class="para_td">Automatically includes SELECT/TOOL commands to preselect a tool for the next tool path</p>
            </td>
         </tr>
         <tr>
            <th colspan="1" rowspan="1" valign="top">
               <p class="para_th">Duplicate Tool Changes</p>
            </th>
            <td colspan="1" rowspan="1" valign="top">
               <p class="para_td">Suppresses duplicate tool change commands in consecutive tool paths</p>
            </td>
         </tr>
         <tr>
            <th colspan="1" rowspan="1" valign="top">
               <p class="para_th">End-Path Commands</p>
            </th>
            <td colspan="1" rowspan="1" valign="top">
               <p class="para_td">Removes postprocessor commands which are generated (or inserted) at the end of each tool path</p>
            </td>
         </tr>
         <tr>
            <th colspan="1" rowspan="1" valign="top">
               <p class="para_th">Tool Change Verify</p>
            </th>
            <td colspan="1" rowspan="1" valign="top">
               <p class="para_td">Verifies that the first tool path and each subsequent tool path which uses a different tool than the previous tool path contain a tool change command</p>
            </td>
         </tr>
      </table><br><div class="title_division">Tool Preselection</div>
      <p class="para_division">Tool Preselection allows you to automatically include SELECT/TOOL commands to preselect a tool for the next tool path. This function applies only to auto-loaded mill tools (i.e., tools for which there is a LOAD/TOOL command without the MANUAL specifier).</p>
      <p class="para_division">You can specify a LOAD/TOOL by using the Tool Change option.</p>
      <p class="para_division">You may choose to have all auto-loaded tools preselected (All Tools), all but the first tool preselected (All But First Tool), or no tools preselected (None).</p>
      <p class="para_division">If tool preselection is active, the system searches each tool path for a LOAD/TOOL and SELECT/TOOL command. If both are found and both refer to the same tool, the system removes the SELECT/TOOL command from the tool path in which it was found and inserts it after the previous tool change command.</p>
      <p class="para_division">If no SELECT/TOOL is found, or the SELECT/TOOL command does not refer to the same tool as the LOAD/TOOL command, the system derives a SELECT/TOOL command from the LOAD/TOOL command and inserts it after the previous tool change command. The derived SELECT command is in the form SELECT/TOOL,n, where &quot;n&quot; is the tool number in the LOAD/TOOL statement.</p>
      <p class="para_division">If a tool is to be preselected for the first tool path, the SELECT/TOOL command appears before the first tool change command.</p>
      <p class="para_division">Normally, you do not need to generate SELECT/TOOL commands via Machine Control because the system automatically derives SELECT/TOOL commands from LOAD/TOOL commands. However, there are two situations where specifying a SELECT/TOOL command via Machine Control is useful:</p>
      <ol type="1" start="1">
         <li>
            <p class="para_item">When the SELECT/TOOL command requires additional data other than the tool number (e.g., a COLLET number). In this case, include the appropriate SELECT/TOOL command before its corresponding LOAD/TOOL command in each tool path.</p>
            <p class="para_item">Example:</p><pre class="indent">SELECT/TOOL,1,COLLET,SMALL $$ Selection Params For This Op
LOAD/TOOL,1,ADJUST,1
.
. (other post commands)
.</pre></li>
      </ol>
      <p class="para_division">The system then moves the SELECT/TOOL command to its appropriate place in the preceding tool path.</p>
      <ul>
         <li>
            <p class="para_item">When you wish to place the SELECT/TOOL command for a subsequent tool path at a location other than immediately after the tool change command for the current tool path. In this case, define a SELECT/TOOL command for each tool path at the appropriate location following the LOAD/TOOL command. The tool number used is irrelevant since this SELECT/TOOL command serves only as a place marker for the appropriate SELECT TOOL command generated during optimization.</p>
            <p class="para_item">Example:</p><pre class="indent">LOAD/TOOL,1,ADJUST,1
.
. (other post commands)
.
SELECT/TOOL,9999 $$ INDICATE DESIRED SELECT/TOOL LOCATION
.
. (other post commands)
.</pre></li>
      </ul>
      <p class="para_division">During ordering and optimization, the system replaces SELECT/TOOL,9999 with the appropriate SELECT/TOOL command for the next tool path. (If SELECT/TOOL is not present in the original path, the system places a SELECT/TOOL command immediately following the LOAD/TOOL command.)</p>
      <div class="title_division">Duplicate Tool Changes</div>
      <p class="para_division">Duplicate Tool Chgs allows you to suppress duplicate tool change commands in consecutive tool paths.</p>
      <p class="para_division">Do Not Remove deactivates duplicate tool change suppression.</p>
      <p class="para_division">Remove causes tool change commands (LOAD/TOOL and TURRET) to be removed from a tool path which uses the same tool as the previous tool path.</p>
      <p class="para_division">Replace With Set/Adjust causes tool change commands to be removed from a tool path which used the same tool as the previous tool path, and to be replaced with a SET/ADJUST command derived from the tool change command (to activate tool length compensation without changing tools).</p>
      <p class="para_division">Replace With Tmark And Set/Adjust commands cause duplicated tool changes to be removed and replaced with TMARK and SET/ADJUST commands (to generate a startup block and activate tool length compensation without changing tools).</p>
      <div class="title_division">End Path Commands</div>
      <p class="para_division">End-Path Commands allow you to remove postprocessor commands which are generated (or inserted) at the end of each tool path. Specifically, COOLNT/OFF, SPINDL/OFF, GOHOME (for milling tool paths only), and macro calls.</p>
      <p class="para_division">In All Tool Paths indicates that end of tool path commands are to be included (not removed) in all tool paths.</p>
      <p class="para_division">In All But Last Tool Path indicates that end of tool path commands are to be included in all tool paths except the last tool path in the CLSF (commands are removed from the last tool path only).</p>
      <p class="para_division">Only With Tool Changes indicates that end of tool path commands are to be included only when the next tool path uses a new tool.</p>
      <p class="para_division">With Tool Changes And Last Tool Path indicates that end of tool path commands are to be included only when the next tool path uses a new tool and with the last tool path in the CLSF.</p>
      <p class="para_division">In Last Tool Path Only indicates that end of tool path commands are to be included in the last tool path but not in preceding tool paths in the CLSF.</p>
      <p class="para_division">None indicates that all end of tool path commands are to be removed.</p>
      <p class="para_division">The system considers end of tool path commands to be a block of commands which appear at the end of each tool path after the last GOTO, INDEX, COPY, or CUTCOM command (whichever occurs last) and before the END-OF-PATH statement or the group of PAINT commands which cancel display functions, whichever occurs first.</p>
      <p class="para_division">Example:</p><pre class="indent">GOTO/. . .
PAINT/COLOR,5
FEDRAT/25
GOTO/. . .
CUTCOM/OFF
*COOLNT/OFF
*SPINDL/OFF
*GOHOME/. . .
*CALL/ENDMAC
PAINT/TOOL,NOMORE
PAINT/ARROW,NOMORE
END-OF-PATH</pre><p class="para_division">The lines marked with an asterisk (*) are considered to be end-of-path commands.</p>
      <div class="title_division">Tool Change Verify</div>
      <p class="para_division">Tool Change Verify allows you to verify that the first tool path and each subsequent tool path which uses a different tool than the previous tool path contain a tool change command (LOAD/TOOL or TURRET).</p>
      <p class="para_division">If tool change verification is active, the system checks the first tool path for a tool change command. For each subsequent tool path, the system compares the tool information in the tool path header with the tool information in the previous tool path header. If they are different, the system verifies if a tool change command is missing and causes an error to be written to the error list.</p>
      <p class="para_division">This option toggles between ACTIVE and INACTIVE.</p>
   </body>
</html>