<!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>Spindle Output</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">Spindle Output</div>
      <hr noshade="true">
      <div class="title_division">Output spindle start with motion on first rapid motion block. &nbsp;</div>
      <p class="para_division">This is the default setting. &nbsp;A new mill post outputs the following blocks:</p><pre class="indent">T M06 T G00 G90 X Y Z S M03</pre><div class="title_division">Output spindle start after tool change, but before first motion.</div><pre class="indent">T M06 T S M03 G00 G90 X Y Z </pre><p class="para_division">Under Program and Toolpath&rarr;Operation Start Sequence add the block spindle_rpm to the initial move marker and the first move marker.</p>
      <div class="title_division">Output spindle range code in S and M03 block with motion.</div><pre class="indent">T M06 T G00 G90 X Y Z S M03 M41</pre><p class="para_division">Under Program and Toolpath&rarr;Tool Path&rarr;Machine Control&rarr;Spindle RPM specify the range codes and minimum and maximum for each range. &nbsp;Do not make the ranges overlap. &nbsp;For example, a typical setting would be:</p><pre class="indent">M41 100 300 M42 301 2000</pre><p class="para_division">Under Program and Toolpath&rarr;Tool Path&rarr;Motion&rarr;Rapid Move add the M_range word to the rapid XY block.</p>
      <p class="para_division">Add the custom command pb_cmd_feeds_speeds_utils.tcl from the custom command library. Select pb_cmd_spindle_rpm_range_select from the Operation Start Sequence pull down menu and place it in the Initial Move and First Move event markers.</p>
      <p class="para_division">Edit the custom command PC_CMD_start_of_operation_force_addresses. &nbsp;Add the word M_range to the list to make sure that the spindle range is output at the start of each operation.</p>
      <div class="title_division">Output spindle range in a block before first motion with S and M03.</div><pre class="indent">T M06 T S M03 M41 G00 G90 X Y Z 
&nbsp;</pre><p class="para_division">Under Program and Toolpath&rarr;Tool Path&rarr;Machine Control&rarr;Spindle RPM specify the range codes and minimum and maximum for each range. &nbsp;Do not make the ranges overlap. &nbsp;For example, a typical setting would be:</p><pre class="indent">M41 100 300 M42 301 2000</pre><p class="para_division">Add the custom command pb_cmd_feeds_speeds_utils.tcl from the custom command library. Select pb_cmd_spindle_rpm_range_select from the Operation Start Sequence pull down menu and place it in the Initial Move and First Move event markers.</p>
      <p class="para_division">Under N/C Data Definitions&rarr;Block&rarr;spindle_rpm add the spindle M_range word to the block.</p>
      <p class="para_division">Edit the custom command PC_CMD_start_of_operation_force_addresses. &nbsp;Add the word M_range to the list to make sure that the spindle range is output at the start of each operation.</p>
      <div class="title_division">Output spindle range in a block before first motion before S and M03.</div><pre class="indent">T M06 T M41 S M03 G00 G90 X Y Z
Or
T M06 T M41 G00 G90 X Y Z S M03
&nbsp;</pre><p class="para_division">Specify the desired Spindle Range Type and ranges in the Spindle Range Code Table under Program &amp; Tool Path--&gt; Program--&gt; Machine Control--&gt; Spindle RPM. </p>
      <p class="para_division">Import the custom command pb_cmd_feeds_speeds_utils.tcl from the custom command library. Select pb_cmd_spindle_rpm_range_select from the Operation Start Sequence pull down menu and place it in the Initial Move and First Move event markers.  </p>
      <p class="para_division">Select pb_cmd_spindle_rpm_check and place it in the Program and Toolpath--&gt; Operations Start Sequence--&gt; Initial Move and First Move event markers after the pb_cmd_spindle_rpm_range_select command.  </p>
      <p class="para_division">Under Program and Toolpath-&gt;Operation Start Sequence add a new block using the M_range option to the Initial Move and First Move event markers and place it between the pb_cmd_spindle_rpm_range_select and pb_cmd_spindle_rpm_check custom commands.</p>
      <p class="para_division">Add the word M_range to the MOM_force list (usually the pb_cmd_tool_change_force_addresses or pb_cmd_alignment_block) to make sure that the spindle range is output at the start of each operation</p>
   </body>
</html>