76 lines
1.9 KiB
Plaintext
Executable File
76 lines
1.9 KiB
Plaintext
Executable File
|
|
o<change> sub
|
|
;(debug, in change tool_in_spindle=#<tool_in_spindle> current_pocket=#<current_pocket>)
|
|
;(debug, selected_tool=#<selected_tool> selected_pocket=#<selected_pocket>)
|
|
|
|
;otherwise after the M6 this information is gone!
|
|
#<tool> = #<selected_tool>
|
|
#<pocket> = #<selected_pocket>
|
|
|
|
; we must execute this only in the milltask interpreter
|
|
; or preview will break, so test for '#<_task>' which is 1 for
|
|
; the milltask interpreter and 0 in the UI's
|
|
O100 if [#<_task> EQ 0]
|
|
(debug, Task ist Null)
|
|
O100 return [999]
|
|
O100 endif
|
|
|
|
;first go up
|
|
G53 G0 Z[#<_ini[CHANGE_POSITION]Z>]
|
|
; then move to change position
|
|
G53 G0 X[#<_ini[CHANGE_POSITION]X>] Y[#<_ini[CHANGE_POSITION]Y>]
|
|
|
|
; cancel tool offset
|
|
G49
|
|
|
|
; using the code being remapped here means 'use builtin behaviour'
|
|
M6
|
|
|
|
O200 if [#<_hal[gmoccapy.toolmeasurement]> EQ 0]
|
|
O200 return [3] ; indicate no tool measurement
|
|
O200 endif
|
|
|
|
G53 G0 X[#<_ini[TOOLSENSOR]X>] Y[#<_ini[TOOLSENSOR]Y>]
|
|
G53 G0 Z[#<_ini[TOOLSENSOR]Z>]
|
|
|
|
O300 if [#<_hal[gmoccapy.searchvel]> LE 0]
|
|
O300 return [-1] ; indicate searchvel <= 0
|
|
O300 endif
|
|
|
|
O400 if [#<_hal[gmoccapy.probevel]> LE 0]
|
|
O400 return [-2] ; indicate probevel <= 0
|
|
O400 endif
|
|
|
|
F #<_hal[gmoccapy.searchvel]>
|
|
G91
|
|
G38.2 Z #<_ini[TOOLSENSOR]MAXPROBE>
|
|
G0 Z2
|
|
; This is commented out only for sim.
|
|
;F #<_hal[gmoccapy.probevel]>
|
|
;G38.2 Z-4
|
|
|
|
O500 if [#5070 EQ 0]
|
|
G90
|
|
O500 return [-3] ; indicate probe contact failure to epilog
|
|
O500 endif
|
|
|
|
G90
|
|
G53 G0 Z[#<_ini[CHANGE_POSITION]Z>]
|
|
|
|
#<touch_result> = #5063
|
|
#<probeheight> = #<_hal[gmoccapy.probeheight]>
|
|
#<blockheight> = #<_hal[gmoccapy.blockheight]>
|
|
|
|
;(DEBUG, #<touch_result> #<probeheight> #<blockheight>)
|
|
|
|
G10 L1 P#<tool> Z[#<touch_result> - #<_hal[gmoccapy.probeheight]> + #<_hal[gmoccapy.blockheight]>]
|
|
G43
|
|
|
|
;G10 L1 P#<tool> Z#<touch_result>
|
|
;G10 L2 P0 Z[#<workpieceheight> + #<probeheight> + #<touch_result>]
|
|
|
|
; signal success be returning a value > 0:
|
|
o<change> endsub [1]
|
|
|
|
|