Buon pomeriggio Ragazzi,
questo sotto è un parprogram che ho traslato da selca in fanuc a lato la spiegazione , effettua una filettatura con passo che viene definito con il ritiro del materiale stampato e con conicità laterale per lo sformo stampo , questo gira su un simulatore che mi aveva suggerito il Mitico Gino al quale avevo passato direttamente alcuni miei partprogram selca , e che aveva commentato , ( vedi sezione selca/proget2)
che dire provate
buon divertimento.
G54 ; origine ( nel "selca" si possono avere più origini)
G64 P0.002 Q0.1 ; abilita continuous mode
G52 X-0 Y-35 Z10 ; OFFSET LOCALE
T4M6 ; chiamata utensile con compensazione gia presettato
G0 X30 Y0 Z50 ; posizione a Z50 con velocità Rapido
F1000 S1000 ; velocità F e giri mandrino
; defnizione valori parametri
#88=0 ; #parametro #88 = valore angolo giro 0 sul piano X Y
#90=15 ; #parametro #90 = angolo cono laterale
#1=25 ; #parametro #1 = valore 25 ( raggio filetto + raggio utensile )
#2=5.15 ; #parametro #2 = #passo filettatura incrementato del ritiro del materiale stampato
#3=0 ; #parametro #3 = Z #profodità iniziale
#4=[[#2*TAN[#90]]/360] ; #parametro #4 = tangente del cono laterale * il #asso / 360 angolo giro
#5=[#2/360 ] ; #parametro #5 = #asso filetto diviso 360
#6=[360*4] ; #parametro #6 = numero di giri del filetto
G1 X#1 Y0 Z-#3 M3 ; #posizionamento con accensione mandrino
M98 P111 ; chiamata etichetta Label 111
G0Z50 ; #posizionamento a Z50 in Rapido max velocità
M30 ; Fine programma
;----------------------------------------------------------------------
; le variabile #<xxxx> sono globali, si vedono in tutto il programma
; le variabili #<_xxxx> sono locali, e visibili solo dentro la macro
; gli arogomenti di una chimata a macro con G654 sono accessibili
; usando il # assegnato o l'ettichetta: esempio
; A = #1 = #<_args.A>
; Z = #8 = #<_args_Z>
;-------------------------------------------------------------------------
O111 ; definizione etichetta Label 111
#<_I_>=0 ; variabile locale - valida solo nel sottoprogramma
WHILE [#<_I_> LT #6] DO 01 ; condizione
#88=[#88+1] ; #parametro 0 + 1° incremento angolare
#1=[#1+#4 ] ; #parametro 1 incrementato da raggio #1 + il #4 che è il valore di conicità laterale
#3=[#3+#5 ] ; #parametro 2 icrementato da Z #3 + #5 #asso incrementato dalla divisione del #asso sull'angolo giro
#20=[COS[#88]*#1] ; calcolo di coseno
#30=[SIN[#88]*#1] ; calcolo di seno
X#20 Y-#30 Z-#3 ; #posizione di #punto in X Y Z
#<_I_>=[#<_I_>+1] ; granularità incremento
END 01
G0 X100 Y0 ; vai a X100 Y0 in veloità F ra#ido
G0 X100 Y0 Z50 ; vai a X100 Y0 Z50 sempre in velocità rapida
M99 ; chiusura etichetta Label