Commandes G Code dans l’impression 3D – Apprends le langage de ton imprimante 3D !

Code G ou GCode. Tu as certainement déjà entendu ce terme ou tu l’as lu dans le glossaire si tu t’es déjà un peu intéressé à l’impression 3D. Dans cet article, je vais te dire ce qu’est un code G et à quoi il sert dans l’impression 3D. De plus, je te montre quelles commandes G-Code sont importantes pour toi si tu veux commencer à imprimer en 3D ou si tu l’as déjà fait.

Le code G : Qu’est-ce que c’est et à quoi sert-il ?

Imprimante 3D ne peuvent pas faire grand-chose avec les modèles 3D aux formats .Stl, .obj, etc., car ils contiennent certes la forme géométrique, mais pas comment l’imprimante 3D doit traiter cette forme. « A quelle vitesse le modèle doit-il être imprimé dans la couche numéro 5 ? » et d’autres questions similaires doivent trouver une réponse pour l’imprimante 3D. Les réponses se trouvent dans le code G, qui constitue donc le langage de l’imprimante 3D. Ce n’est qu’avec un code G que l’imprimante sait ce qu’elle doit faire.

Le slicer traduit le modèle 3D en code G et y ajoute en outre des données pertinentes pour la machine. Ceux-ci ont été définis avec précision pour l’imprimante 3D utilisée. Cela signifie que le code G que tu as créé pour ton kit d’impression 3D, comme l’imprimante Creality CR-10, ne fonctionnera pas pour ton ami avec une Ultimaker 2.

Pour ce faire, il faudrait revoir les paramètres relatifs à la machine. La taille du lit d’impression, par exemple, en fait partie. Si ce paramètre est mal choisi, l’imprimante démarre au milieu du lit d’impression pour toi et peut-être même en dehors pour ton ami.

C’est pourquoi il est préférable d’avoir des connaissances de base en matière de codes G, afin de pouvoir comprendre les codes défectueux et les améliorer si nécessaire. Note que certaines commandes commencent par la lettre G et d’autres par un M.

Les commandes G-Code fréquemment utilisées et leur signification

Dans ce qui suit, je vais te montrer ce que dit chaque commande G-Code, quelles personnalisations sont possibles et à quoi peut ressembler une telle commande G-Code.

G1-L’instruction pour le mouvement linéaire

La commande G1 est celle que ton imprimante 3D exécute la plupart du temps. C’est pourquoi il n’est pas mauvais de s’y intéresser d’un peu plus près. G1 dit à ton imprimante de se déplacer en ligne droite jusqu’au point suivant. Tu peux utiliser cette commande pour contrôler un axe ou plusieurs axes à la fois.

Remarque : L’extrudeuse est commandée comme n’importe quel autre axe. Tu peux ainsi contrôler le flux de matière (extrusion) et le rétractable du filament.

Valeurs :
Si tu indiques X, Y et Z, tu peux indiquer à l’imprimante quels points elle doit atteindre. Notez cependant que ces commandes sont exécutées en fonction du type de positionnement (absolu/relatif) et qu’elles se dirigent donc soit vers les coordonnées exactes, soit vers la distance du point actuel.

Si tu ajoutes une commande E, tu peux déterminer si l’imprimante 3D doit aussi extruder sur le chemin et si oui, combien. Notez que la longueur d’extrusion se réfère à la matière qui est poussée dans la buse (nozzle) par l’alimentateur. Donc, si tu dis à ton imprimante d’extruder 10 mm, la longueur qui sort de la buse n’est pas aussi de 10 mm, mais beaucoup plus longue. Cela est dû au fait que le filament a un diamètre de 1,75 mm ou 2,85 mm et que la buse ne mesure généralement que 0,4 mm. C’est pourquoi les valeurs E provenant du slicer sont inférieures à la distance que l’imprimante doit parcourir.

La commande F indique à ton imprimante à quelle vitesse elle doit effectuer le mouvement en question. Cette vitesse est toujours exprimée en mm/min, même si tu as choisi mm/s dans le slicer. Ne t’étonne donc pas si le code G contient les valeurs converties.

De nombreuses imprimantes 3D n’ont besoin que des valeurs pour les axes qui doivent effectivement être déplacés. Si tu veux que seul l’axe X se déplace, tu ajoutes X et une valeur F pour la vitesse.

Exemples :

G1 Exemple de codeDescription
G1 X0 Y0 F2400Déplace-toi sur le lit chauffant jusqu’au point X=0, Y=0 à une vitesse de 2400 mm/min.
G1 Z10 F1200Déplace l’axe Z à la valeur Z=10mm à une vitesse de 1200 mm/min.
G1 X30 E10 F1800Enfonce 10 mm de filament dans la buse tout en te déplaçant sur le lit chauffant jusqu’au point X=30 mm à une vitesse de 1800 mm/min.

G4-Pause de l’impression pendant un certain temps

Avec la commande G4, tu as la possibilité de mettre ton imprimante en pause pendant un certain temps.

valeurs :

P000– L’imprimante attend pendant une durée déterminée en millisecondes

S000– L’imprimante attend pendant un certain temps en secondes (cette commande ne s’applique qu’ aux firmwares Repetier, Marlin, RepRap et Smoothieware)

Exemples :

G4 Exemple de codeDescription
G1 P500Attends 500 millisecondes et ne fais rien pendant ce temps – Pendant ce temps, tous les paramètres de l’imprimante, comme la température du lit de chauffe, etc. sont maintenus, tu n’as donc pas à craindre que cela gâche ton impression.

G21-Modification des unités en millimètres

En fait, vous ne devriez pas avoir à utiliser cette commande si souvent, car presque toutes les imprimantes 3D sont configurées par défaut dans l’unité [mm] travailler. Néanmoins, il n’est pas inutile de garder ce code à l’esprit si tu as l’impression que ton imprimante est réglée en pouces.

valeurs :

Pas de

exemple :

G21

G28-Exécute le homing

Cette commande permet à ton imprimante 3D d’effectuer ce que l’on appelle le homing. Lors du homing, la tête d’impression revient à son « point zéro », qu’elle a atteint lorsqu’elle est arrivée aux arrêts finaux pour tous les axes (X, Y et Z). En effet, la tête d’impression aura alors le même point de départ pour chaque impression. Les chemins dans le code G sont donnés à partir de ce point de départ. Sans cette référence à un point précis, les impressions 3D ne pourraient pas être réalisées de manière raisonnable. À la fin d’une impression, cette commande est également souvent exécutée. Cela permet d’extraire facilement les modèles imprimés en 3D.

valeurs :
Si aucune valeur n’est indiquée, ton imprimante se dirigera vers les arrêts finaux des trois axes. Mais tu peux aussi déterminer toi-même les axes sur lesquels il doit se déplacer en ajoutant simplement les lettres X, Y ou Z.

Exemples :

Exemple de code G20Description
G28Homing pour tous les axes (X, Y et Z)
G28 X YHoming pour les axes X et Y
G28 ZHoming uniquement pour l’axe Z

G90 et G91-Régler le mode de positionnement (Positioning Mode)

Ton imprimante peut effectuer un positionnement absolu ou relatif :

  • Positionnement absolu : tu indiques ici à ton imprimante 3D les coordonnées exactes pour X, Y ou Z qu’elle doit atteindre. Pour cela, tu utilises la commande G90.
  • Positionnement relatif : tu dis ici à ton imprimante 3D à quelle distance de sa position actuelle (X,Y,Z) elle doit se déplacer dans la direction (X,Y,Z). Cela fonctionne avec la commande G91.

Tu trouveras probablement plus souvent le positionnement absolu dans tes G-codes, car le slicer connaît déjà les coordonnées exactes pour les trois axes et les utilise pour déterminer la position absolue.

valeurs :
Aucune.

Exemples :

G90 Exemple de codeDescription
G90Utilise le positionnement absolu pour les trois axes
G1 X10 F3600Déplace-toi sur le lit chauffant jusqu’au point X=10mm à une vitesse de 3600 mm/min (F3600)
G1 X20 F3600Déplace-toi sur le lit chauffant jusqu’au point X=20mm à une vitesse de 3600 mm/min.

G91 Exemple de codeDescription
G91Utilise le positionnement relatif pour les trois axes
G1 X10 F3600Déplace-toi de 10 mm vers la droite à partir de la position actuelle sur le lit chauffant, à une vitesse de 3600 mm/min.
G1 X10 F3600Déplace-toi de la position actuelle sur le lit chauffant de 10 mm supplémentaires vers la droite, à une vitesse de 3600 mm/min.

G92-Définition de la position actuelle (Current Position)

Utilise cette commande si tu veux définir la position actuelle de tes axes. On peut ainsi compenser des décalages (offsets) sur certains axes. Ce champ est souvent utilisé en combinaison avec l’extrudeuse, c’est-à-dire l' »axe » E, pour déterminer la position du filament. Tu peux ainsi écraser la position actuelle du filament et toutes les autres commandes relatives à l’extrudeuse prendront cette position comme point de référence.

valeurs :
Détermine la coordonnée absolue pour l’axe que tu veux écraser avec la commande G92. Cela fonctionne pour X, Y, Z et aussi E. Si tu supprimes un axe, sa valeur n’est pas non plus remplacée par la position actuelle.

Exemples :

G92 Exemple de codeDescription
G92 E0Règle la position actuelle du filament sur E=0 dans l’extrudeuse.
G1 E10 F800Extrude un filament d’une longueur de 10 mm

Commandes M104 et M109 pour le réglage de la température de l’extrudeuse

Ces deux commandes de code G servent à régler le paramètre de température de l’extrudeuse.

  • M104 : cette commande commence à chauffer l’extrudeuse et permet d’exécuter directement d’autres commandes.
  • M109 : Cette commande permet d’attendre que la température souhaitée de l’extrudeuse soit atteinte. Ce n’est qu’ensuite que d’autres commandes peuvent être exécutées.

Vous verrez probablement plus souvent l’instruction G-Code M109, car sinon il se peut que l’impression démarre avant même que la température souhaitée ne soit atteinte.

Les codes G sont-ils les mêmes pour toutes les imprimantes 3D ?

Alors que les commandes M104 et M109 sont généralement utilisées, il existe des cas où d’autres commandes sont utilisées. Cela se produit par exemple lorsque l’imprimante lit des codes .x3g au lieu de fichiers .gcode. Dans ce cas, la commande M133 est utilisée à la place de la commande M109. Certaines imprimantes 3D (Flashforge Dreamer, Dremel ou autres) utilisent alors la commande M6. Cela dépend du firmware utilisé.

valeurs :

  • Avec la valeur S, tu peux définir la température de l’extrudeuse en degrés Celsius (S190= 190 degrés Celsius).
  • L’utilisation de la valeur T est la plus appropriée si ton imprimante 3D possède plusieurs extrudeuses et que tu souhaites en amener une à la température souhaitée. Normalement, T0 est alors l’extrudeuse droite, tandis que T1 décrit alors l’extrudeuse gauche.

Exemples :

M104 Exemple de codeDescription
M104 S190 T0Commence à chauffer T0 à 190 degrés Celsius.
G28 X0Effectue le homing pour l’axe X pendant que l’extrudeuse est encore en train de chauffer.
M109 S190 T0Attends que T0 atteigne la température de 190 degrés Celsius pour pouvoir exécuter d’autres commandes.

M106 Contrôle de la vitesse du ventilateur (Set Fan Speed)

La commande M106 te permet de régler la vitesse du ventilateur de composants de ton imprimante 3D. Note que ton imprimante peut aussi avoir un ventilateur qui refroidit l’extrudeuse. Tu devrais donc commencer par vérifier si tu commandes le bon ventilateur. Il se peut en effet que tu n’aies pas encore installé de ventilateur de composants.

valeurs :
Ici, la valeur S détermine la vitesse du ventilateur, où 0=arrêt et 255=100% de vitesse.

Exemples :

M106 Exemple de codeDescription
M106 S255Règle la vitesse du ventilateur sur 100%.
M106 S127Règle la vitesse du ventilateur à environ 50%. (255/2=127,5)
M106 S0Éteins complètement le ventilateur.

M140 et M190-G Code Commandes pour le réglage de la température du lit chauffant (Bed Heating Commands)

Avec les commandes M140 et M190, tu détermines le réglage de la température du lit chauffant de la même manière que les commandes M104 et M109, comme décrit plus haut.

  • M140 : cette commande commence à chauffer le lit chauffant et permet d’exécuter directement d’autres commandes.
  • M190 : cette commande permet d’attendre que la température souhaitée du lit chauffant soit atteinte. Ce n’est qu’ensuite que d’autres commandes peuvent être exécutées.

Note que la mise en température du lit chauffant peut prendre un certain temps. Ne t’étonne pas si ton imprimante 3D fait soudainement une petite pause pendant l’impression (pour la M190) jusqu’à ce qu’elle reprenne.

Souvent, l’instruction M140 est placée au début du code G afin de pouvoir ensuite exécuter les autres instructions comme le homing, etc. Mais avant de lancer l’impression, il convient d’intégrer une commande M190 afin de garantir une température stable pour la première couche.

Est-ce que cela s’applique à toutes les imprimantes 3D ?

Comme pour les instructions M104 et M109, cela dépend du firmware utilisé. Si ton imprimante 3D lit des fichiers .x3g, il faut utiliser M134 au lieu de M190 et pour les imprimantes Flashforge Dreamer, Dremel ou similaires, il faut utiliser M7.

valeurs :

La valeur S te permet de définir la température du lit chauffant en degrés Celsius (S30= 30 degrés Celsius). Comme la plupart des imprimantes 3D ne disposent que d’un lit chauffant, il n’est pas nécessaire de procéder à des ajustements supplémentaires, etc.

Exemples :

M140 / M190 Exemple de codeDescription
M140 S50Commence à chauffer le lit chauffant à 50 degrés Celsius.
G28Effectue le homing pour tous les axes et chauffe en même temps le lit chauffant à 50 degrés Celsius.
M190 S50Attends que la température de 50 degrés Celsius soit atteinte pour le lit chauffant afin de pouvoir exécuter d’autres commandes.

D’autres commandes GCode pour ton imprimante 3D suivront.

Code G dans l’impression 3D : FAQ

Vous trouverez ici quelques questions fréquemment posées.

Le moyen le plus simple est bien sûr d’utiliser un slicer. Celui-ci transforme un modèle 3D (.stl/.obj… ) en langage lisible par une machine. Tous les slicers peuvent créer le Gcode. Tu dois simplement veiller à sélectionner ton imprimante dans les profils existants du slicer ou à la créer manuellement en indiquant par exemple la taille du lit d’impression, le nombre de hotends, etc.

Non, tu peux certes créer des Gcodes via AutoCad, mais ceux-ci ne sont pas destinés en premier lieu à l’impression 3D. Pour cela, il est préférable d’utiliser un slicer.

Tu peux normalement remplir les cartes mémoire ou les clés USB utilisées avec les G-codes appropriés et démarrer l’imprimante. Tu peux également envoyer les données d’impression par Wifi à certaines imprimantes 3D, de plus en plus souvent via des solutions embarquées. Pour cela, ils doivent permettre les fonctions par module Wifi. Mais il est aussi possible de connecter tes imprimantes 3D à Octo Print et Raspberry.

A lire également