Den kompletta G-Code-guiden: från nybörjare till proffs
Vad G-Code är, hur maskiner använder den och hela produktionspipen - från SVG och rasterbilder till maskinklara filer för pennplotter, lasergravörer, 3D-skrivare och CNC-bruk.
Vad är G-Code?
G-Code (geometrisk kod) är det klartextspråk som driver CNC-maskiner. Varje fil - vanligtvis.gcode,.nc eller.cnc - är en sekvens av instruktioner som talar om för maskinen vart den ska flytta sig, hur snabbt och när den ska aktivera dess verktyg. Raderna körs uppifrån och ner, en i taget.
Tänk på din design som ritningen och G-Code som den sväng-för-sväng-navigering. En 3D-skrivare kan inte bearbeta en JPG. En pennplotter vet inte hur bokstaven "A" ser ut. G-Code löser detta genom att bryta upp vilken form som helst i elementära rörelser - raka linjer, bågar och verktyg för på/av-kommandon - som alla rörelsekontroller kan utföra på ett tillförlitligt sätt.
Standarden går tillbaka till MIT på 1950-talet, formaliserad som RS-274 1963 och internationellt publicerad som ISO 6983 1982. Trots sin ålder förblir G-Code det universella tillverkningsspråket – från hobbyskrivare till stationära industrier med fem axlar.
Var används G-Code?
- Penplotter (AxiDraw, HP 7475A, DIY GRBL): flyttar en fysisk penna över papperet för att reproducera vektorkonstverk - en av de mest tillgängliga ingångspunkterna till G-Code för konstnärer och skapare.
- Lasergravörer och -skärare: styr strålen samtidigt som kraften moduleras för att bränna bilder till trä eller skära former från akryl.
- FDM 3D-skrivare (Prusa, Creality, Bambu Lab): koordinerar skrivhuvudet över X, Y, Z samtidigt som filament matas och objekt byggs lager för lager.
- CNC Fräsar och fräsar: leder ett snurrande skärverktyg genom material för skärning, fickor och profilering.
- CNC svarvar, plasmaskärare, vattenstråle- och tråd-EDM-maskiner: alla använder G-Code eller en nära derivat.
Anatomin hos en G-Code-fil
Varje rad (kallas ett block) är en komplett instruktion. Maskinen kommer ihåg sitt tillstånd mellan raderna — en matningshastighet som är inställd på linje 10 förblir aktiv på linje 200 om du inte ändrar den. Detta kallas modalt tillstånd.
Här är ett pennplotterprogram som ritar en 50×50mm kvadrat:
G21 ; millimeters
G90; absolut positionering
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
Nedbrytning av G1 X50.0 Y25.3 F1500: G1 = rita en rät linje, X50.0 Y25.3 = destination, Z00004QXZ0min. Observera att G1 bara visas en gång — varje efterföljande koordinatrad återanvänder den automatiskt tills du skriver G0 eller ett annat rörelsekommando. Allt efter ett semikolon är en kommentar som ignoreras av maskinen.
Viktiga G-Code-kommandon
Dessa kommandon fungerar över praktiskt taget all firmware - från hobby GRBL till industriell Fanuc.
- G0 — Rapid Move: flytta så snabbt som maskinen tillåter. Använd aldrig med laser eller spindel aktiv.
- G1 — Linjär rörelse: rita eller skär en rak linje med inställd matningshastighet (F). Det primära kommandot för allt CNC-arbete.
- G2 / G3 — Medurs / Moturs Båge: skapa jämna kurvor i ett enda kommando med I/J-centrumförskjutningar eller R-radie. En G2/G3 ersätter dussintals små G1-segment.
- G4 — Dwell: pausa under en viss tid. ⚠ P-enhet varierar: GRBL = sekunder (G4 P1.5 = 1.5s), Marlin = millisekunder (G4 P1500 = 1ZXQX00).
- G20 / G21 — Inch / Millimeter-enheter. Ställ alltid in detta i början av varje fil.
- G28 — Hem alla axlar. Beteendet varierar beroende på firmware - verifiera alltid innan du använder den.
- G90 / G91 — Absolut / relativ positionering. G90 är standard; G91 gör varje koordinat i förhållande till den aktuella positionen.
- G92 — Ställ in aktuell position som utgångspunkt utan att flytta. Används för att definiera ett arbetsursprung mitt i jobbet.
- M3 S[value] — Verktyg på: avfyrar lasern, snurrar spindeln eller sänker pennservot. S styr effekt, RPM eller servovinkel.
- M5 — Verktyg av. Inkludera alltid före alla snabba rörelser.
- M104 / M109 — Ställ in varmändtemperatur (3D-utskrift). M109 väntar tills målet nås innan du fortsätter.
- M140 / M190 — Ställ in bäddtemperatur (3D-utskrift). M190 väntar — använd innan utskriften startar.
- F — Matning i mm/min. Modal: kvarstår tills du ändrar den.
- S — Effekt eller hastighet: lasereffekt (0–1000 på GRBL), spindelvarvtal eller servovinkel.
- E — Extruderfilamentavstånd (endast 3D-utskrift).
- I, J — Bågcentrumförskjutningar från nuvarande position, används med G2 och G3.
GRBL använder sekunder — G4 P1.5 pausar i 1,5 sekunder. Marlin använder millisekunder — G4 P1500 är samma paus. Att använda fel enhet innebär att din maskin antingen knappt pausar eller fryser i minuter. Kontrollera alltid dina firmware-dokument.
Arbetsflöde 1: Penplotter
- 1
Design i vektorprogramvara
Plottere förstår bara banor – inte pixlar, fyllningar eller råtext. Använd Inkscape, Illustrator eller Affinity Designer för att skapa SVG-sträckbanor. Konvertera all text till konturer. Ta bort fyllningar, bitmappar och effekter – de ignoreras tyst av omvandlaren.
- 2
Optimera SVG
Slå samman dubbletter av banor (pennan skulle spåra samma linje två gånger), förenkla täta noder och ställ in dokumentdimensioner i millimeter – inte pixlar – för att undvika DPI-skalningsproblem senare.
- 3
Konvertera till G-Code
Omvandlaren översätter varje bana till G1-rörelser och infogar M3/M5 pennlyftkommandon mellan frånkopplade slag. Den viktigaste inställningen är bansortering — vilka ordningslinjer som ritas. En dålig sortering skickar pennan sicksackande över sidan tusentals gånger. En sorts närmaste granne kan minska restiden med 50 % eller mer på täta konstverk.
- 4
Skicka via en G-Code-avsändare
Strömma filen till GRBL firmware genom Universal Gcode Sender (UGS) eller bCNC. Avsändaren levererar rader en efter en; GRBL översätter var och en till stegmotorpulser.
Arbetsflöde 2: Lasergravör/skärare
- 1
Välj ditt läge: vektor eller raster
Vektorläge spårar banor med konstant effekt — använd det för att skära konturer och graverade linjer. Rasterläget sveper fram och tillbaka som en skrivare, varierande effekt pixel för pixel — använd det för foton och skuggade fyllningar. Ett enda jobb kan använda båda lägena på separata lager.
- 2
Generera G-Code med laserinställningar
Verktyg som LightBurn eller LaserGRBL matar ut M3 S[värde] för att avfyra lasern och M5 för att stoppa den. I rasterläge ändras S-värdet på varje G1-linje, vilket återger gråskalegradienter. GRBL måste kompileras i laserläge för detta — det inaktiverar hastighetsrampning och möjliggör omedelbar effektrespons.
- 3
Testa på skrot först
Kraft och hastighet varierar dramatiskt beroende på material. Kör alltid ett litet kraft-/hastighetsnättest på samma material innan du påbörjar det riktiga jobbet.
Laser: använd skyddsglasögon klassade för din våglängd (CO2 = 10 600 nm; diodgravyrer ≈ 450 nm - dessa kräver olika glasögon). Säkerställ ventilation — gravering producerar giftiga ångor från nästan alla material. Lämna aldrig en löpande laser obevakad. CNC: klämma fast arbetsstycket innan spindeln körs — ett osäkert stycke kan kastas i hastighet. Känn till ditt nödstopp innan du börjar.
Arbetsflöde 3: 3D-utskrift
- 1
Modellera och exportera som STL eller STEP
Design i Fusion 360, Blender, FreeCAD eller liknande. STL är standardutbytesformatet; STEP har mer exakt geometri för tekniska delar.
- 2
Skiva i lager
En skärare (PrusaSlicer, Cura, Bambu Studio) skär modellen i 0,1–0.3mm horisontella lager och beräknar verktygsbanor, stöd, utfyllnad och bryggor. Ett typiskt drag ser ut som G1 X42.5 Y88.3 E0.0234 F4500 — rör på huvudet samtidigt som man extruderar exakt 0.0234mm av filament. Skäraren sätter även in M109 och M190 för att värma munstycket och bädden innan utskriften startar.
- 3
Skicka via SD-kort eller nätverk
Marlin, Klipper eller RepRapFirmware kör filen. Klipper laddar ner beräkningar till en Raspberry Pi och stöder ingångsformning - den mäter ramresonans med en accelerometer och filtrerar bort kommandon från rörelse, vilket minskar ringsignalsartefakter och möjliggör högre utskriftshastigheter.
Arbetsflöde 4: CNC-bearbetning
- 1
Modell i CAD
Använd Fusion 360, SolidWorks eller FreeCAD. Maskinbearbetade delar kräver toleranser på 0.01–0.05mm, så modellkvaliteten avgör direkt delens kvalitet.
- 2
Definiera verktygsbanor i CAM
CAM programvara (Fusion 360 CAM, VCarve, Mastercam) låter dig specificera verktyget, skärstrategi (adaptiv röjning, kontur, fickor), skärdjup, spindelhastighet och matningshastighet. Målet är effektivt verktygsingrepp utan att bryta biten eller bränna materialet.
- 3
Efterbearbetning av din controller
Industriella CNC-maskiner talar var sin dialekt — Fanuc, Siemens Sinumerik, Heidenhain, Haas. En postprocessor inuti din CAM programvara översätter generiska verktygsbanor till den exakta syntax som din maskin förväntar sig. Att använda fel postprocessor producerar inte bara dåliga delar – det kan krascha maskinen i arbetsstycket, förstöra verktyg och skapa en säkerhetsrisk.
SVG till G-Code: Vad händer egentligen
SVG-banor använder Bézier-kurvor, bågar och raka linjer. G1 ritar bara raka linjer - så omvandlare måste överbrygga gapet på två sätt:
Fasettering bryter kurvor i många små raka segment. Jämnare kurvor kräver kortare segment, vilket innebär större filer och potentiell rörelsestamning när maskinens kommandobuffert inte kan hänga med.
Bågpassning är smartare: den upptäcker när en körning av korta segment tillsammans bildar en cirkel och ersätter hela gruppen med ett enda G2- eller G3-kommando. En cirkel som tar 360 G1-linjer blir en rad av G-Code. Filer krymper med upp till 90 %, rörelsen är perfekt jämn och maskinen håller en kontinuerlig hastighet genom bågen. Inte alla GRBL-byggen stöder G2/G3 — kontrollera innan du aktiverar.
Illustrator exporterar till 72 DPI. Inkscape före v0.92 använde 90 DPI. Moderna verktyg använder 96 DPI. Om din omvandlare antar 96 DPI men din fil kom från Illustrator, är varje dimension 33 % för stor — en 100mm-form plottar vid 133mm. Fix: matcha din omvandlares DPI-inställning till din källapp, eller ännu bättre, ställ in dina SVG-dokumentmått i millimeter för att göra DPI helt irrelevant.
G-Code Dialects: Varför en fil inte passar alla maskiner
Kärnrörelsekommandon (G0, G1, G2, G3) fungerar överallt. Allt annat – startsekvenser, verktygsändringar, kommentarsyntax – varierar beroende på firmwarefamilj. Att köra G-Code från fel styrenhet på en professionell CNC-maskin ger inte bara fel utdata – det kan orsaka en snabb krasch i arbetsstycket.
- GRBL: dominerande firmware för hobbypennplotrar, lasergravörer och små CNC-routrar. Arduino-baserad, brett stödd av omvandlare och CAM-verktyg.
- Marlin: dominerande för FDM 3D-skrivare. Lägger till extruderkontroll, temperatur-M-koder och bäddutjämning utöver vanliga rörelsekommandon.
- Klipper: modern firmware för 3D-skrivare som körs på en Raspberry Pi. Möjliggör inmatningsformning och högre utskriftshastigheter som inte kan uppnås på Marlin med samma hårdvara.
- Smoothieware: 32-bitars ARM-firmware för lasergravörer i mellanklassen och CNCs — mer datorutrymme än Arduino-baserade GRBL.
- Fanuc: dominerande industriell CNC-kontroller globalt. Inkluderar fasta cykler (G81–G89) och makroprogrammering.
- Siemens Sinumerik / Heidenhain / Haas: Europeiska och amerikanska industrikontroller med sina egna dialekter. En Fanuc postprocessor kommer inte att fungera korrekt på en Sinumerik-maskin.
Konvertera foton till plottbara sökvägar
Foton innehåller bara pixlar — inga sökvägsdata. Innan ett foto kan plottas eller vektorgraveras måste det konverteras till SVG. Vanliga tillvägagångssätt:
- Linjeteckning: extraherar motivets konturer och strukturella kanter som SVG-banor. Bäst för logotyper, porträtt och illustrationer med tydliga konturer.
- Kläckning/kryssning: kartlägger bildens ljusstyrka till linjedensitet – mörkare områden får tätare linjer. Resultaten framkallar traditionell gravyr och plottar vackert.
- Stippling: mappar ljusstyrka till punktdensitet. Varje prick är en kort pennberöring eller laseruppehåll — liknande pointillist-illustrationen.
- Konturkartläggning: behandlar ljusstyrka som höjd, ritar koncentriska linjer vid ljusstyrketrösklar. Ger flytande, organiska resultat från foton.
- Algoritmiska stilar (Voronoi, flödesfält, vågmönster): matematiska transformationer modulerade av bildens ljusstyrka för abstrakt men igenkännlig maskinritad konst.
Den kompletta rörledningen: Foto → SVG → G-Code med Laserlinez
Laserlinez konverterar ditt foto till en ren, maskinklar SVG i professionella stilar byggda för pennplotter och lasergravörer — linjeritning, kläckning, stippling och mer. Utgångsvägar är strukturerade som diskreta drag, vilket minimerar pennlyft och restid.
När du väl har SVG genererar tjänsten SVG-to-G-Code den slutliga filen med maskinprofilinställningar, förhandskontroller och en förhandsgranskningsartefakt.
Denna tvåstegspipeline – foto till SVG via Laserlinez, SVG till G-Code via tjänsten – tar dig från en rasterkälla till en maskinförberedd laser- eller plotterfil utan att behöva skriva G-Code för hand.
Checklista före flygning
- Simulera först — använd NCViewer (webbläsare, gratis) eller CAMotics (skrivbord, gratis) för att återge hela verktygsbanan innan maskinen flyttas. Fångar fel storlekar, saknade pennlyft och oväntade forsar.
- Verifiera enheter — G20 (tum) eller G21 (millimeter) måste matcha dina förväntade mått.
- Ställ in arbetsursprunget — maskinbaserad, G92 eller WCS-offset korrekt placerad.
- Kontrollera Z-avståndet — höjden på pennan eller laseravstängningen måste fysiskt frigöra arbetsstycket och eventuella klämmor.
- Leta efter dubbletter av banor — varje kontur endast en gång; dubbletter dubbelbränna eller dubbelskära.
- Granska matningshastigheter — för snabba orsakar överhoppade steg; för långsamt slösar bort tid.
- Bekräfta G4 uppehållsenheter — sekunder för GRBL, millisekunder för Marlin.
- Torrkörning på säker höjd — kontrollera att hela resekuvertet passar maskinens arbetsområde.
- Testa på skrot — för laser och CNC skär alltid samma material på skrot innan du begår den sista biten.
Vanliga problem och korrigeringar
- Ritningen är spegelvänd: SVG Y ökar nedåt; G-Code Y ökar uppåt. Aktivera Y-axelinvertering i din omvandlare.
- Fel utdatastorlek: DPI-fel överensstämmer. Illustrator = 72, gammal Inkscape = 90, moderna verktyg = 96. Matcha omvandlarens DPI till din källapp, eller definiera SVG-mått i millimeter.
- Maskin stammar genom kurvor: för många små segment svämmar över rörelsebufferten. Aktivera ljusbågsanpassning, öka linjäriseringstoleransen eller lägre matningshastighet.
- Pennan drar och lyfter aldrig: M5-kommandot saknas eller Z-avståndet är för lågt för att fysiskt lyfta bort papperet.
- Jobbet tar mycket längre tid än förväntat: dålig vägordning. Sortera om banor med vpype innan du regenererar G-Code.
- Maskinen flyttar till fel plats vid start: arbetsursprung inte inställt. Åter hem, jogga till det avsedda ursprunget och kör G92 X0 Y0 innan du börjar.
Kommentarer
Läser in kommentarer...