Le modifiche introdotte nelle nuove versioni di PrusaSlicer sono in genere rappresentate da funzioni completamente nuove o da miglioramenti iterativi degli strumenti esistenti. Ma questa volta c’è almeno un cambiamento fondamentale nel funzionamento del nucleo dello slicing. Lo sviluppo di cambiamenti così drastici richiede molto tempo e impegno. Fortunatamente, non siamo soli in questo! Desideriamo ringraziare l’intera comunità open-source, in particolare il team Ultimaker Cura guidato da Jaime van Kessel, in quanto due importanti funzionalità di questa versione sono state originariamente sviluppate da loro, e Open CASCADE per il supporto dei file STEP. Miglioramenti come questi dimostrano davvero la potenza dello sviluppo open-source. Prima di approfondire le novità, ecco una panoramica di tutte le nuove funzioni:

  • Nuovo generatore di perimetri Arachne
  • Supporto del formato file STEP
  • Riempimento Lightning
  • Miglioramento del posizionamento delle giunzioni in base alla visibilità
  • Equalizzatore di pressione
  • Nuovi profili di stampanti e di materiali
  • Molte correzioni di bug e piccoli miglioramenti

 

Generatore di perimetri Arachne

Per anni, la strategia utilizzata da PrusaSlicer per generare i perimetri è stata quella di spostare il contorno dell’oggetto attraverso una linea di estrusione di larghezza costante. Questo comportava dei problemi in alcuni casi, soprattutto quando si stampavano pareti sottili, testi o loghi. Gli sviluppatori di Cura hanno recentemente implementato una nuova strategia, denominata Arachne, basata sull’articolo [Kuipers et al., 2020]. Il generatore Arachne realizza anelli perimetrali e riempimenti di spazi vuoti con larghezza di estrusione variabile. In poche parole, rende automaticamente i perimetri più larghi o più sottili a seconda delle necessità. Si tratta di un cambiamento importante! In precedenza era quasi impossibile creare una parete che si adattasse esattamente a 2 perimetri. E adesso? Finché lo spessore della parete è abbastanza vicino ai 2 perimetri, PrusaSlicer si occuperà del resto. 

Il nuovo approccio produce stampe dall’aspetto più gradevole e con meno artefatti. Si osserva una significativa riduzione del riempimento degli spazi vuoti, piccole estrusioni utilizzate per riempire gli spazi tra i perimetri, il che comporta anche una riduzione dei tempi di stampa. 

Generatore di perimetro classico in PrusaSlicer 2.4.2 vs generatore di perimetro Arachne in PrusaSlicer 2.5

Il generatore di perimetri di Arachne mostra tutta la sua efficacia nella stampa di testi o loghi di piccole dimensioni. Disegnare caratteri con una larghezza di linea costante è ovviamente molto difficile. Il nuovo generatore di perimetri non ha questa limitazione e permette di ottenere testi molto più puliti anche in scala ridotta.

Abbiamo deciso di impostare il generatore di perimetri Arachne di default. Se si desidera utilizzare il vecchio generatore di perimetri, è possibile selezionarlo nelle Impostazioni di stampa – impostazioni del Generatore di perimetri. Quando è selezionato il generatore di perimetri Arachne, la funzione Rileva pareti sottili è disattivata, in quanto non è necessaria dato che Arachne cerca sempre di adattare la larghezza dell’estrusione alle linee sottili.

Supporto al formato file Step

A partire da questa versione, PrusaSlicer è in grado di importare file STEP. Questo formato di file CAD è interoperabile con la maggior parte dei programmi CAD ed è uno standard ISO già supportato da molti programmi come Fusion 360, FreeCAD, SolidWorks, Inventor, AutoCAD, CATIA, e molti altri. Questa apparentemente piccola aggiunta potrebbe avere grandi conseguenze. Grazie alla possibilità di importare direttamente i file STEP, ci aspettiamo che un numero crescente di persone utilizzi STEP per condividere il progetto online invece di un STL, notoriamente difficile da modificare. Al contrario, i file STEP possono essere modificati abbastanza facilmente, consentendo personalizzazioni e remix immediati. Le aziende che effettuano la stampa su richiesta possono evitare di convertire i file STEP dei clienti in STL, risparmiando tempo prezioso.

In questo momento stiamo tassellando il modello al momento dell’importazione (convertendolo in una mesh a triangoli), quindi il modello viene poi processato come qualsiasi altra mesh e non in modo analitico. La conversione è completamente automatica (il livello di dettaglio non è personalizzabile). Utilizziamo la piattaforma di sviluppo Open CASCADE Technology (OCCT) per leggere i file STEP, quindi un grande ringraziamento va a loro per averlo mantenuto open-source. Si tratta di un kernel CAD utilizzato anche da FreeCAD o KiCad. L’implementazione stessa dell’importazione è stata portata da BambuStudio, e anche a loro va il nostro ringraziamento.

Lightning infill

Il riempimento ha un duplice scopo: fornire rigidità strutturale e sostenere le superfici superiori. Nel caso in cui la rigidità strutturale non sia necessaria, è possibile risparmiare molto materiale e tempo di stampa con il nuovo riempimento Lightning, ottimizzato per sostenere solo le superfici superiori. Il riempimento Lightning genera una struttura ramificata che diventa progressivamente più densa verso le superfici superiori per sostenerle in modo affidabile. Il riempimento Lightning è basato su uno studio [Tricard et al., 2019]. Come per il generatore di perimetri Arachne, abbiamo portato il riempimento Lightning da Cura, grazie ancora per aver mantenuto Cura open source. 

PrusaSlicer disponeva già di un riempimento con un comportamento simile, chiamato Supporto cubico. Tuttavia, il riempimento Lightning consente di risparmiare ancora più materiale. La tabella seguente mette a confronto il tempo di stampa e il consumo di filamento durante la stampa della famosa raganella con scala al 400%.

Tipo di riempimento Tempo di stampa [min] Filamento totale [g] Riempimento Filamento [g] Filamento risparmiato sul riempimento
Giroide 15% 1104 204 114 0%
Supporto Cubico 15% 792 152 62 46%
Lightning 15% 840 111 20 82%

Pressure equalizer

Una stampante 3D FDM è composta da un sistema di movimento e da un sistema di estrusione. Mentre il sistema di movimento ama accelerare e decelerare dolcemente per ridurre le vibrazioni, l’estrusore ama estrudere a una velocità costante per ottenere la migliore consistenza di estrusione. Purtroppo, questo significa che le condizioni ottimali del sistema di movimento e dell’estrusore sono in conflitto. Gli estrusori di tipo Bowden sono particolarmente sensibili alle fluttuazioni di pressione e, a causa dell’allentamento del tubo Bowden, non sono in grado di riprodurre in modo affidabile le variazioni rapide della velocità di estrusione. L’equalizzatore di pressione attenua le variazioni improvvise di velocità tra due elementi (ad esempio, tra la stampa del riempimento e dei perimetri) e riduce gli artefatti di stampa causati da oscillazioni rapide della pressione dell’estrusore. 

Prima di passare da un perimetro interno più veloce a un perimetro esterno più lento, l’equalizzatore di pressione rallenta gradualmente alla fine del perimetro interno per raggiungere la velocità di estrusione del perimetro esterno. Allo stesso modo, quando si passa dal perimetro esterno al riempimento, l’inizio del riempimento viene rallentato alla velocità del perimetro esterno e accelerato gradualmente. 

La stampa di destra mostra rigonfiamenti sui perimetri esterni dovuti all’eccesso di pressione dell’estrusore su una stampante di tipo Bowden, mentre nella stampa di sinistra i rigonfiamenti sono attenuati grazie all’equalizzatore di pressione.

Miglioramento del posizionamento delle giunzioni in base alla visibilità

A meno che non si stia stampando in modalità Vaso a spirale, ogni ciclo perimetrale deve iniziare e terminare da qualche parte. Inoltre, la stampante deve interrompere l’estrusione per un breve momento quando la testina di stampa passa al layer successivo. Questo punto di inizio/fine crea una cucitura verticale potenzialmente visibile sul lato dell’oggetto. A partire da questa versione, l’algoritmo di posizionamento delle cuciture preferisce le regioni non visibili dall’esterno del modello o occluse dalla maggior parte delle direzioni. Il nuovo algoritmo di visibilità viene applicato alle cuciture impostate su Vicino o Allineato. Inoltre, quando si utilizzano cuciture dipinte e si imposta ‘Allineato’, la linea di cucitura risultante cerca di trovare un angolo acuto nell’area dipinta e di agganciarsi ad esso, ottenendo linee più uniformi lungo il bordo acuto. Le versioni precedenti non rilevavano lo spigolo vivo in questo caso. 

Inoltre, il nuovo algoritmo cerca di produrre cuciture possibilmente lunghe e uniformi su superfici lisce, mentre il vecchio algoritmo produceva spesso bit casuali disconnessi su tali superfici. 

Per gli oggetti multimateriale o multiparte in cui uno slice è suddiviso in più regioni con ogni regione dotata di un proprio perimetro, le cuciture vengono nascoste all’interno dell’oggetto tra le varie regioni.

Altre nuove funzioni

  • Le miniature del G-Code adesso possono essere esportate nei formati JPG e QOI
  • Il processo di svuotamento SLA adesso è fino a 10 volte più veloce
  • La stima dei tempi SLA adesso è più accurata per la velocità di Original Prusa SL1S
  • Profili di stampanti di terze parti nuovi e aggiornati

La documentazione di PrusaSlicer è già stata aggiornata per tener conto della maggior parte dei cambiamenti di questa versione. Se volete scoprire l’elenco completo delle modifiche, consultate il registro delle modifiche di ogni versione sul nostro GitHub. Ci stiamo concentrando sulla riduzione del ciclo di sviluppo, in modo che possiate godere di nuove versioni di PrusaSlicer più spesso. Di conseguenza, alcune nuove funzioni non sono state inserite in questa versione, perché non erano pronte in tempo; le vedrete nella prossima versione 2.6. Come sempre, se avete domande o suggerimenti per miglioramenti, non esitate a condividerli con noi. Buona stampa!