CNCYRON
Connexion
ProgrammationISO 698329 mars 2026 · 8 min de lecture

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

Le G-code est le langage standardisé (ISO 6983) qui pilote les machines CNC. Codes G = fonctions préparatoires (déplacement, plan, unités) ; codes M = fonctions auxiliaires (broche, arrosage, fin programme). Squelette minimal d'un programme : (1) en-tête sécurité 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.

CodeTypeDescriptionExemple
G00DéplacementDéplacement rapide (sans coupe). Vitesse max machine.G00 X100 Y50 Z5
G01DéplacementDéplacement linéaire en coupe à la vitesse F programmée.G01 X150 Y50 F500
G02InterpolationInterpolation circulaire sens horaire. Rayon R ou centre I/J.G02 X50 Y0 R25 F300
G03InterpolationInterpolation circulaire sens antihoraire.G03 X0 Y50 R25 F300
G17PlanSélection plan XY (fraisage — défaut). G18 = XZ, G19 = YZ.G17
G21UnitésProgrammation en millimètres. G20 = pouces.G21
G40CorrecteurAnnulation compensation rayon outil (G41/G42).G40
G54OrigineActivation décalage origine pièce 1 (G55 à G59 pour autres).G54
G90ModeProgrammation en coordonnées absolues (défaut).G90
G91ModeProgrammation en coordonnées relatives (incrémentales).G91 G01 X10 F200
M03BrocheMise en rotation broche sens horaire. S = vitesse en tr/min.M03 S3000
M05BrocheArrêt broche.M05
M08ArrosageArrosage ON. M09 = arrosage OFF.M08
M30FinFin de programme + retour début. Remet les modaux à zéro.M30
DANGER
G00 vs G01 — la règle qui évite la casse
G00 = vitesse maximale machine (souvent 30-60 m/min en rapide). JAMAIS en matière: la trajectoire n'est pas garantie linéaire entre A et B sur certaines commandes (chemin en L), et l'impact à pleine vitesse casse l'outil voire la broche. G01 = vitesse F programmée (mm/min), trajectoire linéaire interpolée garantie. Règle: G00 hors matière (approches Z et XY au-dessus de la pièce), G01 dès qu'on touche ou qu'on s'apprête à toucher la matière.

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.

BlocRôleExemple ligne
En-tête sécuritéRéinitialiser modaux + sélectionner plan/unités/origineG21 G17 G40 G90 G54
Appel outilCharger outil + correction longueurT01 M06 / G43 H01 Z50
Mise en route brocheRotation broche + arrosage avant entrée matièreM03 S4000 / M08
ApprocheDéplacement rapide jusqu'au point d'attaque (hors matière)G00 X-5 Y-5 Z2
UsinagePlongée + contournage à vitesse FG01 Z-5 F200 / G01 X100 F800
DégagementSortie broche + arrosage OFF + retour origineG00 Z50 / M09 / M05 / G91 G28 Z0
Fin programmeReset modaux + retour débutM30
INFO
Pourquoi un en-tête de sécurité ?
Les codes G/M sont modaux: ils restent actifs jusqu'à annulation. Si le programme précédent s'est terminé en G91 incrémental ou avec G42 actif, le nouveau démarrage hérite de ces états. L'en-tête 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)
ATTENTION
Adaptation par constructeur
Cet exemple est en syntaxe Fanuc(la plus répandue dans l'industrie européenne). Siemens 840D / Sinumerik remplace 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.

Interpolation circulaire G02/G03/blog/g02-g03-interpolation-circulaire-cnc/Arcs et cercles — rayon R vs centre I/J, sens horaire/antihoraireCoordonnées polaires G15/G16/blog/coordonnees-polaires-g15-g16-cnc/Géométries circulaires répétées sans calcul cartésien manuelSous-programmes et paramètres/blog/programmation-cnc-sous-programmes-parametres/Réutiliser des séquences avec M98/M99 et variables #1-#33Programmation Haas/blog/programmation-haas-guide-debutant/Conventions Haas — sous-routines M97, dialecte Fanuc-compatibleCycles Sinumerik 840D/blog/siemens-sinumerik-cycles-usinage-programmation/CYCLE82, CYCLE83 et syntaxe Siemens vs FanucHub programmation CNC/programmation-cnc/Codes G/M, Fanuc, Siemens, Mazatrol, Heidenhain — vue d'ensemble
📄 OUTIL ATELIER — PDF À IMPRIMER

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

Calculer paramètres et tolérances

Vitesse de broche N/calculateurs/vitesse-broche/N = (1000 × Vc) / (π × D) — calcul S avant programmeAvance fraisage Vf/calculateurs/avance-fraisage/Vf = fz × z × N — paramètre F en mm/minTolérance ISO 286/calculateurs/tolerance-iso/H7/h6 et ajustements — données pièce avant prog