Il bello delle macro è farsele da soli cosi si è soddisfatti di esserci riusciti, e io lo faccio per questo motivo, altrimenti è piu facile trovare altri sistemi
Adesso il tuo codice è un programma pezzo questo vuol dire che lo devi sempre modificare per fare pezzi diversi.
Questa è una macro spianatura che avevo fatto, dovrebbe funzionare ma è logico provarla in sicurezza senza pezzo e utensile in modo da non avere collisioni e danni.
Non so se ti è utile, fa un unica spianatura in faccia ma è la cosa piu tipica
E' una macro indipendente inserita in memoria cnc, e richiamabile con G65 P..., nei commenti la spiegazione degli argomenti da inviare dimensini pezzo X Y mentre Z e la profondita di passata materiale da togliere, D diametro fresa, F avanzamento, origine in alto a sinistra del pezzo obbligatorio, e origine zeta sopra il pezzo grezzo, da li indichiamo la profondita di passata quanto vogliamo togliere dal grezzo.
Esempio di utilizzo
Piastra 300 x 200 da togliere 3 mm con fresa diametro ottanta zeta deve essere positiva 2 mm da togliere
G65 P1000 X300 Y200 Z3 D80 F600
Codice: Seleziona tutto
%
(Macro spianatura piastra origine X Y in alto a sinistra della piastra ,ORIGINE Z sopra pezzo )
(richiamo macro G65 P1000 X Y Z D F , se si vuole usare un altro numero programma cambiare)
O1000 (numero programma, in alcuni cnc si usa :1000 al posto di O1000 modificare)
#100=#24(DIMENSIONI IN X DELLA PIASTRA)
#101=#25+5(DIMENSIONI IN Y DELLA PIASTRA, somma 5 mm in modo da non lasciare scalini con la fresa)
#102=#26(AP PROFONDITA DI PASSATA)
#103=#9(AVANZAMENTO F)
#104=#7 (DIAMETRO FRESA D )
#105=[#101/#104](NUMERO PASSATE IN Y)
(ARROTONDAMENTO NUMERO PASSATE A NUMERO INTERO)
#106=0
WHILE[#106LT#105] DO1
#106=#106+1
END1
#105=#106
GOTO10
N5 #105 =[#105+1]
N10 #107=FIX[[#101/#105]](MILLIMITRI DI LAVORO FRESATURA Y/NUMERO PASSATE)
(ARROTONDAMENTO A MENO DEL 90 % DIAMETRO FRESA)
IF[ #107GT[[#104/100]*90]] GOTO5
#116=[[#104/2]-#107](POSIZIONE Y)
G0 X [-[#104/2]-5] Y#116
G0 Z[-#102+10]
G1 Z-#102 F#103
#106=0
#110=[-[#104/2]-5] (FRESA A SINISTRA)
#115=[#100+[#104/2]+5](FRESA A DESTRA)
#118=#115(POSIZIONE FRESATURA)
WHILE[#106LT#105]DO1
G0 Y#116
G1 X#118 F#103
#116=[#116-#107]
#106=#106+1 (CONTATORE)
IF[#118EQ#115] GOTO20 (INVERTO)
IF[#118EQ#110] GOTO30 (INVERTO)
GOTO50
N20 #118=#110
GOTO50
N30 #118=#115
N50
END1
G0 Z5
M99
%