##############################################################################
# Description
#     This is the definition file for mill3ax_preloaded
#
# Revisions
#
#   Date        Who   Reason
# 02-jul-1998   whb   Original
# 31-jul-1998   whb   load_tool_number now tool_number
# 20-apr-1999   whb   feed rates are now feed(set in FEEDRATE_SET)
# 19-may-1999   whb   add opt for mom_cycle_delay
# 02-Jun-1999   whb   fix commentary
# 24-jun-1999   whb   convert FORMATS from % to & formats
#                     rename Socket_x FORMATS
# 29-jul-1999   vb    modify turret configuration
# 29-Jul-1999   whb   default Seqno to 5 digits, default Coordinate to 5 digits
# 24-Aug-1999   jm    Modify holding system in POCKET description
#                     to 330 (taper shank 50) so that some milling
#                     tools of the library fit.
# 24-Sep-1999   vb    new machine with preloaded tools added tools
# 19-Oct-1999   tb    added new preloaded tools 
# 16-Nov-1999   gbs   Include the ude file for udes
# 27-Jun-2000   whb   update as per mill3ax.def
#
# $HISTORY$
#
###############################################################################
MACHINE mill3ax

INCLUDE
{
   $UGII_CAM_USER_DEF_EVENT_DIR/ude.cdl
}


FORMATTING
{

 WORD_SEPARATOR     " "
 END_OF_LINE        ""
 SEQUENCE Seq_no    10  10  1

 FORMAT  Coordinate "&__5.4_"
 FORMAT  Dwell_sec  "&__3.3_"
 FORMAT  Spindle    "&__5_00"
 FORMAT  Seqno      "&__5_00"
 FORMAT  nurb_code  "&_02.1_"
 FORMAT  Register_2 "&_02_00"
 FORMAT  Register_3 "&_03_00"
 FORMAT  Register_5 "&_05_00"
 FORMAT  T_Register "&_02_00"
 FORMAT  Feed_IPM   "&__3.2_"
 FORMAT  Feed_IPR   "&__4.2_"
 FORMAT  Feed_MMPM  "&__5.1_"
 FORMAT  Feed_MMPR  "&__6.2_"
 FORMAT  Feed_FRN   "&__4.3_"
 FORMAT  Feed_INV   "&__6.2_"
 FORMAT  Feed_DPM   "&__6.2_"
 FORMAT  Feed       "&__7.1_"
 FORMAT  zero       "&_02_00"
 FORMAT  zero_coord "&_01.0_"
 FORMAT  zero_spin  "&_01_00"

 FORMAT  EventNum   "%-5d"
 FORMAT  AbsCoord   "%9.4f"
 FORMAT  RotCoord   "%8.3f"
 FORMAT  ComFeed    "%7.2f"
 FORMAT  Rev        "%5d"
 FORMAT  Minutes    "%9.4f"


 ADDRESS N  {
              FORMAT Seqno
              FORCE  off
              MAX    99990
            }
 ADDRESS G  {
              ZERO_FORMAT zero
              FORMAT Register_2
              MAX    99
              MIN    0
              FORCE  always
            }
 ADDRESS motion_g {
              LEADER "G"
              ZERO_FORMAT zero
              FORMAT Register_2
              FORCE  off
            }
 ADDRESS plane_g {
              LEADER "G"
              ZERO_FORMAT zero
              FORMAT Register_2
              FORCE  off
            }
 ADDRESS cutcom_g {
              LEADER "G"
              ZERO_FORMAT zero
              FORMAT Register_2
              FORCE  off
            }
 ADDRESS return_g {
              LEADER "G"
              ZERO_FORMAT zero
              FORMAT Register_2
              FORCE  off
            }
 ADDRESS mode_g {
              LEADER "G"
              ZERO_FORMAT zero
              FORMAT Register_2
              FORCE  off
            }
 ADDRESS X  {
              ZERO_FORMAT zero_coord
              FORMAT Coordinate
              MAX    9999.9999
              MIN    -9999.9999
              FORCE  off
            }
 ADDRESS Y  {
              ZERO_FORMAT zero_coord
              FORMAT Coordinate
              MAX    9999.9999
              MIN    -9999.9999
              FORCE  off
            }
 ADDRESS Z  {
              ZERO_FORMAT zero_coord
              FORMAT Coordinate
              MAX    9999.9999
              MIN    -9999.9999
              FORCE  off
            }
 ADDRESS A  {
              ZERO_FORMAT zero_coord
              FORMAT Coordinate
              MAX    9999.9999
              MIN    -9999.9999
              FORCE  off
            }
 ADDRESS B  {
              ZERO_FORMAT zero_coord
              FORMAT Coordinate
              MAX    9999.9999
              MIN    -9999.9999
              FORCE  off
            }
 ADDRESS C  {
              ZERO_FORMAT zero_coord
              FORMAT Coordinate
              MAX    9999.9999
              MIN    -9999.9999
              FORCE  off
            }
 ADDRESS R  { 
              ZERO_FORMAT zero_coord
              FORMAT Coordinate
              MAX    9999.9999
              MIN    -9999.9999
              FORCE  off
            }
 ADDRESS I  {
              ZERO_FORMAT zero_coord
              FORMAT Coordinate
              MAX    9999.9999
              MIN    -9999.9999
              FORCE  off
            }
 ADDRESS J  {
              ZERO_FORMAT zero_coord
              FORMAT Coordinate
              MAX    9999.9999
              MIN    -9999.9999
              FORCE  off
            }
 ADDRESS K  {
              ZERO_FORMAT zero_coord
              FORMAT Coordinate
              MAX    9999.9999
              MIN    -9999.9999
              FORCE  off
            }
 ADDRESS RISE  {
              ZERO_FORMAT zero_coord
              FORMAT Coordinate
              MAX    9999.9999
              MIN    -9999.9999
              FORCE  off
            }
 ADDRESS cycle_dwell  {
              FORMAT Dwell_sec
              MAX    99999.999
              MIN    0.001
              FORCE  off
              LEADER "P"
            }
 ADDRESS dwell  {
              FORMAT Dwell_sec
              MAX    99999.999
              MIN    0.001
              FORCE  off
              LEADER "P"
            }
 ADDRESS cycle_step  {
              ZERO_FORMAT zero_coord
              FORMAT Coordinate
              MAX    9999.9999
              MIN    -9999.9999
              FORCE  off
              LEADER "Q"
            }
 ADDRESS cycle_nodrag  {
              ZERO_FORMAT zero_coord
              FORMAT Coordinate
              MAX    9999.9999
              MIN    -9999.9999
              FORCE  off
              LEADER "Q"
            }
 ADDRESS F  {
              FORMAT Feed
              MAX    9999.9
              MIN    0.1
              FORCE  off
            }
 ADDRESS S  {
              ZERO_FORMAT zero_spin
              FORMAT Spindle
              MAX    99999
              MIN    0
              FORCE  always
            }
 ADDRESS T  {
              FORMAT T_Register
              MAX    99
              MIN    0
              FORCE  off
            }
 ADDRESS coolant_m  {
              LEADER "M"
              FORMAT Register_2
              FORCE  off
            }
 ADDRESS spindle_m  {
              LEADER "M"
              FORMAT Register_2
              FORCE  off
            }
 ADDRESS M  {
              ZERO_FORMAT zero
              FORMAT Register_2
              MAX    99
              MIN    0
              FORCE  off
            }
 ADDRESS D  {
              ZERO_FORMAT zero
              FORMAT Register_2
              MAX    99
              MIN    0
              FORCE  off
            }
 ADDRESS H  {
              ZERO_FORMAT zero
              FORMAT Register_2
              MAX    99
              MIN    0
              FORCE  off
            }
 ADDRESS precision_g {
              LEADER "G"
              FORMAT Register_2
              FORCE always
            }
 ADDRESS precision {
              LEADER "P"
              FORMAT Register_5
              FORCE off
            }
 ADDRESS knot {
              LEADER "K"
              ZERO_FORMAT zero_coord
              FORMAT Coordinate
              FORCE always
            }
 ADDRESS order {
              LEADER "P"
              FORMAT Register_2
              FORCE off
            }

# Addresses for the lpt file output

 ADDRESS ENUM  {
              FORMAT EventNum
              FORCE  always
              LEADER ""
            }
 ADDRESS ABSX  {
              FORMAT AbsCoord
              FORCE  always
              LEADER ""
            }
 ADDRESS ABSY  {
              FORMAT AbsCoord
              FORCE  always
              LEADER ""
            }
 ADDRESS ABSZ  {
              FORMAT AbsCoord
              FORCE  always
              LEADER ""
            }
 ADDRESS AXIS4  {
              FORMAT RotCoord
              FORCE  always
              LEADER ""
            }
 ADDRESS AXIS5  {
              FORMAT RotCoord
              FORCE  always
              LEADER ""
            }
 ADDRESS FEED  {
              FORMAT ComFeed
              FORCE  always
              LEADER ""
            }
 ADDRESS RPM  {
              FORMAT Rev
              FORCE  always
              LEADER ""
            }
 ADDRESS TIME {
              FORMAT Minutes
              FORCE  always
              LEADER ""
            }

            BLOCK_TEMPLATE Seq_no  { N[$mom_seqnum]  }

            BLOCK_TEMPLATE from    {  
                                     X[$mom_pos(0)]
                                     Y[$mom_pos(1)]
                                     Z[$mom_pos(2)]
                                   }

            BLOCK_TEMPLATE rapid_xy {  
                                     motion_g[$mom_sys_rapid_code]
                                     mode_g[$mom_sys_output_code($mom_output_mode)]\opt
                                     X[$mom_pos(0)]
                                     Y[$mom_pos(1)]
                                   }

            BLOCK_TEMPLATE rapid_z { 
                                     motion_g[$mom_sys_rapid_code]
                                     Z[$mom_pos(2)]
                                     H[$mom_tool_length_adjust_register]\opt
                                     coolant_m[$mom_sys_coolant_code($mom_coolant_status)]\opt
                                   }

            BLOCK_TEMPLATE cycle_plane_change { 
                                     motion_g[$mom_sys_rapid_code]
                                     X[$mom_cycle_clearance_pos(0)]
                                     Y[$mom_cycle_clearance_pos(1)]
                                     Z[$mom_cycle_clearance_pos(2)]
                                   }

            BLOCK_TEMPLATE linear  { 
				     cutcom_g[$mom_sys_cutcom_code($mom_cutcom_status)]\opt
                                     plane_g[$mom_sys_cutcom_plane_code($mom_cutcom_plane)]\opt
                                     motion_g[$mom_sys_linear_code]
                                     X[$mom_pos(0)]
                                     Y[$mom_pos(1)]
                                     Z[$mom_pos(2)]
                                     F[$feed]
                                     D[$mom_cutcom_adjust_register]\opt
                                   }

            BLOCK_TEMPLATE circle  { 
				     cutcom_g[$mom_sys_cutcom_code($mom_cutcom_status)]\opt
                                     plane_g[$g_plane]
                                     motion_g[$mom_sys_circle_code($mom_arc_direction)]
                                     X[$mom_pos(0)]
                                     Y[$mom_pos(1)]
                                     Z[$mom_pos(2)]
                                     I[$mom_pos_arc_center(0)-$mom_prev_pos(0)]
                                     J[$mom_pos_arc_center(1)-$mom_prev_pos(1)]
                                     K[$mom_pos_arc_center(2)-$mom_prev_pos(2)]
                                     F[$feed]
                                   }

            BLOCK_TEMPLATE helix   {
                                     cutcom_g[$mom_sys_cutcom_code($mom_cutcom_status)]\opt
                                     plane_g[$g_plane]
                                     motion_g[$mom_sys_circle_code($mom_arc_direction)]
                                     X[$mom_pos(0)]
                                     Y[$mom_pos(1)]
                                     Z[$mom_pos(2)]
                                     I[$mom_pos_arc_center(0)-$mom_prev_pos(0)]
                                     J[$mom_pos_arc_center(1)-$mom_prev_pos(1)]
                                     K[$mom_pos_arc_center(2)-$mom_prev_pos(2)]
                                     RISE[$mom_helix_pitch]
                                     F[$feed]
                                   }

            BLOCK_TEMPLATE cycle_drill { 
                                     motion_g[$mom_sys_cycle_drill_code]
                                     X[$mom_cycle_feed_to_pos(0)]
                                     Y[$mom_cycle_feed_to_pos(1)]
                                     Z[$mom_cycle_feed_to_pos(2)]
                                     R[$mom_cycle_rapid_to_pos(2)]
                                     F[$feed]
            		           }
            
            BLOCK_TEMPLATE cycle_drill_dwell { 
                                     motion_g[$mom_sys_cycle_drill_dwell_code]
                                     X[$mom_cycle_feed_to_pos(0)]
                                     Y[$mom_cycle_feed_to_pos(1)]
                                     Z[$mom_cycle_feed_to_pos(2)]
                                     R[$mom_cycle_rapid_to_pos(2)]
				     cycle_dwell[$mom_cycle_delay]\opt
                                     F[$feed]
                                   }

            BLOCK_TEMPLATE cycle_drill_deep { 
                                     motion_g[$mom_sys_cycle_drill_deep_code]
                                     X[$mom_cycle_feed_to_pos(0)]
                                     Y[$mom_cycle_feed_to_pos(1)]
                                     Z[$mom_cycle_feed_to_pos(2)]
                                     R[$mom_cycle_rapid_to_pos(2)]
				     cycle_step[$mom_cycle_step1]
                                     F[$feed]
            		           }

            BLOCK_TEMPLATE cycle_breakchip { 
                                     motion_g[$mom_sys_cycle_breakchip_code]
                                     X[$mom_cycle_feed_to_pos(0)]
                                     Y[$mom_cycle_feed_to_pos(1)]
                                     Z[$mom_cycle_feed_to_pos(2)]
                                     R[$mom_cycle_rapid_to_pos(2)]
				     cycle_step[$mom_cycle_step1]
                                     F[$feed]
            		           }

            BLOCK_TEMPLATE cycle_tap { 
                                     motion_g[$mom_sys_cycle_tap_code]
                                     X[$mom_cycle_feed_to_pos(0)]
                                     Y[$mom_cycle_feed_to_pos(1)]
                                     Z[$mom_cycle_feed_to_pos(2)]
                                     R[$mom_cycle_rapid_to_pos(2)]
                                     F[$feed]
            		           }

            BLOCK_TEMPLATE cycle_bore { 
                                     motion_g[$mom_sys_cycle_bore_code]
                                     X[$mom_cycle_feed_to_pos(0)]
                                     Y[$mom_cycle_feed_to_pos(1)]
                                     Z[$mom_cycle_feed_to_pos(2)]
                                     R[$mom_cycle_rapid_to_pos(2)]
                                     F[$feed]
            		           }
            
            BLOCK_TEMPLATE cycle_bore_dwell { 
                                     motion_g[$mom_sys_cycle_bore_dwell_code]
                                     X[$mom_cycle_feed_to_pos(0)]
                                     Y[$mom_cycle_feed_to_pos(1)]
                                     Z[$mom_cycle_feed_to_pos(2)]
                                     R[$mom_cycle_rapid_to_pos(2)]
				     cycle_dwell[$mom_cycle_delay]\opt
                                     F[$feed]
            		           }

            BLOCK_TEMPLATE cycle_bore_drag { 
                                     motion_g[$mom_sys_cycle_bore_drag_code]
                                     X[$mom_cycle_feed_to_pos(0)]
                                     Y[$mom_cycle_feed_to_pos(1)]
                                     Z[$mom_cycle_feed_to_pos(2)]
                                     R[$mom_cycle_rapid_to_pos(2)]
                                     F[$feed]
            		           }

            BLOCK_TEMPLATE cycle_bore_no_drag { 
                                     motion_g[$mom_sys_cycle_bore_no_drag_code]
                                     X[$mom_cycle_feed_to_pos(0)]
                                     Y[$mom_cycle_feed_to_pos(1)]
                                     Z[$mom_cycle_feed_to_pos(2)]
                                     R[$mom_cycle_rapid_to_pos(2)]
				     cycle_nodrag[$mom_cycle_retract_to]\opt
                                     F[$feed]
            		           }

            BLOCK_TEMPLATE cycle_bore_back { 
                                     motion_g[$mom_sys_cycle_bore_back_code]
                                     X[$mom_cycle_feed_to_pos(0)]
                                     Y[$mom_cycle_feed_to_pos(1)]
                                     Z[$mom_cycle_feed_to_pos(2)]
                                     R[$mom_cycle_rapid_to_pos(2)]
				     cycle_nodrag[$mom_cycle_retract_to]\opt
                                     F[$feed]
            		           }

            BLOCK_TEMPLATE cycle_bore_manual { 
                                     motion_g[$mom_sys_cycle_bore_manual_code]
                                     X[$mom_cycle_feed_to_pos(0)]
                                     Y[$mom_cycle_feed_to_pos(1)]
                                     Z[$mom_cycle_feed_to_pos(2)]
                                     R[$mom_cycle_rapid_to_pos(2)]
                                     F[$feed]
            		           }

            BLOCK_TEMPLATE cycle_bore_manual_dwell { 
                                     motion_g[$mom_sys_cycle_bore_manual_code]
                                     X[$mom_cycle_feed_to_pos(0)]
                                     Y[$mom_cycle_feed_to_pos(1)]
                                     Z[$mom_cycle_feed_to_pos(2)]
                                     R[$mom_cycle_rapid_to_pos(2)]
				     cycle_dwell[$mom_cycle_delay]\opt
                                     F[$feed]
            		           }

            BLOCK_TEMPLATE cycle_off      { motion_g[$mom_sys_cycle_off] }

            BLOCK_TEMPLATE nurbs_start {
                              precision_g[$mom_sys_nurbs_precision_code]
                              precision[$nurbs_precision]
                            }

            BLOCK_TEMPLATE anchor_point {
                        motion_g[$mom_sys_linear_code]
                        X[$mom_nurbs_points(0,0)]
                        Y[$mom_nurbs_points(0,1)]
                        Z[$mom_nurbs_points(0,2)]
                      }

            BLOCK_TEMPLATE nurbs {
                        motion_g[$mom_sys_nurbs_code]
                        order[$mom_nurbs_order]
                        knot[$mom_nurbs_knots($nurbs_knot_count)]
                        X[$mom_nurbs_points($nurbs_knot_count,0)]
                        Y[$mom_nurbs_points($nurbs_knot_count,1)]
                        Z[$mom_nurbs_points($nurbs_knot_count,2)]
                        F[$feed]\opt\nows
                      }

            BLOCK_TEMPLATE knots {
                        knot[$mom_nurbs_knots($nurbs_knot_count)]\nows
                      }

            BLOCK_TEMPLATE spindle_start  { S[$mom_spindle_rpm]
                                            spindle_m[$mom_sys_spindle_direction_code($mom_spindle_direction)]
                                          }
       
            BLOCK_TEMPLATE spindle_off    { spindle_m[$mom_sys_spindle_direction_code(OFF)]} 
            
            BLOCK_TEMPLATE coolant_off    { coolant_m[$mom_sys_coolant_code(OFF)] }

            BLOCK_TEMPLATE cutcom_off     { cutcom_g[$mom_sys_cutcom_code(OFF)] }

            BLOCK_TEMPLATE delay          { G[$mom_sys_delay_code($mom_delay_mode)] dwell[$mom_delay_value] }

            BLOCK_TEMPLATE return_home    { G[28]
                                            mode_g[$mom_sys_output_code(INCREMENTAL)]
                                            Z[0] }

            BLOCK_TEMPLATE tool_change    { T[$mom_tool_number] M[$mom_sys_tool_change_code] }

            BLOCK_TEMPLATE tool_preselect { T[$mom_next_tool_number] }

            BLOCK_TEMPLATE auxiliary      { M[$mom_auxfun] }

            BLOCK_TEMPLATE preparatory    { G[$mom_prefun] }

            BLOCK_TEMPLATE opstop         { M[$mom_sys_optional_stop_code] }

            BLOCK_TEMPLATE stop           { M[$mom_sys_program_stop_code] }

            BLOCK_TEMPLATE end_of_program { M[$mom_sys_end_of_program_code] }
            
    BLOCK_TEMPLATE comment_data {
      ENUM[$mom_debug_event_num]\nows
      " "\nows
      ABSX[$mom_pos(0)]\nows
      " "\nows
      ABSY[$mom_pos(1)]\nows
      " "\nows
      ABSZ[$mom_pos(2)]\nows
      " "\nows
      AXIS4[$mom_pos(3)]\nows
      " "\nows
      AXIS5[$mom_pos(4)]\nows
      " "\nows
      FEED[$com_feed_rate]\nows
      " "\nows
      RPM[$mom_spindle_rpm]\nows
      " "\nows
      TIME[$mom_event_time]\nows
    }

}


TURRET 1
{
   POCKET 1
   {
      HOLDING_SYSTEM "300", "310", "320", "330"
      PRELOAD_TOOL ugt0202_009 0		
      TOOL_CONSTRAINTS      
      {
         ANGLES 0.0
         XFORM_ANGLES X 0.0 Y 0.0 Z 0.0
         QUERY " "
      }
   }

   POCKET 2
   {
      HOLDING_SYSTEM "300", "310", "320", "330"
      PRELOAD_TOOL ugt0202_010 0		
      TOOL_CONSTRAINTS
      {
         ANGLES 0.0
         XFORM_ANGLES X 0.0 Y 0.0 Z 0.0
         QUERY " "
      }
   }

   POCKET 3
   {
      HOLDING_SYSTEM "300", "310", "320", "330"
      PRELOAD_TOOL ugt0201_014 0
      TOOL_CONSTRAINTS
      {
         ANGLES 0.0
         XFORM_ANGLES X 0.0 Y 0.0 Z 0.0
         QUERY " "
      }
   }

   POCKET 4
   {
      HOLDING_SYSTEM "300", "310", "320", "330"
      PRELOAD_TOOL ugt0201_015 0
      TOOL_CONSTRAINTS
      {
         ANGLES 0.0
         XFORM_ANGLES X 0.0 Y 0.0 Z 0.0
         QUERY " "
      }
   }

   POCKET 5
   {
      HOLDING_SYSTEM "300", "310", "320", "330"
      PRELOAD_TOOL ugt0212_001 0
      TOOL_CONSTRAINTS
      {
         ANGLES 0.0
         XFORM_ANGLES X 0.0 Y 0.0 Z 0.0
         QUERY " "
      }
   }

   POCKET 6
   {
      HOLDING_SYSTEM "300", "310", "320", "330"
      PRELOAD_TOOL ugt0221_009 0
      TOOL_CONSTRAINTS
      {
         ANGLES 0.0
         XFORM_ANGLES X 0.0 Y 0.0 Z 0.0
         QUERY " "
      }
   }

   POCKET 7
   {
      HOLDING_SYSTEM "300", "310", "320", "330"
      PRELOAD_TOOL ugt0301_032 0
      TOOL_CONSTRAINTS
      {
         ANGLES 0.0
         XFORM_ANGLES X 0.0 Y 0.0 Z 0.0
         QUERY " "
      }
   }

   POCKET 8
   {
      HOLDING_SYSTEM "300", "310", "320", "330"
      PRELOAD_TOOL ugt0301_041 0
      TOOL_CONSTRAINTS
      {
         ANGLES 0.0
         XFORM_ANGLES X 0.0 Y 0.0 Z 0.0
         QUERY " "
      }
   }

   POCKET 9
   {
      HOLDING_SYSTEM "300", "310", "320", "330"
      PRELOAD_TOOL ugt0321_003 0 
      TOOL_CONSTRAINTS
      {
         ANGLES 0.0
         XFORM_ANGLES X 0.0 Y 0.0 Z 0.0
         QUERY " "
      }
   }

   POCKET 10
   {
      HOLDING_SYSTEM "300", "310", "320", "330"
      PRELOAD_TOOL ugt0201_016 0
      TOOL_CONSTRAINTS
      {
         ANGLES 0.0
         XFORM_ANGLES X 0.0 Y 0.0 Z 0.0
         QUERY " "
      }
   }

   POCKET 11
   {
      HOLDING_SYSTEM "300", "310", "320", "330"
      PRELOAD_TOOL ugt0322_001 0
      TOOL_CONSTRAINTS
      {
         ANGLES 0.0
         XFORM_ANGLES X 0.0 Y 0.0 Z 0.0
         QUERY " "
      }
   }

   POCKET 12
   {
      HOLDING_SYSTEM "300", "310", "320", "330"
      PRELOAD_TOOL ugt0203_009 0
      TOOL_CONSTRAINTS
      {
         ANGLES 0.0
         XFORM_ANGLES X 0.0 Y 0.0 Z 0.0
         QUERY " "
      }
   }
   POCKET 13
   {
      HOLDING_SYSTEM "300", "310", "320", "330"
      PRELOAD_TOOL ugt0203_010 0
      TOOL_CONSTRAINTS
      {
         ANGLES 0.0
         XFORM_ANGLES X 0.0 Y 0.0 Z 0.0
         QUERY " "
      }
   }

   POCKET 14
   {
      HOLDING_SYSTEM "300", "310", "320", "330"
      PRELOAD_TOOL ugt0203_012 0
      TOOL_CONSTRAINTS
      {
         ANGLES 0.0
         XFORM_ANGLES X 0.0 Y 0.0 Z 0.0
         QUERY " "
      }
   }

   POCKET 15
   {
      HOLDING_SYSTEM "300", "310", "320", "330"
      PRELOAD_TOOL ugt0201_021 0
      TOOL_CONSTRAINTS
      {
         ANGLES 0.0
         XFORM_ANGLES X 0.0 Y 0.0 Z 0.0
         QUERY " "
      }
   }

   POCKET 16
   {
      HOLDING_SYSTEM "300", "310", "320", "330"
      PRELOAD_TOOL ugt0201_020 0
      TOOL_CONSTRAINTS
      {
         ANGLES 0.0
         XFORM_ANGLES X 0.0 Y 0.0 Z 0.0
         QUERY " "
      }
   }

   POCKET 17
   {
      HOLDING_SYSTEM "300", "310", "320", "330"
      PRELOAD_TOOL ugt0201_019 0
      TOOL_CONSTRAINTS
      {
         ANGLES 0.0
         XFORM_ANGLES X 0.0 Y 0.0 Z 0.0
         QUERY " "
      }
   }

   POCKET 18
   {
      HOLDING_SYSTEM "300", "310", "320", "330"
      PRELOAD_TOOL ugt0201_018 0
      TOOL_CONSTRAINTS
      {
         ANGLES 0.0
         XFORM_ANGLES X 0.0 Y 0.0 Z 0.0
         QUERY " "
      }
   }

   POCKET 19
   {
      HOLDING_SYSTEM "300", "310", "320", "330"
      PRELOAD_TOOL ugt0201_017 0
      TOOL_CONSTRAINTS
      {
         ANGLES 0.0
         XFORM_ANGLES X 0.0 Y 0.0 Z 0.0
         QUERY " "
      }
   }

   POCKET 20
   {
      HOLDING_SYSTEM "300", "310", "320", "330"
      PRELOAD_TOOL ugt0203_001 0		
      TOOL_CONSTRAINTS
      {
         ANGLES 0.0
         XFORM_ANGLES X 0.0 Y 0.0 Z 0.0
         QUERY " "
      }
   }

   POCKET 21
   {
      HOLDING_SYSTEM "300", "310", "320", "330"
      TOOL_CONSTRAINTS
      {
         ANGLES 0.0
         XFORM_ANGLES X 0.0 Y 0.0 Z 0.0
         QUERY " "
      }
   }

   POCKET 22
   {
      HOLDING_SYSTEM "300", "310", "320", "330"
      TOOL_CONSTRAINTS
      {
         ANGLES 0.0
         XFORM_ANGLES X 0.0 Y 0.0 Z 0.0
         QUERY " "
      }
   }

   POCKET 23
   {
      HOLDING_SYSTEM "300", "310", "320", "330"
      TOOL_CONSTRAINTS
      {
         ANGLES 0.0
         XFORM_ANGLES X 0.0 Y 0.0 Z 0.0
         QUERY " "
      }
   }

   POCKET 24
   {
      HOLDING_SYSTEM "300", "310", "320", "330"
      TOOL_CONSTRAINTS
      {
         ANGLES 0.0
         XFORM_ANGLES X 0.0 Y 0.0 Z 0.0
         QUERY " "
      }
   }

   POCKET 25
   {
      HOLDING_SYSTEM "300", "310", "320", "330"
      TOOL_CONSTRAINTS
      {
         ANGLES 0.0
         XFORM_ANGLES X 0.0 Y 0.0 Z 0.0
         QUERY " "
      }
   }

   POCKET 26
   {
      HOLDING_SYSTEM "300", "310", "320", "330"
      TOOL_CONSTRAINTS
      {
         ANGLES 0.0
         XFORM_ANGLES X 0.0 Y 0.0 Z 0.0
         QUERY " "
      }
   }

   POCKET 27
   {
      HOLDING_SYSTEM "300", "310", "320", "330"
      TOOL_CONSTRAINTS
      {
         ANGLES 0.0
         XFORM_ANGLES X 0.0 Y 0.0 Z 0.0
         QUERY " "
      }
   }

   POCKET 28
   {
      HOLDING_SYSTEM "300", "310", "320", "330"
      TOOL_CONSTRAINTS
      {
         ANGLES 0.0
         XFORM_ANGLES X 0.0 Y 0.0 Z 0.0
         QUERY " "
      }
   }

   POCKET 29
   {
      HOLDING_SYSTEM "300", "310", "320", "330"
      TOOL_CONSTRAINTS
      {
         ANGLES 0.0
         XFORM_ANGLES X 0.0 Y 0.0 Z 0.0
         QUERY " "
      }
   }

   POCKET 30
   {
      HOLDING_SYSTEM "300", "310", "320", "330"
      TOOL_CONSTRAINTS
      {
         ANGLES 0.0
         XFORM_ANGLES X 0.0 Y 0.0 Z 0.0
         QUERY " "
      }
   }

}

