AutoCAD: disegno, modellazione e stampa 3D

Struttura di un file STL

Un file STL è diventato lo standard per la prototipazione rapida ed è il formato intermedio di comunicazione fa sistemi CAD e sistemi di slicing

Un file STL può essere prodotto in due formati che presentano la stessa estensione STL:il formato binario è codificato in codice binario compresso mentre il formato ASCII contiene semplici caratteri  ed è editabile.

Un file STL in formato ASCII si può leggere con un normale editor di testo mentre il formato binario non è editabile.

Vediamo come esempio le istruzioni STL di una faccia di un cubo ( quella relativa alle altre facce è stata tralasciata) generate da AutoCAD e rappresentate nella figura 13.1 :

solid AutoCAD
// codice STL ASCII di un cubo creato da  AutoCAD 
   facet normal -1.0000000e+000 -0.0000000e+000 -0.0000000e+000

      outer loop

       vertex 1.0000000e-006 1.0000001e+001 1.0000001e+001

vertex 1.0000000e-006 1.0000001e+001 1.0000000e-006

vertex 1.0000000e-006 1.0000000e-006 1.0000001e+001

      endloop

   endfacet

   facet normal -1.0000000e+000 -0.0000000e+000 -0.0000000e+000

   outer loop

         vertex 1.0000000e-006 1.0000000e-006 1.0000001e+001

         vertex 1.0000000e-006 1.0000001e+001 1.0000000e-006

         vertex 1.0000000e-006 1.0000000e-006 1.0000000e-006

      endloop

   endfacet

…(continua)

endsolid AutoCAD

// blocco di codice delle coordinate di UNA faccia che sarà ripetuto per sei volte per le altre sei facce

 

Nel codice riportato ogni oggetto STL inizia e termina con le parole solid e endsolid  seguite dal nome del programma che l'ha creato.

Ogni faccia è triangolata come si può vedere nella figura 13.1 e quindi le istruzioni riguardano i vertici dei due triangoli che formano una faccia. Per ogni triangolo (codice facet )  è indicata la normale e le coordinate dei vertici: conoscere la normale è molto importante perché determina l'orientamento del solido e quindi permette di conoscere   il suo interno ed il suo esterno.   

 

Figura 13.1 - Direzione delle normali delle facce del cubo, la triangolazione di ogni faccia e l'intensità di maglia della triangolazione della sfera.

Come si può vedere nella figura 13.1 anche la superficie della sfera viene triangolata perché la conversione in STL è sempre una semplificazione (detta discretizzazione)  di un solido in un insieme di triangoli che si avvicinano alla forma originaria del solido generatore. Più si avvicina e più l'oggetto sarà preciso ma al contempo più sarà complessa la maglia e la dimensione del file. E' necessario raggiungere un compromesso fra precisione e semplificazione in rapporto  alla complessità dell'oggetto, alla precisione richiesta ed al tempo di stampa che vogliamo conseguire.

Alcuni CONSIGLI per creare un modello corretto

Se vogliamo creare delle immagini di rendering di un progetto in 3D non è necessario prestare una grande attenzione alla correttezza dei solidi o delle superfici perché è sufficiente dare una mano di photoshop, come si dice in gergo, perché il progetto sia presentato con immagini di sicuro effetto.

Se però il modello dovrà essere realizzato fisicamente con una stampante 3D o utilizzato per creare uno stampo,  allora è  necessario che tutti i solidi siano corretti e che le superfici chiudano perfettamente fra di loro, senza aperture o incongruenze.  Bisogna considerare che il software che processa  il file per la stampante non può fare nessuna correzione e tantomeno lo può fare la stampante 3D.

Vediamo in sintesi alcune semplici regole per verificare i solidi prima di mandarli in stampa 3d

Il solido deve essere manifold cioè valido

La geometria del solido deve essere coerente ed il solido deve essere reale, cioè deve poter esistere come oggetto.

Per comprendere meglio, un solido è  non-manifold quando presenta una delle seguenti condizioni:

  • ha alcuni vertici non connessi con conseguente non chiusura del solido;
  • ha delle facce interne non collegate con la geometria;
  • ha delle aree senza spessore;
  • ha uno spigolo, come in figura 11.2  in comune con altri solidi che quindi collega più di due facce oppure, come nell'esempio a sinistra, che ne collega ben quattro perché il foro è tangente alla faccia esterna.

Il solido deve essere a chiusura stagna senza aperture o facce non collegate.

Il solido deve avere le normali orientate all'esterno

Come rappresentato nella figura 13.1 l'orientamento delle normali delle facce deve essere verso l'esterno altrimenti il software di compilazione non definisce correttamente l'interno e l'esterno del solido. Anche per i programmi di rendering, le facce con le normali invertite  vengono ignorate perché considerate non illuminate.

I vertici dei triangoli devono essere chiusi

Il modello di figura  13.6 ha molte facce non chiuse o mancanti e per questo il programma Meshmixer segnala  in blu le parti da correggere.

 

Figura 13.3 - Il modello importato presenta molte facce assenti che devono essere chiuse.

Produrre solidi o mesh ermetiche

I solidi 3D devono essere ermetici senza spazi o facce mancanti. Per questo ci sono dei software che possono correggere e chiudere le mesh in modo anche automatico. Per esportare un modello da AutoCAD si utilizza il comando STLOUT il cui prompt è:

Selezionare i solidi o le mesh ermetiche:

I blocchi che contengono solidi o mesh devono essere scalati in modo uniforme e solo i solidi e mesh contenuti nei blocchi vengono selezionati mentre le altre geometrie vengono eliminate.

In AutoCAD le mesh ermetiche vengono convertite in solidi 3D in base al valore della variabile SMOOTHMESHCONVERT che determina se i solidi o le superfici 3D sono levigati o sfaccettati: con valore 0 e 1 il modello è levigato mentre con valori 2 o 3 le facce sono piatte.

Prevedere una buona base di appoggio (raft e brim)

Quando l’estrusore deposita il filamento sulla base, se prevediamo l’utilizzo di una stampante FFF,  questo si deposita su strati precedenti che hanno già iniziato un processo di raffreddamento e questo comporta delle tensioni interne che possono comportare un distacco dalla base di appoggio. Se poi questa non è molto ampia allora il distacco può essere facilitato.  E’ importante quindi determinare una base del modello la più ampia possibile e se si utilizza il filo in ABS è quasi obbligatorio un piano riscaldato.

Molti programmi per prevenire questo problema, forniscono delle funzioni di estensione della base mediante una trama leggera (raft) oppure con uno strato molto largo per il primo layer (brim).  Il brim  (bordo) è una estensione del primo layer di stampa allargando la base di appoggio con un sottile strato di materiale. Il raft  (zattera) è un metodo di aderenza più spesso che crea una maglia prima di stampare il pezzo per aumentare l'adesione.  E' usato con basi di appoggio molto limitate per evitare i distaccamenti dal piano di stampa oppure con superfici molto larghe per evitare sollevamenti e distorsioni. Il raft rispetto al brim è più difficile da rimuovere perché inserisce una soletta sotto il modello.

Prevedere la direzione di stampa

Tutte le stampanti hanno una direzione di stampa determinata dal verso di spostamento dell’estrusore. Se utilizziamo delle stampanti  FFF, è indispensabile che il materiale fuso trovi una base sulla quale depositarsi: se la base non è fornita dalla geometria del pezzo perché c’è una sporgenza   (overhangs) allora bisogna aggiungere dei supporti di appoggio che saranno rimossi alla fine.

Molti software generano questi supporti al momento di creare il file di slicing ma non possono decidere quale sia la direzione di stampa migliore per il nostro oggetto. La maniera più ragionevole è quella di avere la dimensione più larga alla base e le parti più sottili in alto ed orientare l’oggetto per avere il minor numero di supporti necessari.

Gli spessori non devono essere sottili

Le pareti troppo sottili degli oggetti non vengono stampate o vengono stampate con deformazioni notevoli. Lo spessore minimo viene specificato dal produttore della stampante e comunque deve essere adeguato alla tecnologie di stampa usata.

STAMPA3D

AutoCAD fornisce il comando STAMPA3D per l’esportazione di un modello, o di una parte, in un file  STL.  Nella finestra è possibile codificare le dimensioni della scala o delle tre direzioni. Dopo aver completato la creazione del file STL binario, il sistema apre un link ad una pagina di Autodesk dove sono elencati alcuni fornitori di servizi di stampa negli Stati Uniti con elencati i costi e le modalità di spedizione. Questo servizio integrato non è ancora disponibile in Italia.      

 

Figura 13.4 - Finestra Invia a servizio di stampa 3D dove si possono modificare le dimensioni e la scala del modello prima di creare il file STL. 

Nota: la variabile FACETRES controlla la levigatezza degli oggetti con valori da 0.01 ad un massimo di 10 per avere la levigatezza migliore. Quando si utilizza il comando STAMPA3D il sistema imposta in automatico il valore a 10 per avere una qualità elevata.

Come migliorare o correggere un file STL

Dopo aver creato un modello con AutoCAD, per stamparlo con una stampante 3D è necessario esportarlo in formato STL potendo ricorrere a due comandi di esportazione che abbiamo analizzato: STLOUT e STAMPA3D

Se siamo previdenti abbiamo anche rispettato i consigli su come creare un modello da stampa.

Prima però di inviare il file alla stampante, per la precisione allo slicer, dobbiamo eseguire  un controllo sulla qualità delle mesh perché non sempre i difetti sono visibili. Ci possono essere degli errori nel modello stesso che il sistema non ha segnalato oppure nella conversione dal modello 3D al formato STL, conversione che ricordiamoci vuol dire approssimazione, si possono generare anche degli errori nella geometria che possono essere costituiti da  facce non chiuse o da facce sovrapposte o semplicemente da spigoli in condivisione fra più facce.

Considerato che le mesh vengono tradotte in sezioni o layer, se una faccia è assente, il layer registra un vuoto e in quel punto interrompe l'estrusione del materiale.

 

Meshmixer

 

Fra gli strumenti e i software messi a disposizione gratuitamente da Autodesk nella piattaforma www.123Dapp.com il programma Meshmixer  è quello rivolto all'editazione, alla correzione  e all'assemblaggio dei file STL con una serie di strumenti dedicati molto efficaci.

 

Figura 13.5 - Pagina di apertura ( a destra) del programma Meshmixer con le opzioni di gestione dei file. A sinistra gli oggetti 3D forniti dal programma con l'icona relativa.

Il programma fornisce una vasta gamma di oggetti 3D che possono essere inseriti nei propri progetti come moduli integrativi già preparati.   Possiamo caricare lettere, numeri, primitive geometriche oltre a simboli e varie parti del corpo umani già digitalizzati.

Inoltre facendo clic sull'icona 123D si apre la pagina web del portale Autodesk di figura 13.5 dove possiamo trovare una comunità di utenti che condividono i loro progetti e scambiano informazioni in un blog molto seguito. 

 

Figura 13.6- Portale di Autodesk Import from 123D dove sono disponibili molti modelli messi a disposizione gratuitamente dagli utenti dei software della suite. Il portale  possiamo inserire anche i nostri modelli che possono essere messi in condivisione con la stessa modalità.

 Nota: il sito dove scaricare gratuitamente Meshmixer è nel portare http://www.meshmixer.com/

 Quando si importa un modello STL in Meshmixer il primo passo è la verifica della consistenza delle mesh  con la funzione   Analysis / Inspector   di figura 13.7 che esegue un'analisi delle struttura del modello.

Sulle parti da correggere vengono posizionate delle sfere di diverso colore:

  • blu ad indicare delle facce mancanti;
  • rosse per segnalare delle aree non-manifold;
  • magenta per  individuare delle parti non collegate

Facendo clic su ognuna delle sfere di segnalazione il programma chiude aggiungendo le facce mancanti secondo le impostazioni di riempimento:  Minimal, Flat e Smooth Fill

 

Possiamo anche delegare al programma l'onere di chiusura dei fori specificando il valore di intensità della correzione nello slider  Small Thresh  con un valore che può andare da 0 a 0.02

 

Figura 13.7- Strumento Inspector nel menu Analysis che rileva le facce mancanti e permette di completare i fori.  

Non sempre però l'intervento automatico del programma è soddisfacente e per questo si può ricorrere ad un'altra funzione di correzione: Erase & Fill.

Dopo aver attivato la funzione Select se si clicca due volte sul bordo del profilo in blu della figura 13.8  viene selezionato tutto il profilo e si apre il menu con le funzioni di modifica, fra le quali   Erase & Fill che offre alcune opzioni per variare in modo interattivo la mesh di tamponamento.

Oltre alle opzioni Erase & Fil   il comando  Edit fornisce una gamma di funzioni di modifica molto varie,  come si può vedere in figura 13.8,  e tutte le funzioni sono attivabili durante un unico processo di ritocco il cui risultato è subito visibile sul modello.

    

Figura 13.8- Con Select, con un doppio clic sul bordo aperto viene selezionato tutto il profilo dell'area aperta e simultaneamente si attiva il menu delle funzioni di modifica, fra le quali Erase & Fill.  

La funzione Sculpt fornisce una serie di scalpelli  di varie grandezza e forme che servono  a modellare le mesh come delle forme morbide ed elastiche di plastilina. 

 

Figura 13.9- Il funzione Sculpt  presenta una gamma molto varia di scalpelli che permettono di modellare la mesh STL come una superficie elastica e malleabile. E' possibile modificare il colore alle superfici e intensificare la maglia nei punti critici.

Con la funzione Edit di figura 13.10 si possono praticare molte trasformazioni sull'intero oggetto come sposta, ruota, trasforma, specchio e molti altre.

 

 

Figura 13.10- Il funzione Edit  interviene su tutto l'oggetto con i comandi di specchio, duplica, trasforma e molti altri. 

Selezionando l'icona Print del programma si attiva l'ambiente di stampa che permette di preparare il modello alla stampa 3D.  Fra le funzioni interessanti ci sono il variare la dimensione e la scala del modello e la creazione in automatico dei supporti per le parti che presentano delle mensole o dei sottosquadra ( overhangs).

In figura 13.11  con la procedura Print si può creare un file STL di esportazione oppure mandare in stampa direttamente il modello se una stampante 3D è collegata al computer.


Figura 13.11- Quando l'oggetto presenta dei sottosquadra (overhangs) è necessario costruire dei supporti per la deposizione del filamento fuso. Meshmixer crea questi in automatico in rapporto al tipo di stampante scelta.

Altri programmi di riparazione STL

 Oltre a Meshmixer possiamo ricorrere ad altri programmi di correzione e riparazione  delle mesh STL che sono disponibili gratuitamente con licenza Open Source o forniscono una versione Demo o Light. 

Ci limitiamo a citare solo alcuni fra i più utilizzati lasciando al lettore la curiosità di sperimentarli  se ritenuti utili: le funzioni e le procedure operative sono analoghe a quelle di Meshmixer.  Avere tante altre opzioni di modifica forse non è la finalità di un programma di verifica STL: la finalità principale  è correggere e riparare le mesh e generare un file STL senza intoppi per la stampante.

La modifica geometrica di un file STL in genere deve essere fatta dal programma CAD che lo ha generato perché ha un controllo pieno delle geometrie e delle forme e può operare le trasformazioni nel codice originario.

Netfabb

http://www.netfabb.com

Netfabb è nato per il trattamento e la correzione professionale dei modelli esportati da vari sistemi CAD prima di inviarli in stampa con le più diffuse stampanti 3D.  Fornisce una versione demo e prevede licenze personali o commerciali.

MehsLab

http://meshlab.sourceforge.net/

MeshLab è un programma open-source, per l'elaborazione e la modifica di maglie triangolari non strutturate.

Il sistema è basato sulla libreria VCG sviluppato dal  Visual Computing Lab di ISTI - CNR di Pisa ed è disponibile per Windows, MacOSX e Linux. E' un progetto Open Source quindi di utilizzo gratuito.