Umfassende Anleitung zum G-Code für den 3D-Druck

Was ist G-Code?

Der G-Code (ursprünglich eine Abkürzung für Gerber Code, heute RS-274) ist die am weitesten verbreitete digitale Programmiersprache zur Steuerung von CNC-Maschinen (Computerized Numerical Control): 3D-Drucker, Fräsmaschinen, Laserschneidmaschinen. In der Welt des 3D-Drucks, bestimmt er jede Bewegung der Düse, die Temperatur, die Geschwindigkeit und den Filamentdurchsatz.

Stellen Sie sich den G-Code wie eine Partitur vor: Der Slicer (Cura, PrusaSlicer, OrcaSlicer) ist der Komponist, und der Drucker ist das Instrument. Wenn Sie diese Partitur verstehen, können Sie einen fehlgeschlagenen Druck analysieren, Ihre Einstellungen optimieren und sogar eigene Makros schreiben.

Aufbau einer G-Code-Zeile

Jede Zeile ist ein „Befehl“. Sie beginnt mit einem Buchstaben (der Adresse), gefolgt von einer Zahl. Die gängigsten Buchstaben:

  • G → Befehl für geometrische Bewegung (G0, G1, G28…)
  • M → Maschinenbefehl/Makro (M104, M109, M190, M104…)
  • X, Y, Z → Position auf den Achsen (in Millimetern)
  • E → Position des Extruders (Filamentdurchfluss)
  • F → Vorschubgeschwindigkeit (feedrate, in mm/min)
  • S → Parameterwert (häufig die Temperatur in °C)

Einfaches Beispiel:

G1 X10 Y10 Z0.2 E1.0 F1200 ; Bewegung zu (10,10) unter Abgabe von Filament

Das Semikolon ; leitet einen Kommentar ein, der vom Drucker ignoriert wird – sehr nützlich zur Dokumentation.

Die grundlegenden G-Befehle

G0 und G1 – bewegen

G0 ist eine Schnellbewegung (ohne Extrusion, „Travel“), G1 eine Bewegung mit Filamentauftrag. Der Unterschied ist entscheidend: Die Verwendung von G1 ohne E, wenn kein Filament aufgetragen werden soll, führt zu Fadenbildung (Stringing).

G0 Z0,2 ; fährt 0,2 mm nach oben (schnell)
G1 X100 Y100 E20 F1500 ; druckt an der Position (100,100)

G28 – Homing (Ursprung)

G28 bringt den Drucker zurück an seinen Ursprungspunkt (die Endschalter). G28 X Y betrifft nur die X- und Y-Achse. Dies ist fast immer die erste Zeile einer Datei.

G90 / G91 – absolute oder relative Position

G90: Die Koordinaten sind absolut (vom Ursprung aus). G91: relativ (bezogen auf die aktuelle Position). Die meisten Slicer arbeiten mit G90.

G92 — Position festlegen

G92 E0 setzt den Extruderkontroller auf Null zurück, ohne die Maschine zu bewegen. Unverzichtbar vor einem Spülen oder einem Rückzug.

Die wichtigsten M-Befehle

M104 / M109 – Düse vorheizen

M104 heizt ohne Wartezeit auf (die weitere Ausführung erfolgt während des Aufheizens), M109 heizt auf und hält die Solltemperatur. Beispiel: M109 S210 wartet auf 210 °C.

M140 / M190 – Heizt die Druckplatte auf

Identisch, jedoch für das Bett. M190 S60 wartet, bis die Druckplatte 60 °C erreicht hat (ideal für PLA).

M82 / M83 – Extruder absolut oder relativ

M82 (absolut): E ist eine kumulierte Position. M83 (relativ): Jedes E ist ein Inkrement. Neuere Marlin-Versionen verwenden in Slicern oft standardmäßig M83.

M204 / M205 — Beschleunigungen und Jerk

Diese Befehle regeln die Sanftheit der Bewegungen. Eine Verringerung des Jerk (M205 X Y) reduziert das „Ringing“ an scharfen Ecken.

M600 – Filamentwechsel

Wird für den manuellen Mehrfarbendruck oder für Pausen verwendet. Der Drucker hält an, Sie wechseln das Filament und setzen den Druck fort.

Ein konkretes Beispiel: der Anfang einer typischen Datei

Hier ist der von einem Slicer für einen kartesischen Drucker (Marlin) generierte „Start-G-Code“:

; Start-G-Code
M140 S60 ; Bauplatte vorheizen (nicht blockierend)
M104 S210 ; Düse vorheizen (nicht blockierend)
G28 ; Alle Achsen auf Nullposition
G1 Z5 F3000 ; etwas anheben
G1 X0 Y0 F3000    ; fährt zur Ecke
M190 S60 ; wartet auf die Druckplatte
M109 S210 ; wartet auf die Düse
G92 E0 ; Extruder zurücksetzen
G1 E10 F200 ; 10 mm spülen
G92 E0 ; erneut zurücksetzen
G1 Z0,2 F3000     ; auf die erste Schicht absenken

Dieser Befehlsblock stellt sicher, dass die Maschine auf Temperatur ist und vor dem ersten tatsächlichen Strich spült.

G-Code lesen und debuggen

Wenn ein Druck fehlschlägt, ist der G-Code Ihr bester Verbündeter. Öffnen Sie die Datei .gcode (es handelt sich um Text) oder betrachten Sie sie mit Cura / OrcaSlicer (Anzeige Schicht für Schicht).

  • Die erste Schicht löst sich ab → Überprüfen Sie Z0.2 (zu hoch?) und die Temperatur M109.
  • Filamente fließen, ohne dass gedruckt wird → ein G1 ohne E oder ein falsch platziertes G92 E0.
  • Die Düse kratzt am Druckbett → falscher Ausgangs-Z-Wert in G28 / G92.

Einen bestehenden G-Code bearbeiten (ohne erneutes Slicen)

Müssen Sie auf halber Höhe eine Pause einfügen, um eine Schraube einzusetzen? Fügen Sie einfach Folgendes ein:

M600 ; Pause zum Einsetzen von Material
G1 Z50 F3000 ; Anheben für den Zugang

Fügen Sie diese Zeilen direkt vor der gewünschten Schicht ein (erkennbar an einem Kommentar ;LAYER:x in den meisten Slicern).

Fazit

Der G-Code ist nicht nur etwas für Ingenieure: Es ist eine einfache, gut lesbare und äußerst effiziente Sprache. Mit nur wenigen Befehlen (G0/G1 zum Bewegen, M104/M109 zum Aufheizen, G28 für den Ursprung, G92 zum Stoppen des Extruders) steuern Sie Ihren Drucker vollständig. Wenn Sie diese Grundlagen beherrschen, werden Sie vom „Slicer-Nutzer“ zum echten Meister Ihrer Maschine.

Um noch weiter zu gehen, erkunden Sie die G-Code-Referenzen von Marlin oder das RepRap-Wiki, in denen Hunderte von Befehlen je nach Firmware (Marlin, Klipper, RRF) aufgeführt sind.

Schreibe einen Kommentar