Slic3r, uno dei programmi di slicing più famosi, compie 10 anni. Il primissimo commit pubblico su Github è stato realizzato il 1° Settembre del 2011 e questo evento apparentemente insignificante ha trasformato per sempre il mondo della stampa 3D. A quel tempo, era un software open-source molto semplice ma potente che permetteva agli utenti di trasformare normali oggetti 3D in un G-Code: un insieme di istruzioni macchina che la stampante 3D è in grado di comprendere. Un aspetto molto desiderato dalla crescente comunità RepRap in quel periodo. E senza lo Slic3r di Alessandro Ranellucci, il nostro PrusaSlicer probabilmente sarebbe stato molto, molto diverso.

Quando i mondi si scontrano

10 anni possono essere un tempo lungo, soprattutto in un settore piuttosto giovane come la stampa 3D – paragonatelo al business automobilistico che va fino agli anni 1860 e ’70. La pietra miliare delle stampanti 3D disponibili per l’utente comune è rappresentata dall’introduzione del progetto RepRap (nel 2005) guidato da Adrian Bowyer, il padre delle macchine autoreplicanti open-source. Tuttavia, l’hardware è una cosa. Serve anche il software. Qualcosa che traduca oggetti tridimensionali in un insieme di istruzioni.

Arriva Alessandro Ranellucci, architetto e sviluppatore di software residente a Roma, Italia. Due mondi apparentemente opposti hanno dato vita al software che ogni appassionato di stampanti 3D probabilmente ha almeno visto, o, più probabilmente, usato ad un certo punto: Slic3r. Qual è stata la forza trainante dietro lo sviluppo? È stranamente simile a molte altre storie nel campo RepRap. Alessandro cercava una maniera comoda ed economica per creare modelli fisici.Si trattava, nel suo caso, di modelli architettonici. E RepRap ha attirato la sua attenzione. Dieci anni fa, la situazione con le stampanti artigianali e open-source era molto diversa da quella di oggi. Pochissime cose erano facili da usare, precompilate, completamente funzionale, documentate e pronte da scaricare. Alessandro non era molto soddisfatto con gli slicer disponibili all’epoca (come skeinforge scritto in Python), così ha intrapreso un lungo percorso per crearne uno tutto suo. Così, il 1 settembre 2011, Slic3r è “nato” e la sua FAQ inizia con una semplice domanda “Ancora un altro slicer RepRap?” seguita da una laconica risposta: “Sì”.

Da umili origini…

La prima release 0.5.0 non aveva un’anteprima 3D, ma solo una interfaccia semplice. La configurazione era spartana (a dir poco) e nelle impostazioni predefinite, l’applicazione prevedeva che si usasse un filamento da 3 mm – una cosa molto comune a quel tempo. Tuttavia, aveva già cinque modelli di riempimento – rettilineo, linea, curva di Hilbert, corde archimedee e spirale di Ottagramma. Alessandro ha poi ammesso che progettare uno slicer per macchine FFF è molto più difficile degli slicer SLA – è necessario calcolare percorsi, retrazioni, riempimenti…

La primissima versione di Slic3r (0.5.0)

Così, mentre la release iniziale era piuttosto scarna in termini di funzionalità, ha rapidamente guadagnato sufficiente attrattiva per attirare altre persone dalla comunità. Più di 20.000 persone scaricavano ogni release. Gli utenti iniziarono a condividere le loro idee, segnalare bug e feedback generali, così Slic3r poté espandersi rapidamente con Alessandro che rimase il solo sviluppatore principale. Meno di un anno dopo l’uscita iniziale, Slic3r 0.8.1 ha portato qualcosa che potrebbe già essere definita un’anteprima del piano di stampa – tuttavia, era solo 2D. A Jo Prusa è piaciuta la direzione in cui era diretto Slic3r e ha iniziato a preparare profili di stampanti per il software di Alessandro – incontrandolo anche a Praga. Il risultato è stato questa deliziosa intervista girata nel 2012 con una GoPro a Vyšehrad, un fortino storico di Praga, Repubblica Ceca, non lontano dal quartier generale dell’allora appena fondata Prusa Research.

Introduzione di Slic3r PE, PrusaControl e PrusaSlicer

Avanti veloce fino al 1 novembre 2016. Un nuovo fork, chiamato Slic3r Prusa Edition 1.31.2, viene rilasciato nella giungla – il rilascio è preparato dal nostro nuovo sviluppatore software Vojtěch Bubník. Proprio come l’originale Slic3r, anche il nostro “PE” è stato preparato da un esercito composto da un solo uomo. E la ragione per cui abbiamo fatto un fork del progetto Slic3r? Il log del rilascio recita: “Noi di Prusa3D abbiamo deciso di spingere lo sviluppo di Slic3r ad un ritmo più elevato, il che significa che il nostro Slic3r Prusa Edition ora contiene caratteristiche che non sono ancora implementate nello Slic3r ufficiale”.

Con l’aumento dell’attività di Prusa Research, avevamo bisogno di accelerare lo sviluppo di Slic3r. L’intero codice è stato mantenuto open-source, esattamente come afferma il changelog del commit iniziale: “…quindi gli autori e i manutentori dello Slic3r ufficiale sono più che benvenuti ad integrare le nostre modifiche ed estensioni nello Slic3r ufficiale”.

Slic3r PE 1.31.2

Avevamo decine di idee su come migliorare Slic3r. Tuttavia, prima, Vojtěch ha dovuto masticare un sacco di codice Perl, perché la sua piena comprensione era fondamentale. Come Jo ha detto ad Alessandro nell’intervista: “Hai un’ottima protezione anticopia – l’hai scritta in Perl”. Inoltre, Slic3r era programmato come applicazione single-thread, quindi era piuttosto lento. Questo è il motivo per cui uno dei primi compiti è stato quello di introdurre il supporto per i calcoli in parallelo. Vojtěch è rimasto l’unico sviluppatore di Slic3r PE per due anni, con l’aiuto occasionale di altre persone in azienda. Infine, nel 2017, il team si è allargato a quattro persone e successivamente agli attuali otto programmatori e due tester. Se da un lato questo ha notevolmente ampliato le possibilità delle attività che si possono fare, dall’ altro significa che i cicli di rilascio sono più lunghi perché l’intero team deve sincronizzare il proprio lavoro – e con la crescente complessità del software, tutto deve essere testato più accuratamente.

Man mano che Slic3r PE cresceva e continuava a diventare sempre più user-friendly, sentivamo che c’era la possibilità di un grande salto. Con la versione 2.0.0, Slic3r PE è stato completamente riscritto in C++ e ha ricevuto una notevole rivisitazione, che ci ha dato l’opportunità di rinominarlo in un più pratico PrusaSlicer – nel maggio 2019. Ora, cinque anni dal rilascio originale di Slic3r PE e 12852 commit dopo, la nuova build è una bestia completamente diversa. Quale build? Sono contento che tu l’abbia chiesto! Il 1° settembre 2021, abbiamo rilasciato la versione alpha di PrusaSlicer 2.4.0 per celebrare il 10° anniversario dello Slic3r originale. Il tempo vola.

PrusaControl è ora fuori produzione, ma alcune caratteristiche sono state fuse in PrusaSlicer.

Facciamo ancora del nostro meglio per rendere ogni nuova versione più ricca di funzionalità e user-friendly (il che significa che, ad esempio, alcune operazioni sono ora automatizzate rispetto alle versioni precedenti). Stiamo migliorando gli strumenti, le impostazioni, l’interfaccia grafica, abbiamo anche aggiunto profili per stampanti 3D di terze parti. Vogliamo davvero che PrusaSlicer sia lo slicer per tutti. Oh, a proposito, qualcuno di voi ricorda ancora PrusaControl? L’applicazione di slicing semplificata basata su Slic3r? Ah, che ricordi…

 

Che dedizione! 🙂

La forza degli open data

L’ultima versione stabile di Slic3r di Alessandro Ranellucci è la versione 1.3.0 di Maggio 2018. Anche se non ci sono stati rilasci stabili più recenti, Slic3r continua a vivere (attraverso “lo sviluppo automatizzato di build”) anche tre anni dopo. Slic3r è ancora oggetto di discussione, ci sono nuove richieste di pull e fork. È un ottimo esempio di come i concetti open-source e la stampa 3D siano profondamente intrecciati. Comunità, appassionati, cooperazione e obiettivi comuni sono le cose principali che spingono questo settore in avanti. Se ti sei buttato nella stampa 3D di recente, immagina come stavano le cose otto anni fa quando la capacità di generare supporti era una novità assoluta. E non si poteva nemmeno dare un’occhiata all’oggetto da tutti i lati, perché l’anteprima di stampa era solo 2D. Abbiamo fatto molta strada.

Un vecchio detto dice che a volte, se hai bisogno di qualcosa, spesso non hai altra scelta che farla da solo. Il lavoro di Alessandro ne è un chiaro esempio. Nonostante un inizio forse un po’ difficile, Slic3r è diventato rapidamente uno strumento di slicing preferito dagli appassionati da molti, molti anni.

Quindi ecco i nostri più profondi ringraziamenti ad Alessandro. Il mondo della stampa 3D sarebbe un posto molto diverso senza Slic3r. Grazie!

10 anni di slicing – pietre miliari: