Was ist G-Code?

G-Code

Die offizielle Name des Codes lautet RS-274D. Üblicherweise wird er aber nur als G-Code bezeichnet, da die meisten Befehle mit dem Buchstaben G beginnen. Das "G"  steht dabei für Geometrie.

Der Code ist in einem alphanumerischen Format geschrieben und für die Bewegungen der 3D-Drucker verantwortlich. Er sagt dem 3D-Drucker, wo er beginnen, wie er sich bewegen und wann er anhalten soll, wenn er ein Objekt herstellt usw.

Ein Problem bei der Programmierung von G-Codes liegt darin, dass die verschiedenen 3D-Drucker den G-Code in unterschiedlichen Formaten lesen. Meist  unterscheidet sich der G-Code nur durch das Vorhandensein oder Fehlen von Leerzeichen zwischen den Befehlen und durch die Anzahl der Nullen zwischen dem Buchstaben und der Zahl in den Befehlen.

So kann ein 3D-Drucker beispielsweise G3 verwenden, während ein anderer G03 benutzt. So ist es wichtig zu wissen, welchen Befehlssatz der eigene 3D-Drucker nutzt, denn Fehler in den Befehlen können zu Problemen beim Druck führen.

Hier nun die G-Codes der Marlin Firmware im Detail:

G0-G1 - Linear Move

Add a straight line movement to the planner


G2-G3 - Arc or Circle Move

Add an arc or circle movement to the planner


G4 - Dwell

Pause the planner


G5 - Bézier cubic spline

Cubic B-spline with XYZE destination and IJPQ offsets


G6 - Direct Stepper Move

Perform a direct, uninterpolated, and non-kinematic synchronized move


G10 - Retract

Retract the filament


G11 - Recover

Recover the filament with firmware-based retract


G12 - Clean the Nozzle

Perform the nozzle cleaning procedure


G17-G19 - CNC Workspace Planes

Select CNC workspace plane


G20 - Inch Units

Set Units to Inches


G21 - Millimeter Units

Set Units to Millimeters


G26 - Mesh Validation Pattern

Test the mesh and adjust


G27 - Park toolhead

Park the current toolhead


G28 - Auto Home

Auto home one or more axes


G29 - Bed Leveling (3-Point)

Probe the bed and enable leveling compensation


G29 - Bed Leveling (Bilinear)

Probe the bed and enable leveling compensation


G29 - Bed Leveling (Linear)

Probe the bed and enable leveling compensation.


G29 - Bed Leveling (Manual)

Measure Z heights in a grid, enable leveling compensation


G29 - Bed Leveling (Unified)

Probe the bed and enable leveling compensation


G29 - Bed Leveling

Probe the bed and enable leveling compensation


G30 - Single Z-Probe

Probe bed at current XY location


G31 - Dock Sled

Dock the Z probe sled


G32 - Undock Sled

Undock the Z probe sled


G33 - Delta Auto Calibration

Calibrate various Delta parameters


G34 - Z Steppers Auto-Alignment

Align multiple Z steppers using a bed probe


G35 - Tramming Assistant

Run a procedure to tram the bed


G38.2-G38.5 - Probe target

Probe towards (or away from) a workpiece


G42 - Move to mesh coordinate

Move to a specific point in the leveling mesh


G53 - Move in Machine Coordinates

Apply native workspace to the current move


G54-G59.3 - Workspace Coordinate System

Select a workspace coordinate system


G60 - Save Current Position

Save current position to specified slot


G61 - Return to Saved Position

Return to saved position of specified slot


G76 - Probe temperature calibration

Calibrate probe temperature compensation


G80 - Cancel Current Motion Mode

Cancel the current motion mode


G90 - Absolute Positioning

Set the interpreter to absolute positions


G91 - Relative Positioning

Set the interpreter to relative positions


G92 - Set Position

Set the current position of one or more axes


G425 - Backlash Calibration

Use a conductive object to calibrate XYZ backlash


G800-M800 - Debug Gcode Parser

Returns Gcode data