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?

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:

  1. STL-Datei im Internet finden bzw. selbst erstellen
  2. STL-Datei im Slicer öffnen & 3D-Druck-Parameter ergänzen
  3. Als G-Code exportieren & auf (micro-)SD-Karte speichern
  4. Im 3D-Drucker-Menü passenden G-Code auswählen & drucken
Workflow 3D-Drucker
In 4 Schritten zum 3D-Druck

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.

Benchy STL
Nicht unendlich groß skalierbar: Irgendwann sind bei augenscheinlich runden, glatte Flächen erkennbar (Benchy Tür)

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.

G-Code Start
Mit Cura 2.3.1 gesliced. Der Beginn von G-Code: Kopf zur Home-Position, Lüfter starten, etc.

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.

Start und End Gcode
Welcher GCode soll zum Start und Ende ausgeführt 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 SlicerDas macht (d)ein Slicer nicht
Druckgeschwindigkeiten festlegenObjekte manipulieren
Layerhöhe, Wandstärken festlegenModelle designen
Infillart und Infillprozent bestimmenObjekte zerlegen
Objektgröße skalierenSTLs für Druck optimieren* (wasserdicht, etc)
Stützstrukturen hinzufügenSTLs auf Design-Fehler überprüfen*
Objekte spiegeln oder rotierenTexturen ä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!

Kristian aus dem 3D-Druck
Ein 3D-Scan und Ausdruck von mir, der allerdings minimal mit CAD-Tools nachbearbeitet werden musste.

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.

CAD vs. STL 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.

Profilbild von Kristian

Kristian

Ich bin 34 Jahre jung, aber gefühlt ziemlich oft noch wie ein großes Spielkind. So habe ich Ende 2009 (endlich) "CG" ins Leben gerufen. Besonders haben es mir z.Z. die 3D-Drucker angetan.

Sortierung: Neueste | Älteste

Kommentare (15)

  • Profilbild von Andreas
    # 21.02.18 um 17:22

    Andreas

    Bitte die stl Datei deiner Statue hochladen!!

  • Profilbild von Cem
    # 21.02.18 um 19:28

    Cem

    Hallo Kristian, wäre cool wenn Du das Making Of von Kristian 2 auch als Video rausbringen könntest. Dankeeee. Greetz Cem

  • Profilbild von Hiob
    # 22.02.18 um 12:57

    Hiob

    Danke für die Arbeit an diesem Tutorial!
    Bei der Tabelle, was der Slicer macht und was er nicht macht, würde ich gerne Verknüpfungen oder Namen zu den Software-Lösungen lesen, die das leisten, was ein Slicer NICHT leistet. Z. B. Design, Umkonstruktionen/Editierungen, Texturen, Optimieren, Fehler beseitigen.

  • Profilbild von Tim
    # 22.02.18 um 23:06

    Tim

    2 Punkte zu was kann dein Slicer nicht:

    Simplify3D kann deine STL Daten sehr wohl reparieren.

    Und Kissslicer kann in der Pro Version Texturen hinzufügen und ändern.

  • Profilbild von Tom
    # 23.02.18 um 16:31

    Tom

    Ein geniales Tool wenn Tinkercad zu primitiv und Blender zu umständlich ist: Meshmixer. Ein Schweizer Taschenmesser zur Druckvorbereitung und mehr.

  • Profilbild von Gast
    # 30.06.18 um 11:47

    Anonymous

    Danke! Gut erklärt.

  • Profilbild von Werner Wieczorek
    # 25.08.18 um 13:39

    Werner Wieczorek

    Ich bin 74 und habe mir einen Monoprice Select Mini V2 gekauft. Da ich kein englisch kann, finde ich wenig Material.
    Die meisten Beiträge auf yutube sind leider in Englisch. Literatur findet man auch nicht. Zum Glück habe ich eine Bedienungsanleitung in deutsch gefunden. Können Sie mir helfen?
    Schon jetzt mal ein herzliches Danke.

  • Profilbild von André
    # 04.10.18 um 22:11

    André

    Endlich kullern die Murmeln, ich dachte vorher STL kann der Drucker direkt drucken. Sehr gut erklärt.
    Mein Drucker habe ich erst heute aufgebaut und nun weiß ich wieder ein bisschen mehr.
    Zu deinen Fragen. Für mich war die Länge perfekt, nicht zu lang nicht zu kurz. Habe 1 – 2 x pausiert und gleich mal thingiverse geöffnet.
    Sehr interessant die Erklärung "von Vektoren zu STL" und das in STL an der "3DGrafik" nur noch rudimentäre Veränderungen möglich sind.
    Ziel wäre es für mich von Sketchup auf STL und nun weiß ich ja wie es weiter geht 🙂
    weiter so…

    HG
    André

  • Profilbild von jonasled
    # 29.11.18 um 09:21

    jonasled

    ich hatte auch eine weile Cura verwendet, mittlerweile bin ich aber zu SLIC3R umgestiegen, da es viel mehr möglichkeiten gibt, die auch sinn machen, wenn man schon einiges an erfahrung hat. Desweiteren verwende ich auch repetier host in verbindung mit dem obigen slicer, da dadurch noch einige neue möglichkeiten, wie z.b stl fixen (wasserdichtigkeit) oder sich direkt mit telnet servern vom 3D Drucker (WLAN Mod mit esp8266 beim Anet A8) verbinden kann.

  • Profilbild von Heiko
    # 17.12.18 um 21:21

    Heiko

    Danke für deine guten Erklärungsvideos!!! Könntest du bitte auch mal die Schritte von ner Zip Datei zu STL erklären . Das wäre super. Danke im Voraus mfg Heiko

  • Profilbild von Gast
    # 08.05.19 um 10:46

    Anonymous

    a

    Kommentarbild von Anonymous
  • Profilbild von JB
    # 15.07.19 um 14:40

    JB

    Kann man mit einem Slicer denn selbst Strangablagewege bestimmen (keine vorprogrammierten)? z.B. um zu beschreiben, wie der Drucker ein Quadrat mit Material befüllen soll.
    Vielen dank schonmal im voraus
    MfG

  • Profilbild von mkqiqotxio
    # 03.07.20 um 17:50

    mkqiqotxio

    vdsgsaqcideitfgqsycqlzaygbkxpo

  • Profilbild von Peter P.
    # 26.02.21 um 18:25

    Peter P.

    leider hat hier keiner die Frage der Fragen beantwortet: Was für ein Programm benötigt man um STL-Datei zu erstellen. Kann man so ein Programm zur Erstellung einer Grafik, die gedruckt werden soll, herunterladen (Ich schreibe bewust nicht Downloaden) . Die meisten Antworten sind für Nerd´s von Nerd´s, und das hilft dem unwissenden nichts. ich bin leider schon was Älter und kenne nur Inventor,solidworks, Siemens NX, autocad und creo-elements, habe aber auf grund von Rente keinen zugriff mehr.
    Klare Nntwort wäre mir am liebsten
    MfG Peter

    • Profilbild von Gast
      # 16.10.21 um 21:26

      Anonymous

      Hi, ja solche Programme gibt es. Aber ich persönlich nehme zum Erstellen von eigenen STL Dateien, und auch zum verändern vorhandener (zum Beispiel bei Thingiverse heruntergelader) STL stets die Website Tinkercad.com. Die ist kostenlos und wirklich einfach zu bedienen, dennoch mächtig. Natürlich muss man sich etwas einarbeiten, aber man lernt viel dadurch, dass man es einfach ausprobiert.

Kommentar schreiben

Name
E-Mail
Diese E-Mail-Adresse wird nicht veröffentlicht

Mit Absenden des Formulars akzeptiere ich die Datenschutzerklärung und die Nutzungsbedingungen.