Calcolo di toolpath di svuotatura

Sezione riservata ai sofware sviluppati in proprio
Rispondi
massignanpaolo
Newbie
Newbie
Messaggi: 4
Iscritto il: martedì 2 febbraio 2010, 11:38
Località: Vicenza

Calcolo di toolpath di svuotatura

Messaggio da massignanpaolo » martedì 2 febbraio 2010, 12:14

Ciao a tutti. Non so perchè mi è venuta voglia di dilettarmi nella creazione di un semplica programma CAM per lavorazioni 2D.

Mi trovo ad affrontare certe scelte. Per esempio, la compensazione utensile.
Ho trovato in Internet un grandissimo numero di pubblicazioni sulla cosa, ma i CAM reali che tecniche usano?

Diagrammi di Voronoi, trasformate GrassFire (tecniche discrete in generale), Somme di Mynkowski?

Mi appassionano questi temi di geometria computazionale, ma mi chiedo quali effettivamente siano usati in pratica.
E' solo il primo di tanti problemi tra l'altro.

Grazie
Paolo

velleca55

Re: Calcolo di toolpath di svuotatura

Messaggio da velleca55 » martedì 2 febbraio 2010, 14:19

Ciao Massignanpaolo ... personalmente non posso opinare, sono piuttosto ignorante in materie come questa ... anche se trovo affascinante il tema ...

Volevo solo invitarti a passare in "Presentazioni", ci farai solo piacere ... e approfittane per completare completare il tuo profilo con una residenza, anche approssimata ... Grazie ... :D ...

safe60
Senior
Senior
Messaggi: 730
Iscritto il: venerdì 29 maggio 2009, 8:43
Località: Ferrara
Contatta:

Re: Calcolo di toolpath di svuotatura

Messaggio da safe60 » martedì 2 febbraio 2010, 14:30

Gli algoritmi e strutture dati utilizzati dai programmi di CAM commerciali sono il loro patrimonio piu' prezioso e non penso che vengano documentati se non a grandi.. grandissime linee e in rarissimi casi. Faccio un esempio : Un vecchio algoritmo per le sgrossature prevede di calcolare le curve di intersezione del pezzo 3d da lavorare con dei piani ortogonali all'asse Z. Quelle curve identificano i contorni da vuotare o da girarci intorno a seconda se siano cave o picchi. Questo e' il massimo che si riesce a sapere.
Come vengano calcolate le intersezioni.. e quale e' la stuttura dati per gestire queste informazioni (che sarebbe la parte succosa della questione..) non e' dato sapere. Dall'altro lato, e' impossibile per un utente risalire a "come" il programma che usa sta funzionando.

C'e' molta documentazione su algoritmi di lavorazione dai 2.5 assi in su. Curiosamente pero' pur essendo articoli pubblicati da universita', nella grande maggioranza dei casi sono a pagamento. Peccato...

Sandro
More Maiorum

massignanpaolo
Newbie
Newbie
Messaggi: 4
Iscritto il: martedì 2 febbraio 2010, 11:38
Località: Vicenza

Re: Calcolo di toolpath di svuotatura

Messaggio da massignanpaolo » martedì 2 febbraio 2010, 16:46

Completerò il mio profilo appena possibile.

Sono sicuro che si tratta di un argomento complicato e che rappresenti una ricchezza che difficilmente le aziende non vogliono fornire all'esterno.
Le pubblicazioni online esistono ma sono molto varie.
Una scelta sul tipo di gestione dei dati geometrici influenzerà  sicuramente tutto il resto del progetto.

Voi cosa mi consigliereste?
Personalmente volevo provare con un'approccio discreto, quindi una specie di modello raster del disegno.

Spero di non essere troppo fuori luogo a scrivere su questo forum. Una discussione sull'argomento potrebbe essere molto preziosa.
Paolo.

safe60
Senior
Senior
Messaggi: 730
Iscritto il: venerdì 29 maggio 2009, 8:43
Località: Ferrara
Contatta:

Re: Calcolo di toolpath di svuotatura

Messaggio da safe60 » mercoledì 3 febbraio 2010, 8:30

Senza avere informazioni piu precise su quale e' il tuo scopo finale e' difficile esprimere opinioni. Io, per esempio, ho scelto di non utilizzare una struttura dati particolarmente sofisticata nel mio codice preferendo integrare il tutto in un vero e proprio linguaggio di programmazione.

La mia applicazione ha lo scopo di eseguire lavorazioni molto semplici come tasche, profilature, incisioni di testi, forature e cose del genere. Le funzioni tecnologiche che generano i movimenti appaiono come semplici comandi testuali e i parametri di lavorazione si impostano assegnando dei valori a specifiche variabili.

In altre parole, uso funzioni semplici e, grazie alle funzionalita' del linguaggio di programmazione, posso combinarle in vario modo per ottenere lavorazioni anche di una certa complessita'. Con questo approccio si ottiene una grande versatilita' e i programmi sono molto leggibili perche' il quello che devo scrivere non sono i singoli movimenti della fresa ma la sequenza di operazioni che voglio realizzare. E' il programma a "smazzarsi" tutti i controlli e a generare i movimenti in un formato neutro. Da li, il sottosistema di postprocessazione genera il vero e proprio gcode per qualsiasi tipo di controllo cnc o anche formati grafici vettoriali. Inoltre poiche' la sintassi del linguaggio che uso prevede sia di poter cambiare il nome ai comandi nativi otre che crearne di nuovi, estendere l'applicazione mi risulta semplice. Certo che questa filosofia ha altri tipi di limite ma e' funzionale per lo scopo che avevo in mente.

Come sempre... non c'e' un approccio migliore di un altro. Tutto dipende da cosa si vuole fare. Se condividi con noi le specifiche del tuo progetto, penso che si potra' sviluppare una discussione interessante.

Sandro
More Maiorum

massignanpaolo
Newbie
Newbie
Messaggi: 4
Iscritto il: martedì 2 febbraio 2010, 11:38
Località: Vicenza

Re: Calcolo di toolpath di svuotatura

Messaggio da massignanpaolo » mercoledì 3 febbraio 2010, 9:00

Ammetto che per ora sono in alto mare. Più che di specifiche posso parlare di idee.

E l'idea era quella di creare un semplice CAM 2D che leggesse file DXF e creasse tasche a piani paralleli o offset, finiture, drill.
Dopo aver indagato le difficoltà  dell'interpretare un file DXF (12) mi sono trovato a dover pensare a come effettuare la compensazione utensile. Sinceramente credo sia il passo più complicato del progetto.

safe60
Senior
Senior
Messaggi: 730
Iscritto il: venerdì 29 maggio 2009, 8:43
Località: Ferrara
Contatta:

Re: Calcolo di toolpath di svuotatura

Messaggio da safe60 » mercoledì 3 febbraio 2010, 9:36

Leggere un file DXF, specie della release 12, non presenta difficolta' posto che si leggano le entita' piu semplici come linee, archi, circonferenze, e blocchi. Con le splines il discorso e' diverso.
Per quanto riguarda la compensazione utensile, grazie ai suggerimenti preziosi di Alex nh5000 l'ho implementata come opzione nelle freasature di tasche.

Di solito nelle operazioni di svuotatura di cave la compensazione raggio utensile viene abilitata nell'ultima passata, cioe' quella che va a "lambire" il contorno esterno della tasca. E' in quel momento che serve la massima accuratezza. Chiaramente a seconda del tipo di percorso che sviluppi dovrai attivare la compensazione raggio sinistra o destra.

Dopo aver abilitato la compensazione, bisogna generare le vere coordinate della geometria perche' a quel punto sara' il controllo CNC della macchina a tenersi rispettivamente a destra o sinistra del percorso che tu gli dai tenendo quindi conto dell'offset di compensazione.

Sandro
More Maiorum

massignanpaolo
Newbie
Newbie
Messaggi: 4
Iscritto il: martedì 2 febbraio 2010, 11:38
Località: Vicenza

Re: Calcolo di toolpath di svuotatura

Messaggio da massignanpaolo » mercoledì 3 febbraio 2010, 12:20

Per quanto riguarda le spline ho risolto trasformandole in polilinee, hai fatto cosi anche tu?

I consigli di Alex nh5000 sono presenti in qualche post su questo forum?
Una cosa non ho capito, se devi svuotare, diciamo un poligono concavo, come fai a calcolare il percorso utensile interno? scali l'originale? :?

Tu tieni conto che possono essere presenti delle isole?

Le cose diventano complicate in fretta #-o

Grazie per la disponibilità 
Paolo

safe60
Senior
Senior
Messaggi: 730
Iscritto il: venerdì 29 maggio 2009, 8:43
Località: Ferrara
Contatta:

Re: Calcolo di toolpath di svuotatura

Messaggio da safe60 » mercoledì 3 febbraio 2010, 14:43

dal Dxf la mia applicazione legge solo segmenti, archi circonferenze e punti di inserimento dei blocchi. Le altre entita' vengono ignorate. tieni conto inoltre che non le vuoto ma le profilo solo, cioe' genero percorsi che seguono esattamente la geometria definita nel dxf. Stessa cosa per le incisioni di testi dove ricavo il percorso dalla struttra del font TTF dopo averlo ovviamente scalato e/o ruotato.

Per le fresature la risposta e' no. Faccio solo operazioni tecnologiche semplici di cave rettagolari (o quadrate) e circolari. A breve anche asole. Niente lavorazioni con profilo libero o con isole. Questa problematica e' attualmente troppo complessa per me.

Tornando alla compensazione (che rispetto al calcolo di percorsi di svuotatura di cave con profilo a piacere e' una bazzecola), e' un argomento gia' trattato molte volte nei vari forum. Con la funzione di ricerca dovresti reperire i vecchi thread senza troppa difficolta. In alternativi il web e' pieno di informazioni al riguardo. La prima che mi viene in mente e' questa :

http://www.linuxcnc.org/handbook/gcode/diacomp.html

Sandro
More Maiorum

Rispondi

Torna a “Home Made”