- Maison
- Ressources
- Données
- Tableau de référence des commandes G-Code
Le G-code (code géométrique) est le langage de programmation universel utilisé pour contrôler les machines CNC (commande numérique par ordinateur). Développé dans les années 1950 au MIT, le G-code reste la pierre angulaire de l'usinage CNC moderne, permettant un contrôle précis des processus d'usinage tels que le fraisage, le tournage et la découpe laser.
Chaque commande de code G commence par une lettre (par exemple, G, M ou F) suivie de valeurs numériques, dirigeant la machine vers :
- Contrôler le mouvement (commandes G):Déterminer la trajectoire et la vitesse de l'outil (par exemple, déplacement vers des coordonnées, mouvement linéaire/en arc).
- Gérer les fonctions (commandes M): Gérer les actions de démarrage/arrêt (par exemple, rotation de la broche, changements d'outils, marche/arrêt du liquide de refroidissement).
Bien que normalisés selon la norme ISO 6983, des variations existent selon les fabricants de machines (par exemple, Fanuc, Haas, Siemens). Ce tableau couvre 90% de codes G à usage général. Pour les fonctions avancées (5 axes, macros), consultez toujours le manuel de votre machine pour connaître la compatibilité.
Concepts clés :
- Commandes modales: Reste actif jusqu'à ce qu'il soit remplacé (par exemple,
G01
reste en mode de mouvement linéaire). - Commandes non modales: Exécuter une fois (par exemple,
G28
revient à la position d'origine). - Unités:
G20
(pouces) /G21
(millimètres). - Systèmes de coordonnées:
G54
–G59
(décalages de travail),G90
(positionnement absolu),G91
(positionnement incrémental). - Exécution séquentielle : La machine lit le code ligne par ligne, de haut en bas, Pas de saut ni de boucle sauf si vous utilisez des fonctionnalités avancées

Catégories de code G
Catégorie | Exemples de commandes | Fonction principale |
---|---|---|
Contrôle de mouvement | G00, G01, G02, G03 | Mouvement de l'outil (rapide/linéaire/arc) |
Sélection d'avion | G17, G18, G19 | Sélectionnez le plan de travail (XY/XZ/YZ) |
Unités et mesures | G20 (pouces), G21 (mm) | Définir le système de mesure |
Systèmes de coordonnées | G54-G59, G92 | Définir des décalages de travail ou des coordonnées temporaires |
Compensation d'outil | G40, G41, G42, G43 | Ajuster en fonction de la taille/longueur de l'outil |
Cycles en conserve | G81-G89 | Routines de perçage/taraudage automatisées |
Contrôle de la broche | M03, M04, M05 | Démarrer/arrêter la rotation de la broche |
Contrôle du liquide de refroidissement | M08, M09 | Activer/désactiver le liquide de refroidissement |
Contrôle du programme | M30, M02 | Fin du programme/réinitialisation de la machine |
Fonctions spéciales | G28, G53 | Retour aux coordonnées d'origine/machine |
Note: 80% des programmes de base utilisent simplement : G00/G01
, G17/G20/G21
, M03/M05
, et M30
.
Tableau de référence des commandes G-Code courantes
Commande | Fonction | Paramètres | Exemple | Remarques |
---|---|---|---|---|
G00 | Positionnement rapide (mouvement sans coupe) | X, Y, Z (coordonnées cibles) | G00 X10 Y5 Z2 | Évitez les collisions ; aucune coupure ne se produit. |
G01 | Interpolation linéaire (mouvement de coupe) | X, Y, Z, F (vitesse d'avance) | G01 X20 Y15 Z0 F150 | Maintenir un taux d’alimentation constant pour la finition de surface. |
G02 | Interpolation circulaire dans le sens des aiguilles d'une montre | X, Y, I, J, K (décalages du centre de l'arc) | G02 X30 Y30 I5 J0 | I/J/K définissent le centre de l'arc par rapport au point de départ. |
G03 | Interpolation circulaire dans le sens inverse des aiguilles d'une montre | Identique à G02 | G03 X40 Y20 I0 J-5 | Utilisé pour les arcs et les cercles. |
G17 | Sélection du plan XY | Aucun | G17 | Plan par défaut pour la plupart des opérations de fraisage. |
G18 | Sélection du plan XZ | Aucun | G18 | Utilisé pour les opérations de tournage. |
G19 | Sélection de l'avion YZ | Aucun | G19 | Rarement utilisé dans le fraisage standard. |
G20 | Unités en pouces | Aucun | G20 | Définit toutes les valeurs en pouces. |
G21 | Unités métriques | Aucun | G21 | Définit toutes les valeurs en millimètres. |
G28 | Retour à la position d'origine | X, Y, Z (facultatif via intermédiaire) | G28 X0 Y0 Z0 | La machine se déplace vers le point de référence. |
G40 | Annuler la compensation du coupeur | Aucun | G40 | Désactive le décalage du rayon de l'outil. |
G41 | Compensation du coupeur gauche | D (numéro de décalage du rayon de l'outil) | G41 D1 | Compense le rayon de l'outil à gauche du chemin. |
G42 | Compensation du coupeur droit | D (numéro de décalage du rayon de l'outil) | G42 D2 | Compense le rayon de l'outil à droite du chemin. |
G43 | Compensation de longueur d'outil | H (numéro de décalage de hauteur d'outil) | G43 H3 | S'ajuste à la longueur de l'outil ; essentiel pour les configurations multi-outils. |
G54 | Système de coordonnées de travail 1 | Aucun | G54 | Sélectionne un décalage de travail prédéfini (G54–G59). |
G80 | Annuler les modes de mouvement | Aucun | G80 | Annule les cycles (par exemple, perçage, taraudage). |
G90 | Positionnement absolu | Aucun | G90 | Toutes les coordonnées sont relatives à l'origine. |
G91 | Positionnement incrémental | Aucun | G91 | Les coordonnées sont relatives à la position actuelle. |
M03 | Démarrage de la broche (sens horaire) | S (vitesse de broche) | M03 S2000 | La broche tourne dans le sens des aiguilles d'une montre à 2000 tr/min. |
M04 | Démarrage de la broche (sens inverse des aiguilles d'une montre) | S (vitesse de broche) | M04 S1500 | Utilisé pour les opérations de coupe inversée. |
M05 | Arrêt de la broche | Aucun | M05 | Arrête la broche après l'opération. |
M06 | Changement d'outil | T (numéro d'outil) | M06 T5 | Changement d'outil automatique (nécessite ATC). |
M08 | Liquide de refroidissement activé | Aucun | M08 | Active le liquide de refroidissement par inondation. |
M09 | Liquide de refroidissement désactivé | Aucun | M09 | Coupe le liquide de refroidissement. |
M30 | Fin et réinitialisation du programme | Aucun | M30 | Termine le programme et réinitialise la machine. |
F | Débit d'alimentation | Valeur d'avance (unités/min ou unités/tour) | F200 | Régler en G94 (unités/min) ou G95 (unités/tour). |
S | Vitesse de la broche | valeur RPM | S3000 | La vitesse dépend du matériau et du type d'outil. |
J | Sélection d'outils | Numéro d'outil | T4 | Prépare l'outil pour la commande M06. |
FAQ
Non. Les logiciels de FAO modernes génèrent la plupart du code automatiquement. Concentrez-vous sur la compréhension des commandes courantes, comme G00
, G01
, M03
, et M30
.
Les fonctionnalités de base sont universelles, mais les fonctionnalités avancées varient selon la marque. Par exemple :
- Haas : G187 (mode haute vitesse)
- Fanuc : G05.1 (lissage)
Consultez toujours le manuel de votre machine pour plus de détails.
Oui. Par exemple :
En utilisant G00
(mouvement rapide) au lieu de G01
(coupe lente) → L'outil s'écrase sur la pièce.
Oubli M05
(arrêt de la broche) → La broche continue de tourner après la fin du programme.
- Testez d'abord : exécutez les programmes en mode « dry run » (pas de découpe).
- Mode bloc unique : exécutez une ligne à la fois pour détecter les erreurs.
- Paramètres de sauvegarde : notez les décalages de la machine avant de les modifier.
- Espace de travail propre : retirez les débris qui pourraient gêner les mouvements.
Oui, mais ne modifiez que les valeurs que vous comprenez parfaitement et ne modifiez jamais les trajectoires d'outils sans logiciel de FAO – de petites erreurs peuvent provoquer des plantages.
Programmes FAO : Fusion 360, Mastercam, SolidWorks CAM (payant), FreeCAD, Easel (basé sur le Web).
Note: Évitez d’écrire du code à partir de zéro, sauf si vous êtes expérimenté.
Ressources
- Documentation du code G de LinuxCNC
- Manuel de programmation des séries Fanuc 30i/31i/32i
- Guide de programmation avancé du Siemens 840D SL
- Norme ISO 6983-1
- Cahier d'exercices de programmation du broyeur Haas
- Manuel de programmation CNC Mazak SmoothX
- Notions de base sur le G-Code (NRAO)
- Blog sur les livres de cuisine CNC
- NC Viewer (Web, gratuit)
- CAMotics (Open source)
- Vericut
- Machiniste pratique
- Forum LinuxCNC
- Stack Exchange – Fabrication
- Reddit r/CNC