ok... detto terraterra... per me è uno spreco far tanti g-code... ma è un semplice parere personale.
Spiano il martire con fresa da 12 e quello é il mio z 0 Ok lavorazione con T1
alzo la z di 10 e rifaccio lo z 0 e spiano un legno che magari era 11, chi lo sà.. qui tu hai un nuovo G54 Z0 sempre con T1
Solo cosi sono sicuro ( precisione macchina a parte ) che il pezzo che sto lavorando è alto 10.d'accordo
A questo punto devo cambiare fresa per fare una tasca larga 6 e profonda 5.. ci siamo, lavorazione con T2
Visto che mi sono costruito un tastatore, vorrei misurare la prima fresa, la seconda, applicare l' offset al g54 vediamo se ci riusciamo
sei indirizzato come il mio cambio utensile... io ho preso come riferimento il G54 Z0 e da li modifico il G54 dopo che si è misurato l'utensile. Sarà un discorso "assurdo" per molti specialisti di g-code e variabili ma io l'ho fatto così:
partiamo con costruire 2 macro... una serve solo e soltanto per l'utensile T1 (a me utensile ZERO corrisponde a ERRORE FRESA NON PRESENTE) e l'altra macro dal T2 all'infinito.
la macro 1 misurerà (registrandola in variabili libere e volatili) la differenza tra lo ZEROPEZZO G54 e l'altezza del tastatore... la macro 2 misurerà la differenza tra l'utensile 1 e l'utensile 2...1000 aggiornando il G54 passando per il G92 che tu non hai mai nominato.
conosci gli IF OR ELSE?
con un IF dentro a m6T[#xxxx] (devi trovare la variabile che indica il numero utensile... la mia è #5011)
IF [[#5011 == 1] (se numero utensile è 1)
gosub user_1 (vai alla macro 1)
ELSE
gosub user_2 (vai alla macro 2)
ENDIF
dove la compilazione della
macro 1 ti porterà a fare delle operazioni:
G90 G40 G49
G53 G0 G90 Z... (in modalità
coordinate macchina vai al max della tua Z per evitare collisioni)
G53 G90 G0 X... Y... (vai sopra il tuo tastatore)
G53 G0 Z30 (porta la fresa vicino al tastatore ma IN SICUREZZA per non spaccare qualcosa)
G53 g90 G38.2 Z0 Fx (attiva la misurazione ad una data velocità F di discesa, a te la scelta della velocità, io uso 60)
z #5063
#1=#5063 (memorizza il valore nella variabile 1 se libera)
G53 G0 Z... (alzati al max di Z in coordinate macchina)
G54 G0 X0 Y0 (torna in zero pezzo in coordinate lavoro e inizia la fresatura)
appena trovi M6T>1 andrai dove la compilazione della
macro 2 ti porterà a fare delle operazioni:
dlgmsg "cambia fresa e premi invio" (con le manine cambi la fresa e premi invio, a me funziona con messaggio a monitor)
G90 G40 G49
G53 G0 Z...
G53 G90 G38.2 Z0 F60
#2=#5063 (secondo valore)
#3=[#1-#2] (differenza tra i due valori)
G54 G91 F50 Z... (ti alzi di 5-10-20-50 mm a scelta tua dal tastatore)
G90 G53 F50 x... y... (ti porti in una zona sicura da morsetti, pezzi da lavorare o altro dove li non metterai mai nulla e lo terrai come zona OF LIMIT perchè ora la fresa si muove su e giù)
G54 G90 F50 Z0 (Ti riporti a quota del tuo ZEROPEZZO)
G54 G91 F50 Z-#3 (La fresa si porta in quota "differenza delle due frese")
G90
G92 Z0 (comando che non hai mai nominato... azzera lo Z facendo comparire a monitor g54 Z0)
G53 G0 Z... (ti porti a Z max per evitare collisioni)
G54 g90 G0 X0 Y0 (ti riporti in zona lavorazione con offset aggiornato)
questo ACT (automatic change tools) fatto da me (su consigli di badade) l'ho scritto malissimo... con misurazione OBBLIGATORIA se trova T1 "movimenti e azzerramenti" sulla macro 2 necessari ... che non riesco a togliere perchè non so lavorare con le #variabili di sistema... ma funziona... e me la tengo così.
fammi sapere se hai problemi e o funziona (prova con una mano sull'emergenza però)