Slic3r, eine der beliebtesten Slicing-Apps, ist 10 Jahre alt. Der erste öffentliche Github-Commit wurde am 1. September 2011 gemacht und dieses scheinbar unbedeutende Ereignis veränderte die Welt des 3D-Drucks für immer. Damals handelte es sich um eine sehr einfache, aber leistungsstarke Open-Source-Software, die es den Nutzern ermöglichte, gewöhnliche 3D-Objekte in einen G-Code umzuwandeln; eine Reihe von Maschinenanweisungen, die ein 3D-Drucker versteht. Etwas, das sich die wachsende RepRap-Gemeinde damals sehr wünschte. Und ohne Alessandro Ranelluccis Slic3r, wäre unser PrusaSlicer wahrscheinlich ganz, ganz anders.

Wenn Welten aufeinanderprallen

10 Jahre können eine lange Zeit sein, besonders in einer recht jungen Branche wie dem 3D-Druck – man vergleiche sie mit der Automobilbranche, die bis in die 1860er und 70er Jahre zurückreicht. Der Grundstein für 3D-Drucker, die für jedermann zugänglich sind, war die Einführung des RepRap-Projekts (im Jahr 2005) unter der Leitung von Adrian Bowyer, dem Vater der selbstreproduzierenden Open-Source-Maschinen. Die Hardware ist jedoch eine Sache. Man braucht auch die Software. Etwas, das dreidimensionale Objekte in eine Reihe von Anweisungen umwandelt.

Hier kommt Alessandro Ranellucci, Architekt und Softwareentwickler aus Rom, Italien. Zwei scheinbar gegensätzliche Welten brachten die Software hervor, die jeder 3D-Drucker-Enthusiast zumindest gesehen oder, was wahrscheinlicher ist, irgendwann einmal benutzt hat: Slic3r. Was war die treibende Kraft hinter dieser Entwicklung? Es ähnelt auf unheimliche Weise vielen anderen Geschichten im RepRap-Bereich. Alessandro war auf der Suche nach einer billigen und bequemen Möglichkeit, physische Modelle zu erstellen. In seinem Fall waren das Architekturmodelle. Und RepRap fiel ihm ins Auge. Vor zehn Jahren war die Situation bei Heimwerkern und Open-Source-Druckern noch ganz anders als heute. Sehr wenig war benutzerfreundlich, vorkompiliert, voll funktionsfähig, dokumentiert und zum Download bereit. Alessandro war mit den damals verfügbaren Slicing-Tools (wie skeinforge, die in Python geschrieben waren) nicht sehr zufrieden, also machte er sich auf die Reise, um sein eigenes zu entwickeln. So wurde am 1. September 2011 Slic3r „geboren“ und seine FAQ beginnt mit einer einfachen Frage „Yet another RepRap slicer?“, gefolgt von einer lakonischen Antwort: „Ja.“

Aus bescheidenen Anfängen…

Die erste 0.5.0 Version hatte keine 3D-Vorschau, nur eine sehr einfache GUI. Die Konfiguration war (gelinde gesagt) spartanisch, und in den Standardeinstellungen erwartete die App, dass man ein 3mm-Filament verwendete – etwas, das zu dieser Zeit sehr üblich war. Es gab jedoch bereits fünf Füllmuster – geradlinig, Linie, Hilbert-Kurve, archimedische Akkorde und Oktagramm-Spirale. Alessandro gab später zu, dass die Entwicklung eines Slicers für FFF-Maschinen viel schwieriger ist als die von SLA-Slicern – man muss Pfade, Rückzüge, Infills usw. berechnen.

Die allererste Version von Slic3r (0.5.0)

Obwohl die erste Version einen eher geringen Funktionsumfang hatte, erlangte sie schnell genug Anziehungskraft, um weitere Personen aus der Gemeinschaft anzulocken. Mehr als 20.000 Menschen luden jede Version herunter. Die Benutzer begannen, ihre Ideen, Fehlerberichte und allgemeines Feedback mitzuteilen, so dass Slic3r schnell expandieren konnte, wobei Alessandro der einzige Hauptentwickler blieb. Weniger als ein Jahr nach der ursprünglichen Veröffentlichung brachte Slic3r 0.8.1 etwas, das man bereits als Druckbettvorschau bezeichnen konnte – allerdings war es nur 2D. Jo Prusa gefiel die Richtung, in die Slic3r ging, und begann, Druckerprofile für Alessandros Software vorzubereiten – und er traf ihn sogar in Prag. Das Ergebnis war dieses entzückende Interview, das 2012 mit einer GoPro auf dem Vyšehrad, einer historischen Festung in Prag, Tschechische Republik, nicht weit vom Hauptsitz der damals neu gegründeten Prusa Research, aufgenommen wurde.

Einführung von Slic3r PE, PrusaControl und PrusaSlicer

Spulen wir vor zum 1. November 2016. Ein neuer Fork, genannt Slic3r Prusa Edition 1.31.2, wird in die freie Wildbahn entlassen – das Release wird von unserem neuen Softwareentwickler Vojtěch Bubník vorbereitet. Genau wie das ursprüngliche Slic3r wurde auch unsere „PE“ von einer Ein-Mann-Armee vorbereitet. Und der Grund, warum wir das Slic3r-Projekt geforkt haben? Im Release-Log steht: „Wir bei Prusa3D haben uns entschlossen, die Entwicklung von Slic3r mit höherem Tempo voranzutreiben, was bedeutet, dass unsere Slic3r Prusa Edition nun Funktionen enthält, die im offiziellen Slic3r noch nicht implementiert sind.“

Als das Geschäft von Prusa Research an Fahrt aufnahm, mußten wir die Entwicklung von Slic3r beschleunigen. Der gesamte Code wurde Open-Source gehalten, genau wie es im Änderungsprotokoll der ersten Übergabe heißt: „…so sind die Autoren und Betreuer des offiziellen Slic3r mehr als willkommen, unsere Änderungen und Erweiterungen in das offizielle Slic3r zu integrieren.“

Slic3r PE 1.31.2

Wir hatten dutzende von Ideen, wie wir Slic3r weiter voranbringen können. Doch zunächst musste Vojtěch eine Menge Perl-Code durchkauen, denn es war wichtig, ihn vollständig zu verstehen. Wie Jo im Interview mit Alessandro sagte: „Du hast einen sehr guten Kopierschutz – du hast ihn in Perl geschrieben.“ Außerdem war Slic3r als Single-Thread-Anwendung programmiert, was bedeutete, dass es ziemlich langsam war. Deshalb war eine der ersten Aufgaben, die Unterstützung für parallele Berechnungen einzubauen. Vojtěch blieb zwei Jahre lang der alleinige Entwickler von Slic3r PE, mit gelegentlicher Hilfe von anderen Personen im Unternehmen. 2017 wurde das Team schließlich auf vier Personen und später auf die heutigen acht Programmierer und zwei Tester erweitert. Das hat zwar die Möglichkeiten stark erweitert, bedeutet aber auch, dass die Release-Zyklen länger sind, weil das gesamte Team seine Arbeit synchronisieren muss – und mit der wachsenden Komplexität der Software muss alles gründlicher getestet werden.

Als Slic3r PE wuchs und immer benutzerfreundlicher wurde, hatten wir das Gefühl, dass es die Chance für einen großen Sprung gibt. Mit Version 2.0.0 wurde Slic3r PE komplett in C++ neu geschrieben und erhielt eine deutliche Überarbeitung, was uns die Möglichkeit gab, es in einen praktischeren PrusaSlicer umzubenennen – das war im Mai 2019. Jetzt, fünf Jahre seit der ursprünglichen Veröffentlichung von Slic3r PE und 12852 Commits später, ist der neue Build ein ganz anderes Biest. Welches Build? Gut, dass Sie fragen! Am 1. September 2021 veröffentlichten wir eine Alpha-Version von PrusaSlicer 2.4.0, um den 10. Jahrestag des ursprünglichen Slic3r zu feiern. Die Zeit verfliegt.

PrusaControl wird nicht mehr weiterentwickelt, aber einige Funktionen wurden in PrusaSlicer integriert

Wir tun nach wie vor unser Bestes, um jede neue Version noch funktionsreicher und benutzerfreundlicher zu machen (was bedeutet, dass z.B. einige Aktionen im Vergleich zu älteren Versionen jetzt automatisiert sind). Wir verbessern die Werkzeuge, die Einstellungen, die Benutzeroberfläche, wir haben sogar Profile für 3D-Drucker von Drittanbietern hinzugefügt. Wir wollen wirklich, dass PrusaSlicer der Slicer für alle ist. Übrigens, erinnern sich einige von Ihnen noch an PrusaControl? Die optimierte Slicing-App auf der Basis von Slic3r? Ah, Erinnerungen…

 

Was für ein commit-ment! 🙂

Die Macht der offenen Daten

Die letzte stabile Version von Alessandro Ranellucis Slic3r ist Version 1.3.0 vom Mai 2018. Auch wenn es keine neueren stabilen Versionen gab, lebt Slic3r weiter (durch „automatisierte Entwicklungs-Builds“) auch drei Jahre später noch. Slic3r wird immer noch diskutiert, es gibt neue Pull Requests und Forks. Es ist ein Paradebeispiel dafür, wie tief Open-Source-Konzepte und 3D-Druck miteinander verwoben sind. Gemeinschaften, Enthusiasten, Zusammenarbeit und gemeinsame Ziele sind die wichtigsten Dinge, die diese Industrie vorantreiben. Wenn Sie vor kurzem in den 3D-Druck eingestiegen sind, stellen Sie sich vor, wie die Dinge vor acht Jahren waren, als die Möglichkeit, Stützen zu erzeugen, etwas ganz Neues war. Und Sie konnten sich das Objekt nicht einmal von allen Seiten ansehen, weil die Druckvorschau nur 2D war. Wir haben einen langen Weg zurückgelegt.

Ein altes Sprichwort besagt, dass man manchmal, wenn man etwas braucht, keine andere Wahl hat, als es selbst zu tun. Alessandros Arbeit ist ein klares Beispiel dafür. Trotz eines vielleicht etwas holprigen Starts wurde Slic3r schnell zu einem der beliebtesten Slicing-Tools für viele, viele Jahre.

An dieser Stelle also unser tiefster Dank an Alessandro. Die Welt des 3D-Drucks wäre ohne Slic3r ein ganz anderer Ort. Grazie!

10 Jahre Slicing – wichtige Meilensteine: