Ce que décrit le G-code
Le G-code est un langage d’instructions organisé en lignes, utilisé par les imprimantes 3D, les machines CNC et les systèmes de mouvement apparentés. Une ligne peut demander un déplacement, modifier un réglage modal, fixer une température ou mettre à jour une fonction propre au contrôleur.
Une commande a rarement un sens isolément. Son résultat peut dépendre du mode d’unités, du mode de coordonnées, du mode d’extrusion, de la configuration de la machine et du firmware qui interprète le fichier. Cette référence documente donc à la fois le sens courant et le contexte susceptible de le modifier.
Le G-code se comprend mieux comme une famille de dialectes apparentés que comme une norme de fichier parfaitement uniforme. La syntaxe de mouvement de base se recoupe, tandis que les commandes disponibles, les paramètres, les valeurs par défaut et les extensions dépendent du firmware visé et de sa configuration.
Lire une ligne de commande
G1 X120 Y40 E1.6 F1800G1Demande un déplacement linéaire coordonné.
X / YDonnent la position cible ou la distance, selon G90/G91.
EDonne une position ou une distance d’extrudeur, selon M82/M83.
FFixe la vitesse d’avance. Les fichiers d’impression l’expriment généralement en millimètres par minute, et les déplacements suivants reprennent souvent la dernière valeur.
; ...Ouvre habituellement un commentaire destiné aux humains ou aux logiciels. Les trancheurs y indiquent les couches et les types d’élément, mais ces étiquettes ne sont pas normalisées.
Une lettre ne porte pas une unité unique indépendante du contexte. X peut être une coordonnée et F une vitesse d’avance, tandis que S peut représenter une température, la puissance du ventilateur ou un autre réglage. Interprétez chaque paramètre à travers la commande à laquelle il appartient.
Un fichier d’impression comporte généralement trois parties
Préparation
Fixe les unités et les modes de positionnement, lance les chauffes, prend l’origine des axes, sélectionne un outil et peut exécuter un palpage, un nettoyage ou des macros de démarrage. C’est ce qui détermine la lecture des valeurs suivantes.
Corps en couches
De longues séquences de mouvement, d’extrusion, de rétraction et de changements de ventilation et de température forment la pièce. Les couches et les types d’élément sont souvent signalés par des commentaires du trancheur plutôt que par des commandes dédiées.
Arrêt
Coupe les chauffes et les ventilateurs, relève ou range la tête, libère les moteurs et peut appeler une macro de fin propre à la machine. Une fin manquante peut laisser la machine dans un état inattendu.
; début : établir l’état
G21
G90
M83
G28
; corps : déplacement à vide, puis impression
G0 X40 Y20 Z0.20 F9000
G1 X80 Y20 E1.40 F1800
; fin : couper les sorties actives
M104 S0
M140 S0
M107Il s’agit d’une illustration structurelle, pas d’un fichier complet exécutable sur n’importe quelle machine. Le sens de prise d’origine, l’ordre de chauffe, la position de rangement et les noms de macro doivent correspondre à l’imprimante visée.
L’état change le sens
| État | Commandes | Pourquoi c’est important |
|---|---|---|
| Positionnement des axes | G90 / G91 | Les valeurs X, Y et Z suivantes deviennent des positions absolues ou des distances relatives. |
| Positionnement de l’extrusion | M82 / M83 | L’axe E peut utiliser un mode indépendant de celui des axes de mouvement. |
| Unités | G20 / G21 | Les coordonnées et les vitesses peuvent être interprétées en pouces ou en millimètres. |
| Vitesse d’avance | F | De nombreux interpréteurs conservent la dernière valeur de F jusqu’à ce qu’un déplacement ultérieur la modifie. |
| Outil actif | T0 / T1... | Sur une machine multi-outils, la même commande de température ou d’extrusion peut agir sur un autre outil. |
| Redéfinition des coordonnées | G92 | La position physique actuelle peut recevoir de nouvelles coordonnées logiques sans aucun déplacement. |
L’état persistant est une source fréquente d’erreur de lecture. E1.6 seul ne prouve pas que 1,6 mm ont été ajoutés : sous M83 c’est l’incrément de ce déplacement, sous M82 c’est la nouvelle position cumulée.
Le contexte du firmware compte
Marlin, Klipper, RepRapFirmware et les contrôleurs CNC se recoupent sur les commandes de mouvement fondamentales, mais ils ne forment pas un langage parfaitement interchangeable. Un même objectif machine peut passer par d’autres noms de commande, d’autres paramètres ou d’autres échelles de valeurs.
| Système | Modèle d’extension | Ce qu’il faut vérifier |
|---|---|---|
| Marlin | Commandes de style RepRap | De nombreuses fonctions sont des options de compilation : deux compilations d’une même version peuvent exposer des commandes différentes. |
| Klipper | Sous-ensemble standard + extensions nommées | Il prend délibérément en charge un sous-ensemble standard commun, ajoute des noms comme SET_PRESSURE_ADVANCE et permet aux macros d’ajouter ou de remplacer des comportements. |
| RepRapFirmware | G-code partout + macros et expressions | La configuration, la commande et les rapports d’état reposent largement sur le G-code, et les versions récentes prennent aussi en charge les métacommandes et les expressions. |
| LinuxCNC / RS274NGC | Groupes modaux CNC et systèmes de coordonnées | Les notions CNC comme la broche, la correction d’outil, les coordonnées pièce et les cycles fixes n’impliquent ni axe E ni chauffes au sens d’une imprimante. |
Le nom du firmware, sa version et sa configuration constituent donc le contexte minimal de compatibilité. Ni l’extension du fichier ni une exécution réussie sur la machine de quelqu’un d’autre ne prouvent une exécution identique sur votre imprimante.
Comment examiner un fichier inconnu
- Identifiez le trancheur, la machine visée et le firmware. Sans ce contexte, considérez la compatibilité comme inconnue.
- Lisez les unités, le mode des axes, le mode d’extrusion, la prise d’origine et la configuration de l’outil et des chauffes avant d’interpréter les déplacements suivants.
- Suivez les variations de X/Y/Z séparément de celles de E pour distinguer déplacement à vide, impression, rétraction et réamorçage.
- Traitez les commentaires précédés d’un point-virgule comme des indices fournis par le trancheur, pas comme des commandes nécessairement exécutées, et ne supposez pas que tous les trancheurs emploient les mêmes étiquettes.
- Pour les macros, les extensions nommées ou les codes M inconnus, consultez la documentation officielle de la version de firmware concernée plutôt que de deviner d’après le numéro.
- Enfin, vérifiez que la fin du fichier coupe chauffes, ventilateurs et autres sorties, et que les mouvements de rangement ne peuvent ni dépasser les limites ni heurter la pièce.
Ce que contient chaque page de commande
- Une définition concise, suivie de l’état nécessaire pour interpréter la commande.
- La syntaxe et le sens des paramètres, avec des exemples de G-code concrets.
- Les différences entre firmwares et les erreurs susceptibles de changer le comportement de la machine.
- Un énoncé transparent de ce que la visionneuse locale peut vérifier — et de ce qu’elle ne peut pas.
Ce que la visionneuse peut montrer
La visionneuse peut afficher les trajectoires prises en charge et certains détails du fichier. Elle ne peut ni reproduire les réglages de l’imprimante ni prédire exactement ce que fera une machine physique.
Commencez par ces commandes clés
Sources officielles utilisées pour ce guide
Rédigé le 8 août 2026 à partir des sources primaires suivantes. Ensemble, elles expliquent la structure de ligne commune et les raisons de la divergence entre dialectes de contrôleurs.