Skip to navigation

Come creare file STL di alta qualità per le stampe 3D

Vi è mai capitato di stampare in 3D una parte che presentava punti piatti o superfici sfaccettate al posto di curve lisce? O forse avete appena visto l'immagine di una stampa 3D che sembrava appartenere a una CGI a bassa risoluzione degli anni '90? Non siete gli unici e non è colpa della vostra stampante 3D: il colpevole è probabilmente una mancanza di risoluzione nel file STL utilizzato per creare la parte.


Abbiamo ricevuto molte domande da parte di nuovi utenti in merito a questo tipo di caratteristiche superficiali sfaccettate sulle loro parti stampate, quindi, nell'interesse di aiutare tutti a ottenere le migliori stampe possibili dalla loro stampante 3D, abbiamo messo insieme questa guida alla creazione di file STL di alta qualità che consentiranno di ottenere straordinarie parti stampate in 3D.


Nella guida verranno trattati i seguenti aspetti dei file STL e della stampa 3D:


  1. 1. Cos'è un file STL?
  2. 2. Perché i file STL sono importanti
  3. 3. Identificare un file STL non ottimale
  4. 4. Definire i parametri del file STL
  5. 5. Tolleranza cordale/deviazione cordale
  6. 6. Tolleranza angolare/deviazione angolare/deviazione normale
  7. 7. Qualità del reticolo e dimensione del file: le nostre raccomandazioni
  8. 8. Impostazioni di esportazione STL dei principali software CAD

Il TL;DR: Esportando la geometria CAD con la giusta risoluzione STL si ottengono parti stampate in 3D con la massima precisione dimensionale e finitura superficiale, senza rallentare il processo di slicing.


La nostra raccomandazione è di iniziare esportando i file STL con i seguenti parametri:


  • - In formato STL binario (file di dimensioni inferiori rispetto al formato ASCII)
  • - Tolleranza/deviazione cordale di 0,1 mm [0,004"]
  • - Tolleranza/deviazione angolare di 1 grado
  • - [Facoltativo] Lunghezza minima del lato del triangolo impostata su 0,1 mm [0,004"]

Se la dimensione del file risultante è superiore a 20 MB, si consiglia vivamente di ridurre la dimensione del file aumentando i valori della tolleranza cordale e angolare fino a ridurre la dimensione del file STL a meno di 20 MB, poiché le dimensioni elevate del file possono rallentare notevolmente i calcoli necessari per preparare il file STL per la stampa 3D. Se con queste impostazioni il modello contiene ancora punti piatti eccessivi, si può provare a diminuire i valori della tolleranza cordale e angolare, con la forte raccomandazione di continuare a mantenere la dimensione del file sotto i 20 MB.

Anche questo autore è colpevole di aver prodotto file STL con una risoluzione troppo grossolana: durante il periodo precedente al lancio dell'acciaio per utensili H13 sul sistema Metal X alla fine del 2018, ho esportato un STL di questo ugello in fretta e furia e mi sono reso conto (troppo tardi) solo dopo la sinterizzazione di aver prodotto un file a bassa risoluzione con le superfici piatte e sfaccettate che si vedono sui due terzi inferiori della parte. Questa regione inferiore è stata modellata come una superficie curva completamente liscia e la stampante è stata sottoposta a una buona manutenzione; le deviazioni dal modello progettato sono dovute esclusivamente a impostazioni di esportazione STL non ideali.

Cos'è un file STL?


Essendo il tipo di file originale creato per la stampa 3D stereolitografica alla fine degli anni '80 (STL deriva da STereoLithography), il formato STL è di fatto lo standard del settore della stampa 3D per l'importazione di file di modelli 3D in un programma di slicing come il software Eiger di Markforged, in preparazione della stampa 3D del modello. Se avete mai usato una stampante 3D o progettato qualcosa da stampare in 3D, è quasi certo che abbiate già incontrato un file STL, ma sapevate che non tutti gli STL sono uguali? Infatti, è del tutto possibile progettare un modello 3D che soddisfi i requisiti funzionali e poi generare un file STL da quel modello che produrrà parti fuori specifica.


I file STL descrivono semplicemente un insieme di triangoli che (solitamente) creano un reticolo che genera un'approssimazione delle superfici continue di un modello 3D. Per essere più precisi, un file STL contiene un elenco di coordinate tridimensionali, raggruppate in insiemi di tre insieme a un vettore normale - ognuno di questi insiemi di tre coordinate costituisce i vertici (punti angolari) di un triangolo e il vettore è normale, o perpendicolare, al piano descritto dai tre punti del triangolo.

Ogni triangolo in un file STL è rappresentato da un insieme di tre punti vertice e da un vettore normale, come si vede in questa immagine. Un file STL può contenere da centinaia di migliaia a milioni di triangoli o più, e le sue dimensioni cresceranno proporzionalmente al numero di triangoli.

In un file STL formato ASCII (basato su testo), ogni triangolo è rappresentato nel seguente formato, dove il vettore normale n è rappresentato da (ni nj nk) e ogni vertice v ha tre coordinate tridimensionali (vx vy vz):


facet normal ni nj nk

outer loop

vertex v1x v1y v1z

vertex v2x v2y v2z

vertex v3x v3y v3z

endloop

endfacet


Insieme, tutti i triangoli (è comune averne milioni) formano un reticolo che può descrivere la geometria tridimensionale e può essere importata in un software di slicing, come la piattaforma software Eiger di Markforged, in preparazione per la stampa 3D.

Un file STL caricato nel software Eiger di Markforged, visualizzato come solido tridimensionale. Si noti che questo STL è stato intenzionalmente generato con una bassa risoluzione dei triangoli, motivo per cui nel modello sono chiaramente visibili grandi sfaccettature.

È importante notare che i file STL destinati alla stampa 3D devono contenere uno o più reticoli ben formati che racchiudano completamente la geometria che si desidera creare, con ogni bordo del triangolo collegato esattamente a due facce (questo è talvolta noto come STL manifold, o senza spazi vuoti).


Tuttavia, un file STL è semplicemente un elenco di coordinate e vettori e non vi è alcun requisito nelle specifiche del file STL per tale condizione manifold. I file STL, in particolare quelli creati direttamente da scanner 3D, possono spesso contenere geometrie non-manifold o superfici incomplete che possono essere difficili o impossibili da stampare correttamente in 3D e possono causare errori durante lo slicing.


In generale, è meglio esportare i file STL da un software CAD tradizionale con buone capacità di esportazione STL: praticamente tutti i moderni software CAD di ingegneria commerciali e i più noti pacchetti open source o per hobbisti rientrano in questa categoria. na rapida ricerca online del software CAD per le opzioni di esportazione nel formato STL può aiutare a orientarsi nella scelta.


Stampa 3D di file STL: perché è importante


L'ultima sezione era un po' più geometrica di quanto probabilmente vi interessi: ciò che è importante per questa discussione, tuttavia, è il reticolo creato da tutti questi triangoli. Poiché un triangolo è una forma 2D piatta, l'insieme dei triangoli in un file STL può replicare perfettamente solo un modello 3D composto esclusivamente da superfici piane, come un cubo, un poligono o qualsiasi geometria senza superfici curve, assumendo che i triangoli nel reticolo possano essere più piccoli dell'elemento più piccolo del modello. Discuteremo questa ipotesi più avanti, quando parleremo delle impostazioni di esportazione STL in CAD.


Tuttavia, molte parti di ingegneria presentano almeno alcune superfici curve, sia che si tratti di fori, raccordi, raggi, giri o curve più complesse e geometrie organiche. Queste caratteristiche e superfici curve (non planari) saranno replicate da un reticolo di triangoli e quindi possono essere approssimate solo da un file STL con livelli di precisione variabili, in base alle impostazioni di esportazione STL.

Un disegno lineare di due metà di una sfera salvate a diverse risoluzioni STL. Il lato sinistro della sfera viene salvato con una risoluzione inferiore, mentre il lato destro viene salvato con una risoluzione superiore. Osservate attentamente come il contorno della sfera sul lato destro si avvicini molto di più a una curva liscia rispetto al lato sinistro: questa è la chiave per produrre stampe 3D con superfici lisce e non sfaccettate.

È necessario aggiornare i file STL?


Se siete soddisfatti della qualità delle vostre stampe 3D e della velocità con cui i rispettivi file STL vengono elaborati in Eiger, allora siete a posto: non c'è bisogno di cambiare qualcosa che funziona bene! Tuttavia, in caso di difficoltà, questo articolo può aiutarvi a risolvere due problemi principali, che derivano da file STL generati con impostazioni di risoluzione di esportazione troppo basse o troppo alte. Le caratteristiche che definiscono i file STL a bassa risoluzione sono stampe 3D con punti piatti in regioni che dovrebbero avere facce curve e lisce. Con file STL ad altissima risoluzione si ottengono parti stampate in 3D di grande effetto, ma le grandi dimensioni dei file comportano lunghi tempi di slicing nel software Eiger di Markforged e, nei casi più estremi, possono causare un ritardo nell'interfaccia utente durante la regolazione della vista della parte.


Uno dei motivi per cui il formato STL è così diffuso è la sua semplicità, che a sua volta ha reso facile per una vasta gamma di software di ingegneria e progettazione supportare, modificare e generare file STL da altri formati di modelli 3D, che possono poi essere stampati su quasi tutte le stampanti 3D presenti sul mercato. Purtroppo, uno dei principali svantaggi dei file STL è anche la loro semplicità: non contengono informazioni sul sistema di unità di misura (millimetri, pollici, piedi, ecc.) in cui sono stati progettati e non è possibile determinare la risoluzione di un file STL da solo e quanto accuratamente rappresenti il modello originale da cui è stato creato.


Il problema più comune in cui si imbattono i nostri utenti sono i file STL troppo grossolani, generati senza una risoluzione sufficiente. L'indicatore più evidente è rappresentato dai punti piatti e dalle regioni sfaccettate di parti progettate con curve lisce, come nella seguente immagine di un ugello.

Geometria CAD per l'ugello (a sinistra) che mostra una superficie dell'ugello liscia e curva e la parte stampata in 3D risultante (a destra) da un file STL generato dal CAD con una risoluzione molto bassa. Si notino le sfaccettature piatte e segmentate sulla superficie dell'ugello stampato, artefatte dalla bassa risoluzione del file STL.

È inoltre possibile identificare facilmente questa condizione di bassa risoluzione utilizzando gli strumenti integrati nella piattaforma software Eiger di Markforged. Quando si sposta il mouse sul modello della parte nel software, Eiger evidenzia in blu la faccia sotto il cursore e tutte le facce parallele ad essa (ed entro una piccola tolleranza angolare rispetto al parallelo). Se quando si evidenziano le facce con il mouse si vedono chiaramente sfaccettature e punti piatti nel modello, probabilmente è necessario aumentare la risoluzione del file STL. Se le facce evidenziate appaiono "sfumate", con un gradiente di colore relativamente uniforme, la risoluzione STL è probabilmente sufficiente per la stampa 3D.

I file STL a bassa risoluzione (a sinistra) evidenziano le facce piatte distinte sulle regioni curve delle parti quando il mouse si sposta su di esse, mentre con i file STL a più alta risoluzione le facce evidenziate mostrano un gradiente di colore più sfumato.

D'altra parte, i file STL con risoluzione troppo alta possono essere troppo grandi per essere gestiti in modo efficiente da Eiger e possono rallentare le operazioni di slicing. Non esiste un vero limite (a parte forse lo spazio di memoria disponibile sul computer) alla finezza di un file STL, ed è assolutamente possibile creare un reticolo triangolare con lati di lunghezza dei triangoli dell'ordine dei nanometri o meno (per riferimento, un capello umano medio è di circa 75.000 nanometri). Si tratta di una risoluzione troppo elevata rispetto a quella che può essere utilizzata dalla stampante 3D o che è necessaria, per cui un file STL a risoluzione troppo elevata rallenta semplicemente il flusso di lavoro e fa perdere tempo.


Nonostante queste limitazioni, è facile realizzare straordinarie parti stampate in 3D se si seguono alcune buone pratiche nella creazione di un file STL. Le impostazioni di stampa scelte nel software CAD quando si genera e si esporta un file STL possono influire notevolmente sulla qualità, sull'accuratezza dimensionale e sulla finitura superficiale della parte stampata in 3D, quindi è importante comprendere questi parametri.

Definire i parametri del file STL


Quando si esporta un file STL dal software CAD, ci sono alcuni parametri che controllano la densità del retirolo triangolare, che a sua volta definisce la geometria di una parte. Un modo per pensare all'interazione tra il processo di esportazione e questi parametri è che il software CAD cerca di ottimizzare le dimensioni del STL, e quindi cercherà di creare il reticolo più grezzo e a risoluzione più bassa possibile, ma uno o più dei parametri di esportazione specificati possono richiedere al software di utilizzare un reticolo a risoluzione più elevata per diverse caratteristiche e geometrie. Un modello mentale utile è quindi quello di considerare questi parametri di esportazione come una "forzatura" del processo di esportazione per generare un reticolo più fine e a risoluzione più elevata.

Due parti completamente diverse sono state create dallo stesso file di modello 3D in CAD, semplicemente esportando due file STL con impostazioni di esportazione molto diverse. A sinistra c'è una stampa 3D di un file STL creato con una risoluzione molto più alta, mentre a destra c'è una stampa 3D di una versione esportata con parametri STL a risoluzione molto bassa.

In generale, la maggior parte dei moderni software CAD offre agli utenti la possibilità di controllare almeno due parametri di esportazione: uno di dimensioni lineari chiamato tolleranza cordale (o deviazione cordale) e uno di dimensioni angolari chiamato tolleranza angolare (o deviazione angolare). L'STL risultante deve soddisfare tutte le condizioni specificate dalle impostazioni di esportazione scelte. A seconda della geometria di un elemento specifico del modello 3D, una di queste impostazioni sarà in genere più restrittiva (ovvero richiederà un reticolo a risoluzione più elevata) dell'altra e potrà essere considerata il parametro dominante o limitante per quell'elemento. Il parametro limitante varia tipicamente lungo la geometria di una parte in risposta a diverse caratteristiche. Esploreremo dapprima questi parametri e il loro impatto sulla generazione del file STL, quindi analizzeremo come configurare queste impostazioni in una serie di principali pacchetti software CAD.


Tolleranza cordale/deviazione cordale


La tolleranza cordale (o deviazione cordale) è un'impostazione che controlla l'accuratezza dimensionale globale del file STL rispetto al modello 3D così come progettato. La tolleranza cordale è solitamente specificata come la massima deviazione lineare (perpendicolare) normale consentita dalla superficie del modello 3D progettato e dalla faccia triangolare più vicina del file STL risultante, come si vede nell'immagine seguente.

Si può pensare alla tolleranza cordale come al controllo dell'errore massimo consentito tra il file STL generato e il modello progettato, per l'intera geometria della parte. Quindi, poiché la funzione di esportazione STL del software CAD costruisce un reticolo triangolare attorno alla geometria del modello 3D, non può creare triangoli la cui distanza massima dal modello 3D superi la tolleranza cordale specificata. Supponendo che la tolleranza cordale sia il fattore limitante della risoluzione STL, un valore minore di tolleranza cordale si tradurrà in una risoluzione STL più elevata, con un maggior numero di triangoli e una maggiore dimensione del file.


Tolleranza angolare/deviazione angolare/deviazione normale


L'impostazione della tolleranza angolare (talvolta indicata come deviazione angolare o deviazione normale) controlla l'angolo massimo consentito tra i vettori normali di due triangoli vicini nel reticolo, e può essere considerata come un parametro che "affina" il reticolo con una risoluzione di gran lunga maggiore rispetto a quella che sarebbe altrimenti consentita dalla tolleranza cordale. Un buon esempio di quando la tolleranza angolare entra in gioco è tipicamente quello delle piccole superfici curve, come i raccordi, i cui raggi sono di dimensioni simili alla tolleranza cordale. Senza l'impostazione della tolleranza angolare, questi piccoli raccordi potrebbero presentare punti piatti molto visibili, o essere trasformati in uno smusso nel caso estremo in cui il raggio del raccordo sia uguale alla tolleranza cordale, come mostrato nella figura seguente.

Se il parametro di tolleranza angolare scelto è troppo grande o non esiste affatto, i piccoli elementi curvi di un modello 3D di dimensioni simili alla tolleranza cordale potrebbero essere completamente distrutti. In un esempio estremo (figura di sinistra), si può notare che il raggio del raccordo è uguale alla tolleranza cordale, che è il parametro dominante (si supponga che la deviazione angolare sia stata impostata a >45˚ e quindi non sia limitante), e il reticolo STL risultante trasforma semplicemente il raccordo in una superficie piatta. È possibile creare un file STL più accurato se la deviazione angolare massima viene impostata su un valore inferiore (figura di destra), in modo che diventi il parametro dominante che controlla la generazione del reticolo intorno al raccordo. In questo caso, il processo di generazione del file STL deve utilizzare un reticolo più piccolo con un maggior numero di triangoli nella regione del raccordo per soddisfare il limite di deviazione angolare, che a sua volta crea una superficie STL più liscia.

Se il valore di deviazione angolare (misurato in gradi) è impostato su un valore abbastanza piccolo da essere il parametro dominante, costringerà il processo di generazione del file STL ad aggiungere più triangoli nelle regioni di una parte con curvature più nette, che spesso sono elementi con raggi piccoli. Questo, a sua volta, "migliorerà" la levigatezza di questi elementi nella parte stampata in 3D risultante, al di là di quanto la tolleranza cordale da sola sarebbe in grado di fornire.


Si noti che, mentre la deviazione angolare è solitamente misurata in gradi (un valore inferiore corrisponde a un modello a risoluzione più elevata), alcuni software CAD specificano la deviazione angolare come un parametro di "controllo dell'angolo" adimensionale che varia da 0 a 1, con valori maggiori che specificano una risoluzione STL più elevata intorno alle superfici curve. Consultare la sezione seguente sulle impostazioni STL per i principali pacchetti software CAD, oppure visitare il sito del supporto tecnico o della knowledge base del software CAD specifico per ulteriori dettagli.


Impostazioni di esportazione aggiuntive: alcuni programmi CAD possono offrire impostazioni aggiuntive oltre ai due controlli principali della tolleranza cordale e angolare, che possono includere opzioni come la lunghezza minima o massima della sfaccettatura del triangolo. In generale, questi valori sono usati per risolvere problemi di esportazione STL in casi limite e si consiglia di lasciarli ai valori predefiniti, a meno che non vi sia una ragione specifica per volerli modificare.


‍Qualità del reticolo e dimensione dei file: le nostre raccomandazioni


Poiché un reticolo STL a risoluzione più elevata produce un modello più levigato e accurato, si potrebbe essere tentati di alzare semplicemente le impostazioni di risoluzione del programma CAD alla massima risoluzione possibile e chiudere la questione. Tuttavia, l'aumento della risoluzione dell'esportazione STL comporta anche un aumento delle dimensioni del file STL, che in genere si traduce in tempi di elaborazione del software più lunghi, sia per la generazione del file STL, sia per il caricamento su Eiger, sia per l'effettivo slicing del file STL e la preparazione per la stampa 3D. Oltre un certo punto, la risoluzione del file STL può superare di gran lunga la precisione della macchina della stampante 3D, il che significa che si può finire per pagare un costo in termini di tempo per la risoluzione STL che non si riflette effettivamente nelle parti stampate.


La pratica migliore che consigliamo è quella di scegliere le impostazioni di esportazione STL in modo da ottenere un equilibrio tra una risoluzione di alta qualità che soddisfi i requisiti funzionali e una dimensione del file che possa essere elaborata rapidamente in Eiger. L'esperienza ha dimostrato che le seguenti impostazioni sono un utile punto di partenza:


  • - Formato STL binario (dimensioni del file inferiori a quelle del formato ASCII)
  • - Tolleranza/deviazione cordale di 0,1 mm [0,004"]
  • - Tolleranza/deviazione angolare di 1 grado
  • - Lunghezza laterale minima di 0,1 mm [0,004"]

Se la dimensione del file risultante è notevolmente superiore a 20 MB, si consiglia vivamente di ridurre la dimensione del file aumentando i valori della tolleranza cordale e/o angolare fino a ridurre la dimensione del file STL a meno di 20 MB, poiché le dimensioni elevate del file possono rallentare le operazioni di elaborazione necessarie per preparare il file STL per la stampa 3D. Tuttavia, si dovrebbe essere liberi di sperimentare con file di dimensioni diverse, poiché la tolleranza a diversi livelli di risoluzione STL e ai tempi di elaborazione del software è una preferenza personale.


Impostazioni di esportazione STL di vari software CAD


Abbiamo cercato di raccogliere un campione rappresentativo dei principali pacchetti software CAD, ma non è sempre stato facile trovare screenshot online. Se siete rappresentanti di un fornitore CAD che ci è sfuggito e vorreste essere inseriti in questo elenco, o se ritenete che abbiamo rappresentato in modo errato il modo in cui questi parametri dovrebbero essere configurati, inviateci una nota tramite la nostra pagina di contatto e provvederemo a sistemare le cose.


Creo (PTC)


Con Creo è importante notare che il parametro "Controllo angolo", visto di seguito, non regola la deviazione angolare massima in gradi, ma è invece una misura unitaria del perfezionamento della deviazione angolare oltre il raggio che verrebbe creato dal parametro "Altezza corda" (tolleranza cordale). Il valore del parametro "Controllo angolo" può variare da 0,0 a 1,0. È possibile leggere ulteriori informazioni sul parametro "Controllo angolo" qui. Si consigliano le seguenti impostazioni come punto di partenza:


  • - Formato STL: binario
  • - Altezza corda: 0,1 mm [0,004"] (nota: questa è la tolleranza cordale)
  • - Controllo angolo: 0,25
  • - Lasciare i valori predefiniti di "Lunghezza massima dei bordi" e "Rapporto di aspetto"

Fusion 360 (Autodesk)


Fusion 360. Si consigliano le seguenti impostazioni come punto di partenza:

  • - Formato STL: binario
  • - Deviazione della superficie: 0,1 mm [0,004"] (nota: questa è la tolleranza cordale)
  • - Deviazione normale: 1 grado (nota: questa è la deviazione angolare)
  • - Lasciare i valori predefiniti di "Lunghezza massima dei bordi" e "Rapporto di aspetto"

NX (Siemens)


Si consigliano le seguenti impostazioni come punto di partenza:

  • - Tipo di file di output: binario
  • - Tolleranza cordale: 0,1 mm [0,004"] (nota: le unità qui sono impostate dalle unità del documento)
  • - Tolleranza angolare: 1 grado

Onshape (PTC)


Si consigliano le seguenti impostazioni come punto di partenza:

  • - Formato STL: binario
  • - Deviazione angolare: 1 grado
  • - Tolleranza cordale: 0,1 mm [0,004"]
  • - Larghezza minima della sfaccettatura: 0,1 mm [0,004"]

SOLIDWORKS (Dassault Systèmes)


Si consigliano le seguenti impostazioni come punto di partenza:

  • - Formato STL: binario
  • - Risoluzione: personalizzata
  • - Deviazione: 0,1 mm [0,004"] (nota: questo parametro è la tolleranza cordale/deviazione cordale)
  • - Angolo: 1 grado
  • - Lasciare deselezionata l'opzione "Definisci la dimensione massima della sfaccettatura"

All of the blogs and the information contained within those blogs are copyright by Markforged, Inc. and may not be copied, modified, or adopted in any way without our written permission. Our blogs may contain our service marks or trademarks, as well as of those our affiliates. Your use of our blogs does not constitute any right or license for you to use our service marks or trademarks without our prior permission. Markforged Information provided in our blogs should not be considered professional advice. We are under no obligation to update or revise blogs based on new information, subsequent events, or otherwise.

Never miss an article

Subscribe to get new Markforged content in your inbox