Files
probe-basic-sim/configs/atc_sim/macros_sim/program_coolant.ngc
2025-12-14 18:29:18 +01:00

46 lines
1.3 KiB
Plaintext

(author: Chris P)
(version: 0.3)
(date: 06/27/24)
(programmable coolant subroutine for aiming the coolant nozzle)
(settings for setup are displayed on probe basic setting page)
(in the programmable coolant constants container.)
(calculations assume coolant nozzle is located on the right side of the spindle)
o<program_coolant> sub
(PRINT, o<program_coolant>)
#<activate_programmable_coolant> = #3000
#<horizontal_spindle_nozzle_dist> = #3001
#<vertical_spindle_nozzle_dist> = #3002
#<pc_angle_offset> = #3003
o100 if [#<activate_programmable_coolant> EQ 0]
o100 return
o100 endif
#<pc_tool_length> = #5403
#<tool_diameter> = #5410
#<tool_radius_offset_dist> = [#<tool_diameter> / 2]
#<tool_diameter_offset_dist> = [#<horizontal_spindle_nozzle_dist> - #<tool_radius_offset_dist>]
#<tool_tip_position> = [[#<vertical_spindle_nozzle_dist>] + [#<pc_tool_length>]]
#<coolant_abs_angle> = [ATAN[#<tool_tip_position>] / [#<tool_diameter_offset_dist>]]
#<coolant_final_angle> = [[#<coolant_abs_angle>] + [#<pc_angle_offset>]]
#1000 = #<coolant_final_angle>
(DEBUG, EVAL[vcp.getWidget{"coolant_final_angle"}.setValue{#1000}])
M68 E0 Q[#<coolant_final_angle>]
(PRINT, o<program_coolant> endsub)
o<program_coolant> endsub
M2 (end program)