G Code Befehle im 3D Druck - Lerne die Sprache deines 3D Druckers! (2024)

Seit 2016 sitze ich in meiner Freizeit an threedom und möchte den 3D-Druck bekannter und beliebter machen. Bereits 2013 habe ich in meinem Studium zum Dipl. Logist. die ersten Erfahrungen gesammelt und später auch Forschungsprojekte in die Richtung geleitet. Auf dieser Seite findest du Links zu Produkten (=Affiliatelinks), an denen ich in dazuverdiene, wenn du sie dir auch kaufst. Dadurch unterstützt du threedom und die Produkte sind nicht teurer als ohne Link. Die Info hierzu habe ich bereits ab dem ersten Link 2017 herum eingebaut.
Ich verspreche dir hiermit, dass mich die Höhe der Provision nie dazu verleitet, ein Produkt oder eine Dienstleistung besonders positiv zu bewerten, damit du genau da zugreifst. Danke dir für dein Vertrauen in meine Arbeit <3 Dein Sercan.

G-Code bzw. GCode. Diesen Begriff hast du sicher schon einmal gehört oder im Glossar gelesen, wenn du dich bereits ein wenig mit dem 3D Druck befasst hast. In diesem Artikel erzähle ich dir, was denn ein G-Code überhaupt ist und wofür er im 3D-Druck verwendet wird. Zudem zeige ich dir auf, welche G-Code Befehle für dich wichtig sind, wenn du mit dem 3D-Drucken anfangen möchtest oder schon angefangen hast.

G-Code: Was ist das und wofür wird er verwendet?

3D Drucker können mit den 3D Modellen in den Formaten .Stl, .obj etc. nicht viel anfangen, da in ihnen zwar die geometrische Form gespeichert ist, aber nicht, wie der 3D-Drucker mit dieser Form umgehen soll. „Wie schnell soll das Modell in der Schicht Nummer 5 gedruckt werden?“ und ähnliche Fragen müssen für den 3D-Drucker beantwortet werden. Die Antworten befinden sich im G-Code, der somit die Sprache des 3D Druckers darstellt. Erst mit einem G-Code weiß der Drucker, was er zu tun.

Der Slicer übersetzt das 3D-Modell in den G-Code und fügt zudem noch maschinenrelevante Daten ein. Diese wurden exakt für den verwendeten 3D-Drucker definiert. Das heißt, dass der G-Code, den du für deinen Prusa Mini+ Drucker erstellt hast, sogar bei deinem Freund mit einem Prusa i3 MK3S nicht funktionieren wird.

Dazu müssten die maschinenrelevanten Einstellungen überarbeitet werden. Zu diesen gehört zum Beispiel die Größe des Druckbetts. Ist diese Einstellung falsch gewählt, startet der Drucker bei dir in der Mitte des Druckbetts und bei deinem Freund vielleicht sogar außerhalb dessen.

Deswegen ist es von Vorteil, wenn man ein Basiswissen in Bezug auf G-Codes hat, um so fehlerhafte Codes verstehen und bei Bedarf auch verbessern zu können. Beachte, dass manche Befehle mit dem Buchstaben G und wiederum andere mit einem M beginnen.

Endlich! Mein E-Book ist da!
➡️“G-Code im 3D-Druck“ hier kaufen

  • 14 Seiten E-Book – Klar strukturierte PDF-Datei
  • Werbefrei die Inhalte lesen
  • Ausdrucken, unters Kopfkissen legen oder einheften
  • Alle zukünftigen Updates inklusive
  • threedoms Wachstum unterstützen & die Zukunft sichern 💙
  • Für nur 8,99 €

Die häufig verwendeten G-Code Befehle und ihre Bedeutung

Im Folgenden werde ich dir aufzeigen, was der jeweilige G-Code Befehl aussagt, welche Individualisierungen möglich sind und wie so ein G-Code Befehl aussehen kann.

G1-Der Befehl für die Lineare Bewegung

Den G1-Befehl führt dein 3D-Drucker die meiste Zeit aus. Deswegen ist es nicht schlecht, sich diesen mal etwas näher anzuschauen. G1 sagt deinem Drucker, dass er in einer Geraden zum nächsten Punkt fahren soll. Du kannst diesen Befehl nutzen, um eine Achse oder gleich mehrere Achsen zu steuern.

Beachte: Der Extruder wird wie jede andere Achse auch angesteuert. Somit kannst du den Materialfluss (Extrusion) und den Retract des Filaments ansteuern.

Werte:
Wenn du X, Y, und Z angibst, kannst du dem Drucker sagen, welche Punkte er anfahren soll. Beachte aber, dass diese Befehle ensprechend der Art der Positionierung (absolut/relativ) ausgeführt werden und somit entweder die genaue Koordinate anfahren oder den Abstand zum aktuellen Punkt.

Wenn du einen E-Befehl hinzufügst, kannst du bestimmen, ob der 3D-Drucker auf dem Weg auch extrudieren soll und wenn ja, wie viel. Beachte hierbei, dass sich die Extrusionslänge auf das Material bezieht, was vom Feeder in die Düse (Nozzle) gedrückt wird. Sagst du deinem Drucker also, dass er 10mm extrudieren soll, ist die Länge, die aus der Düse rauskommt nicht auch 10 mm, sondern viel länger. Das liegt daran, dass das Filament ein Durchmesser von 1,75 mm oder 2,85 mm hat und die Düse meist nur 0,4 mm. Deswegen sind die E-Werte aus dem Slicer geringer als die Wegstrecke, die der Drucker überbrücken muss.

Der F-Befehl gibt deinem Drucker vor, mit welcher Geschwindigkeit er die jeweilige Bewegung ausführen soll. Diese Geschwindigkeit wird immer in der Einheit mm/min angegeben, selbst dann, wenn du im Slicer mm/s ausgewählt hast. Also nicht wundern, wenn im G-Code die umgerechneten Werte stehen.

Viele 3D-Drucker benötigen nur die Werte für die Achsen, die auch tatsächlich bewegt werden sollen. Wenn du möchtest, dass sich nur die X Achse bewegt, schreibst du X hinzu und einen F-Wert für die Geschwindigkeit.

Beispiele:

G1 Code-BeispielBeschreibung
G1 X0 Y0 F2400Fahre auf dem Heizbett zum Punkt X=0, Y=0 mit einer Geschwindigkeit von 2400 mm/min
G1 Z10 F1200Bewege die Z-Achse auf den Wert Z=10mm mit einer Geschwindigkeit von 1200 mm/min
G1 X30 E10 F1800Drücke 10mm Filament in die Düse während du auf dem Heizbett zum Punkt X=30 mm mit einer Geschwindigkeit von 1800 mm/min fährst.

G4-Pausiere den Druck für eine bestimmte Zeit

Mit dem Befehl G4 hast du die Möglichkeit, deinen Drucker für eine bestimmte Zeit zu pausieren.

Werte:

P000 – Der Drucker wartet für eine bestimmte Zeit in Millisekunden

S000 – Der Drucker wartet für eine bestimmte Zeit in Sekunden (Dieser Befehl gilt nur für Repetier, Marlin, RepRap Firmware und Smoothieware)

Beispiele:

G4 Code-BeispielBeschreibung
G1 P500Warte 500 Millisekunden und tue in der Zeit nichts – Während dieser Zeit werden alle Parameter des Druckers wie die Heatbedtemperatur etc. beibehalten, sodass du keine Angst haben muss, dass dein Druck dadurch ruiniert wird.

G21-Ändern der Einheiten in Millimeter

Eigentlich sollte es nicht so oft vorkommen, dass du diesen Befehl einsetzen musst, da fast alle 3D Drucker standardmäßig in der Einheit [mm]arbeiten. Dennoch kann es nicht schaden, diesen Code im Hinterkopf zu behalten, wenn du den Anschein hast, dass dein Drucker auf Inches eingestellt ist.

Werte:

Keine

Beispiel:

G21

G28-Führt das Homing durch

Dieser Befehl sogrt dafür, dass dein 3D-Drucker das sogenannte Homing durchführt. Beim Homing fährt der Druckkopf zurück zu seinem „Nullpunkt“, den er erreicht hat, wenn er die Endstops für alle Achsen (X, Y und Z) angefahren hat. Das ist ein wichtiger Vorgang, weil der Druckkopf dann für jeden Druck denselben Startpunkt hat. Die Wege im G-Code werden von diesem Startpunkt aus vorgegeben. Ohne diesen Bezug zu einem bestimmten Punkt, könnten 3D-Drucke nicht vernünftig durchgeführt werden. Zum Ende eines Drucks wird dieser Befehl ebenfalls oft ausgeführt. Das ermöglicht das einfache Herunternehmen der 3D-gedruckten Modelle.

Werte:
Werden keine Werte angegeben, so wird dein Drucker die Endstops aller drei Achsen anfahren. Du kannst jedoch auch selbst bestimmen, welche Achsen er anfahren soll durch das einfache Hinzufügen der Buchstaben X, Y oder Z.

Beispiele:

G20 Code-BeispielBeschreibung
G28Homing für alle Achsen (X, Y und Z)
G28 X YHoming für die Achsen X und Y
G28 ZHoming nur für die Z-Achse

G90 und G91-Den Modus für die Positionierung einstellen (Positioning Mode)

Dein Drucker kann die Positionierung entweder absolut oder relativ durchführen:

  • Absolute Positionierung: Hiermit gibst du deinem 3D-Drucker die Exakte Koordinate für X, Y oder Z vor, die er anfahren soll. Dazu nutzt du den Befehl G90.
  • Relative Positionierung: Hiermit sagst du deinem 3D-Drucker, wie weit er sich von seiner aktuellen Position (X,Y,Z) in (X,Y,Z)-Richtung bewegen soll. Das klappt mit dem Befehl G91.

Du wirst wahrscheinlich die absolute Positionierung in deinen G-Codes häufiger finden, da der Slicer die exakten Koordinaten für die drei Achsen bereits kennt und diese für die Ermittlung der absoluten Position nutzt.

Werte:
Keine.

Beispiele:

G90 Code-BeispielBeschreibung
G90Nutze die absolute Positionierung für alle drei Achsen
G1 X10 F3600Fahre auf dem Heizbett zum Punkt X=10mm mit einer Geschwindigkeit von 3600 mm/min (F3600)
G1 X20 F3600Fahre auf dem Heizbett zum Punkt X=20mm mit einer Geschwindigkeit von 3600 mm/min
G91 Code-BeispielBeschreibung
G91Nutze die relative Positionierung für alle drei Achsen
G1 X10 F3600Fahre von der aktuellen Position auf dem Heizbett 10mm nach rechts mit einer Geschwindigkeit von 3600 mm/min
G1 X10 F3600Fahre von der aktuellen Position auf dem Heizbett weitere 10mm nach rechts mit einer Geschwindigkeit von 3600 mm/min

G92-Festlegung der aktuellen Position (Current Position)

Nutze diesen Befehl, wenn du die aktuelle Position deiner Achsen definieren möchtest. So kann man Verschiebungen (Offsets) in bestimmten Achsen ausgleichen. Häufig wird dieser Befel in Verbindung mit dem Extruder also der E-„Achse“ verwendet, um die Position des Filaments zu bestimmen. Du kannst hiermit die aktuelle Filamentposition überschreiben und alle weiteren Befehle in Bezug auf den Extruder werden diese Position als Bezugspunkt nehmen.

Werte:
Bestimme die absolute Koordinate für die Achse, die du mit dem G92-Befehl überschreiben möchtest. Das geht für X, Y, Z und auch E. Wenn du eine Achse weglässt, wird deren Wert auch nicht mit der aktuellen Position überschrieben.

Beispiele:

G92 Code-BeispielBeschreibung
G92 E0Stell die aktuelle Filamentposition auf E=0 im Extruder.
G1 E10 F800Extrudiere Filament mit einer Länge von 10mm

M104 und M109-Befehle für die Temperatureinstellung des Extruders

Diese beiden G-Code Befehle dienen dazu, die Temperatureinstellung des Extruders einzustellen.

  • M104: Dieser Befehl beginnt mit dem Aufheizen des Extruders und erlaubt das direkte Ausführen von weiteren Befehlen.
  • M109: Dieser Befehlt führt dazu, dass erst gewartet wird, bis die gewünschte Temperatur des Extruders erreicht ist. Erst danach können weitere Befehle ausgeführt werden.

Den G-Code-Befehl M109 sieht man wahrscheinlich öfter, da es ansonsten vorkommen kann, dass der Druck startet, bevor die gewünschte Temperatur überhaupt erreicht ist.

Sind die G-Codes für jeden 3D-Drucker so?

Während M104 und M109 meistens verwendet werden, gibt es auch Fälle, in denen andere Befehle zum Einsatz kommen. Das kommt zum Beispiel dann vor, wenn der Drucker .x3g Codes liest anstelle von .gcode-Dateien. Dann wird M133 anstelle des Befehls M109 genutzt. Manche 3D-Drucker wiederum (Flashforge Dreamer, Dremel oder ähnliche) verwenden dann den M6 Befehl. Das hängt dann von der verwendeten Firmware ab.

Werte:

  • Mit dem S-Wert kannst du die Temperatur des Extruders in Grad Celsius festlegen (S190= 190 Grad Celsius).
  • Der Einsatz des T-Werts eignet sich dann am besten, wenn dein 3D-Drucker mehrere Extruder hat und du einen bestimmten auf die gewünschte Temperatur bringen möchtest. Normalerweise ist T0 dann der rechte Extruder, wohingegen T1 dann den linken Extruder beschreibt.

Beispiele:

M104 Code-BeispielBeschreibung
M104 S190 T0Beginne mit dem Aufheizen von T0 auf 190 Grad Celsius.
G28 X0Führe das Homing für die X-Achse durch, während der Extruder noch aufheizt.
M109 S190 T0Warte bis T0 die Temperatur von 190 Grad Celsius erreicht hat, um dann weitere Befehle ausführen zu können.

M106-Steuerung der Lüftergeschwindigkeit (Set Fan Speed)

Mit dem M106-Befehl kannst du die Geschwindigkeit des Bauteilelüfters deines 3D-Druckers einstellen. Beachte bitte, dass dein Drucker auch einen Lüfter besitzen könnte, der den Extruder kühlt. Du solltest also zunächst schauen, ob du den richtigen Lüfter steuerst. Es kann nämlich auch sein, dass du noch keinen Bauteilelüfter eingebaut hast.

Werte:
Hier bestimmt der S-Wert die Geschwindigkeit des Lüfters, wobei 0=Aus und 255=100% Geschwindigkeit bedeuten.

Beispiele:

M106 Code-BeispielBeschreibung
M106 S255Stelle die Lüftergeschwindigkeit auf 100%.
M106 S127Stelle die Lüftergeschwindigkeit auf ca. 50%. (255/2=127,5)
M106 S0Schalte den Lüfter komplett aus.

M140 und M190-G Code Befehle für die Temperatureinstellung des Heizbetts (Bed Heating Commands)

Mit den M140- und M190-Befehlen bestimmst du die Temperatureinstellung des Heizbetts analog zum M104- und M109-Befehl wie im oben bereits beschrieben.

  • M140: Dieser Befehl beginnt mit dem Aufheizen des Heizbetts und erlaubt das direkte Ausführen von weiteren Befehlen.
  • M190: Dieser Befehlt führt dazu, dass erst gewartet wird, bis die gewünschte Temperatur des Heizbetts erreicht ist. Erst danach können weitere Befehle ausgeführt werden.

Beachte, dass das Aufheizen des Heizbetts einige Zeit in Anspruch nehmen kann. Nicht wundern, wenn dein 3D-Drucker während des Drucks plötzlich eine kleine Pause einlegt (bei M190) bis er dann wieder weiter macht.

Häufig wird der M140-Befehl an den Anfang des G-Codes gesetzt, um dann die anderen Befehle wie das Homing etc. durchführen zu können. Bevor der Druck aber startet, sollte ein M190-Befehl eingebaut werden, um eine stabile Temperatur für die erste Schicht zu gewährleisten.

Gilt das für jeden 3D Drucker?

Wie bei den M104- und M109-Befehlen gilt auch hier, dass dies von der verwendeten Firmware abhängig ist. Liest dein 3D-Drucker .x3g-Dateien dann wird M134 anstelle von M190verwendet und bei Flashforge Dreamer, Dremel oder ähnlichen Druckern ist M7 zu nutzen.

Werte:

Mit dem S-Wert kannst du die Temperatur des Heizbetts in Grad Celsius festlegen (S30= 30 Grad Celsius). Da die meisten 3D-Drucker nur über ein Heizbett verfügen, bedarf es keiner weiteren Anpassung etc.

Beispiele:

M140 / M190 Code-BeispielBeschreibung
M140 S50Beginne mit dem Aufheizen des Heizbetts auf 50 Grad Celsius.
G28Führe das Homing für alle Achsen durch und heize gleichzeitig das Heizbett auf 50 Grad Celsius.
M190 S50Warte bis die Temperatur von 50 Grad Celsius für das Heizbett erreicht ist, um dann weitere Befehle ausführen zu können.

Weitere GCode Befehle für deinen 3D Drucker folgen.

G-Code im 3D-Druck: FAQ

Hier befinden sich einige Fragen, die häufig gestellt werden.

Der einfachste Weg ist natürlich durch den Einsatz eines Slicers. Dieser transformiert ein 3D-Modell (.stl/.obj… ) in die maschinenlesbare Sprache. Alle Slicer können den Gcode erstellen. Du musst nur darauf achten, dass du entweder deinen Drucker in den vorhandenen Profilen des Slicers auswählst oder per Hand diesen anlegst und etwa die Größe der Druckbetts, die Anzahl der Hotends etc. angibst.

Nein, du kannst zwar Gcodes per AutoCad erstellen, aber diese sind in erster Linie nicht für den 3D-Druck gedacht. Nutze hierfür lieber Slicer.

Du kannst normalerweise die verwendeten Speicherkarten oder USB-Sticks mit den passenden G-Codes befüllen und den Drucker starten. Du kannst aber auch – immer häufiger auch per Onboard-Lösungen – manchen 3D-Druckern die Druckdaten per Wifi senden. Hierfür müssen diese die Funktionen per Wifi-Modul ermöglichen. Es ist aber auch möglich, deine 3D-Drucker mit Octo Print und Raspberry zu verbinden.

G Code Befehle im 3D Druck - Lerne die Sprache deines 3D Druckers! (2024)
Top Articles
Latest Posts
Article information

Author: Rev. Porsche Oberbrunner

Last Updated:

Views: 6566

Rating: 4.2 / 5 (53 voted)

Reviews: 84% of readers found this page helpful

Author information

Name: Rev. Porsche Oberbrunner

Birthday: 1994-06-25

Address: Suite 153 582 Lubowitz Walks, Port Alfredoborough, IN 72879-2838

Phone: +128413562823324

Job: IT Strategist

Hobby: Video gaming, Basketball, Web surfing, Book restoration, Jogging, Shooting, Fishing

Introduction: My name is Rev. Porsche Oberbrunner, I am a zany, graceful, talented, witty, determined, shiny, enchanting person who loves writing and wants to share my knowledge and understanding with you.