• Non ci sono risultati.

Le macchine AM necessitano di uno speciale algoritmo per stampare oggetti, richiesto per creare le istruzioni comprensibili dal computer numerical control (CNC) [6]. Lo slicing del file STL e l’algoritmo di deposizione dei layers costituiscono aspetti critici per quetsa tecnologia. Esistono specifici software proprietari o open source per adempire a questi passaggi, illustrati nei paragrafi seguenti.

1.3.1 Algoritmo di generazione del codice di comando G-code della macchina AM

Come già presentato nella sezione 1.2, ilc uore del processo risiede in alcuni passaggi fondamentali: la conversione del solido CAD nel formato STL, lo slicing di quest’ultimo e la generazione del percorso di deposizione dell’utensile, ed infine la scrittura delle istruzione in comando in G-Code, linguaggio comprensibile dal CNC. Il Computer Numerical Control, partendo da questo codice ha la possibilità di comandare ogni azione della macchina.

Di seguito sono presentati i passaggi che compongono l’algoritmo di estrapolazione del codice macchina partendo dal modello CAD del solido da realizzare.

Ricerca dei punti di intersezione: La prima parte dell’algoritmo individua i punti di intersezione degli spigoli delle facce esterne con un piano, equidistante tra due piani di

slicing contigui tra loro. Quando si imposta un layer ad una determinata quota, l’algoritmo deve verificare che ogni faccia del file STL intersechi il piano in esame. Esiste una casistica piuttosto varia di intersezioni, dipendente dalle varie relazioni tra il piano di slicing e le correspettive facce.

Creazione del poligono: Ottenuti i punti di intersezione corretti, il successivo algoritmo è in grado di generare un poligono bidimensionale (2-D) : costituito quindi da linee rette, connesse tra loro e chiuse su se stesse ad una determinata quota (altezza del layer). La generazione di questa curva èmolto importante quando è richiesto il miglioramento della qualità superficiale.

Nel passaggio precedente si sono ottenute coppie di vertici, ma l’obiettivo è quello di definire il poligono che dà forma allayer, ovvero il profilo medio tra due piani di taglio. La soluzione è unire le coppie di vvertici, ottenendo diverse linee rette che verranno intersecate con il piano medio. L’algoritmo genera da queste intersezioni il bordo esterno del layer in questione.

Si ottengono quindi poligoni che rappresentano i vari layer. Ai fini del riempimento interno, per evitare di depositare materiale al di fuori del profilo così generato, si riduce la

dimensione del poligono tenendo conto quindi della larghezza del filo di materiale deposto.

Questoprocesso si ottiene spostando internamente i vertici sopra descritti, ottenendo un nuovo poligono, costituito da linee parallele a quelle del precedente.

Esempio di un G-Code per un cubo di 10 mm.

Generazione del percorso di deposizione: Una volta ottenuti i layer dagli algoritmi precedenti, è necessario sviluppare un percorso di riempimento interno. Il modello di riempimento e di percorso scelto influenzano il tempo e la qualità di produzione. Nella sezione 1.4.1 questo passaggio sarà maggiormente approfondito.

Creazione della base di deposizione: La base di deposizione (raft) è una tecnica utilizzata per prevenire la deformazione dell’oggetto realizzato. Invece di deporre direttamente il materiale sul piano della stampante, gli oggetti vengono realizzati sopra unabase di materiale che verrà rimossa dal pezzo in un secondo momento. La base è più grande dell’oggetto, ed avrà quindi più adesione di questo. L’algoritmo consentirà tuttavia di scegliere la dimensione e la strategia di riempimento della base appena descritta.

Esempio di stampa FDM con base di deposizione (raft)

Generazione del G-CODE: Il G-Code è un codice classificato come linguaggio del CNC.

Questi codici sono formati da comandi che gestiscono la stampante 3D, ed ogni codice ha una funzione distinta. Al suo interno sono presente altri codici, quali M-Code che

controllano altri aspetti delle stampanti, ed F-Code che controllano la velocità dell’estrusore.

Le variabili X, Y e Z rappresentano la posizione sugli assi.

1.3.2 Software per il controllo della stampante

Esiste una grande varietà di software per lo slicing, ciascuno con i propri setup e parametri di stampa, ed è quindi importante conoscere la terminologia adottata dallo slicer prescelto [7] [8]. Di seguito vengono presentati alcuni dei software open source attualmente più diffusi:

Skeinforge®: è lo slicer più datato, costituito da una serie di script scritti in pyton e rilasciati sotto una GPL3. È il principale motore di slicing di molti altri software per la stampa 3D, tra cui ReplicatorG® , MakeWare® e RepetierHost® . Lo svantaggio di questo software sta nell’interfaccia utente non intuitiva e nella complessità delle impostazioni.

Slic3r® : motore di slicing moderno, completo ed attivamente sviluppato. E am- ` piamente supportato dai produttori di stampanti e fornito come opzione primaria in Repetier-Host® . I parametri legati alla stampa sono ben organizzati, e permettendo quindi maggior chiarezza all’utente finale.

KISSlicer® : Grazie alla semplice interfaccia grafica `e un software adatto a chi si avvicina per la prima volta a questa tecnologia. Esiste inoltre una versione “pro” che consente di gestire estrusori ed oggetti multipli.

Cura® : `e sviluppato da Ultimaker® con l’intento di rendere la stampa 3D il più semplice possibile. Include tutto ciò che `e necessario per preparare e stampare un file 3D.

Replicator-G® : software sviluppato in Pyton con una buona interfaccia utente, in grado di posizionare facilmente files STL su un piano di simulazione di stampa 3D.

3 GNU General Public License, è una licenza per software libero

Repetier Host® : software sviluppato in C#4 , in grado di simulare la deposizione di più files per visualizzare il G-code e la sua rappresentazione prima della stampa. Inoltre al suo interno `e presente un software per lo slicing.

Esempio di visualizzazione G-Code tramite Repetier Host®.

Documenti correlati