Der komplette G-Code-Leitfaden: Vom Anfänger zum Profi
Was G-Code ist, wie Maschinen es nutzen und die gesamte Produktionspipeline – von SVG und Rasterbildern bis hin zu maschinenfertigen Dateien für Stiftplotter, Lasergravierer, 3D-Drucker und CNC-Fräsmaschinen.
Was ist G-Code?
G-Code (Geometrischer Code) ist die Klartextsprache, die CNC-Maschinen steuert. Jede Datei – typischerweise.gcode,.nc oder.cnc – ist eine Folge von Anweisungen, die der Maschine sagen, wohin sie sich bewegen soll, wie schnell und wann sie ihr Werkzeug aktivieren soll. Die Linien werden einzeln von oben nach unten ausgeführt.
Betrachten Sie Ihr Design als Blaupause und G-Code als Turn-by-Turn-Navigation. Ein 3D-Drucker kann einen JPG nicht verarbeiten. Ein Stiftplotter weiß nicht, wie der Buchstabe „A“ aussieht. G-Code löst dieses Problem, indem es jede Form in elementare Bewegungen – gerade Linien, Bögen und Befehle zum Ein- und Ausschalten von Werkzeugen – zerlegt, die jeder Motion Controller zuverlässig ausführen kann.
Der Standard geht auf das MIT in den 1950er Jahren zurück, wurde 1963 als RS-274 formalisiert und 1982 international als ISO 6983 veröffentlicht. Trotz seines Alters bleibt G-Code die universelle Sprache der Fertigung – vom Hobby-Desktopdrucker bis zur industriellen Fünf-Achsen-Fräsmaschine.
Wo wird G-Code verwendet?
- Stiftplotter (AxiDraw, HP 7475A, DIY GRBL): Bewegt einen physischen Stift über das Papier, um Vektorgrafiken zu reproduzieren – einer der zugänglichsten Einstiegspunkte in G-Code für Künstler und Maker.
- Lasergravierer und -schneider: Lenken den Strahl und modulieren gleichzeitig die Leistung, um Bilder in Holz zu brennen oder Formen aus Acryl auszuschneiden.
- FDM-3D-Drucker (Prusa, Creality, Bambu Lab): Koordiniert den Druckkopf über X, Y, Z, während das Filament zugeführt wird, und baut Objekte Schicht für Schicht auf.
- CNC Oberfräsen und Fräser: Führt ein rotierendes Schneidwerkzeug zum Schnitzen, Taschenfräsen und Profilieren durch das Material.
- CNC Drehmaschinen, Plasmaschneider, Wasserstrahl- und Drahterodiermaschinen: Alle verwenden G-Code oder eine ähnliche Ableitung.
Die Anatomie einer G-Code-Datei
Jede Zeile (Block genannt) ist eine vollständige Anweisung. Die Maschine merkt sich ihren Status zwischen den Zeilen – eine in Zeile 10 eingestellte Vorschubgeschwindigkeit bleibt in Zeile 200 aktiv, sofern Sie sie nicht ändern. Dies wird als modaler Zustand bezeichnet.
Hier ist ein Stiftplotterprogramm, das ein 50×50mm-Quadrat zeichnet:
G21 ; millimeters
G90; absolute Positionierung
G0 Z5.0 ; lift pen
G0 X0 Y0 ; move to origin
M3 S1000 ; pen down
G1 X50.0 Y0 F2000
G1 X50.0 Y50.0
G1 X0 Y50.0
G1 X0 Y0
M5 ; pen up
M2 ; end
Aufschlüsselung G1 X50.0 Y25.3 F1500: G1 = eine gerade Linie zeichnen, X50.0 Y25.3 = Ziel, F1500 = 1500 mm/min. Beachten Sie, dass G1 nur einmal vorkommt – jede folgende Koordinatenlinie verwendet es automatisch wieder, bis Sie G0 oder einen anderen Bewegungsbefehl schreiben. Alles, was nach einem Semikolon steht, ist ein Kommentar, der von der Maschine ignoriert wird.
Grundlegende G-Code-Befehle
Diese Befehle funktionieren in nahezu jeder Firmware – vom Hobby-Firmware-Gerät GRBL bis zum Industrie-Firmware-Gerät Fanuc.
- G0 – Rapid Move: Neupositionierung so schnell, wie es die Maschine zulässt. Niemals mit aktivem Laser oder aktiver Spindel verwenden.
- G1 – Lineare Bewegung: Zeichnen oder schneiden Sie eine gerade Linie mit der eingestellten Vorschubgeschwindigkeit (F). Der primäre Befehl für alle CNC-Arbeiten.
- G2 / G3 – Bogen im Uhrzeigersinn/gegen den Uhrzeigersinn: Erzeugen Sie glatte Kurven in einem einzigen Befehl mit I/J-Mittenversätzen oder R-Radius. Ein G2/G3 ersetzt Dutzende winziger G1-Segmente.
- G4 – Verweilen: Pause für eine festgelegte Zeit. ⚠ P-Einheit variiert: GRBL = Sekunden (G4 P1,5 = 1.5s), Marlin = Millisekunden (G4 P1500 = 1.5s).
- G20 / G21 – Zoll-/Millimeter-Einheiten. Legen Sie dies immer am Anfang jeder Datei fest.
- G28 – Alle Achsen in den Ausgangszustand versetzen. Das Verhalten variiert je nach Firmware – überprüfen Sie es immer vor der Verwendung.
- G90 / G91 – Absolute / Relative Positionierung. G90 ist die Standardeinstellung; G91 macht jede Koordinate relativ zur aktuellen Position.
- G92 – Aktuelle Position als Ursprung festlegen, ohne sie zu verschieben. Wird verwendet, um einen Arbeitsursprung während der Arbeit zu definieren.
- M3 S[value] – Werkzeug ein: feuert den Laser ab, dreht die Spindel oder senkt den Stiftservo. S steuert Leistung, Drehzahl oder Servowinkel.
- M5 – Werkzeug aus. Vor jeder schnellen Fahrt immer einschalten.
- M104 / M109 – Hotend-Temperatur einstellen (3D-Druck). M109 wartet, bis das Ziel erreicht ist, bevor es fortfährt.
- M140 / M190 – Betttemperatur einstellen (3D-Druck). M190 wartet – vor Beginn des Druckvorgangs verwenden.
- F – Vorschubgeschwindigkeit in mm/min. Modal: bleibt bestehen, bis Sie es ändern.
- S – Leistung oder Geschwindigkeit: Laserleistung (0–1000 bei GRBL), Spindeldrehzahl oder Servowinkel.
- E – Extruder-Filamentabstand (nur 3D-Druck).
- I, J – Bogenmittelpunktversatz von der aktuellen Position, verwendet mit G2 und G3.
GRBL verwendet Sekunden – G4 P1.5 pausiert für 1,5 Sekunden. Marlin verwendet Millisekunden – G4 P1500 ist die gleiche Pause. Die Verwendung des falschen Geräts führt dazu, dass Ihre Maschine entweder kaum pausiert oder minutenlang einfriert. Überprüfen Sie immer Ihre Firmware-Dokumente.
Arbeitsablauf 1: Stiftplotter
- 1
Design in Vektorsoftware
Plotter verstehen nur Pfade – keine Pixel, Füllungen oder Rohtext. Verwenden Sie Inkscape, Illustrator oder Affinity Designer, um SVG-Strichpfade zu erstellen. Konvertieren Sie den gesamten Text in Konturen. Entfernen Sie Füllungen, Bitmaps und Effekte – sie werden vom Konverter stillschweigend ignoriert.
- 2
Optimieren Sie den SVG
Führen Sie doppelte Pfade zusammen (der Stift würde dieselbe Linie zweimal zeichnen), vereinfachen Sie dichte Knoten und legen Sie die Dokumentabmessungen in Millimetern – nicht in Pixeln – fest, um spätere DPI-Skalierungsprobleme zu vermeiden.
- 3
Konvertieren in G-Code
Der Konverter übersetzt jeden Pfad in G1-Bewegungen und fügt zwischen getrennten Strichen M3/M5-Stifthubbefehle ein. Die wichtigste Einstellung ist die Pfadsortierung – in welcher Reihenfolge Striche gezeichnet werden. Bei einer schlechten Sortierung bewegt sich der Stift tausende Male im Zickzack über die Seite. Eine Sortierung nach dem nächsten Nachbarn kann die Reisezeit bei dichten Kunstwerken um 50 % oder mehr verkürzen.
- 4
Senden Sie über einen G-Code-Absender
Streamen Sie die Datei über Universal Gcode Sender (UGS) oder bCNC zur GRBL-Firmware. Der Absender übermittelt die Zeilen einzeln; GRBL übersetzt jedes in Schrittmotorimpulse.
Arbeitsablauf 2: Lasergravierer/-schneider
- 1
Wählen Sie Ihren Modus: Vektor oder Raster
Der Vektormodus zeichnet Pfade mit konstanter Leistung nach – verwenden Sie ihn zum Schneiden von Umrissen und gravierten Linien. Der Rastermodus bewegt sich wie ein Drucker hin und her und variiert die Leistung Pixel für Pixel – verwenden Sie ihn für Fotos und schattierte Füllungen. Ein einzelner Job kann beide Modi auf separaten Ebenen verwenden.
- 2
Generieren Sie G-Code mit Lasereinstellungen
Tools wie LightBurn oder LaserGRBL geben M3 S[Wert] aus, um den Laser auszulösen, und M5, um ihn zu stoppen. Im Rastermodus ändert sich der S-Wert in jeder G1-Zeile und reproduziert Graustufenverläufe. Dazu muss GRBL im Lasermodus kompiliert werden – er deaktiviert die Geschwindigkeitserhöhung und ermöglicht eine sofortige Leistungsreaktion.
- 3
Zuerst am Schrott testen
Leistung und Geschwindigkeit variieren stark je nach Material. Führen Sie immer einen kleinen Leistungs-/Geschwindigkeitstest mit demselben Material durch, bevor Sie mit der eigentlichen Arbeit beginnen.
Laser: Tragen Sie eine Schutzbrille, die für Ihre Wellenlänge ausgelegt ist (CO2 = 10.600 nm; Diodengravierer ≈ 450 nm – diese erfordern eine andere Brille). Sorgen Sie für Belüftung – beim Gravieren entstehen bei fast allen Materialien giftige Dämpfe. Lassen Sie einen laufenden Laser niemals unbeaufsichtigt. CNC: Spannen Sie das Werkstück, bevor Sie die Spindel laufen lassen – ein ungesichertes Teil kann mit hoher Geschwindigkeit geschleudert werden. Machen Sie sich vor dem Start mit der Notbremsung vertraut.
Arbeitsablauf 3: 3D-Druck
- 1
Modellieren und exportieren als STL oder STEP
Design in Fusion 360, Blender, FreeCAD oder ähnlichem. STL ist das Standardaustauschformat; STEP bietet eine präzisere Geometrie für technische Teile.
- 2
In Schichten schneiden
Ein Slicer (PrusaSlicer, Cura, Bambu Studio) schneidet das Modell in horizontale Schichten von 0,1–0.3mm und berechnet Werkzeugwege, Stützen, Füllungen und Brücken. Eine typische Bewegung sieht aus wie G1 X42.5 Y88.3 E0.0234 F4500 – Bewegen des Kopfes, während genau 0.0234mm Filament extrudiert wird. Der Slicer setzt außerdem M109 und M190 ein, um die Düse und das Bett zu erwärmen, bevor der Druck beginnt.
- 3
Senden Sie über SD-Karte oder Netzwerk
Marlin, Klipper oder RepRapFirmware führt die Datei aus. Klipper verlagert die Berechnung auf einen Raspberry Pi und unterstützt die Eingabeformung – es misst die Bildresonanz mit einem Beschleunigungsmesser und filtert sie aus Bewegungsbefehlen heraus, wodurch Ringartefakte reduziert und höhere Druckgeschwindigkeiten ermöglicht werden.
Arbeitsablauf 4: CNC Bearbeitung
- 1
Modell im CAD
Verwenden Sie Fusion 360, SolidWorks oder FreeCAD. Bearbeitete Teile erfordern Toleranzen von 0.01–0.05mm, sodass die Modellqualität direkt die Teilequalität bestimmt.
- 2
Definieren Sie Werkzeugwege in CAM
Mit der Software CAM (Fusion 360 CAM, VCarve, Mastercam) können Sie das Werkzeug, die Schnittstrategie (adaptives Räumen, Kontur, Taschenschneiden), die Schnitttiefe, die Spindelgeschwindigkeit und die Vorschubgeschwindigkeit festlegen. Das Ziel ist ein effizienter Werkzeugeinsatz, ohne dass der Bohrer bricht oder das Material verbrennt.
- 3
Nachbearbeitung für Ihren Controller
Industrielle CNC-Maschinen sprechen jeweils ihren eigenen Dialekt – Fanuc, Siemens Sinumerik, Heidenhain, Haas. Ein Postprozessor in Ihrer CAM-Software übersetzt generische Werkzeugwege in genau die Syntax, die Ihre Maschine erwartet. Die Verwendung des falschen Postprozessors führt nicht nur zu fehlerhaften Teilen, sondern kann auch zum Aufprall der Maschine auf das Werkstück führen, wodurch Werkzeuge zerstört werden und ein Sicherheitsrisiko entsteht.
SVG bis G-Code: Was tatsächlich passiert
SVG-Pfade verwenden Bézier-Kurven, Bögen und gerade Linien. G1 zeichnet nur gerade Linien – daher müssen Konverter die Lücke auf zwei Arten schließen:
Durch die Facettierung werden Kurven in viele kleine gerade Segmente unterteilt. Glattere Kurven erfordern kürzere Segmente, was zu größeren Dateien und möglicherweise zu Bewegungsruckeln führt, wenn der Befehlspuffer der Maschine nicht mithalten kann.
Die Bogenanpassung ist intelligenter: Sie erkennt, wenn eine Reihe kurzer Segmente zusammen einen Kreis bilden, und ersetzt die gesamte Gruppe mit einem einzigen G2- oder G3-Befehl. Ein Kreis, der 360 G1-Linien benötigt, wird zu einer Linie von G-Code. Die Dateien werden um bis zu 90 % schrumpfen, die Bewegung ist vollkommen gleichmäßig und die Maschine behält im gesamten Bogen eine kontinuierliche Geschwindigkeit bei. Nicht alle GRBL-Builds unterstützen G2/G3 – prüfen Sie dies vor der Aktivierung.
Illustrator exportiert bei 72 DPI. Inkscape vor v0.92 verwendete 90 DPI. Moderne Tools verwenden 96 DPI. Wenn Ihr Konverter 96 DPI annimmt, Ihre Datei jedoch von Illustrator stammt, ist jede Dimension 33 % zu groß – eine 100mm-Form wird bei 133mm dargestellt. Fix: Passen Sie die DPI-Einstellung Ihres Konverters an Ihre Quell-App an oder, noch besser, stellen Sie die Abmessungen Ihres SVG-Dokuments in Millimetern ein, um die DPI völlig irrelevant zu machen.
G-Code Dialekte: Warum eine Datei nicht auf alle Maschinen passt
Kernbewegungsbefehle (G0, G1, G2, G3) funktionieren überall. Alles andere – Startsequenzen, Werkzeugwechsel, Kommentarsyntax – variiert je nach Firmware-Familie. Der Betrieb von G-Code mit der falschen Steuerung auf einer professionellen CNC-Maschine führt nicht nur zu einer falschen Ausgabe, sondern kann auch zu einem schnellen Aufprall auf das Werkstück führen.
- GRBL: Dominante Firmware für Hobby-Stiftplotter, Lasergravierer und kleine CNC-Router. Arduino-basiert, weithin von Konvertern und CAM-Tools unterstützt.
- Marlin: dominant für FDM-3D-Drucker. Fügt zusätzlich zu den Standardbewegungsbefehlen Extrudersteuerung, Temperatur-M-Codes und Bettnivellierung hinzu.
- Klipper: moderne 3D-Drucker-Firmware, die auf einem Raspberry Pi läuft. Ermöglicht Eingabeformung und höhere Druckgeschwindigkeiten, die auf Marlin mit derselben Hardware nicht erreichbar sind.
- Smoothieware: 32-Bit-ARM-Firmware für Lasergravierer der Mittelklasse und CNCs – mehr Rechenleistung als der Arduino-basierte GRBL.
- Fanuc: weltweit dominierender industrieller CNC-Controller. Beinhaltet vorgefertigte Zyklen (G81–G89) und Makroprogrammierung.
- Siemens Sinumerik / Heidenhain / Haas: Europäische und US-amerikanische Industriesteuerungen mit eigenen Dialekten. Ein Postprozessor Fanuc läuft auf einer Sinumerik-Maschine nicht korrekt.
Konvertieren von Fotos in plottbare Pfade
Fotos enthalten nur Pixel – keine Pfaddaten. Bevor ein Foto geplottet oder vektorgraviert werden kann, muss es in SVG konvertiert werden. Gängige Ansätze:
- Linienzeichnung: Extrahiert die Umrisse und Strukturkanten des Motivs als SVG-Pfade. Am besten geeignet für Logos, Porträts und Illustrationen mit klaren Konturen.
- Schraffur/Kreuzschraffur: Ordnet die Bildhelligkeit der Liniendichte zu – dunklere Bereiche erhalten dichter gepackte Linien. Die Ergebnisse erinnern wunderschön an traditionelle Gravuren und Plots.
- Tupfen: Ordnet die Helligkeit der Punktdichte zu. Jeder Punkt ist eine kurze Stiftberührung oder Laserverweildauer – ähnlich einer pointillistischen Illustration.
- Konturkartierung: Behandelt die Leuchtkraft wie eine Höhe und zeichnet konzentrische Linien an Helligkeitsschwellenwerten. Erzeugt fließende, organische Ergebnisse aus Fotos.
- Algorithmische Stile (Voronoi, Strömungsfelder, Wellenmuster): mathematische Transformationen, moduliert durch die Bildhelligkeit, für abstrakte, aber erkennbare maschinengezeichnete Kunst.
Die komplette Pipeline: Foto → SVG → G-Code mit Laserlinez
Laserlinez wandelt Ihr Foto in ein sauberes, maschinenbereites SVG in professionellen Stilen um, die für Stiftplotter und Lasergravierer entwickelt wurden – Strichzeichnung, Schraffur, Punktierung und mehr. Ausgabepfade sind als diskrete Striche strukturiert, wodurch das Anheben des Stifts und die Reisezeit minimiert werden.
Sobald Sie SVG haben, generiert der Dienst SVG-to-G-Code die endgültige Datei mit Maschinenprofileinstellungen, Preflight-Prüfungen und einem Vorschauartefakt.
Diese zweistufige Pipeline – Foto zu SVG über Laserlinez, SVG zu G-Code über den Dienst – führt Sie von einer Rasterquelle zu einer maschinell vorbereiteten Laser- oder Plotterdatei, ohne dass Sie G-Code von Hand schreiben müssen.
Checkliste vor dem Flug
- Simulieren Sie zuerst – verwenden Sie NCViewer (Browser, kostenlos) oder CAMotics (Desktop, kostenlos), um den vollständigen Werkzeugweg zu rendern, bevor sich die Maschine bewegt. Erkennt falsche Größen, fehlende Stiftlifte und unerwartete Stromschnellen.
- Überprüfen Sie die Einheiten – G20 (Zoll) oder G21 (Millimeter) müssen Ihren erwarteten Abmessungen entsprechen.
- Legen Sie den Arbeitsursprung fest – Maschine referenziert, G92 oder WCS-Versatz korrekt platziert.
- Überprüfen Sie den Z-Abstand – die Stift-Anhebe- oder Laser-Aus-Höhe muss physischen Abstand zum Werkstück und etwaigen Klemmen haben.
- Suchen Sie nach doppelten Pfaden – jede Kontur nur einmal; dupliziert Double-Burn oder Double-Cut.
- Überprüfen Sie die Vorschubgeschwindigkeiten – zu schnell führt zu übersprungenen Schritten; zu langsam ist Zeitverschwendung.
- Bestätigen Sie die Verweileinheiten G4 – Sekunden für GRBL, Millisekunden für Marlin.
- Trockenlauf in sicherer Höhe – Stellen Sie sicher, dass der gesamte Hubraum in den Arbeitsbereich der Maschine passt.
- Test am Schrott – für Laser und CNC schneiden Sie immer das gleiche Material am Schrott, bevor Sie das endgültige Stück fertigstellen.
Häufige Probleme und Lösungen
- Zeichnung wird gespiegelt: SVG Y steigt nach unten; G-Code Y steigt nach oben. Aktivieren Sie die Y-Achsen-Invertierung in Ihrem Konverter.
- Falsche Ausgabegröße: DPI-Nichtübereinstimmung. Illustrator = 72, altes Inkscape = 90, moderne Tools = 96. Passen Sie die DPI des Konverters an Ihre Quell-App an oder definieren Sie SVG-Abmessungen in Millimetern.
- Maschine stottert durch Kurven: Zu viele kleine Segmente überlaufen den Bewegungspuffer. Aktivieren Sie die Bogenanpassung, erhöhen Sie die Linearisierungstoleranz oder verringern Sie die Vorschubgeschwindigkeit.
- Stift zieht und hebt sich nie: Der Befehl M5 fehlt oder der Z-Abstand ist zu gering, um ihn physisch vom Papier abzuheben.
- Der Job dauert viel länger als erwartet: Schlechte Pfadreihenfolge. Sortieren Sie die Pfade mit vpype neu, bevor Sie G-Code neu generieren.
- Die Maschine bewegt sich beim Start an die falsche Position: Der Arbeitsursprung ist nicht festgelegt. Gehen Sie zurück zur Ausgangsposition, bewegen Sie sich zum vorgesehenen Nullpunkt und führen Sie vor dem Start G92 X0 Y0 aus.
Kommentare
Kommentare werden geladen...