Il nostro problema è realizzare il profilo esterno di una figura generica.
Il concetto è creare un loop ( relativo al profilo), eseguendo la variazione del raggio utensile; ad ogni iterazione la figura verrà ripetuta offsettata della variazione subita. La scelta di usare il correttore raggio è determinata dal fatto che il profilo si sviluppa nel piano e questo permette di considerare gli assi X e Y come singola identità dato che è il cn (attraverso il correttore) a prendersene cura. Se devo realizzare un profilo di uno smusso a 45° non dovrò far altro che scendere di un certo valore in Z ed aumentare dello stesso valore il correttore. LA Z ed il correttore (D) rappresentano i cateti di un triangolo rettangolo e nell'esempio devono essere uguali per ottenere un angolo di 45°.
Questo ci permette di scrivere il profilo una sola volta, mentre il loop determinerà i valori corretti dello stesso. Trattandosi di profilo sterno non abbiamo restrizioni sull'uso del diametro dell'utensile.
Nel caso di variazioni in Z particolari dobbiamo incontrare una formula o procedimento capace di calcolare ad ogni iterazione i valori di Z e correttore.
Nel tuo caso il profilo esterno segue un andamento circolare, quindi la variazione di Z e D devono rispecchiare la funzione del cerchio.
Abbiamo a disposizione diversi metodi per la soluzione di un cerchio (o arco).
Desciviamo una ipotetica procedura base facilmente adattabile alle variazioni.
Questa la precisazione matematico/geometrica (figura)
Allegato:
raggio1.jpg
Il punto P1 descritto dal raggio, cosi come ogni punto appartenente l'arco, può essere calcolato usando la trigonometria nel seguente modo
D/R=sin(a) Z/R=cos(a) quindi
D=R*sin(a) Z=R*cos(a)
se ora pensiamo che l'arco di figura è la sezione del nostro pezzo abbiamo determinato una procedura che mette in relazione la discesa in Z con la variazione sul piano (D).
Scritto il profilo di partenza, io ho scelto l'interno, non resta che descrivere il loop in funzione di questa relazione, otterremo una serie di figure concentriche offsettate ad ogni iterazione. L'offset essendo descritto dalla relazione tipo arco produrrà l'andamento voluto (arco).
Allegato:
offset.jpg
scriviamo quindi il programma (generalizziamo con valori a caso)
T1M6(FR D)
G90G0G54XYSM3 posizionamento al punto voluto
G43H1Z50M8
G10L12P52Rd la funzione G10 inserisce da programma il raggio dell'utensile
D52 attivo il correttore
Z5
G1FZ0 posizionamento iniziale, io considero 0 poiché parto dall'alto
#100=0 la variabile imposta l'angolo ed anche il contatore per il loop
WHILE[#100NE90]DO1 loop, continua fino a che la #100 non è 90, numero di ripetizioni
#102=R*SIN[#100] calcolo valore incrementale D
#103=R*COS[#100] calcolo valore Z (nel caso assoluto)
G91G10L12P52R#102 inserzione nuovo correttore, G91 effettua la somma
G90Z#103 discesa in z
------ qui inserisci il profilo,
G41D52---
G40-- fine profilo
---------
#100=#100+1 aumento angolo di calcolo e contattore per il loop
END1 fine loop
G90G0Z200M9 ucita
–-
Diciamo subito che il loop può essere realizzato in modi differenti secondo i propri desideri. Possiamo salire piuttosto che scendere, possiamo entrare piuttosto che uscire, possiamo effettuare variazioni angolari differenti o avre controlli extra più appropriati con l'introduzione di varaibile apposite.
Si è voluto esclusivamente mostrare il concetto, ogni variazione è possibile soprattutto dipendente dal grado di accuratezza che si vuole ottenere.
Mi sembra un procedimento molto efficace
Ora se la tua cnc non possiede l'uso delle funzioni trigonometriche dobbiamo sapere quali funzioni ha a disposizione.
Per esempio se avesse l'opportunitò di usare la radice quadrata potresti risolvere il problema con questa dato che esiste una relazione diretta tra trigonometria e legge di Pitagora
(sin*sin)+(cos*cos)=1 ma anche (d*d)+(z*z)=r*r
quindi impostamdo un certo valore di z (un compromesso) potresti calcolare D
d=sqrt[(r*r)-(z*z)]
Nello specifico, potremmo anche adottare controlli diversi, tipo assumere variazioni in Z diffrenti in base all'angolo, creando un loop infinito (in apparenza) capace di auto adattarsi alla variazione stessa.
Ma non voglio esagerare, è un modo per dire che il loop permette molte variazioni senza interferire minimamente nella descrizione del profilo:
ci si dedica all'accuratezza della figura senza alterare la descrizione della stessa.
Se non hai a disposizione la radice....... a mali estremi estremi rimedi.
PotresSti comunque continuare come fai oppure utilizzare un CAM dicendogli di spezzare il GCODE in più file pari alle dimensioni da te accettate.
Otterresti un risultato in un tempo più ragionevole.