Skip to content

Simple GCode Generator

Ce que l'on va faire ici

Nous allons rassembler ici les informations utiles concernant notre générateur de GCode "maison" Simple GCode Generator.

Simple GCode Generator se veut simple :

  • on part d'un SVG comme base pour générer un GCode
  • on a besoin de renseigner au minimum que 3 informations logiques :
    • la profondeur de la passe, le nombre de passes
    • le diamètre d'outil.

Installation de Simple GCode Generator, notre générateur de GCode

Installation des prérequis

Installer les pré-requis utiles pour une application PyQt5 :

sudo apt-get update
sudo apt-get install python3
sudo apt-get install pyqt5-dev pyqt5-dev-tools

Installer les dépendances spécifiques utiles pour Simple GCode Generator

sudo apt-get install python3-shapely python3-matplotlib python3-pyqt5.qtsvg

A partir de v0.15

sudo apt-get install python3-svgwrite

Installation de Simple GCode Generator

Sur le bureau, créer un répertoire pyqt5_apps dans lequel on placera toutes les applications PyQt5.

Télécharger Simple GCode Generator ici

L'enregistrer dans le répertoire des PyQt5 apps créé précédemment. Dézipper l'archive.

Lancement

Se placer dans le répertoire, ouvrir un terminal, et lancer avec la commande :

./simple_gcode_generator_svg_to_gcodeMain.py

On peut également créer facilement un lanceur sur le bureau.

Si on veut pouvoir éditer le code, cliquer sur le fichier *Main.py et faire "Ouvrir avec Geany"

Fichiers d'exemples :

Vous pouvez télécharger ici des ficiers SVG d'exemple prêts à l'emploi pour tester le générateur de GCode :

http://mon-fablab.fr:8080/files_svg_cnc_092/

Là encore, on peut créer facilement un lanceur d'url sur le bureau.

Si le logiciel ferme sans raisons apparente

Si vous avez des fermetures intempestives du logiciel, c'est probablement que le mode "debug" est activé. Pour repasser en mode de fonctionnement normal :

  • éditer le fichier simple_gcode_generator_svg_to_gcodeMain.py dans le répertoire /Bureau/pyqt5_apps/pyqt5_simple_gcode_generator_svg_to_gcode/ ou autre selon où vous l'avez installé.

  • trouver la ligne (autour de 45-47 à priori) : debug=True et modifier en debug=False

  • enregistrer et relancer

Fichiers de configuration

Par défaut, Simple GGoce Generator est configuré pour être utilisé avec du HPL de 8mm en 4 passes de 2mm.

Des fichiers de configuration pour différents cas de figures sont par ailleurs disponibles ici : http://mon-fablab.fr:8080/files_config_sgg/

Compléments/Mémo pour les développeurs

Si on souhaite modifier l'interface, ou pourra installer QtDesigner en faisant (Debian 10 Buster) :

sudo apt-get install qttools5-dev-tools

QtDesigner s'ouvre depuis le menu applications ou bien avec

/usr/lib/x86_64-linux-gnu/qt5/bin/designer

La conversion du fichier .ui en .py se fait avec :

pyuic5 -x nomfichier.ui -o nomfichier.py

Prise en main et utilisation

Ce PDF détaille la prise en main de Simple GCode Generator.

Principe d'utilisation

Simple GCode Generator se veut simple :

  • on part d'un SVG comme base pour générer un GCode
  • on a besoin de renseigner au minimum que 3 informations logiques :
  • la profondeur de la passe, le nombre de passes
  • le diamètre d'outil.

Si on veut faire un test simple, notamment au crayon, on mettra logiquement :

  • la profondeur à 0 et le nombre de passe à 1
  • le diamètre d'outil à 0

En complément de ces valeurs, il sera possible de régler :

  • la vitesse d'avance
  • la vitesse de descente et de remontée
  • la vitesse des trajets hors matière

Des options permettent par ailleurs :

  • de débuter les évidements au centre (intéressant pour avoir des trous propres bien circulaires)
  • de réaliser des trous dans pourtour (cas d'un plaque déjà pré-découpée à dimension par exemple)
  • de réaliser des gravure (=poches)
  • de fixer le débord à ajouter lors de la dernière passe pour avoir une coupe propre de 2 côtés de la plaque,
  • d'utiliser le mode "laser" (Zconstant et fixation de la puissance)
  • etc.

Résolution de problèmes

Mon fichier provoque une erreur à la génération du GCode... que faire ?

Il faut bien comprendre que le dessin que vous utilisez correspond strictement aux trajectoires que va effectuer la machine. Il faut donc être un peu rigoureux au niveau du SVG source :

  • veillez à ce que le SVG ne contienne que les chemins de découpe et que çà soit effectivement découpable (un contour avec +/- un ou plusieurs évidements,
  • veillez à ce que le SVG ne contienne QUE DES CHEMINS et pas d'objets natifs SVG (sélectionner tout > menu Chemin > Objet en chemin
  • Idéalement, "segmentisez" le SVG avant de lancer la génération, même si au final Simple GCode Generator est capable de segmentiser lui-même le SVG.

D'autre part, il faut veiller à ce que :

  • il n'y ait AUCUN TROU INFERIEUR AU DIAMETRE DE L'OUTIL... C'est logique, mais c'est souvent une source de blocage. Si vous utilisez une fraise de 3.17mm et que vous avez un trou de 3mm dans le dessin, comment voulez-vous que çà soit possible de le percer ?? A titre indicatif, avec Simple GCode Generator, vous pourrez générer des trous dès un diamtre supérieur ou égal à diamètre de fraise + 0.03mm, autrement dit, par exemple, avec une fraise de 3.17, vous pourrez faire des trous dès 3.2mm !
  • la remarque précédente s'applique également à des bords "proches" : si l'espace entre 2 bords est inférieur au diamètre de la fraise + 0.03mm, elle ne pourra pas passer, ce qui peut provoquer une erreur ou bien une découpe incomplète.

Mon conseil

En cas d'erreur à la génération du GCode, prenez l'habitude de tester la génération avec un diamètre d'outil à 0, ce qui permet d'éliminer un problème lié au diamètre d'outil.

Pour info, en près de 5 ans d'utilisation, à chaque fois que l'on a rencontré un problème, ce n'était jamais le générateur qui était en défaut mais à chaque fois un problème du fichier source, etc. Et souvenez-vous qu'il vaut mieux foirer la génération du GCode que de la matière... Donc si çà ne passe pas, vérifier le fichier source, etc.

Procédures utiles

Gravure

Pour obtenir la gravure d'un objet au lieu d'une découpe (=faire une poche), il suffit de cocher la case gravure :

Comment créer des évidements d'angles ?

Lorsque l'on découpe des angles rentrants, le diamètre de fraise entraîne un "arrondi" de l'intérieur de l'angle, ce qui peut poser problème dès lors que l'on veut réaliser des encastrements. Pour vous simplifier la vie (et la mienne aussi...), il suffit de placer un perçage de diamètre de fraise +0.03mm dans le coin de l'angle. Au moment de la génération, il en résultera une intersection entre le chemin de pourtour et le chemin du trou : le trou sera géré sans dilatation ni érosion ce qui aboutit à un perçage d'angle minimal.

Lien utile