AIUTO PER TESI

Sezione dedicata al Cad/Cam.
Subforum:
Artcam
Rispondi
mannu
Newbie
Newbie
Messaggi: 12
Iscritto il: giovedì 30 maggio 2013, 13:32
Località: pontedera

AIUTO PER TESI

Messaggio da mannu » giovedì 30 maggio 2013, 14:37

Ciao a tutti, vi espongo brevemente il problema.
Sto realizzando una tesi su CNC e sto affrontando la parte relativa alla generazione del Part-Program da parte di un CAM.
In particolare, vorrei capire come faccio, dal Part-Program, a capire quali punti siano spigoli.
Mi è stato detto che il CAM colloca punti a distanza vicina all'errore cordale nei pressi dello spigolo, ma non ho trovato informazioni e materiale.
Qualcuno sa aiutarmi?

Grazie in anticipo.

Bio
Junior
Junior
Messaggi: 68
Iscritto il: giovedì 1 marzo 2012, 18:36
Località: Colle Umberto

Re: AIUTO PER TESI

Messaggio da Bio » giovedì 30 maggio 2013, 14:42

Mi sa che il cam non da l'informazione dello spigolo ,ma puoi solo aggiungere o togliere punti per avere un percorso utensile più o meno preciso

mannu
Newbie
Newbie
Messaggi: 12
Iscritto il: giovedì 30 maggio 2013, 13:32
Località: pontedera

Re: AIUTO PER TESI

Messaggio da mannu » giovedì 30 maggio 2013, 15:32

Ok, infatti. Però i CAM in qualche modo, quando analizzano il modello CAD, danno degli accorgimenti per far capire che c'è un punto di spigolo?
La generazione del part program non è automatica? Come fa sennò un operatore a sapere della presenza di spigoli?

Avatar utente
Zebrauno
God
God
Messaggi: 9670
Iscritto il: venerdì 18 settembre 2009, 18:24
Località: Savigliano/Torino
Contatta:

Re: AIUTO PER TESI

Messaggio da Zebrauno » giovedì 30 maggio 2013, 16:02

Mannu, dovresti dare qualche altro dettaglio.
Di che modello di partenza si parla, insieme di linee e dunque movimenti vettoriali che vengono discretizzati nelle curve o analizzi una lavorazione 3D che parte da un modello solido?
Questo modello e' sotto forma di mesh o viene mantenuto in forma di matematica pura dal Cam che stai considerando?

L'errore cordale e le tolleranze impostate sul CAM sono per te due errori differenti oppure li stai accomunando?
Perche' esiste un errore cordale anche prodotto dai limiti di accelerazione della macchina e dai tempi di risposta del sistema servo.

ciao

mannu
Newbie
Newbie
Messaggi: 12
Iscritto il: giovedì 30 maggio 2013, 13:32
Località: pontedera

Re: AIUTO PER TESI

Messaggio da mannu » giovedì 30 maggio 2013, 17:04

Zebrauno hai ragione, ho omesso informazioni importanti.
La mia tesi parla in generale dell'interazione tra CAD, CAM e CNC. Nell'azienda dove svolgo il tirocinio, mi hanno detto
che il CAD produce un modello del pezzo da lavorare, una curva di qualsiasi complessità  (ad esempio anche Spline o
NURBS). Il modello CAD passa poi al CAM, il quale discretizza la curva approssimandola con segmenti lineari consecutivi, rispettando il parametro dell'errore cordale, ovvero la massima distanza tra uno di questi segmenti e l'arco di curva corrispondente.
Il part program così prodotto, viene elaborato poi dal CNC.
Io avrei bisogno, in pratica, di capire come agisce il CAM per far capire al CNC che ci sono dei punti di spigolo nel modello CAD della curva, in modo che il CNC possa diminuire la velocità  negli spigoli e lavorarli al meglio.

Avatar utente
Zebrauno
God
God
Messaggi: 9670
Iscritto il: venerdì 18 settembre 2009, 18:24
Località: Savigliano/Torino
Contatta:

Re: AIUTO PER TESI

Messaggio da Zebrauno » giovedì 30 maggio 2013, 19:53

Non e' il Cam, di solito, a gestire quelle decelerazioni ma il software di comando del controllo numerico.
E' li che infatti vengono impostati i valori di raggio minimo e di angolo che fanno intervenire una decelerazione.

Per avere ogni dettaglio dovresti esaminare un CAM in particolare e un controllo numerico, in modo da vedere tutti i parametri su cui si puo' intervenire per affrontare queste condizioni.

Il CAM produce solamente una serie di punti consecutivi....e' poi il software (tramite la cpu del CN) che si occupa di interpolare questi punti creando i vettori di movimento.
Ogni vettore puo' essere composto da uno, due o tre assi di movimento contemporaneo ed includera' anche i valori di accelerazione in rampa istantanei per ciascuno di essi in modo da coordinare la loro posizione affinche' venga sempre rispettata l'appartenenza all'equazione direzionale del vettore.

Per farti un esempio:
- il cam per produrre uno spostamento a 45 gradi sul piano XY scrive solo una coppia di punti: G1F1000 X0Y0 e nella riga successiva G1 X50Y50
- il CN si occupera' di far muovere in sincronia X e Y accelerando e rallentando in modo che la partenza e l'arrivo coincidano sia in termini spaziali che temporali.

La coerenza temporale in ogni istante del movimento e' garantita infatti dal CN e dal sistema di gestione servo dei singoli assi.


E' un argomento molto complesso ma e' bene non attribuire al CAM compiti che non gli spettano, le rampe di accelerazione e il comportamento in prossimita' di angoli sono infatti prerogativa del CN e dipendono da macchina a macchina.

ciao

mannu
Newbie
Newbie
Messaggi: 12
Iscritto il: giovedì 30 maggio 2013, 13:32
Località: pontedera

Re: AIUTO PER TESI

Messaggio da mannu » giovedì 30 maggio 2013, 21:05

Zebrauno, innanzitutto ti ringrazio per la risposta.
Le cose che mi hai detto sono giustissime e confermano le mie conoscenze sull'argomento.
Quello che però volevo sapere è questo: come tu stesso hai detto, il CAM si limita a produrre un part program di G1, comunque una serie di punti che poi il CNC interpola. Ma la mia domanda è: come fa il CNC a sapere quali sono i punti di spigolo?
Il CAM non deve segnalarglielo? Altrimenti come fa un CNC a saperlo?

mannu
Newbie
Newbie
Messaggi: 12
Iscritto il: giovedì 30 maggio 2013, 13:32
Località: pontedera

Re: AIUTO PER TESI

Messaggio da mannu » giovedì 30 maggio 2013, 21:08

Cioè, quando al CAM arriva il disegno CAD, e ci sono spigoli, non fa nulla per segnalare la loro presenza in termini di punti?

Avatar utente
Zebrauno
God
God
Messaggi: 9670
Iscritto il: venerdì 18 settembre 2009, 18:24
Località: Savigliano/Torino
Contatta:

Re: AIUTO PER TESI

Messaggio da Zebrauno » giovedì 30 maggio 2013, 22:05

Il Cam non fa altro che tradurre gli spigoli in punti.
L'errore cordale e' tale perche' e' proprio il cam a discretizzare le spline in minuscoli segmenti, dunque il movimento della macchina avviene proprio per spigoli, e non lungo una curva continua.

Fai tu stesso delle prove.
Disegna un quadrato e produci il part program.
Poi disegna una sinusoide e osserva il programma generato.


Il primo part program sara' composto da 4 coppie XY, gli spigoli del quadrato.
Il secondo sara' una sequenza di punti che rispettano l'errore cordale impostato nel CAM.
La cnc non fara' altro che saltare da un punto al seguente creando minuscoli vettori di movimento rettilinei.

La risposta alla tua domanda quindi e': il CAM produce solo spigoli (estremita' di segmenti), mentre la macchina tramite il controllo numerico li trasforma in vettori coordinati nello spazio/tempo.

Il CN a bordo macchina non interpolera' i punti per creare la curva originaria, non ha le informazioni per farlo.
Non puoi produrre il part program di una parabola, generando sequenze di punti, e aspettandoti che poi la macchina si muova seguento l'equazione generatrice.
Non e' cosi' che funziona, dunque se il CAM sta affrontando una sequenza di curve concatenate tra di loro senza continuita' geometrica (con degli spigoli, appunto) la cnc eseguira' esattamente quello che l'approssimazione del cam avra' prodotto.
L'unica cosa che un Cam puo' fare e' di trasformare le circonferenze, o gli archi, in codici G2 e G3 in modo da imporre al CN un movimento circolare puro, con un inizio e una fine pari all'angolo che definisce l'arco.

Ma se vuoi produrre un movimento continuo su curve di secondo grado diverse dal cerchio allora devi creare un part program (Gcode) a mano che definisca le equazioni generatrici inserendo tutte le incognite e le costanti, in modo da istruire il CN con dati sufficienti per creare un movimento continuo (e non segmentato).


Ciao

mannu
Newbie
Newbie
Messaggi: 12
Iscritto il: giovedì 30 maggio 2013, 13:32
Località: pontedera

Re: AIUTO PER TESI

Messaggio da mannu » giovedì 30 maggio 2013, 22:31

Ok, ti ringrazio ancora.
In definitiva, il problema è che ho io è identificare gli spigoli vivi, cioè non quelli che vengono fuori dai segmenti lineari, ma quelli che originariamente sono presenti nel pezzo da lavorare.
Mi spiego: Io devo realizzare un algoritmo che andrà  in esecuzione in un CNC; tale algoritmo prende in input il part program prodotto dal CAM e interpola con NURBS (comando G06.2) i punti, in modo da fornire all'interpolatore del CNC una curva e non una spezzata di punti.
Per fare questo, cioè per interpolare con NURBS o Spline la spezzata, io vorrei sapere, a partire dalla spezzata prodotta dal CAM, quali punti corrispondono a spigoli vivi, cioè a spigoli presenti nel modello originario.
Per questo chiedevo se il CAM mi da qualche aiuto, altrimenti come faccio a saperlo?

Avatar utente
walgri
God
God
Messaggi: 4735
Iscritto il: giovedì 13 gennaio 2011, 18:37
Località: Cagliari

Re: AIUTO PER TESI

Messaggio da walgri » giovedì 30 maggio 2013, 23:04

Mannu, se si parla di spline: a partire dalle coordinate di tre punti consecutivi è facilissimo scoprire quale sia l'angolo che queste formano. Noto quello dovrai essere tu a decidere se l'angolo è abbastanza acuto (o abbastanza poco ottuso ;-) ) da poterlo chiamare spigolo e quindi modificare i parametri della spline.

Non c'è nessun altro modo se come dati di input hai solo una spezzata.

Ad un livello (un bel po') più spinto potresti poi cercare di rianalizzare i vari punti che individuano gli spigoli e operare delle ulteriori smussature, perchè, ovviamente (se si parla di 3d), il bordo che andrai a ricostruire fresando continuerà  ad essere una spezzata rispetto a Z.

Inoltre le interpolazioni che esegui come spline non hanno nessuna garanzia di rappresentare correttamente la superficie in quanto ogni interpolazione alle diverse Z ha storia a se. (E, aggiungo, qualsiasi interpolazione non rappresenta mai la curva o la superficie originale, non si chiamerebbe interpolazione :wink: )

Se si parla invece di Nurbs potresti considerare l'intero percorso generato dal CAM come nuvola di punti e cercare di interpolare quelle. Esistono delle librerie già  pronte che tentano di fare questo, ma da quel che ho avuto modo di vedere sono piuttosto lontane dal poter essere applicate a geometrie qualsiasi. Una bella scatolona di vermi, direi. Senza contare che se il controllo fosse in grado di partire dalle Nurbs basterebbe dargli direttamente in pasto la geometria originale (se non si tratta di una scansione).

Ciao
...stop chasing shadows, just enjoy the ride.
Aìna pantografoTelemetria per KFlopBlenderCAM STL + DXF

mannu
Newbie
Newbie
Messaggi: 12
Iscritto il: giovedì 30 maggio 2013, 13:32
Località: pontedera

Re: AIUTO PER TESI

Messaggio da mannu » giovedì 30 maggio 2013, 23:19

Walgri, ringrazio anche te per la risposta.
Ok, per quanto riguarda i modi di interpolazione, quelli li gestisco. Ad esempio quando interpolo e trovo uno spigolo, li interrompo la NURBS in modo che ci sia C0 e quindi nessuna continuità  delle derivate.
E sono cosciente che la curva che ricostruisco non è uguale a quella originaria, ma è comunque meglio della spezzata che mette in difficoltà  il CNC.
Ho posto la domanda perchè in azienda mi hanno detto che i CAM per farti capire che nell'intorno c'è uno spigolo, aggiungono alla spezzata che hanno creato, punti molto vicini tra loro, che arrivano ad essere tra loro distanti praticamente un valore simile all'errore cordale.
Se questa informazione è vera, è semplice per me capire dove sono gli spigoli: calcolo le distanze dei punti a 2 a 2 e se trovo distanze vicine all'errore cordale, allora dico che lì c'è uno spigolo.
Ma volevo avere conferma di questo comportamento del CAM oppure se ci sono altri accorgimenti.
Non riesco a trovare materiale e devo farci una tesi. Aiuto :)

Avatar utente
Zebrauno
God
God
Messaggi: 9670
Iscritto il: venerdì 18 settembre 2009, 18:24
Località: Savigliano/Torino
Contatta:

Re: AIUTO PER TESI

Messaggio da Zebrauno » giovedì 30 maggio 2013, 23:29

Ora e' chiaro cosa vuoi fare, ma il Cam non ti dara' alcun aiuto se non svelarti l'errore cordale ammesso in partenza.

Visto che la tematica si affronta da decenni nell'interpretazione delle point clouds derivanti da scansioni dirette o indirette di oggetti 3D ti elenco dei casi limite che potrai sottoporre al tuo algoritmo:

- geometria di partenza: cerchio. Il Cam ha prodotto un ottagono rispettando l'errore cordale. L'algoritmo capira' che l'intenzione era produrre un cerchio, e non un puro ottagono?

- geometria di partenza: onda sinusoidale prodotta da equazione con valore assoluto (le semionde negative sono rese positive, ribaltate sull'asse X). Il Cam produrra' un'approssimazione delle onde e si notera' una variazione nella distanza tra i punti come e' lecito aspettarsi. Gli spigoli tra due semionde adiacenti saranno esportati dal CAM come punti coincidenti con la curva originale, dunque a ridosso dell'asse X (Y=0). Riuscira' l'algoritmo a riconoscere che su Y=0 ci sono degli spigoli o produrra' un'inerpolazione con i punti adiacenti arrotondandoli e dunque eliminando di fatto i punti di ordinata nulla?

- geometria di partenza: un rombo con diagonali diseguali. Il Cam produce 4 punti. Quale sara' la soglia di distanza tra quei punti per cui l'algoritmo continuera' ad interpretarli come una serie di 4 segmenti e non come un'ellisse?

La lista si allunga ulteriormente se entriamo nel dominio delle 3 dimensioni...

Cerca un CAM commerciale, produci dei codici e verifica tu stesso se e' vero che vengono prodotte delle accumulazioni di punti in prossimita' degli spigoli. Verifica con i tuoi occhi se questi addensamenti si verificano lungo segmenti rettilinei a cui sta per seguire una curva di grado >= 2 (e viceversa).

Se c'e' proprio qualcosa che non puoi dare per scontato e' il risultato del post-processing dei vari CAM esistenti in commercio.
ciao

Avatar utente
walgri
God
God
Messaggi: 4735
Iscritto il: giovedì 13 gennaio 2011, 18:37
Località: Cagliari

Re: AIUTO PER TESI

Messaggio da walgri » giovedì 30 maggio 2013, 23:34

[Zebrauno ha risposto mentre scrivevo. Riporto integralmente quanto avevo scritto anche se in parte si sovrappone]

Direi che è il momento di analizzare a fondo la documentazione del CAM specifico del quale dovrai scrivere questo post-post-processor e capire come si comporta.

Tuttavia non sono affatto sicuro che questa ipotesi di interpretare il percorso non generi dei falsi positivi e dei falsi negativi, anzi, diciamo pure che son sicuro del contrario.

Se la serie di punti ravvicinati non dipende in realtà  dalla geometria (come avviene ad esempio in molti mesher per modelli FEM) occorrerà  capire per quali "spigoli" viene adottato (parlerei piuttosto di raggi di curvatura: uno spigolo ad occhio nudo può non esserlo se osservato a livello microscopico). Nè è garantito che tutti i cam facciano altrettanto.

Ciao
...stop chasing shadows, just enjoy the ride.
Aìna pantografoTelemetria per KFlopBlenderCAM STL + DXF

Avatar utente
Zebrauno
God
God
Messaggi: 9670
Iscritto il: venerdì 18 settembre 2009, 18:24
Località: Savigliano/Torino
Contatta:

Re: AIUTO PER TESI

Messaggio da Zebrauno » giovedì 30 maggio 2013, 23:39

Il fatto cruciale e' che oggi questa problematica si risolve alla fonte.
Se si tratta di rilievi vengono scanditi per primi i nodi descrittivi delle geometrie fondamentali (centri e raggi dei cerchi, estremi di linee, intersezioni etc..), mentre se si tratta di produrre lavorazioni in continuo (per motivi di finitura, magari applicata al campo degli stampi su macchine 5 assi) allora si parte direttamente da un CAM capace di saltare il processo di meshing per produrre un codice ultra ottimizzato sfruttando tutti i "vocaboli" ammessi nel linguaggio della macchina di destinazione.

Rispondi

Torna a “Cad/Cam”