IdeaMaker è uno Slicer. Ovvero, un programma che “affetta” un modello sorgente, e calcola il percorso di deposizione del materiale in relazione alla forma delle varie sezioni, per poter pilotare una stampante 3D.
Mi è capitato, si, mi è capitato, di sentire parlare di “affettatura” nel software di una stampante DLP, per giunta Italiana. Non faccio nomi per compassione. Tragico, ma a ben vedere, questo è il lavoro di uno slicer. E’ chiamato a suddividere un modello in strati di spessore definito, e a partire da questi dati, si incarica di stabilire come, dove, quando, con quale velocità, temperatura, pressione etc. il materiale verrà estruso, per fare in modo che il risultato finale corrisponda al nostro modello di partenza. Semplice nel concetto, complicato, anzi complicatissimo nella applicazione pratica, volendo approfondire tutti gli aspetti.
Lo Slicer somiglia, anzi è uno stretto parente dei programmi CAM, usati per pilotare le macchine a controllo numerico, che lavorano per asportazione anziché per aggiunta di materiale. Con i software CAM, gli slicer condividono (in generale) il fatto che l’output finale è costituito da una sequenza di codici – che determinano il tipo di azione – con associati parametri che determinano l’entità di quella azione. Nel 95% dei casi, il formato di questi comandi è di tipo GCode, una codifica che appunto è molto simile agli analoghi programmi-macchina usati nel controllo numerico.
Allora, se la stragrande maggioranze degli slicer produce un codice topologicamente simile, dov’è la differenza? Perché dovremmo sceglierne uno anziché un altro? In una parola, per la loro “furbizia”. Se avete mai provato a tagliare l’erba di un prato con una tosaerba, vi sarete resi conto che ci sono molti modi di affrontare la cosa. Per linee verticali, per linee orizzontali o diagonali, prima il bordo esterno, per percorsi concentrici… La varietà è infinita. Ma non tutti i percorsi possibili comportano la stessa efficienza, lo stesso tempo. Anzi. Una misura della qualità degli slicer è proprio questa. L’efficacia del percorso, la quantità dei movimenti a vuoto, la possibilità o meno di variare la velocità o accuratezza riguardo a frammenti del percorso “strategici” (es. quelli esterni), etc.
L’immagine in basso chiarisce bene il concetto di “furbizia” quando si tratta di escogitare percorsi di “azione”.
Nell’immagine, una divertente soluzione per il taglio del prato “automatico”. La corda, avvolgendosi su un cilindro, fa muovere il tosaerba su spirali concentriche.
Ma non solo. Il taglio del prato è una operazione in qualche modo bidimensionale. Noi abbiamo a che fare con un modello 3D. Con altre problematiche, esempio la gestione dei supporti, l’eventuale possibilità di usare più estrusori con diversi materiali, la gestione della corretta adesione (non troppo poca – non troppa) del modello al piano di lavoro, e così via.
La disponibilità di diversi Slicer (per la maggior parte delle macchine, salvo quelle obbligate ad usare uno slicer proprietario), contraddistinti da diverse potenzialità, è una chance. La logica vorrebbe che chi intende stampare al meglio, ne provasse più d’uno (tendenzialmente, tutti) per individuare quello più adatto alle proprie esigenze. Ma nella pratica, cambiare Slicer è un po’ come cambiare lingua. Almeno i primi tempi è necessario imparare il vocabolario, la grammatica, la sintassi. Si capisce poco di quanto si ascolta, e la conversazione è impacciata. Così, ho pensato di scrivere una serie di guide introduttive, con le quali si possa almeno familiarizzare con le principali caratteristiche e prestazioni dei vari programmi, prima di sperimentarli.
Questo mi auguro possa alleviare le frustrazioni alle quali si potrebbe andare incontro dopo aver individuato parametri soddisfacenti con un programma, nella sperimentazione di un programma differente.
Bene. Prima di passare alla recensione delle varie soluzioni disponibili (che richiederà ovviamente altri articoli a seguire), cercherò in questo contesto di fissare i concetti base di uno Slicer, definire una terminologia di riferimento e i criteri in base ai quali le varie soluzioni possono venire comparate.
Tanto per non avviare una noiosa argomentazione solo “teorica”, ho pensato già in questa fase di illustrazione di concetti e criteri di introdurre un soggetto “reale”, uno slicer esistente. IdeaMaker – sviluppato da Raise3D. Mi è utile, anche ai fini discorsivi, un immediato raffronto tra una certa funzione e come (e se) questa viene implementata dallo slicer in questione.
Negli articoli successivi farò la stessa cosa per altri prodotti, e al termine della serie cercherò – nei limiti del possibile – di compilare una tabella di confronto.
Ed ora, visto che l’ho scelto come “campione di riferimento” per soppesare l’importanza o meno delle diverse caratteristiche e funzionalità, inizio con una succinta “carta d’identità” di IdeaMaker:
Nome commerciale | IdeaMaker |
Versione attuale | 2.5 (19/03/2017) |
Produttore | Raise3D |
Licenza | Free |
Lingue | Inglese, Tedesco, Russo, Francese |
Output | GCode |
S.O. | Windows, Mac, Linux |
Codice | 64bit Multicore |
Multiestrusore | Si |
Supporto rete | Si |
Fatta questa breve presentazione, passiamo ad esaminare i vari elementi che caratterizzano uno Slicer, e vediamo come ssi comporta il nostro campione al riguardo.
Importazione del modello – formati supportati
Più lingue si conoscono, meglio è. Così, nel valutare uno Slicer, si può considerare la sua capacità di importare formati differenti. Nella maggior parte dei casi, sono presenti al minimo i formati base (STL ed OBJ), ma alcuni software sono in grado di importare anche altri formati (poligonali) come ad esempio DXF3D e 3DS. Al di la del puro numero di formati compatibili, è importante la qualità di importazione, e la conformità agli standard di riferimento.
Alcuni slicer consentono, oltre all’importazione, anche l’esportazione dei modelli. Questa funzionalità è utile se il modello è stato manipolato all’interno dello slicer (es. diviso in più parti). Nella fattispecie, IdeaMaker può importare modelli in STL e Obj, ed esportare in STL.
Utility di riparazione dei problemi topologici
Gli Slicer “più rifiniti” consentono non soltanto l’importazione Tout-Court, ma entrano nel merito della validazione del modello. Sono in grado di rilevare problemi topologici, di segnalarne l’esistenza e, attraverso routine di riparazione più o meno sofisticate, di “bonificare” all’occorrenza il nostro modello. Questa caratteristica è importante. Molti modelli prelevati online, realizzati senza troppa attenzione, presentano errori strutturali. Se lo Slicer non se ne accorge, rischiamo di avviare una stampa (magari particolarmente lunga) che non andrà a buon fine, o produrrà risultati imprevedibili. La presenza di strumenti che possano garantirci la validità del modello, ed eventualmente risolvere gli errori (fori, facce sovrapposte, vertici isolati etc.) è molto importante.
Il software che stavolta abbiamo preso in esame è abbastanza ricco, da questo punto di vista. Prevede sia la possibilità di utilizzare specifici comandi di riparazione, si una procedura totalmente automatica di bonifica, che effettua tutti i passaggi necessari per rendere il modello stampabile.
Le diverse possibilità di riparazione file di IdeaMaker
Possibilità di manipolazione dopo l’importazione
E se il modello che abbiamo importato (magari scaricato da Internet) è troppo grande, troppo piccolo, o orientato male? Un buon software di slicing ci dovrebbe consentire di intervenire. Nel modo più comodo possibile, senza imporci l’uso di un programma CAD esterno.
Per fortuna, sono quasi sempre presenti i classici tre comandi di manipolazione (Sposta, Scala, Ruota). Ma in alcuni casi, ad esempio la scala è possibile solo in percentuale. In altri casi, può avvenire in percentuale o in valori assoluti (dimensioni), con la possibilità di scala uniforme o meno, la conversione automatica pollici-millimetri e viceversa, etc. Insomma, più possibilità di parametrizzazione consentono un migliore controllo.
Ma vediamo nel dettaglio tutte le varie possibilità offerte da IdeaMaker nel menu “Model”:
L’elenco delle possibilità è abbastanza ampio. I primi due comandi (Pan e View) controllano sostanzialmente la visualizzazione, e sono accessibili anche dalla barra delle icone. Pan consente una panoramica bidimensionale, mentre View attiva la navigazione 3D del modello nell’area di lavoro.
Move
consente lo spostamento del modello sui tre assi, tramite un trascinatore grafico interattivo azionabile con il mouse, o in millimetri. Include la possibilità di convertire il modello in pollici (o millimetri), di centrarlo, e di adagiarlo sulla piattaforma.
Se sono state importate due componenti dello stesso oggetto (esempio per stamparle con due diversi colori), il controllo Align le ricolloca nella reciproca posizione originaria.
Rotate
Anche in questo caso, il comando di rotazione si distingue per le sue potenzialità rispetto a comandi analoghi di altri Slicer.
Nella modalità globale (World) la rotazione può avvenire sui tre assi primari (XYZ), a scatti di 90° con le frecce a destra (comodo per un rapido posizionamento del modello sul lato più comodo), o specificando i gradi.
Nella modalità Local (difficile trovarla in altri software), la rotazione avviene sugli assi locali, anche in questo caso con passo 90° o con un valore arbitrario. In aggiunta, è possibile intervenire direttamente con il mouse sul controllo grafico. Nell’immagine, una rotazione locale:
Scale
Questo comando permette di variare la scala del modello. Il controllo può essere interattivo (via mouse), in millimetri o in percentuale. Il comando include la conversione automatica da millimetri a pollici e viceversa.
Il ridimensionamento può essere uniforme (sui tre assi) o meno.
Free Cut
Suddivisione di un oggetto con IdeaMaker. Può essere effettuata con piani con angolazioni arbitrarie.
Questo comando offre la possibilità di separare più oggetti importati nel medesimo file in oggetti singoli, o di “tagliare” il modello. Nel primo caso, potrebbe essere utile ad esempio per disporre in modo più ottimizzato gli elementi. Nel secondo caso, tagliare gli oggetti può consentire di stampare modelli più grandi del volume utile, in parti. Il taglio può avvenire su piani paralleli ai piani standard (XYZ) o anche per piani arbitrari.
Cross section
Questo non è in realtà un comando per la manipolazione, ma per l’esplorazione del modello. Consente di attivare un piano di taglio utilizzando il quale è possibile ispezionare la struttura interna.
Come abbiamo visto prima nell’immagine del menu Model, ci sono molti altri comandi oltre quelli dei quali abbiamo parlato. Vediamoli in breve. Molti comandi sono piuttosto semplici da utilizzare, e non richiedono obbligatoriamente l’uso di immagini per chiarirne il funzionamento.
- Mirror – Permette di creare una copia speculare dell’oggetto selezionato, rispetto agli assi X, Y o Z. Una riflessione sull’asse Z sostanzialmente capovolge l’oggetto.
- Center – La selezione viene collocata al centro dell’area di stampa.
- Lay Flat – Selezionando questo comando, la vista passa dalla modalità rendering alla modalità wireframe, in modo che risultino visibili i singoli poligoni. Selezionando un poligono e premendo Apply, il modello viene orientato in modo che il poligono (e di conseguenza l’intero oggetto) venga allineato sul piano di stampa.
- Auto Fit to Build Volume – La selezione viene scalata in modo che venga sfruttato l’intero volume utile della stampante. Può essere usato sia per ingrandire piccoli oggetti sino al massimo stampabile possibile, sia per l’opposto – ridurre le dimensioni di un oggetto molto grande affinché possa venire stampato in un sol pezzo.
- Reset All – Riporta il modello alle condizioni originali (al momento dell’importazione), annullando tutte le modifiche.
- Reset – Questo comando prevede dei sottomenu, per annullare selettivamente le modifiche (es. rotazione, scala, etc.).
- Put All Models on Platform – Nel caso sia stato importato un modello che include più oggetti collocati a diverse altezze Z, li depone tutti sul piano di stampa.
- Auto Ungroup – Nel caso sia stato importato un modello che include più oggetti, permette di separarli in oggetti singoli, es. per modificare la loro reciproca posizione, e sfruttare meglio l’area di stampa.
- Merge Selected Models – Fonde tutti gli oggetti selezionati in un unico modello. In seguito, verranno interessati da eventuali trasformazioni (es. riflessione, rotazione) come se si trattasse di un corpo unico.
- Align Selected Models – Qualora due elementi dello stesso modello da stampare con diversi estrusori vengano importati separatamente, IdeaMaker, che non può intuire questo intento, li colloca nello spazio come se si trattasse di due diversi oggetti, a debita distanza l’uno dall’altro. Per fare in modo che i due frammenti vengano ricomposti insieme, si può usare questo comando. Gli oggetti restano separati tra loro (questo è necessario per poterli trattare diversamente), ma la loro posizione reciproca risulterà corretta.
Ci siamo. Qualcuno avrà notato che non è stata trattata la voce Support Structure. La gestione supporti è particolarmente importante, mi ripromettevo di parlarne approfonditamente a parte.
Profili
E’ difficile ricordare l’insieme di parametri utilizzati in una particolare situazione, che hanno prodotto una stampa ottimale. Per questo motivo, la maggior parte degli Slicer consente di salvare i profili (l’insieme di parametri). In alcuni casi, sono disponibili profili distinti (es. per Qualità e per Filamento). IdeaMaker consente di assegnare ai filamenti un profilo (nel quale è possibile indicare il nome, diametro, densità, prezzo e flowrate), e di creare profili separati sia per la macchina, sia per il processo. Per quanto riguarda la macchina, il profilo contiene informazioni quali diametro ugello, corse utili, numero estrusori, step per mm., compensazione assi X e Y. La presenza di questi due campi è molto importante, e permette, una volta stampato un cubo di riferimento, di compensare le eventuali tolleranze rispetto alle dimensioni del modello dovute al ritiro dei materiali.
Per i parametri specifici di processo controllabili attraverso i profili si può far riferimento alla sezione Interfaccia – Parametri avanzati seguente.
Una semplice, ma utile novità della versione 2.5 è la possibilità di modificare un profilo ed utilizzarlo per lo slicing senza necessariamente doverlo salvare. Questa funzionalità evita l’eccessivo proliferare di profili nel caso di piccole modifiche.
Nel calcolo del file NG da inviare alla macchina, vengono utilizzato un template, che include il profilo macchina, il profilo/i filamento e il profilo della lavorazione.
L’interfaccia di IdeaMaker
Molti Slicer prevedono una doppia interfaccia: Base e Avanzata. In quella base è generalmente sufficiente selezionare la qualità, il materiale, il riempimento e il tipo di supporti. Nel caso di IdeaMaker, i parametri base sono davvero essenziali, e permettono di avviare il calcolo con pochissimi clic.
Nei parametri avanzati è possibile effettuare interventi più di dettaglio (es. velocità, temperature, ventola, spessore pareti, tipo di riempimento etc.). Anche se avere a che fare con un’interfaccia che prevede molti parametri può apparire più complesso, più ce ne sono e meglio è.
Il controllo, ove occorra esercitarlo, sarà maggiore, consentendoci di affrontare anche situazioni particolari.
I parametri avanzati di IdeaMaker sono suddivisi in 8 diverse schede. Per quanto riguarda la scheda Layer, è interessante la possibilità di utilizzare un estrusore a scelta per lo Skirt/Brim, e i controlli dettagliati per il primo strato, che includono altezza, velocità e flow rate dell’estrusione.
Anche per il riempimento, è possibile selezionare l’estrusore, controllare il tipo di struttura (linee e griglia), e la densità/velocità/flow rate della base e della parte superiore del modello.
Alcuni Slicer consentono ulteriori modalità di riempimento (es. nido d’ape, triangoli etc.), che talvolta possono rivelarsi utili. Anche per quanto riguarda le superfici piane inferiore e superiore, possono offrire maggiori possibilità rispetto ad IdeaMaker, ad esempio un riempimento con offset o la possibilità di variare gli angoli di deposizione degli strati.
La scheda supporti è piuttosto completa. Consente di selezionare l’estrusore (magari per supporti solubili) e il tipo/riempimento. Le modalità sono due: supporti normali e a pilastro. Sotto controllo la distanza dei supporti dagli altri elementi (es. Raft-modello), sia in senso orizzontale che verticale. Questo permette, in base al materiale, di ottenere comunque dei sostegni che siano contemporaneamente robusti e facilmente rimovibili. Il riquadro “Dense support” permette di deporre un numero arbitrario di strati con un passo laterale ravvicinato prima dell’approssimarsi delle superfici da supportare, a vantaggio della qualità. L’angolo in questo caso può essere regolato.
Scheda Raft
Il Raft è totalmente sotto controllo, sia per quanto riguarda la sua geometria (numero e tipo di strati), sia per ciò che concerne velocità, flow rate, densità dell’interfaccia e distanza interfaccia-modello. La disponibilità di molti parametri permette di regolare la forza di adesione necessaria a trattenere il modello riducendo i rischi di distacco, e a consentire una agevole successiva separazione.
Cooling
Forse avrei usato un altro nome per questa scheda. Il titolo fa pensare semplicemente al raffreddamento, mentre in realtà permette di controllare anche le temperature, uno dei parametri più importanti della stampa 3D. Ovviamente queste possono essere diverse per i due estrusori. Il raffreddamento è gestito abbastanza bene, con la possibilità di attivare diverse velocità della ventola in relazione a specifici layer. Sarebbe interessante avere la stessa possibilità per il piano riscaldato: per alcuni materiali, è sufficiente che rimanga acceso solo nella fase iniziale della stampa.
Ooze
La bestia nera della stampa con doppio estrusore è l’oozing: la tendenza del materiale a fuoriuscire comunque, anche quando non sollecitato, dall’estrusore quando è caldo e inutilizzato.
Già, è ovvio che durante una stampa nella quale venga impiegato il secondo estrusore ad esempio per la costruzione di supporti, quest’ultimo deve rimanere acceso anche durante la deposizione del materiale del modello. Se dovessimo tenere acceso soltanto l’estrusore attivo in un certo momento i tempi di stampa si allungherebbero all’infinito. D’altro lato, da un estrusore mantenuto a temperatura di lavoro una certa quantità di materiale fuoriesce comunque.
Questo materiale va a “sporcare” indifferentemente sia il modello sia i supporti. Per aggirare il problema esistono diversi metodi, che fondamentalmente sono basati su cicli di pulizia effettuati ciclicamente su un oggetto d’appoggio appositamente creato allo scopo. Nel caso di IdeaMaker la questione viene affrontata generando una sorta di sarcofago attorno al modello, ad una distanza predefinita, costruito alternativamente con il primo e il secondo estrusore. La forma di questo “schermo” può essere selezionata tra Contoured (una superficie di offset che ricalca la forma del modello), Waterfall (somigliante ad una cascata), e Vertical (una semplice parete verticale che circonda il modello). Nell’insieme, un metodo abbastanza efficiente. Dal momento che la quantità di materiale che fuoriesce dall’estrusore inutilizzato dipende strettamente dalla velocità e dall’ammontare della rifrazione, questi parametri sono controllabili all’interno di questa scheda.
Scheda Other
La scheda Other, come era logico aspettarsi, racchiude tutte quelle impostazioni che non trovano posto altrove. Troviamo (come in molti altri programmi) il controllo Spiralize, per stampare soltanto una singola parete esterna del modello. Interessante, per questo scopo, la possibilità di specificare lo spessore della parete. Ma anche la possibilità, altrettanto diffusa, di introdurre pause (che consentono operazioni di controllo, inserimenti di componenti all’interno delle stampe etc.). Interessante la possibilità di definire offset globali. Manovrando opportunamente questi controlli, un singolo oggetto può essere stampato con due job diversi (es. uno spessore layer sino ad una certa altezza, e uno spessore differente per la parte rimanente, etc.).
Scheda GCode
Un classico per gli arditi, i perfezionisti e i maker, questa scheda permette di aggiungere specifici comandi in linguaggio macchina da eseguire prima e dopo un lavoro di stampa. I comandi standard sono piuttosto efficaci, ed includono l’homing degli assi, una prima estrusione a vuoto per accertarsi che il materiale possa effettivamente fuoriuscire sin dall’inizio della stampa, e un movimento che tende a spezzare il filamento inizialmente estruso in questa fase.
Altri aspetti che riguardano l’interfaccia sono legati alla modalità con la quale viene visualizzato il modello, e alla qualità del rendering. Da questo punto di vista, IdeaMaker offre una elevata resa grafica, e la navigazione 3D risulta particolarmente veloce. L’interfaccia è inoltre particolarmente curata per quanto riguarda lo schermo LCD delle stampanti Raise3D, con le quali viene generalmente utilizzato questo slicer. Nel file macchina salvato, viene incluso un rendering del modello, utilizzato per evidenziare, sia sullo schermo della stampante, sia su quello del PC collegato in rete, lo stato di avanzamento.
Velocità di calcolo del percorso di deposizione
Molti Slicer sono basati su architetture a 32 bit. Altri, quelli più evoluti, sono a 64 bit. Oltre a questo fattore, determinante per la velocità di calcolo, ovviamente anche la qualità degli algoritmi utilizzati ha la sua importanza. Senza citare almeno in questa fase nomi, ci sono differenze rilevanti da questo punto di vista tra un programma e l’altro: gli slicer più veloci impiegano anche 20 volte meno tempo rispetto ai più lenti. IdeaMaker è basato su un’architettura a 64 bit nativa, utilizza il multiprocessing e fa indubbiamente parte della categoria degli Slicer veloci. La quantità di core coinvolta nel calcolo può essere specificata, in modo da ripartire le risorse di calcolo con altri eventuali processi concorrenti.
Supporti
Uno degli aspetti più importanti nella valutazione della bontà o meno di uno Slicer è la qualità con la quale vengono inseriti i supporti. In molti casi, la generazione è automatica, ma subordinata ad alcuni parametri (es. angolo, geometria, densità, estrusore/materiale etc.). Alcuni Slicer, tra cui IdeaMaker, consentono anche la collocazione manuale e l’eventuale rimozione manuale dei supporti.
Per approfondimenti generici sui supporti e sulle basi, potete consultare le guide:
Nello specifico, riguardo ad IdeaMaker, la gestione supporti/basi è piuttosto articolata e i risultati ottenibili appaiono più che soddisfacenti. Nel video al link seguente, si può constare sia l’efficacia, sia la semplicità di rimozione.
Anteprima
La possibilità di vedere in dettaglio cosa accadrà durante la stampa è straordinariamente importante. Più o meno bene, tutti gli Slicer consentono di esaminare un’anteprima di stampa.
Nell’immagine, l’anteprima di IdeaMaker. I cursori Layers e Steps permettono rispettivamente di esaminare una particolare sezione (con la rimanente parte già stampata o da sola, a seconda se sia attivo o meno il controllo Only Current Layer), oppure il progresso, comando per comando, nell’ambito di un singolo layer. Sono opzionalmente visibili le ritrazioni e i trasferimenti a vuoto.
Controllo della stampa in remoto
Una delle funzioni più interessanti di IdeaMaker è legata al supporto che offre verso reti WiFi ed Ethernet, quando impiegato con stampanti Raise3D.
Il supporto include la possibilità di inviare il file alla memoria locale della macchina via rete, e il controllo completo di tutte le fasi di stampa attraverso il collegamento con il PC. In questa fase l’operatore può interagire con la macchina in remoto, intervenendo ove necessario in tempo reale su parametri quali le temperature dei due estrusori e del piano, la velocità di stampa, il regime della ventola e il flow rate degli estrusori.
Nel caso si utilizzino altre macchine, il collegamento al PC può essere effettuato via cavo USB.
Conclusioni
Gli Slicer sono per loro natura (essendo software) – soggetti ad una continua evoluzione. Tempo permettendo, periodicamente varrebbe la pena di valutare alternative rispetto al prodotto che si sta utilizzando correntemente, anche riesaminando programmi che erano in origine stati scartati. Potrebbero essere state apportate migliorie significative, e potrebbe valere la pena di utilizzarli, almeno in certe circostanze.
Rispetto ad IdeaMaker, il mio personale verdetto finale è positivo. Si tratta di uno Slicer moderno, particolarmente ricco di funzioni e controlli, ma nello stesso tempo molto semplice ed intuitivo da utilizzare. IdeaMaker è gratuito e può essere scaricato dal sito www.raise3D.com.