Dxf2Gcode est un programme écrit en python permettant à partir d'un fichier au format .dxf obtenu par exemple avec LibreCAD, d'obtenir un fichier GCode utilisable par une machine CNC. Grâce à ce programme, il est facile de modifier certains paramètres comme la hauteur de passe par exemple, la vitesse de déplacement, etc... Site officiel : https://sourceforge.net/projects/dxf2gcode/
Cependant le fichier produit peut contenir certaines commandes GCode qui ne sont pas reconnues par le logiciel pilotant la machine. C'est le cas de bCNC basé sur Grbl qui ne connaît pas les commandes G40, G41 ou G64, ce qui entraîne des erreurs d'exécution. Il faut donc adapter Dxf2Gcode afin qu'il tienne compte de cette problématique et que nous n'ayons pas à retravailler le fichier GCode, que ce dernier soit directement utilisable par bCNC.
Pour cela, il faut agir au niveau du post-traitement qui va permettra de rajouter automatiquement des instructions au début et à la fin du fichier gcode : comme allumer la fraise, indiquer l'unité de travail, ... Voir ici : https://sourceforge.net/p/dxf2gcode/wiki/Postprocessor%20Configuration/
Voir ici pour connaître les commandes Gcode dont celles non reconnues par Grbl : https://www.shapeoko.com/wiki/index.php/G-Code
Un fichier Gcode se compose de différentes parties (on dit aussi des blocs). Le premier bloc se nomme "Header", ensuite nous trouvons les différents blocs d'instructions et le dernier bloc se nomme "Footer".
Les commentaires se notent entre parenthèses.
Exemple de Gcode :
(Block-name: Header)
G4 P3 (G4=pause P=secondes 3)
G21 (unités en mm)
G0 X0 Y0 (déplacement linéaire rapide au point 0,0)
(Block-name: Bloc1)
G0 X50 (déplacement linéaire rapide au point X=50mm sans bouger en Y)
M3 (allume moteur/laser)
G1 X50 Y550 F75 (déplacement linéaire de travail à la vitesse de 75mm/minutes)
M5 (éteint le moteur/laser)
(Block-name: Footer)
M30 (fin du programme et remise à zéro)