G-code en g code: de uitgebreide gids voor CNC-programmeren met G-code

G-code en g code: de uitgebreide gids voor CNC-programmeren met G-code

Pre

G-code en g code vormen de ruggengraat van moderne CNC-bewerking. Welke term je ook gebruikt, het gaat om de taal die een computer numerieke besturing (CNC) vertelt hoe een gereedschap moet bewegen, met welke snelheid en welke volgorde. In dit artikel duiken we diep in G-code, de verschillende dialecten, best practices en concrete toepassingen. Of je nu net begint of al jaren programmeert, deze gids biedt heldere uitleg, praktijkvoorbeelden en tips om jouw g code-werkstroom te verbeteren.

Wat is G-code en waarom is G-code zo essentieel?

G-code is een numerieke controle-taal die toolpath-informatie omzet in bewegingen van een CNC-machine. Het combineert coördinaten, bewegingstypes, snelheden en hulpfuncties zoals koelmiddel en gereedschapswissel. In de wereld van fabricage en metaalbewerking staat g code centraal: zonder deze taal kan een frees, draaibank of 3D-printer niet weten wat er precies gedaan moet worden.

De term kan variëren afhankelijk van de context: men spreekt vaak van G-code of G-code (met streepje) als officiële benaming, terwijl anderen simpelweg spreken over g code of G-code in informele gesprekken. In de praktijk gaat het om dezelfde taal die machines aanstuurt. Voor deze gids gebruiken we afwisselend G-code en g code, maar we hebben altijd duidelijk in gedachten dat het dezelfde basisregels en concepten betreft.

Een typische G-code-regel bestaat uit codes die aangeven wat er moet gebeuren, gevolgd door parameters die de exacte posities en waarden specificeren. Belangrijke onderdelen zijn:

  • G- of M-codes die een actie aangeven (bijvoorbeeld bewegen, draaien, aan/uit zetten van koelmiddel).
  • Coördinaten X, Y, Z die de positie van het werktuig bepalen.
  • F voor feed rate (snijsnelheid).
  • Andere parameters zoals S (toerental) en I, J, K (raster- of boogpunten bij G2/G3).

Wanneer je een programma leest of schrijft, begin je vaak met algemene instellingen zoals een eenheden-commando (G20 voor inch of G21 voor millimeter) en de absoluut- of relatieve positionering (G90 respectievelijk G91). Daarna volgen de daadwerkelijke bewerkingen via G1, G0, G2, G3 en andere codes. Een eenvoudig voorbeeld:

G21 G90 G54
T1 M6
S12000 M3
M8
G1 X50.0 Y25.0 Z-5.0 F1200
G0 X0 Y0
M9
M30

G-code vs. G-codes vs. M-codes: wat doen ze precies?

G-code omvat basiscommando’s voor beweging, positionering en bewerking. Deze codes vertellen de machine wat te doen en hoe. Voorbeelden zijn G0, G1, G2 en G3, die respectievelijk snelle beweging, lineaire interpolatie, en boogbewegingen aanduiden.

M-codes regelen functies die buiten de beweging vallen, zoals het aan- en uitzetten van de koeling, het bedienen van de spil of het initiëren van een toolwissel. Samen zorgen G-code en M-code ervoor dat een programma zowel de beweging als de ondersteunende functies van de machine beheert.

Let op: veel machines en CAM-systemen gebruiken hun eigen dialecten. De kern van de taal blijft hetzelfde, maar de exacte syntaxis en optionele codes kunnen variëren. Daarom is het altijd verstandig om de handleiding van jouw machine of post-processor te raadplegen voordat je een programma uitvoert.

De meest gangbare manier om G-code te genereren is via een CAD/CAM-workflow. In deze aanpak ontwerp je het product in CAD-software en verklaar je vervolgens de bewerkingsstrategie in CAM-software. De CAM-software berekent de gereedschapsbanen (toolpaths) en zet deze om naar G-code of G-code-achtige instructies die jouw machine begrijpt.

Een cruciaal onderdeel van de workflow is de post-processor. Deze vertaalt de algemene toolpaths naar de specifieke dialecten die jouw CNC-controller accepteert. Een post-processor houdt rekening met zaken als de machineconfiguratie, constructiespecifieke offsetten en de gebruikte programmeerrange. Een goed geconfigureerde post-processor voorkomt foutjes zoals onjuiste offsets, verkeerde eenheden of onbekende codes.

Voor eenvoudige taken of prototyping kun je G-code ook handmatig schrijven. Dit biedt maximale controle en inzicht in de machinebeweging, maar vereist zorgvuldige validatie en vaak meer tijd. In de meeste productieomgevingen wordt echter de automatische generatie van G-code aangewend, omdat dit sneller is en minder foutkansen heeft wanneer de post-processor goed is ingesteld.

Hieronder vind je een overzicht van veelvoorkomende G-code-commando’s, met korte uitleg en voorbeelden. We behandelen zowel de basis G-codes als enkele belangrijke M-codes die vaak voorkomen in CNC-frees- en draaibanktoepassingen. Let op: de exacte implementatie kan per machine verschillen.

G0 is een snelle (niet-snijdende) beweging naar een doelpunt. G1 is een lineaire beweging met snijvoeding. Het verschil is cruciaal voor efficiëntie en oppervlaktekwaliteit.

G0 X10.0 Y20.0
G1 X30.0 Y25.0 F150.0

G2 en G3 instrueren de machine om boogbewegingen uit te voeren met een klok- of tegenklokrichting, respectievelijk. I, J, en K geven het boogcentrum aan in het XY- of ZX-vlak, afhankelijk van de operatorinstellingen.

G2 X50.0 Y30.0 I10.0 J0.0
G3 X60.0 Y40.0 I0.0 J-10.0

G20 en G21 kiezen de eenheden (inch of millimeter). G90 (absolute positionering) en G91 (relatieve positionering) bepalen hoe de coördinaten geïnterpreteerd worden ten opzichte van de huidige positie.

G21
G90
G0 X0 Y0

Deze codes selecteren een reeks van coördinatenstelsels die handig zijn bij het werken aan meerdere referentiepunten binnen hetzelfde stuk of productiewerk. Ze zorgen ervoor dat delen correct gealigneerd worden ten opzichte van verschillende klempunten of fixtures.

G54
G0 X25.0 Y10.0

M-codes regelen functies zoals het starten van de spindle, koelmiddel, of het stoppen van een programma. Voorbeelden:

M3 S12000   ; Spil aan in wijzerzin met 12.000 RPM
M5           ; Spil uit
M8           ; Koelmiddel aan
M9           ; Koelmiddel uit
M30          ; Programma-einde

G-code is toepasbaar in tal van industriële contexten, van freeswerk tot draaien en 3D-printen. Hieronder staan enkele realistische scenario’s die illustreren hoe de taal in de praktijk gebruikt wordt.

  • Freeswerk: nauwkeurige contourfrezen van onderdelen met complexe profielen.
  • Draaien: snel en efficiënt werken met draaibanken en verschillende gereedschappen.
  • 3D-printen: hoewel 3D-printers vaak hun eigen dialect gebruiken, is G-code de onderliggende taal die de beweging en extrusie regelt.
  • Onderhoud en salvaging: het aanpassen van bestaande G-code-programma’s voor onderhoud of redesigns.

Een klein praktisch voorbeeld van een bewerkingspad in G-code kan eruit zien als onderstaande snippet. Dit schema toont een eenvoudige pocket-cut op millimeter-schaal.

G21 G90 G54
T1 M6
G0 X0 Y0 Z5
G1 Z-2.0 F200
G1 X40.0 Y0.0 F300
G1 X40.0 Y40.0
G1 X0.0 Y40.0
G1 X0.0 Y0.0
G0 Z10
M30

Veiligheid staat voorop bij elke CNC-operatie. Een zorgvuldig geverifieerde en geteste G-code voorkomt schade aan gereedschap, werkstuk en machine. Enkele best-practices:

  • Voer altijd een simulatie of software-virtueel test uit voordat je op de echte machine draait.
  • Controleer zero-points en kalibratie van de machine voordat de run start.
  • Beperk de snijsnelheden en voeding tijdens de eerste runs en verhoog geleidelijk.
  • Gebruik duidelijke commentaarregels in G-code om onderhoud en aanpassingen te vereenvoudigen.

Hier volgen concrete aanbevelingen om jouw workflow met g code te verbeteren en te stroomlijnen.

  • Organiseer G-code in duidelijke blokken per operation, met korte commentaar.
  • Maak gebruik van offsets en-tools-libraries in CAM zodat je eenvoudig gereedschappen kunt wisselen zonder de basiscode handmatig te wijzigen.
  • Houd rekening met machinetrillingen en warmte bij lange runs; pas feeds en snelheden aan op basis van proefmetingen.
  • Documenteer jouw post-processor-configuratie zodat toekomstige projecten consistent verlopen.
  • Maak backups van alle G-code-scripts en hou een changelog bij voor elke wijziging.

Hoewel G-code decennialang de standaard is gebleven, verkennen steeds meer fabrikanten elk alternatief dat de communicatie tussen CAD/CAM en machines kan verbeteren. STEP-NC is een opkomende aanpak die het traditionele G-code-model uitdaagt door semantische informatie zoals productstructuur, materiaaldata en tolerantie-informatie direct te koppelen aan de bewerkingsinstructies. Dit kan leiden tot betere interoperabiliteit, foutreductie en automatische verificatie. Ondanks deze ontwikkelingen blijft G-code voorlopig de dagelijkse praktijk in veel werkplaatsen, omdat het breed ondersteund blijft door machines en controllers over de hele wereld.

In de wereld van 3D-printen is G-code de taal die alle bewegingen, temperatuur en extrusie regelt. Hoewel sommige printers werken met een eigen dialect of firmware-layer, draait de basis op G-code-instructies zoals G1, G0 en M104/M109 voor het regelen van de nozzle- en bed-temperatuur. Het begrijpen van G-code is daarom ook waardevol voor 3D-ontwikkelaars en -technici die betrouwbare prints willen garanderen, foutopsporing willen kunnen uitvoeren en geavanceerde aanpassingen willen doorvoeren.

Is G-code hetzelfde als g code?

Ja, in de praktijk verwijzen beide termen naar dezelfde taal. De variant met streepje (G-code) is de gangbare schrijfwijze en wordt wereldwijd herkend. De term g code wordt veelal in informele contexten gebruikt of om verwarring met andere terminologieën te voorkomen. Ongeacht de schrijfwijze draait het om dezelfde basisprincipes en commando’s.

Kan ik G-code handmatig schrijven?

Handmatig schrijven is mogelijk voor eenvoudige taken of leerdoeleinden. Voor complexe delen en meerdere gereedschappen is het meestal verstandiger om CAM-software te gebruiken en een betrouwbare post-processor te configureren. Dit vermindert menselijke fouten en versnelt de productie.

Welke randvoorwaarden zijn belangrijk bij het werken met G-code?

Belangrijke randvoorwaarden zijn onder andere de juiste machine-instellingen, eenheden, offsetten, toollengte-compensatie en de juist geconfigureerde post-processor. Een fout in een van deze onderdelen kan leiden tot slecht passende afmetingen, beschadigde gereedschappen of onveilige bewegingen.

G-code en g code vormen de ruggengraat van CNC-programmering en vormen de brug tussen digitaal ontwerp en fysieke productie. Door inzicht te krijgen in de basisprincipes, dialecten en best practices kun je de efficiëntie en precisie van bewerkingen aanzienlijk verhogen. Of je nu handmatig programmeert, CAM-gestuurd werkt of aan het klimmen bent naar geavanceerdere workflows zoals STEP-NC, de taal van G-code blijft centraal staan in elke moderne werkplaats.