G-code CNC pour débutants — guide complet avec exemples
Le G-code est le langage universel des machines CNC. Ce guide couvre les 14 codes essentiels, la structure d'un programme bloc par bloc et un exemple Fanuc complet commenté — pour comprendre un programme de A à Z et rédiger ses premiers fichiers en sécurité.
G-CODE — RÉFÉRENCE DÉBUTANT
G21 G17 G40 G90 G54 ; (2) appel outil T01 M06 / G43 H01 ; (3) broche+arrosage M03 S4000 / M08 ; (4) approche rapide G00 ; (5) usinage G01/G02/G03 à vitesse F ; (6) dégagement Z + M05 + M09 ; (7) fin M30. Règle de sécurité critique : G00 réservé aux déplacements hors matièreuniquement — une plongée G00 dans la pièce casse l'outil. Codes portables Fanuc / Siemens / Heidenhain / Haas / Mazak : G00, G01, G02, G03, G17-G19, G54-G59, G90/G91, M03/M05/M08/M09/M30.Les 14 codes G et M essentiels
Une vingtaine de codes suffit pour lire et écrire 90 % des programmes CNC industriels. Le tableau ci-dessous liste les 14 codes incontournables à mémoriser en premier, avec un exemple syntaxique complet par code.
| Code | Type | Description | Exemple |
|---|---|---|---|
| G00 | Déplacement | Déplacement rapide (sans coupe). Vitesse max machine. | G00 X100 Y50 Z5 |
| G01 | Déplacement | Déplacement linéaire en coupe à la vitesse F programmée. | G01 X150 Y50 F500 |
| G02 | Interpolation | Interpolation circulaire sens horaire. Rayon R ou centre I/J. | G02 X50 Y0 R25 F300 |
| G03 | Interpolation | Interpolation circulaire sens antihoraire. | G03 X0 Y50 R25 F300 |
| G17 | Plan | Sélection plan XY (fraisage — défaut). G18 = XZ, G19 = YZ. | G17 |
| G21 | Unités | Programmation en millimètres. G20 = pouces. | G21 |
| G40 | Correcteur | Annulation compensation rayon outil (G41/G42). | G40 |
| G54 | Origine | Activation décalage origine pièce 1 (G55 à G59 pour autres). | G54 |
| G90 | Mode | Programmation en coordonnées absolues (défaut). | G90 |
| G91 | Mode | Programmation en coordonnées relatives (incrémentales). | G91 G01 X10 F200 |
| M03 | Broche | Mise en rotation broche sens horaire. S = vitesse en tr/min. | M03 S3000 |
| M05 | Broche | Arrêt broche. | M05 |
| M08 | Arrosage | Arrosage ON. M09 = arrosage OFF. | M08 |
| M30 | Fin | Fin de programme + retour début. Remet les modaux à zéro. | M30 |
Structure type d'un programme — bloc par bloc
Chaque programme CNC suit une séquence canonique en 7 blocs, du plus sûr (réinitialisation modaux) au plus risqué (entrée matière). Respecter cet ordre évite 90 % des incidents débutants : oubli d'origine, broche tournant à l'envers, arrosage absent à l'attaque.
| Bloc | Rôle | Exemple ligne |
|---|---|---|
| En-tête sécurité | Réinitialiser modaux + sélectionner plan/unités/origine | G21 G17 G40 G90 G54 |
| Appel outil | Charger outil + correction longueur | T01 M06 / G43 H01 Z50 |
| Mise en route broche | Rotation broche + arrosage avant entrée matière | M03 S4000 / M08 |
| Approche | Déplacement rapide jusqu'au point d'attaque (hors matière) | G00 X-5 Y-5 Z2 |
| Usinage | Plongée + contournage à vitesse F | G01 Z-5 F200 / G01 X100 F800 |
| Dégagement | Sortie broche + arrosage OFF + retour origine | G00 Z50 / M09 / M05 / G91 G28 Z0 |
| Fin programme | Reset modaux + retour début | M30 |
G21 G17 G40 G90 G54remet explicitement les modaux dans un état connu (mm, plan XY, sans compensation, absolu, origine 1) — c'est une convention universelle, à recopier tel quel sur tous vos programmes.Exemple complet commenté — contournage carré 100×80 mm (Fanuc)
Programme Fanuc minimaliste qui contourne un carré de 100×80 mm à profondeur 5 mm avec une fraise Ø10. Chaque ligne est commentée — recopiez ce squelette puis adaptez les coordonnées, l'outil et la profondeur à votre pièce.
O0001 (CONTOURNAGE SIMPLE - FRAISAGE) N10 G21 G17 G40 G90 (Millimètres, plan XY, sans compensation, absolu) N20 G54 (Origine pièce 1) N30 T01 M06 (Appel outil 1 - fraise Ø10) N40 G43 H01 Z50 (Correction longueur outil 1, position sécurité Z50) N50 M03 S4000 (Broche en marche, 4000 tr/min) N60 M08 (Arrosage ON) N70 G00 X-5 Y-5 (Approche rapide XY) N80 G00 Z2 (Descente rapide à 2 mm de la pièce) N90 G01 Z-5 F200 (Plongée à -5 mm, avance 200 mm/min) N100 G01 X100 F800 (Contournage côté 1, F800) N110 G01 Y80 (Côté 2) N120 G01 X0 (Côté 3) N130 G01 Y0 (Côté 4 - retour) N140 G00 Z50 (Dégagement rapide en Z) N150 M09 (Arrosage OFF) N160 M05 (Arrêt broche) N170 G91 G28 Z0 (Retour origine machine en Z) N180 M30 (Fin programme)
O0001 par un en-tête ; et utilise des cycles propriétaires (CYCLE82, CYCLE83). Heidenhain TNC utilise une syntaxe « plain language » totalement différente. Haas et Mazak T-plus sont compatibles Fanuc à 95 %. Toujours vérifier le manuel constructeur pour les cycles fixes et les sous-programmes.Pour aller plus loin — articles connexes
Une fois les bases acquises, trois ouvertures fréquentes selon votre commande, votre type de géométrie et votre méthode de programmation préférée.
Mémo Atelier CNC — Paramètres de coupe par matière
Vc, fz, Ra pour 10 matières (acier, inox, alu, titane, Inconel...) + 7 formules essentielles + checklist 16 points. 2 pages, format A4, à imprimer et garder près de la machine.
Aucun spam. Désabonnement en 1 clic. Données utilisées uniquement pour l'envoi de ressources CNCYRON, conformément à notre politique de confidentialité.
Questions fréquentes
Sources et références
- ISO 6983-1:2009 — Commande numérique des machines — Format de programme et définition des mots adresses (G-code standard).
- ISO 14649 — STEP-NC, format moderne d'échange de programmes CNC orienté objet (alternative successeur ISO 6983).
- NF Z68-035 (AFNOR) — Programmation des commandes numériques, vocabulaire et symboles.
- Fanuc — Operator's Manual Series 0i / 30i / 31i (référence syntaxe G-code).
- Haas Automation — Mill Operator's Manual (codes G/M et sous-routines M97/M98).
- Siemens — Sinumerik 840D sl Programming Manual Fundamentals.