===== case 0000 | clear_z=5.0 clearance=2.0 coolant_type=1 do_finish=1 doc=0.5 face_dia=-1.6 face_z=0.0 feed_finish=0.1 feed_rough=0.25 finish_tool=2 finish_z=0.1 max_rpm=600.0 retract=1.0 rpm=600.0 sep_finish_tool=0 spindle_mode=0 stock_dia=52.0 stock_z=0.0 surface_speed=180.0 tool=1 =====
!! ValueError: facing: nothing to face - stock Z 0.000 is not in front of the finished face Z 0.000
===== case 0001 | clear_z=5.0 clearance=2.0 coolant_type=1 do_finish=1 doc=0.5 face_dia=-1.6 face_z=0.0 feed_finish=0.1 feed_rough=0.25 finish_tool=2 finish_z=0.1 max_rpm=600.0 retract=1.0 rpm=600.0 sep_finish_tool=0 spindle_mode=0 stock_dia=52.0 stock_z=-1.0 surface_speed=180.0 tool=1 =====
!! ValueError: facing: nothing to face - stock Z -1.000 is not in front of the finished face Z 0.000
===== case 0002 | clear_z=5.0 clearance=2.0 coolant_type=1 do_finish=1 doc=0.0 face_dia=-1.6 face_z=0.0 feed_finish=0.1 feed_rough=0.25 finish_tool=2 finish_z=0.1 max_rpm=600.0 retract=1.0 rpm=600.0 sep_finish_tool=0 spindle_mode=0 stock_dia=52.0 stock_z=2.0 surface_speed=180.0 tool=1 =====
!! ValueError: facing: depth of cut must be greater than 0
===== case 0003 | clear_z=5.0 clearance=2.0 coolant_type=1 do_finish=1 doc=-1.0 face_dia=-1.6 face_z=0.0 feed_finish=0.1 feed_rough=0.25 finish_tool=2 finish_z=0.1 max_rpm=600.0 retract=1.0 rpm=600.0 sep_finish_tool=0 spindle_mode=0 stock_dia=52.0 stock_z=2.0 surface_speed=180.0 tool=1 =====
!! ValueError: facing: depth of cut must be greater than 0
===== case 0004 | clear_z=5.0 clearance=2.0 coolant_type=1 do_finish=1 doc=0.5 face_dia=-1.6 face_z=0.0 feed_finish=0.1 feed_rough=0.25 finish_tool=2 finish_z=-0.1 max_rpm=600.0 retract=1.0 rpm=600.0 sep_finish_tool=0 spindle_mode=0 stock_dia=52.0 stock_z=2.0 surface_speed=180.0 tool=1 =====
!! ValueError: facing: finish allowance must not be negative
===== case 0005 | clear_z=5.0 clearance=2.0 coolant_type=1 do_finish=0 doc=0.5 face_dia=-1.6 face_z=0.0 feed_finish=0.1 feed_rough=0.25 finish_tool=2 finish_z=5.0 max_rpm=600.0 retract=1.0 rpm=600.0 sep_finish_tool=0 spindle_mode=0 stock_dia=52.0 stock_z=2.0 surface_speed=180.0 tool=1 =====
!! ValueError: facing: the 5.000 finish allowance leaves nothing to rough off 2.000 of stock
===== case 0006 | clear_z=5.0 clearance=2.0 coolant_type=1 do_finish=1 doc=0.5 face_dia=-1.6 face_z=0.0 feed_finish=0.1 feed_rough=0.25 finish_tool=2 finish_z=0.1 max_rpm=600.0 retract=1.0 rpm=600.0 sep_finish_tool=0 spindle_mode=0 stock_dia=0.0 stock_z=2.0 surface_speed=180.0 tool=1 =====
!! ValueError: facing: stock diameter must be greater than 0
===== case 0007 | clear_z=5.0 clearance=2.0 coolant_type=1 do_finish=1 doc=0.5 face_dia=-1.6 face_z=0.0 feed_finish=0.1 feed_rough=0.25 finish_tool=2 finish_z=0.1 max_rpm=600.0 retract=1.0 rpm=600.0 sep_finish_tool=0 spindle_mode=0 stock_dia=-5.0 stock_z=2.0 surface_speed=180.0 tool=1 =====
!! ValueError: facing: stock diameter must be greater than 0
===== case 0008 | clear_z=5.0 clearance=2.0 coolant_type=1 do_finish=1 doc=0.5 face_dia=52.0 face_z=0.0 feed_finish=0.1 feed_rough=0.25 finish_tool=2 finish_z=0.1 max_rpm=600.0 retract=1.0 rpm=600.0 sep_finish_tool=0 spindle_mode=0 stock_dia=52.0 stock_z=2.0 surface_speed=180.0 tool=1 =====
!! ValueError: facing: face-to diameter 52.000 is not inside the 52.000 stock - there is nothing to face
===== case 0009 | clear_z=5.0 clearance=2.0 coolant_type=1 do_finish=1 doc=0.5 face_dia=80.0 face_z=0.0 feed_finish=0.1 feed_rough=0.25 finish_tool=2 finish_z=0.1 max_rpm=600.0 retract=1.0 rpm=600.0 sep_finish_tool=0 spindle_mode=0 stock_dia=52.0 stock_z=2.0 surface_speed=180.0 tool=1 =====
!! ValueError: facing: face-to diameter 80.000 is not inside the 52.000 stock - there is nothing to face
===== case 0010 | clear_z=5.0 clearance=0.0 coolant_type=1 do_finish=1 doc=0.5 face_dia=-2.0 face_z=0.0 feed_finish=0.1 feed_rough=0.25 finish_tool=2 finish_z=0.1 max_rpm=600.0 retract=1.0 rpm=600.0 sep_finish_tool=0 spindle_mode=0 stock_dia=52.0 stock_z=2.0 surface_speed=180.0 tool=1 =====
(Lathe facing - longhand, generated by the conversational tab)
(Set work zero at the finished face, on the spindle centreline)
(self-contained: no subroutine, no canned cycle)
(Stock dia 52.000  face Z 2.000  ->  finished face Z 0.000)
(X sweeps 52.0000 to -2.0000 in diameter - exactly as set, no tool radius compensation)
(Tool T0101   wcs G54  coolant flood)
(rough + finish - 4 rough pass of DOC 0.500  finish allowance Z 0.100)
(CSS 180 m/min  max 600 rpm  feed rough 0.2500 / finish 0.1000 mm-rev)
(=== conversational block - do not edit; lets the panel reload this file ===)
(CONV1 cycle=facing)
(CONV1 tool=1 stock_dia=52 stock_z=2 face_z=0 face_dia=-2 doc=0.5)
(CONV1 finish_z=0.1 retract=1 surface_speed=180 max_rpm=600 spindle_mode=0 rpm=600)
(CONV1 feed_rough=0.25 feed_finish=0.1 do_finish=1 sep_finish_tool=0 finish_tool=2 clearance=0)
(CONV1 clear_z=5 coolant_type=1)
(CONV1 END)
G18 G21 G7 G90 G95 G40
G64 P0.02
G54
G30
T0101
G96 S180 D600 M3
M8
G0 X52.0000
G0 Z1.5000
G1 X-2.0000 F0.2500
G0 Z2.5000
G0 X52.0000
G0 Z1.0000
G1 X-2.0000
G0 Z2.0000
G0 X52.0000
G0 Z0.5000
G1 X-2.0000
G0 Z1.5000
G0 X52.0000
G0 Z0.1000
G1 X-2.0000
G0 Z1.1000
G0 X52.0000
G0 Z0.0000
G1 X-2.0000 F0.1000
G0 Z1.0000
G0 X52.0000
G0 Z5.0000
G97 S600
M5
M9
M30
