(S450G5LR) (OPERATOR INPUT PARAMETERS) #<_right_mm_to_basin_centre>=772 #<_back_to_front_mm_to_edge_of_basin_lip>=103 #<_stone_thickness>=20 #<_core_drill_dia_mm>=20 #<_fingerbit_dia_mm>=20 #<_ball_end_dia_mm>=12 (SINK HOLE PARAMETERS) #<_sink_hole_mm_lr>=452 #<_sink_hole_mm_bf>=402 #<_sink_hole_rad_mm>=70 #<_lip_width_of_basin_mm>=15 #<_required_oh_mm>=10 #<_mm_between_double_basins>=0 #<_grooves_length_mm>=380 #<_qty_of_left_grooves>=5 #<_qty_of_right_grooves>=5 #<_grooves_start_depth_mm>=5 (TOOL POSITION PARAMETERS) #<_drill_mm_past_bottom_of_piece>=3 #<_drill_start_offset>=3 #<_phase_in_mm>=10 #<_tool_change_position_y>=-500 (PARAMETER FORMULAS) #<_phase_out_mm>=[#<_phase_in_mm>*2] #<_fb_rl_move>=[#<_sink_hole_mm_lr>/2-[#<_sink_hole_rad_mm>-#<_required_oh_mm>]-#<_phase_in_mm>] #<_start_point_y>=[#<_back_to_front_mm_to_edge_of_basin_lip>-#<_lip_width_of_basin_mm>-#<_required_oh_mm>+#<_core_drill_dia_mm>/2+#<_drill_start_offset>] #<_drill_depth>=[-#<_stone_thickness>-#<_drill_mm_past_bottom_of_piece>] #<_cut_radius>=[#<_sink_hole_rad_mm>-#<_required_oh_mm>] #<_back_rl_move>=[-#<_sink_hole_mm_lr>/2+#<_sink_hole_rad_mm>+#<_phase_in_mm>] #<_left_rad_x>=[#<_right_mm_to_basin_centre>-#<_sink_hole_mm_lr>/2+#<_sink_hole_rad_mm>] #<_back_rad_y>=[#<_back_to_front_mm_to_edge_of_basin_lip>+#<_lip_width_of_basin_mm>+#<_sink_hole_rad_mm>] #<_left_bf_move>=[-#<_sink_hole_mm_bf>+#<_sink_hole_rad_mm>*2] #<_front_rad_y>=[#<_left_rad_x>+#<_left_bf_move>] #<_front_lr_move>=[#<_sink_hole_mm_lr>-#<_sink_hole_rad_mm>*2] #<_right_rad_x>=[#<_right_mm_to_basin_centre>+#<_sink_hole_mm_lr>/2-#<_sink_hole_rad_mm>] #<_right_fb_move>=[#<_sink_hole_mm_bf>-#<_sink_hole_rad_mm>*2] #<_back_final_move>=[#<_front_lr_move>/2+#<_phase_out_mm>] #<_groove_start_right_x>=[#<_right_mm_to_basin_centre>+[#<_sink_hole_mm_lr>-[2*#<_required_oh_mm>]]/2-#<_ball_end_dia_mm>/2] #<_groove_start_y>=#<_front_rad_y> #<_groove_start_z>=[-#<_grooves_start_depth_mm>] #<_groove_move_right_x>=[#<_grooves_length_mm>+#<_ball_end_dia_mm>/2] #<_groove_start_left_x>=[#<_right_mm_to_basin_centre>-[#<_sink_hole_mm_lr>-2*#<_required_oh_mm>]/2+#<_ball_end_dia_mm>/2] #<_groove_move_left_x>=[-#<_grooves_length_mm>-#<_ball_end_dia_mm>/2] #<_grooves_count>=0 #<_grooves_spacing_left_y>=[#<_sink_hole_mm_bf>-2*#<_required_oh_mm>-2*#<_cut_radius>]/[#<_qty_of_left_grooves>-1] #<_grooves_spacing_right_y>=[#<_sink_hole_mm_bf>-2*#<_required_oh_mm>-2*#<_cut_radius>]/[#<_qty_of_right_grooves>-1] (START PROGRAM) G90 G21 G94 G17 G91.1 G54 G40 G49 G80 M9 (Coolant off) G53 G0 Z0. Y#<_tool_change_position_y> (DRILL START HOLE) T1 M6 (msg, Fit Core drill with 20mm dia and 118mm Height. M6 Tool Change Pause. Then start cycle) G0 X#<_right_mm_to_basin_centre> Y#<_start_point_y> G43 Z10. H1 M0 (msg, Check if the tool is 10mm above top and at the correct position. If so, start cycle. If not, stop cycle.) M8 (Coolant On) S3000 M3 (Spindle on Clockwise at rpm rate) G54 G0 Z3. G98 G81 Z#<_Drill Depth> F20. G80 G0 Z10. M5 (Spindle Stop) M9 (Coolant off) G53 Z0. G53 G0 Y#<_tool_change_position_y> (FINGERBIT CUTTING OF SINK CUT OUT) T2 M6 (msg, Fit Fingerbit with 20mm dia and 84mm Height. M6 Tool Change Pause. Then start cycle) G0 X#<_right mm to basin centre Y#<_start_point_y> Z10. H2 M0 (msg, Check if the tool is 10mm above top and at the correct position. If so, start cycle. If not, stop cycle and find problem.) M8 (coolant on) S4000 M3 (Turn on Spindle Clockwise) G0 Z3. G1 Z#<_Drill Depth> F333.33 G91 G41 D2 G1 X[-#<_phase_in_mm>] Y[#<_drill start offset>+#<_fingerbit_dia_mm>/2] M0 (msg, Temporary Position Check) G1 X#<_back_rl_move> F60. M0 (msg, Temporary Position Check) G90 G3 X[#<_left_rad_x>-#<_cut_radius>] Y#<_back_rad_y> I0. J[-#<_cut_radius>] M0 (msg, Temporary Position Check) G91 G1 Y#<_left_bf_move> (Incremental Mode) M0 (msg, Temporary Position Check) G90 G3 X#<_left_rad_x> Y#<_front_rad_y> I#<_cut_radius> J0 M0 (msg, Temporary Position Check) G91 G1 X#<_front_lr_move> (Incremental Mode) M0 (msg, Temporary Position Check) G90 G3 X[#<_right_rad_x>+#<_cut_radius>] Y#<_front_rad_y> I0. J#<_cut_radius> M0 (msg, Temporary Position Check) G91 G1 Y#<_right_fb_move> (Incremental Mode) M0 (msg, Temporary Position Check) G90 G3 X#<_right_rad_x> Y[#<_back_rad_y>+#<_cut_radius>] I[-#<_cut_radius>] J0. M0 (msg, Temporary Position Check) G91 G1 X#<_back_final_move> (Incremental Mode) M0 (msg, Temporary Position Check) G1 X[-#<_phase_out_mm>] Y[-#<_drill start offset>-#<_fingerbit_dia_mm>/2] M0 (msg, Temporary Position Check) G90 G40 G54 Z5. M5 (spindle stop) M9 (Coolant off) M0 (msg, Temporary Position Check) G53 G0 Y#<_tool_change_position_y> Z0. (CHANGE TOOL TO T3 BALL END MILL) T3 M6 (tool change pause) (CHANGE TOOL TO T3 BALL END MILL) T3 M6 (tool change pause) (RIGHT GROOVES SUBROUTINE) o110 if [#<_qty_of_right_grooves> GT 0] G43 G0 X#<_groove_start_right_x> Y#<_groove_start_y> Z10. H3 M0 (msg, Check if the tool is 10mm above top and at the correct position. If so, start cycle. If not, stop cycle and find problem.) S5000 M3 (M3 turns on the spindle clockwise) M8 (coolant on) o sub G0 Z3. G1 Z#<_groove_start_z> F60. (Start Depth) G91 X#<_groove_move_right_x> Z#0. G90 G54 G0 Z5. G91 X[-#<_groove_move_right_x>] Y#<_grooves_spacing_right_y> M0 (msg, Temporary Position Check) o endsub o111 repeat [#<_qty_of_right_grooves>] o call o111 endrepeat o110 endif (LEFT GROOVES SUBROUTINE) o113 if [#<_qty_of_left_grooves> GT 0] G43 G0 X#<_groove_start_left_x> Y#<_groove_start_y> Z10. H3 M0 (msg, Check if the tool is 10mm above top and at the correct position. If so, start cycle. If not, stop cycle and find problem.) S5000 M3 (M3 turns on the spindle clockwise) M8 (coolant on) o sub G0 Z3. G1 Z#<_groove_start_z> F60. (Start Depth) G91 G53 X#<_groove_move_left_x> Z#0. G90 G54 G0 Z5. G91 G53 X-#<_groove_move_left_x> Y#<_grooves_spacing_left_y> M0 (msg, Temporary Position Check) o endsub o114 repeat [#<_qty_of_right_grooves>] o call o114 endrepeat o113 endif G49 M5 (spindle stop) M9 (Coolant off) G49 G53 X0. Y0. Z0. (Go HOME) M30