Maîtriser le G-Code : Commandes Essentielles pour Opérateurs CNC et Imprimantes 3D
Si votre travail ou passe-temps touche aux machines CNC ou imprimantes 3D, comprendre le G-code et son fonctionnement est indispensable. Dans ce tutoriel, nous apprendrons les bases du langage G-code, les commandes les plus importantes et courantes, et nous expliquerons comment elles fonctionnent. Le G-code est un langage de programmation pour machines à commande numérique (CNC - Computer Numerical Control). G-code signifie "Geometric Code" (Code Géométrique). On utilise ce langage pour dire à une machine quoi faire et comment le faire. Les commandes G-code indiquent à la machine où aller, à quelle vitesse et quel chemin suivre. Pour une machine-outil comme un tour ou une fraiseuse, l'outil de coupe est piloté par ces commandes pour suivre un parcours d'outil spécifique, enlevant de la matière pour obtenir la forme désirée. De même, pour la fabrication additive ou imprimantes 3D, les commandes G-code ordonnent à la machine de déposer de la matière, couche par couche, formant une forme géométrique précise. Au premier abord, un fichier G-code peut sembler compliqué, mais il est en fait assez simple à comprendre. En y regardant de plus près, la plupart des lignes ont la même structure. La partie "compliquée" ce sont tous ces nombres qui ne sont que des coordonnées cartésiennes. Examinons une ligne unique pour comprendre : G01 X247.951560 Y11.817060 Z-1.000000 F400.000000 La structure est : G## X## Y## Z## F## En résumé, la ligne Maintenant qu'on sait lire une ligne de G-code, voyons les commandes les plus importantes. Nous verrons comment chacune fonctionne par des exemples, et à la fin vous saurez lire, modifier et même écrire votre propre G-code. La commande G00 déplace la machine à sa vitesse maximale de déplacement depuis la position actuelle vers un point spécifié ou les coordonnées données. La machine déplace tous les axes simultanément pour qu'ils terminent le trajet en même temps, ce qui donne un mouvement en ligne droite vers le nouveau point. Le G00 est un mouvement sans coupe, son but est de positionner rapidement la machine pour commencer un travail (coupe, impression). La commande G01 ordonne à la machine de se déplacer en ligne droite à un débit d'avance (vitesse) défini. On spécifie la position finale avec X, Y, Z et la vitesse avec F. Le contrôleur calcule (interpole) les points intermédiaires pour obtenir cette ligne droite. Bien que ces commandes soient simples, le contrôleur effectue des milliers de calculs par seconde pour réaliser ces mouvements. Contrairement à G00 (positionnement seul), G01 est utilisé quand la machine effectue son travail principal : coupe en ligne droite pour tour/fraiseuse, extrusion en ligne droite pour imprimante 3D. La commande G02 ordonne à la machine de se déplacer dans un motif circulaire dans le sens horaire. Même concept que G01, utilisé lors du processus d'usinage approprié. En plus des paramètres de point final, il faut définir le centre de rotation, c'est-à-dire la distance du point de départ de l'arc par rapport au centre de l'arc. Le point de départ est en fait le point final de la commande précédente ou le point actuel. Pour mieux comprendre, ajoutons G02 après le G01 de l'exemple précédent. Dans l'exemple, G01 amène la machine au point X5, Y12. Ce sera le point de départ pour G02. Avec les paramètres X et Y de G02, on définit le point final. Pour y aller par un mouvement circulaire (arc), il faut définir le centre. On utilise les paramètres I et J. Leurs valeurs sont relatives au point de départ (point final de la commande précédente). Pour placer le centre en X5, Y7, il faut un décalage de 0 en X et -5 en Y. Bien sûr, on peut placer le centre ailleurs pour obtenir un arc différent aboutissant au même point final. Exemple : Même point final (X10, Y7), mais centre à (X0, Y2), donnant un arc plus large. Voir aussi : Comment Configurer GRBL et Contrôler une Machine CNC avec Arduino Voyons un exemple simple d'usinage CNC avec ces trois commandes principales. Pour obtenir le parcours d'outil pour la forme ci-dessus, il faut ces commandes G-code : Avec le premier G00, on amène rapidement la machine de sa position initiale (home) au point B(5,5). De là, on commence l'"usinage" à un débit de 200 avec G01. Notez que pour aller de B(5,5) à C(5,25) on utilise des valeurs X,Y relatives au point de départ B. Donc +20 en Y nous amène à C(5,25). Cela dépend si on a choisi le mode absolu ou relatif pour les coordonnées, ce qu'on verra plus loin. Une fois au point C(5,25), un autre G01 vers D(25,25). Puis G02 (mouvement circulaire) vers E(35,15) avec centre (25,15). Même centre pour le G02 suivant vers F(31,7), mais paramètres I et J différents car on décale le centre depuis le dernier point final (E). On termine avec un G01 de F(31,7) retour à B(5,5). C'est ainsi qu'on peut programmer manuellement le G-code pour cette forme. Notez que ce n'est pas un G-code complet (il manque quelques commandes de base). On fera un G-code complet plus tard après avoir expliqué ces commandes. Comme G02, la commande G03 définit un mouvement circulaire. La seule différence : le mouvement est anti-horaire. Toutes les autres règles sont identiques à G02. Avec ces trois commandes principales G01, G02 et G03, on peut générer un parcours d'outil pour littéralement n'importe quelle forme. C'est une tâche facile pour un ordinateur et un logiciel de FAO (CAM). Oui, on peut parfois écrire manuellement du G-code, mais la plupart du temps on utilise un logiciel approprié, bien plus facile et sûr. Néanmoins, expliquons encore quelques commandes importantes et à la fin, faisons un vrai exemple de G-code. Les commandes G20 et G21 définissent les unités du G-code : pouces ou millimètres. Les unités doivent être définies au début du programme. Si non spécifiées, la machine utilise celles du programme précédent. Ces commandes sélectionnent le plan de travail de la machine. G17 est le défaut pour la plupart des machines CNC, mais les deux autres peuvent servir pour des mouvements spécifiques. La commande G28 ordonne à la machine de déplacer l'outil vers son point de référence ou position d'origine (home). Pour éviter les collisions, on peut inclure un point intermédiaire avec paramètres X, Y, Z. L'outil passera par ce point avant d'aller à la référence. La position d'origine peut être définie avec Avec G90 et G91, on dit à la machine comment interpréter les coordonnées. G90 = mode absolu, G91 = mode relatif. En mode absolu, le positionnement est toujours depuis le point zéro absolu. En mode relatif, le positionnement est relatif au dernier point. Si la machine est à (10,10), Les commandes expliquées ci-dessus sont les plus courantes, mais il en existe beaucoup d'autres : compensation d'outil, mise à l'échelle, systèmes de coordonnées de travail, pause (dwell), etc. En plus du G-code, il y a les M-code (codes divers) utilisés dans un vrai programme G-code complet. Quelques M-codes courants : Pour une imprimante 3D : Certaines commandes nécessitent des paramètres. Par exemple, M03 (broche ON) peut prendre le paramètre S pour la vitesse : Beaucoup de codes sont modaux : ils restent en vigueur jusqu'à annulation ou remplacement. Exemple : Idem pour le paramètre F (débit) : pas besoin de le répéter sauf pour le changer. Dans certains fichiers G-code, on voit "N##" devant les commandes. Le mot N numérote simplement la ligne ou bloc de code, utile pour identifier une ligne spécifique en cas d'erreur dans un gros programme. Après tout cela, nous pouvons maintenant écrire un vrai programme G-code manuellement. Voici un exemple : Description du programme G-code : Voici à quoi ressemble ce code prêt à être envoyé à la CNC via Universal G-code Sender : Avec ces commandes principales, nous avons écrit notre propre G-code complet. Bien sûr, cet exemple est simple ; pour des formes complexes, un logiciel de FAO est indispensable. Exemple de G-code complexe (forme cheval, ~700 lignes) généré automatiquement : Ce code a été généré avec Inkscape pour ma machine de découpe mousse CNC Arduino DIY. Résultat : Consultez mon tutoriel dédié pour plus de détails sur cette machine. Nous avons couvert les bases du G-code, expliqué les commandes les plus importantes et écrit manuellement un vrai G-code. Comprendre le G-code n'est pas si difficile. Bien sûr, il existe de nombreuses autres commandes et fonctionnalités pour l'usinage CNC ou l'impression 3D, mais ce sera pour d'autres tutoriels. Si cet article vous a été utile, partagez-le avec d'autres passionnés CNC et impression 3D. N'hésitez pas à poser vos questions dans les commentaires.Introduction
Qu'est-ce que le G-code ?
Comment Lire les Commandes G-code ?

G01 X247.951560 Y11.817060 Z-1.000000 F400 dit à la machine CNC de se déplacer en ligne droite depuis sa position actuelle vers les coordonnées X247.951560, Y11.817060, Z-1.000000 à une vitesse de 400 mm/min. L'unité est mm/min car on a utilisé la commande G21 qui définit les unités en millimètres. Pour les pouces, on utilise G20.Les Commandes G-code les Plus Importantes / Courantes
G00 – Positionnement Rapide

G01 – Interpolation Linéaire

G02 – Interpolation Circulaire Horaire


Exemple G00, G01, G02 – Programmation Manuelle G-code

G00 X5 Y5 ; point B
G01 X0 Y20 F200 ; point C
G01 X20 Y0 ; point D
G02 X10 Y-10 I0 J-10 ; point E
G02 X-4 Y-8 I-10 J0 ; point F
G01 X-26 Y-2 ; point BG03 – Interpolation Circulaire Anti-horaire

G20 / G21 – Sélection des Unités
G17 / G18 / G19 – Sélection du Plan de Travail

G28 – Retour à l'Origine (Home)
G28 X## Y## Z##
G28.1 X## Y## Z##.G90 / G91 – Commandes de Positionnement
G01 X10 Y5 amène l'outil exactement au point (10,5), peu importe la position précédente.G01 X10 Y5 l'amène à (20,15). Ce mode est aussi appelé "mode incrémental".Autres Commandes et Règles
M03 S1000 lance la broche à 1000 tr/min.G01 X5 Y7 F200. Si le mouvement suivant est aussi une coupe linéaire, on peut juste donner les coordonnées X,Y sans réécrire G01.G01 X5 Y7 F200
X10 Y15
X12 Y20
G02 X5 Y5 I0 J-5
X3 Y6 I-2 J0Exemple de Programme G-code Complet

%
G21 G17 G90 F100 M03 S1000
G00 X5 Y5 ; point B
G01 X5 Y5 Z-1 ; point B
G01 X5 Y15 Z-1 ; point C
G02 X9 Y19 Z-1 I4 J0 ; point D
G01 X23 Y19 Z-1 ; point E
G01 X32 Y5 Z-1 ; point F
G01 X21 Y5 Z-1 ; point G
G01 X21 Y8 Z-1 ; point H
G03 X19 Y10 Z-1 I-2 J0 ; point I
G01 X13 Y10 Z-1 ; point J
G03 X11 Y8 Z-1 I0 J-2 ; point K
G01 X11 Y5 Z-1 ; point L
G01 X5 Y5 Z-1 ; point B
G01 X5 Y5 Z0
G28 X0 Y0
M05
M30
%



Conclusion
Processus de fabrication
- Qualités essentielles des pigments pour peintures haute performance
- Transformateurs RF : Conception, fonctionnement et applications clés
- Fortune nomme Grainger « entreprise la plus admirée » chez les grossistes diversifiés
- 6 facteurs clés à considérer avant de choisir un atelier d'usinage
- Programmation CNC démystifiée : Code G vs Code M
- Top 5 des directives essentielles de sécurité pour grues pour des opérations plus sûres
- Top 4 stratégies pour recruter les bons candidats pour les postes clés en usine
- Le rôle critique du Design for Manufacturing (DFM) dans le succès hardware
- Éléments essentiels d'une nomenclature (BOM) – 7 points clés pour tout concepteur PCB