3D-Drucker: Mit dem Slicer von STL zu GCODE (Idee zum Druck)
Vielleicht bist du gerade ein 3D-Drucker-Neuling und fragst dich gerade: „Wie kann ich eigentlich eine ‚Datei‘ mit meinem 3D-Drucker ausdrucken?“ oder „Was ist überhaupt eine Slicing-Software?„? Du bist fortgeschrittener 3D-Drucker-Geek und willst mal einen anderen Slicer ausprobieren? In diesem kleinen Ratgeber geht es um das Grundverständnis:
- Wie muss ich mit STL-Dateien umgehen?
- Was kann meine Slicing-Software und was nicht?
- Wie ist der grundlegende Workflow?
Inhalt
Workflow: Wann wird was gemacht?
Als Fortgeschrittener kennt ihr die Arbeitsabläufe vermutlich schon im Detail, für die Einsteiger will ich den Ablauf dennoch zumindest schnell skizzieren und im weiteren Verlauf detailliert auf jeden Punkt eingehen:
- STL-Datei im Internet finden bzw. selbst erstellen
- STL-Datei im Slicer öffnen & 3D-Druck-Parameter ergänzen
- Als G-Code exportieren & auf (micro-)SD-Karte speichern
- Im 3D-Drucker-Menü passenden G-Code auswählen & drucken
Was sind überhaupt STL-Dateien?
Die meisten Vorlagen im WWW, z.B. auf Thingiverse, findest du im sog. STL-Dateiformat. STL steht für „STereoLithography“ bzw. „Standard Tessellation Language“. Ich will dich gar nicht zu sehr langweilen, sondern dir hier vielleicht einen (nicht 100%ig korrekten) Vergleich mitgeben: Vielleicht kennst du noch die alten *.bmp-Bilddateien? Paint? Windows 98? Klingelt da was? In den rieeesigen Bilddateien wurde jeder einzelne Pixel mit einem konkreten Farbwert gespeichert.
Dann kamen die JPG-Bilder: In diesen wurden Informationen zu ganzen Flächen gespeichert. Wozu in in einem 16*16 großem blauen Quadrat, 256mal die Farbe blau speichern? Zusätzlich werden JPGs noch komprimiert um weiteren Platz zu sparen.
STL-Dateien bestehen aus triangulierten Flächen („Dreiecken“), welche dreidimensional in einem Raum liegen. D.h. drei Punkten, welche miteinander verbunden werden und so diese Fläche bilden. Je mehr „Dreiecke“ in deiner Datei sind, desto glatter/runder bekommst du z.B. eine Kugel. Eine Kugel bestehend aus 20 Dreiecken? Schwierig bzw. zumindest hässlich. Eine Kugel mit 60.000 Dreiecken? Schon ziemlich rund. Deine Grafikkarte muss jedoch auch mehr schuften und die Dateigröße steigt. Die Gamer unter euch fühlen sich gerade vielleicht an Polygone bzw. die Grafikeinstellungen in ihren Spielen erinnert.
Wie bei JPGs werden STL-Dateien optimiert und komprimiert. Das soll an dieser Stelle reichen. Wer sich noch mehr zu der Entstehung und z.B. für die Unterschiede vom Binären- zum ASCII-Format interessiert, sollte sich diesen Wikipedia-Artikel über das STL-Dateiformat durchlesen.
Bonus: Vielleicht kennen die Zocker unter euch somit auch .OBJ-Dateien? Ihr habt ggf. mal Spielemaps oder Charaktere gemoddelt? Check, auch diese Files können wir sogar drucken – dazu später mehr. OBJECT-Dateien können, im Gegensatz zu STL-Dateien, auch Texturen, d.h. Farben enthalten, die natürlich für den 3D-Druck unwichtig sind.
Warum kann ich denn jetzt nicht einfach diese STL-Datei auf meine SD-Karte kopieren und mein Objekt drucken? Es sind noch alle Punkte/Koordinaten enthalten?
Warum überhaupt GCODE? Wie erstelle ich G-Code?
Jetzt zum Problem: Euer 3D-Drucker ist strunzenblöd. Sorry, ist aber so. Er kann keine Flächen, keine Dreiecke, keine Komprimierung verarbeiten – sondern mit seinem Druckkopf, dem Cold- & Hotend, Nozzle, etc, einfach von A nach B fahren. Stundenlang. A nach B. Ab und zu, im Gegensatz zu dem alten Tintenstrahl-Drucker im Keller, wird der Druckkopf noch 0,x Milimeter angehoben und dann heißt es wieder: A nach B.
Zudem sind in der STL keinerlei Angaben zu Druckgeschwindigkeit, Filamentart oder Temperaturen angegeben. Warum auch? Es gibt inzwischen über 1000 verschiedene 3D-Drucker. Außerdem wollt ihr das Objekt ja vielleicht noch vorher verkleinern? Wie sollen eventuelle Überhänge gestützt werden? Wie groß ist euer Druckbett überhaupt? All diese Informationen müsst ihr dem 3D-Drucker noch zusätzlich übergeben. Hier kommen Slicing-Programme ins Spiel. Der Einfachheit halber nehme ich Cura als Beispiel.
Zusammengefasst: Die Slicing-Software öffnet und „vereinfacht“ den STL-Code, reichert es mit deinen persönlichen Druckparametern (Geschwindigkeiten, Temperaturen, etc) an und exportiert dann dies als für den 3D-Drucker verständlichen G-Code. Dabei wird der Druck Schicht für Schicht zerlegt, engl. „gesliced„. Diese Prozesse werden größtenteils automatisiert und auf eine einfache Bedienung wird Wert gelegt. Populäre Slicing-Programme sind z.B. Cura oder Slic3r.
GCODE bzw. G-Code ist relativ alt (die ersten Revisionen gab es bereits 1950!) und ist im Kern immer gleich geblieben. Es geht nicht nur beim 3D-Druck, sondern auch bei z.B. Layercuttern, CNC-Fräsen „einfach“ immer darum Motoren in einer bestimmten Geschwindigkeit anzusteuern und Objekte zu formen.
Der Code ist relativ primitiv bzw. einfach aufgebaut. Jede einzelne Koordinate wird im Klartext abgespeichert. Das führt zu relativ großen Dateien. So ist mein Kopf als 3D-Scan aktuell etwa 500 MB groß. Genau deswegen kannst du jedoch auch erstellten GCODE mit einem Texteditor öffnen. Je nach Slicer-Software ist dieser sogar als Hilfe entsprechend kommentiert. Alles hinter dem Semikolon „;“ erklärt dir (meist auf Englisch), was diese Zeile GCODE bewirkt.
Du kannst also GCODE einfach manipulieren und so als Fortgeschrittener z.B. eigene Nachrichten auf dem DIsplay einblenden, Pausen „einprogrammieren“ oder kaputte Drucke fortsetzen. Dafür solltest du natürlich die Basics von G-Code verstehen und anwenden können. Hier findest du eine übersichtliche Zusammenfassung als PDF. Hinweis: Es ist RepRap G-Code.
Cura: Start & End Gcode
Du nutzt bereits Cura und nun kann es natürlich sein, dass du dir ein Standardrepertoire von eigenem G-Code für deine perfekten 3D-Drucke zurechtgelegt hast. Lüfter später hochfahren, am Ende des Druckes nicht abstellen? Das Hotbed erst um 10 °C zu viel erhitzen und den Z-Offset auf 1,2mm setzen? Was auch immer du beim Start bzw. Ende des Drucks als Extrawünsche hast – das jedes mal händisch in den G-Code zu hacken, nervt. Dafür hat Cura, aber auch andere Slicer, bei den „Machine Settings“ zwei Felder „Start Gcode“ und „End Gcode“. Hier können dein Custom G-Code für den jeweiligen 3D-Drucker hinzugefügt werden.
Cura macht beim Slicen bzw. Export des G-Codes also nichts anderes, als den Start Gcode automatisch an den Anfang, bzw. den End Gcode an das Ende eurer Datei zu schreiben. Easy, oder?
Wichtig: Was macht ein Slicer nicht?
Schon oft so gelesen: „Ach Mist, dieses Bauteil gefällt mir aber nicht – ich ‚male‘ das mal schnell bisschen im Slicer um“ oder „Wie entwerfe ich meine Objekte in Cura?„. Du hast es bestimmt schon aus dem Ratgeber herauslesen können: Das ist nicht das Anwendunsszenario von Slicer-Software! Noch einmal schnell zusammengefasst:
Das macht (d)ein Slicer | Das macht (d)ein Slicer nicht |
Druckgeschwindigkeiten festlegen | Objekte manipulieren |
Layerhöhe, Wandstärken festlegen | Modelle designen |
Infillart und Infillprozent bestimmen | Objekte zerlegen |
Objektgröße skalieren | STLs für Druck optimieren* (wasserdicht, etc) |
Stützstrukturen hinzufügen | STLs auf Design-Fehler überprüfen* |
Objekte spiegeln oder rotieren | Texturen ändern/hinzufügen/entfernen |
Willst du also (noch) kreativer werden und deine eigenen 3D-Objekte designen, dann bewegen wir uns in der Welt der CAD-Software (engl. für computer-aided design). Bedenke: Der Einstieg ist u.U. schwer. Du „malst“ nicht mal eben in Paint, sondern konstruierst dreidimensionale Objekte! D.h. alleine die Navigation im Raum, die Proportionen und vor allem das „erfahrene/künstlerische Auge“ müssen vorhanden sein. Ich habe dich dennoch heiß gemacht?
Bonus: 3D-Objekte modellieren (CAD)
Probier als Einsteiger mal TinkerCAD aus. Die Software läuft sogar im Browser und dort kannst du fertige Objekte anpassen, neue, einfach Objekte konzipieren und direkt als STL-Datei downloaden. TinkerCAD ist Kindergeburtstag? Dann nimm Blender. In Blender lassen sich nicht nur Körper konstruieren, sondern auch texturieren und animieren!
STL-Dateien sind also eine Schnittstelle vieler CAD-Systeme bzw. deren Export. Ähnlich wie man bei Adobe Illustrator mit Vektoren arbeitet, so zeichnet man auch in einer CAD-Software zwei- oder dreidimensionale Vektoren, die sich bis in die Unendlichkeit vergrößern lassen. Bei dem Export versucht man sich dann den Vektoren, mit entsprechenden Koordinaten, je nach Detailgenauigkeit, anzunähern.
Unterschiede von CAD und STL, Copyright by: https://en.wikipedia.org/wiki/STL_(file_format)%5B/caption%5D
Funfact: Gehässige Designer bezeichnen das STL-Dateiformat auch gerne mal als „Standard Triangle Language„.
Ich hoffe ich konnte dir den Workflow von der STL über den Slicer und G-Code bis zum Druck ein bisschen verdeutlichen. Du siehst: Es ist eigentlich relativ einfach, auch wenn ich ein paar Details bewusst abstrahiert habe. Der „Teufel“ bzw. die Herausforderung liegt dann später im Detail: Bei der Konfiguration der Parameter von z.B. Cura, um das beste Druckbild zu erhalten.
Sortierung: Neueste | Älteste
Kommentare (15)