G-code/fr
English • العربية • български • català • čeština • Deutsch • Ελληνικά • español • فارسی • français • hrvatski • magyar • italiano • română • 日本語 • 한국어 • lietuvių • Nederlands • norsk • polski • português • русский • Türkçe • українська • 中文(中国大陆) • 中文(台灣) • עברית • azərbaycanca • |
Cette page tente de décrire le 'G-code' que les firmwares Reprap utilisent et comment ils fonctionnent. La cible principale est la fabrication additive en utilisant le processus FFF. Codes pour les mouvements de la tête d'impression suivent le NIST RS274NGC norme G-code, de sorte que les firmwares Reprap sont tout à fait utilisables pour le fraisage CNC et autres applications similaires. Voir aussi sur G-Code article de Wikipedia.
Il ya plusieurs façons de préparer un Gcode pour une imprimante. La première consiste à utiliser un trancheur comme Slic3r, Skeinforge ou Cura. Ces programmes prennent un modèle CAO et le découper en couches. Les trancheurs sont la meilleure façon de passer d'un modèle 3D en fichier gcode imprimable, mais l'utilisateur sacrifie une certaine flexibilité lors de leur utilisation. Une autre option pour la génération gcode est d'utiliser une bibliothèque de niveau inférieur comme mecode. Les bibliothèques comme mecode vous donnent un contrôle précis sur la trajectoire de l'outil, et ainsi sont utiles si vous avez une impression complexe qui ne convient pas pour le tranchage natïf. La dernière option est de simplement écrire le Gcode vous-même. Cela peut être le meilleur choix si vous avez juste besoin de courir quelques lignes de test lors de l'étalonnage de votre imprimante.
Contents
- 1 Introduction
- 2 Fields
- 3 G-commands
- 3.1 G0 & G1: Move
- 3.2 G2 & G3: Controle des mouvements des Cercles
- 3.3 G4: Attente
- 3.4 G20: Définir les unités en Pouces
- 3.5 G21: Définir les unités en Millimètres
- 3.6 G28: Déplacement aux origines (Homing)
- 3.7 G29: Autolevel
- 3.8 G90: Position Absolue
- 3.9 G91: Position Relative
- 3.10 G92: Définir la Position
Introduction
Un morceau de fichier Gcode d'une imprimante 3D Reprap peut ressemblé à ça:
N3 T0*57 N4 G92 E0*67 N5 G28*22 N6 G1 F1500.0*82 N7 G1 X2.0 Y2.0 F3000.0*85 N8 G1 X3.0 Y3.0*33
Le Gcode peut être stocké dans un fichier sur une carte SD, votre disque dur ou tout autre support. L'extension du fichier Gcode peut être .g, .gco or .gcode. Pour les BFB/RapMan l'extention est .bfb. Le fichier Gcode stocker et/ou crée par un trancheur peut ressemblé également a ça:
G92 E0 G28 G1 F1500 G1 X2.0 Y2.0 F3000 G1 X3.0 Y3.0
La signification de tous ces symboles et chiffres (et plus) sont expliqués ci-dessous.
Les Trancheuses peuvent (éventuellement?) ajouter des scripts de gcode au début et à la fin de leur fichier de sortie pour effectuer des actions spécifiques avant et / ou après l'impression tels que l'autolevelling, le chauffage / refroidissement du lit et hotend, effectuer un mouvement pour essuyer la buse grace à un servomoteur,mise en route de l'alimentation Ps_on (ATX). Plus d'info sur les Start GCode routines and End GCode routines pages.
Pour savoir quels GCode spécifique(s) sont mis en œuvre dans cette page, il ya de petites tables attachés à la description des commandes, comme celui-ci:
Support | Marlin | RepRapFirmware | Klipper | Prusa | Buddy | Repetier | Smoothie | Druid | MK4duo |
---|---|---|---|---|---|---|---|---|---|
Partial | ??? | ??? | ??? | ??? | Experimental | depreciated | ??? | ??? | |
grbl | Sprinter | BFB | FiveD | Machinekit | Redeem | Teacup | Yaskawa | MakerBot | |
??? | No | ??? | Yes | ??? | ??? | automatic | ??? | ??? |
Légende:
- {{yes}}
- Le Gcode est complétement supporté par le firmware.
- {{partial}} or {{experimental}}
- Le Gcode peut fonctionné apres qque manipulation. Souvent, il est nécessaire de consulter la branche de code source pour le firmware (généralement stocké dans une branche différente) ou pour inverser les commutateurs de configuration sur la carte mère.
- automatic
- Le firmware gère cette GCode automatiquement, donc il n'y a pas besoin d'envoyer la commande. Un exemple est alimentation on / off GCode (M80 / M81) dans le firmware Teacup.
- ???
- On ne sait pas si le firmware prend en charge ce GCode. Vous devez le tester vous-même.
- {{no}}
- Le firmware ne support pas le Gcode.
- depreciated
- The firmware à retiré this Gcode. L'auteur du firmware a sans doute retiré ce Gcode en le remplaçant par un autre.
Fields
Un GCode RepRap est une liste de champs qui sont séparés par des espaces blancs ou des sauts de ligne. Un champ peut être interprété comme une commande, paramètre, ou pour tout autre but spécial. Il se compose d'une lettre directement suivi d'un nombre, ou peut être seulement une lettre autonome (Flag). La lettre donne des informations sur le sens du champ (voir la liste ci-dessous dans cette section). Les nombres peuvent être entiers (128) ou nombres fractionnaires (12.42), en fonction du contexte. Par exemple, une coordonnée X peut prendre entiers ( 'x175' ) ou fractionels ( 'X17.62' ), mais en sélectionnant un extrudeur par le numéro 2,76 aurait aucun sens. Dans cette description, les numéros dans les domaines sont représentés par 'nnn' comme un espace réservé.
Lettre | Signification |
---|---|
Gnnn | Commande GCode Standard, Déplacement d'un ou plusieurs axes |
Mnnn | Commande defini pour les RepRap, M106 Pour allumé le ventilateur |
Tnnn | Selectionné un outils nnn. En RepRap, outils et extrudeur |
Snnn | Commande de paramètre , Le Temps ; Les temperatures; La tension à envoyer aux moteurs |
Pnnn | Commande de paramètre, En milliseconeds; Comme le Proportionnel Intégral Dérivé proportional (Kp) |
Xnnn | Coordonnée X, Généralement pour le faire bouger . Il peut etre un nombre entier ou décimal. |
Ynnn | Coordonnée Y, Généralement pour le faire bouger. Il peut etre un nombre entier ou décimal. |
Znnn | Coordonnée Z, Généralement pour le faire bouger . Il peut etre un nombre entier ou décimal. |
Innn | Paramètre - X-offset in arc move; integral (Ki) in PID Tuning |
Jnnn | Paramètre - Y-offset in arc move |
Dnnn | Paramètre- Utilisé pour le diametre ; derivé (Kd) pour le réglage du PID |
Hnnn | Parameter - Utilisé pour la chauffe de la résistance pour le PID |
Fnnn | Paramètre en mm/secondes. (Vitesse de déplacement de la tête d'impression) |
Rnnn | Paramètre - Utilisé pour la température |
Qnnn | Paramètre - pas utilisé actuellement |
Ennn | Longueur du matière extrudé. Il est identique à X, Y et Z, mais il correspond à la longueur de filament à extruder. |
Nnnn | N° de ligne. Utilisé pour demander la transmission de répétition dans le cas d'erreurs de communication. |
*nnn | Checksum. Utilisé pour vérifier les erreurs de communication.. |
G-commands
G0 & G1: Move
Support | Marlin | RepRapFirmware | Klipper | Prusa | Buddy | Repetier | Smoothie | Druid | MK4duo |
---|---|---|---|---|---|---|---|---|---|
Yes | Yes | ??? | ??? | ??? | Yes | Yes | ??? | ??? | |
grbl | Sprinter | BFB | FiveD | Machinekit | Redeem | Teacup | Yaskawa | MakerBot | |
Yes | Yes | Yes | Yes | Yes | Yes | Yes | ??? | Yes |
- G0 : Déplacement rapide
- G1 : Déplacement Linéair
- Usage
- G0 Xnnn Ynnn Znnn Ennn Fnnn Snnn
- G1 Xnnn Ynnn Znnn Ennn Fnnn Snnn
- Paramètre
- ""Tous les paramètres ne nécessite pas d'être utilisé, mais au moins 'un' doit être utilisé
- Xnnn L'axe X bouge sur ça position
- Ynnn L'axe Y bouge sur ça position
- Znnn L'axe Z bouge sur ça position
- Ennn Le Moteur de l'extrudeur tourne de nnn pas
- Fnnn La vitesse par minute d'un ou des axes
- Snnn Test pour vérifier si un endstop a été délecnchés (S1 pour vérifier, S0 pour ignoré, S2 voir la note , par défaut si S0)1
- Exemple
- G0 X12 (Déplacer l'axe X de 12mm)
- G0 F1500 (Régler la vitesse à 1500mm/minute)
- G1 X90.6 Y13.8 E22.4 (Déplacer l'axes X de 90.6mm l'axeY de 13.8mm en extrudent 22.4mm de matière)
Les Firmware RepRap ont la même spécificités pour les commandes G0 and G1 , .2
1. G1 F1500 2. G1 X50 Y25.3 E22.4
Dans l'exemple ci-dessus, nous avons mis l'avance à 1500mm / minute sur la ligne 1, puis déplacé l'axe X de 50 mm, l'axe Y de 25.3mm et extrudé 22.4mm de filament.
1. G1 F1500 2. G1 X50 Y25.3 E22.4 F3000
Cependant, dans l'exemple ci-dessus, nous avons mis une avance de 1500 mm / minute sur la ligne 1, puis Déplaceé les axes comme demandé mais à 3000 mm / minute. L'extrusion va accélérer avec le X et le mouvement Y, donc tout reste synchronisé.
La spécification RepRap traite l'avance comme simplement une autre variable (comme X, Y, Z et E) pour être interpolées linéairement. Cela donne un contrôle complet sur l'accélération et la décélération de la tête d'impression de manière à ce que le firmware assure que tout se déplace ensemble.3
Pour inverser l'extrudeuse par une quantité donnée (par exemple pour réduire sa pression interne pendant qu'il fait un mouvement (en X,y ou Z) afin qu'il ne dribble pas) il suffit d'utiliser G0 ou G1 d'envoyer une valeur de E qui est inférieure à la longueur actuellement extrudé .
G2 & G3: Controle des mouvements des Cercles
Support | Marlin | RepRapFirmware | Klipper | Prusa | Buddy | Repetier | Smoothie | Druid | MK4duo |
---|---|---|---|---|---|---|---|---|---|
Yes1 | No | ??? | ??? | ??? | Yes | Yes | ??? | ??? | |
grbl | Sprinter | BFB | FiveD | Machinekit | Redeem | Teacup | Yaskawa | MakerBot | |
Yes | Yes | No | No | Yes | ??? | No | ??? | ??? |
- Usage
- G2 Xnnn Ynnn Innn Jnnn Ennn Fnnn (Cercle dans le sens des aiguilles d'une montre)
- G3 Xnnn Ynnn Innn Jnnn Ennn Fnnn (Cercle dans le sens inverse des aiguilles d'une montre)
- Parameters
- Xnnn L'axe X bouge sur ça position
- Ynnn L'axe Y bouge sur ça position
- Innn Le point X part de sa position actuelle X afin de maintenir une distance constante à partir de
- Jnnn Le point Y part de sa position actuelle X afin de maintenir une distance constante à partir de
- Ennn Le Moteur de l'extrudeur tourne de nnn pas
- Fnnn La vitesse par minute d'un ou des axes
- Examples
- G2 X90.6 Y13.8 I5 J10 E22.4 (Déplacement dans le sens des aiguilles d'une montre de ce point à ce point(X=90.6,Y=13.8), avec un point central à (X=current_X+5, Y=current_Y+10), en extrudent 22.4mm de matière entre le début et la fin du movement des axes)
- G3 X90.6 Y13.8 I5 J10 E22.4 ((Déplacement dans le sens inverse des aiguilles d'ue montre de ce point à ce point(X=90.6,Y=13.8), avec un point central à (X=current_X+5, Y=current_Y+10), en extrudent 22.4mm de matière entre le début et la fin du movement des axes)
Notes
1Dans le Firmware Marlin cette commande n'est pas implanté pour les imprimantes DELTA et SCARA .
G4: Attente
Support | Marlin | RepRapFirmware | Klipper | Prusa | Buddy | Repetier | Smoothie | Druid | MK4duo |
---|---|---|---|---|---|---|---|---|---|
Yes | Yes | ??? | ??? | ??? | Yes | Yes | ??? | ??? | |
grbl | Sprinter | BFB | FiveD | Machinekit | Redeem | Teacup | Yaskawa | MakerBot | |
Yes | Yes | Yes | Yes | Yes | Yes | Yes | ??? | Yes |
- Parameters
- Pnnn Temps à attendre, en millisecondes
- Snnn Temps à attendre, en secondes (Seulement pour Marlin et Smoothieware)
- Exemple
- G4 P200
Dans ce cas, Rien ne se passe pendant 200 millisecondes. Pendant les pauses l'état de la machine (par exemple, les températures de ses hotend) sera toujours préservée et contrôlée
Pour Marlin et Smoothie, le parametre d'attente "S" est en secondes, et le parametre "P" est en millisecondes.
G20: Définir les unités en Pouces
Support | Marlin | RepRapFirmware | Klipper | Prusa | Buddy | Repetier | Smoothie | Druid | MK4duo |
---|---|---|---|---|---|---|---|---|---|
No | Yes | ??? | ??? | ??? | Yes | Yes | ??? | ??? | |
grbl | Sprinter | BFB | FiveD | Machinekit | Redeem | Teacup | Yaskawa | MakerBot | |
Yes | Yes | No | Yes | Yes | ??? | Yes | ??? | ??? |
Example: G20
Les unités à partir de maintenant sont en pouces.
G21: Définir les unités en Millimètres
Support | Marlin | RepRapFirmware | Klipper | Prusa | Buddy | Repetier | Smoothie | Druid | MK4duo |
---|---|---|---|---|---|---|---|---|---|
No | Yes | ??? | ??? | ??? | Yes | Yes | ??? | ??? | |
grbl | Sprinter | BFB | FiveD | Machinekit | Redeem | Teacup | Yaskawa | MakerBot | |
Yes | Yes | Yes | Yes | Yes | Yes | Yes | ??? | ??? |
Example: G21
Les unités à partir de maintenant sont en Millimètres. (Le Millimètre est l'unité par défaut sur les RepRap.)
G28: Déplacement aux origines (Homing)
Support | Marlin | RepRapFirmware | Klipper | Prusa | Buddy | Repetier | Smoothie | Druid | MK4duo |
---|---|---|---|---|---|---|---|---|---|
Yes | Yes | ??? | ??? | ??? | Yes | Yes | ??? | ??? | |
grbl | Sprinter | BFB | FiveD | Machinekit | Redeem | Teacup | Yaskawa | MakerBot | |
Yes | Yes | Yes | Yes | Yes | Yes | Yes | ??? | Yes |
- Paramètres
- Ces Commandes peuvet être utilisées sans paramètres additionels.
- X Déplacement de l'axe X vers son origine
- Y Déplacement de l'axe Y vers son origine
- Z Déplacement de l'axe Z vers son origine
- Examples
- G28 (Déplacement de tous les axes vers leurs origines)
- G28 X Z (Déplacement seulement des axes X et Y vers leurs origines)
Lorsque le firmware RepRap reçoit cette commande, il déplace le ou les axes vers leur(s) butées aussi rapidement que possible, puis il(s)recule(nt) d'un millimètre et se déplace lentement vers les points d'activation de butée zéro pour augmenter la précision de position. Ce processus est également connu sous le nom de " Homing ".
Si vous ajouter une coordonnée, elle sera ignorée. Par exemple, G28 Z0.00
le résultat sera le même que G28 Z
.
G29: Autolevel
Support | Marlin | RepRapFirmware | Klipper | Prusa | Buddy | Repetier | Smoothie | Druid | MK4duo |
---|---|---|---|---|---|---|---|---|---|
Yes | No, see G32 | ??? | ??? | ??? | Yes | No | ??? | ??? | |
grbl | Sprinter | BFB | FiveD | Machinekit | Redeem | Teacup | Yaskawa | MakerBot | |
??? | No | No | No | Yes | Yes | No | ??? | ??? |
Example: G29
Déplace l'axe Z sur 3 points ou plus pour calculer la planéité du plateau. La comande G28 est à éxécutée avant le G29.
G90: Position Absolue
Support | Marlin | RepRapFirmware | Klipper | Prusa | Buddy | Repetier | Smoothie | Druid | MK4duo |
---|---|---|---|---|---|---|---|---|---|
Yes | Yes | ??? | ??? | ??? | Yes | Yes | ??? | ??? | |
grbl | Sprinter | BFB | FiveD | Machinekit | Redeem | Teacup | Yaskawa | MakerBot | |
Yes | Yes | Yes | Yes | Yes | Yes | Yes | ??? | ??? |
Example: G90
Toutes les coordonnées éxécutées à partir de maintenant sont en rapport à l'origine de la machine. (la position absolue est l'unité par défaut sur les RepRap.)
G91: Position Relative
Support | Marlin | RepRapFirmware | Klipper | Prusa | Buddy | Repetier | Smoothie | Druid | MK4duo |
---|---|---|---|---|---|---|---|---|---|
Yes | Yes | ??? | ??? | ??? | Yes | Yes | ??? | ??? | |
grbl | Sprinter | BFB | FiveD | Machinekit | Redeem | Teacup | Yaskawa | MakerBot | |
Yes | Yes | No | Yes | Yes | Yes | Yes | ??? | ??? |
Example: G91
Toutes les coordonnées à partir de maintenant sont liés à la dernière position.
G92: Définir la Position
Support | Marlin | RepRapFirmware | Klipper | Prusa | Buddy | Repetier | Smoothie | Druid | MK4duo |
---|---|---|---|---|---|---|---|---|---|
Yes | Yes | ??? | ??? | ??? | Yes | Yes | ??? | ??? | |
grbl | Sprinter | BFB | FiveD | Machinekit | Redeem | Teacup | Yaskawa | MakerBot | |
Yes | Yes | Yes | Yes | Yes | Yes | Yes | ??? | Yes |
- Parameters
- Ces Commandes peuvet être utilisées sans paramètres additionels.
- Xnnn Difini la nouvelle position de l'axe X
- Ynnn Difini la nouvelle position de l'axe Y
- Znnn Difini la nouvelle position de l'axe Z
- Ennn Difini la nouvelle position de l'extruder
- Exemple
- G92 X10 E90
Permet la programmation du point zéro absolu, en réinitialisant la position actuelle aux valeurs spécifiées. Ici le X de la machine passe en coordonnées à 10, et l'extrudeur à 90. Aucun mouvement physique se produira.
Un G92 sans coordonées paramétra tous les axes à 0.