I
inmik
Apprenti
Voilà, dans l'ordre de la copie d'écran:
je colle tout à la suite car sinon on perds les extentions et là
Dossier macros:
fichier: change.ngc (sert à la fonction remape avec une touche perso...)
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
;(si vous chargez l'outil camera pas de palpage auto)
;(si vous chargez un outil superieur à T99 pas de palpage auto ex:T100)
o101 if [ #<selected_tool> GE 99]
o<change> endsub [1]
o101 endif
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]
---------------------------------------------------------------------------------------------------------------------------------------------------------------------
fichier: go_to_position.ngc (avec une petite touche perso)
; Testfile go to position
; will jog the machine to a given position
O<go_to_position> sub
G17
G21
G54
G61
G40
G49
G80
G90
;#1 = <T-pos>
;#2 = <X-Pos>
;#3 = <Y-Pos>
;#4 = <Z-Pos>
(DBG,Tool change to T = #1)
T#1M6
G0 G43 H#1 Z#4
(DBG, Will now move machine to X = #2 , Y = #3 , Z = #4)
G0 X #2 Y #3
O<go_to_position> endsub
M2
---------------------------------------------------------------------------------------------------------------------------------------------------------------------
fichier: origines_machine.ngc (avec ....)
O<origines_machine> sub
M5(msg, ARRET BROCHE)
G40(msg, annulation dela compensation du rayon d'outil R)
G49(msg, annulation de la longueur H outil)
G28(msg, retour aux origines machine)
G90(msg, mode absolu)
(msg, retour aux origines machine terminé)
O<origines_machine> endsub
m2
Bon bientôt la suite il y a du boulôt !
je colle tout à la suite car sinon on perds les extentions et là
Dossier macros:
fichier: change.ngc (sert à la fonction remape avec une touche perso...)
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
;(si vous chargez l'outil camera pas de palpage auto)
;(si vous chargez un outil superieur à T99 pas de palpage auto ex:T100)
o101 if [ #<selected_tool> GE 99]
o<change> endsub [1]
o101 endif
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]
---------------------------------------------------------------------------------------------------------------------------------------------------------------------
fichier: go_to_position.ngc (avec une petite touche perso)
; Testfile go to position
; will jog the machine to a given position
O<go_to_position> sub
G17
G21
G54
G61
G40
G49
G80
G90
;#1 = <T-pos>
;#2 = <X-Pos>
;#3 = <Y-Pos>
;#4 = <Z-Pos>
(DBG,Tool change to T = #1)
T#1M6
G0 G43 H#1 Z#4
(DBG, Will now move machine to X = #2 , Y = #3 , Z = #4)
G0 X #2 Y #3
O<go_to_position> endsub
M2
---------------------------------------------------------------------------------------------------------------------------------------------------------------------
fichier: origines_machine.ngc (avec ....)
O<origines_machine> sub
M5(msg, ARRET BROCHE)
G40(msg, annulation dela compensation du rayon d'outil R)
G49(msg, annulation de la longueur H outil)
G28(msg, retour aux origines machine)
G90(msg, mode absolu)
(msg, retour aux origines machine terminé)
O<origines_machine> endsub
m2
Bon bientôt la suite il y a du boulôt !