Inkscape et le Générateur de Code G pour les Traceurs CNC
Vous débutez dans le monde des machines de traçage CNC et vous vous sentez dépassé par la complexité du G-code ? Ne cherchez plus ! Dans cet article, nous allons décortiquer tout ce que vous devez savoir sur le G-code et comment l'utiliser avec les machines d'écriture de traceurs CNC UUNA TEK iDraw. Plongeons-y !
Comprendre le G-code
Le G-code, également connu sous le nom de Geometric Code, est un langage de programmation utilisé dans le domaine de la fabrication assistée par ordinateur (FAO). Il s'agit d'un ensemble d'instructions qui indiquent à une machine comment se déplacer et fonctionner, comme la découpe, le fraisage, le perçage, etc. Le terme "G-code" a été introduit pour la première fois dans les années 1950 par le Massachusetts Institute of Technology (MIT) pour le contrôle des outils d'usinage automatisés.
Pensez au G-code comme à une recette qui guide la machine sur les actions à entreprendre. La structure de base du G-code se compose de commandes ou de lignes commençant par une lettre suivie de chiffres. Chaque commande représente une action ou une opération spécifique, telle que le déplacement dans différentes directions (x, y, z) et plus encore.
Commandes G-code courantes
Les G-codes sont une partie essentielle du processus d'usinage par traceur CNC et sont utilisés pour contrôler le mouvement d'une machine. Voici quelques commandes courantes :
- G00 - Déplacement Rapide : Ce code est utilisé pour déplacer rapidement l'outil (le stylo dans notre cas) d'un point à un autre sans découpe.
- G01 - Interpolation Linéaire : Ce code est utilisé pour les mouvements en ligne droite entre deux points.
- G20/G21 - Mode Pouces/Millimètres : Ces codes sont utilisés pour spécifier si la machine doit fonctionner en mode pouces ou millimètres. Le réglage par défaut varie selon les machines, il est donc important de savoir quel système d'unités votre machine utilise.
- G90/G91 - Mode de Positionnement Absolu/Incrémental : Ces codes déterminent comment les coordonnées sont interprétées par la machine lors du déplacement d'un endroit à un autre.

Utilisation d'Inkscape avec l'extension Gcodetools
Inkscape, l'outil le plus utilisé et apprécié de l'équipe de conception de Fedora, n'est pas seulement un programme pour créer de beaux graphiques vectoriels. Avec les graphiques vectoriels (dans notre cas, SVG), beaucoup plus peut être fait. De nombreux programmes peuvent importer ce format. Inkscape peut également faire bien plus que de simples graphiques. Cette série vous montrera certaines choses que vous pouvez faire avec Inkscape en dehors de la création graphique.
Cet article se concentrera sur la manière dont l'extension G-Code Tools d'Inkscape peut être utilisée pour produire du G-code. La construction de machines pour le secteur du hobby est en plein essor. La publication du code source des imprimantes 3D RepRap pour l'auto-construction et la disponibilité de composants électroniques, tels qu'Arduino ou Raspberry Pi, en sont probablement quelques causes. L'ingénierie mécanique en tant que hobby trouve de plus en plus d'adeptes. Cette tendance ne s'est pas arrêtée aux imprimantes 3D. Vous n'avez pas besoin de concevoir ou de construire ces machines vous-même. Vous pouvez acheter de telles machines relativement peu coûteuses en kit ou déjà assemblées. Toutes ces machines ont une chose en commun : elles sont contrôlées par ordinateur.
Le langage le plus répandu pour la programmation des machines FAO est le G-code. Le G-code est également connu sous le nom de langage de programmation G. Ce langage a été développé au MIT dans les années 1950. Depuis lors, diverses organisations ont développé des versions de ce langage de programmation. Gardez cela à l'esprit lorsque vous travaillez avec. Différents pays ont des normes différentes pour ce langage. Le nom vient du fait que de nombreuses instructions dans ce code commencent par la lettre G. Cette lettre est utilisée pour transmettre des commandes de déplacement ou de parcours à la machine. Les commandes vont, au sens propre du terme, de A (position absolue ou incrémentale autour de l'axe X ; rotation autour de X) à Z (absolue ou incrémentale dans la direction de l'axe Z). Les commandes précédées de M (diverses) transmettent d'autres instructions à la machine. L'activation ou la désactivation du liquide de refroidissement est un exemple de commande M.
Lorsque vous travaillez avec des traceurs CNC pour dessiner, l'utilisation de graphiques raster est déconseillée. Vous utilisez une machine CNC parce qu'elle fonctionne plus précisément que vous ne pourriez le faire à la main. L'utilisation de graphiques raster et leur conversion en chemin pour le G-code n'est plus précise. En ce qui concerne les graphiques vectoriels, il n'y a pas d'alternative à Inkscape, du moins si vous utilisez Linux. Il existe quelques autres programmes, mais ils n'ont pas les capacités d'Inkscape. Ou ils sont conçus à d'autres fins. La question est donc : "Inkscape peut-il être utilisé pour créer du G-code ?" Et la réponse est : "Oui !"
Installation et configuration de Gcodetools
Depuis la version 0.91, Inkscape est livré avec une extension appelée GCode Tools. Une chose à noter dès le départ : l'extension GCode Tools possède de nombreuses fonctionnalités qui ne sont pas bien documentées. Le développeur pense qu'il est judicieux d'utiliser un forum pour la documentation.
La première étape est la même que pour la création de toute autre chose dans Inkscape : ajustez les propriétés de votre document. Ensuite, définissez les points d'orientation en allant dans Extensions > Gcodetools > Orientation points. Vous pouvez utiliser les paramètres par défaut.
L'étape suivante consiste à éditer la bibliothèque d'outils (Extensions > Gcodetools > Tools library). Cela ouvrira la fenêtre de dialogue pour le réglage de l'outil. Là, vous choisissez l'outil que vous utiliserez. L'outil par défaut convient. Après avoir choisi l'outil et cliqué sur Appliquer, un rectangle apparaîtra sur le canevas avec les réglages pour l'outil. Ces réglages peuvent être modifiés avec l'outil texte (T). Mais c'est un peu délicat. L'extension G-Code Tools utilisera ces réglages plus tard. Ces réglages d'outil sont regroupés avec un nom identifiable. Il existe deux possibilités pour éviter de perdre l'identifiant si vous désaggréguez les réglages de l'outil. Vous pouvez utiliser le désaggrégation avec 4 clics avec l'outil de sélection activé. Dans le premier cas, vous devez veiller à ce que le groupe soit restauré avant de dessiner quoi que ce soit de nouveau.

Préparation des objets pour l'exportation G-code
Maintenant, vous pouvez dessiner les tracés que vous souhaitez convertir ultérieurement en G-code. Les objets tels que les rectangles, les cercles, les étoiles et les polygones, ainsi que le texte, doivent être convertis en tracés (Chemin > Objet en chemin ou Ctrl+Shift+J). Gardez à l'esprit que cette fonction ne produit souvent pas de tracés propres. Vous devrez la contrôler et la nettoyer par la suite.
Concernant les polices, gardez à l'esprit que les polices TTF et OTF sont des polices dites "Outline". Cela signifie que le contour de chaque caractère est défini et qu'il sera gravé ou coupé tel quel. Si vous ne voulez pas cela et que vous souhaitez utiliser, par exemple, une police script, vous devez utiliser des "Stroke Fonts" à la place.
Dans certains cas, il peut être nécessaire de remplir les tracés avec un motif. L'extension G-Code Tools dispose d'une fonction qui offre deux méthodes pour remplir les objets avec des motifs : zig-zag et spirale.

Il existe une autre fonction qui ne fonctionne actuellement pas (Inkscape a modifié certaines parties des extensions avec la sortie de la version 1.0). Cette dernière fonction remplirait l'objet à l'aide des fonctions de décalage dans Inkscape.
Avec plus de remplissages de zones différents, vous devrez souvent dessiner les tracés à la main (environ 90% du temps). L'extension EggBot dispose d'une fonction pour remplir les régions avec des hachures. Vous pouvez également utiliser les motifs de hachures classiques. Mais vous devrez reconvertir le motif de remplissage en objet. Sinon, l'extension G-Code Tools ne pourra pas le convertir.
Conversion des tracés en G-code
Pour convertir les tracés dessinés en G-code, utilisez la fonction Extensions > Gcodetools > Paths to G-Code. Cette fonction sera exécutée sur les objets sélectionnés. Il n'y a actuellement aucune fonctionnalité pour enregistrer le G-code à l'aide du menu Fichier. Cela doit être fait à partir de la boîte de dialogue de l'extension G-Code Tools lorsque vous convertissez les tracés en G-code.
Sur le canevas, différentes lignes et flèches colorées seront rendues. Les lignes bleues et vertes montrent les courbes (G02 et G03). Les lignes rouges montrent les lignes droites (G01).

Considérations importantes et limites
Les opinions divergent quant à savoir si Inkscape est l'outil approprié pour la création de G-code. Si vous gardez à l'esprit qu'Inkscape ne fonctionne qu'en deux dimensions et que vous n'en attendez pas trop, vous pouvez créer du G-code avec. Pour des tâches simples comme le traçage de lettres ou de logos, c'est tout à fait suffisant.
Le principal inconvénient de l'extension G-Code Tools est le manque de documentation. Cela rend difficile la prise en main de G-Code Tools. Un autre inconvénient est qu'il n'y a actuellement pas beaucoup de développement actif de G-Code Tools. Il existe d'autres extensions pour Inkscape qui visaient également le G-code. Mais elles font déjà partie de l'histoire ou ne sont pas non plus activement développées. Les extensions Makerbot Unicorn GCode Output et GCode Plot en sont quelques exemples.
L'utilisation d'Inkscape pour générer du G-code n'est PAS recommandée lors de l'utilisation de fraiseuses CNC, de tours, de découpeurs ou de tout autre équipement similaire. Pour ces types de machines, vous devriez utiliser des logiciels plus professionnels, tels que ceux de Vectric. Vous aurez besoin d'une extension (c'est ainsi qu'ils appellent les plugins dans Inkscape) pour pouvoir générer du G-code dans Inkscape, et la seule que nous connaissions capable de le faire est Gcodetools.
Lorsque vous générez du G-code de cette manière, il est important de savoir pour quel type de machine vous générez le G-code et comment elle interprète le code. Lors de la génération du G-code, il est important de connaître le type de machine pour lequel vous générez le G-code et la manière dont elle interprète le code.
Si vous utilisez un traceur CNC pour écrire ou dessiner, vous devrez être attentif à la gestion des lignes droites. L'extension Gcodetools peut avoir des limitations dans la manière dont elle gère les lignes droites, ce qui peut nécessiter des ajustements manuels ou une compréhension approfondie de ses paramètres pour obtenir des résultats précis.
Il est essentiel de noter que Inkscape fonctionne principalement en 2D. Si votre projet nécessite des mouvements complexes en 3D, Inkscape et son extension Gcodetools ne seront pas suffisants. Pour de tels cas, des logiciels FAO plus avancés sont nécessaires.
Utilisation avec UUNA TEK iDraw
Nous aimons utiliser UGS (Universal Gcode Sender) pour configurer la machine iDraw et envoyer du G-code en temps réel pour tracer des œuvres d'art et/ou des lettres. Une fois que vous avez généré votre G-code à partir d'Inkscape, vous pouvez le charger dans UGS pour contrôler votre traceur UUNA TEK iDraw.
Pour commencer, ouvrez UGS et suivez les étapes pour connecter votre machine. Vous pouvez ensuite charger votre fichier G-code généré et lancer le processus de traçage.
Si vous en êtes arrivé là, nous espérons que vous avez compris comment configurer votre machine pour une première utilisation avec le G-code. Vous trouverez ci-dessous un fichier G-code pour tracer votre toute première œuvre d'art.
Vous pouvez ajouter un bouton macro, qui se déplacera automatiquement dans le coin inférieur gauche après le retour. Le paramètre après Y est la course de l'axe Y de la machine.
tu comprends rien au DIGITAL PAINTING ? (Guide debutant)
Conseils pour le dessin de formes géométriques (ex: engrenages)
Lors de la création de formes géométriques précises comme des engrenages dans Inkscape pour l'exportation G-code, quelques étapes supplémentaires sont nécessaires :
- Remplir les paramètres : Notez que le rayon de l'engrenage dépend du nombre de dents et du pas circulaire. Ainsi, si vous voulez que votre engrenage soit de rapport 1:5, vous devez remplir les nombres de dents 1:5 (par exemple, 12 et 60) et laisser les autres paramètres identiques pour les deux engrenages. Remarquez que les engrenages sont des objets groupés, alors désagréguez-les (Ctrl+Shift+G).
- Attention à la largeur du trait : Lorsque Inkscape calcule les dimensions, il inclut la largeur du trait dans la largeur et la hauteur. Donc, si vous voulez définir des valeurs exactes, supprimez le remplissage du trait et définissez les valeurs dans les champs numériques.
- Alignement : Sélectionnez l'engrenage et le cercle. Effectuez les alignements de manière à ce que le cercle soit au centre de l'engrenage. (Ctrl+Shift+A -> Centrer les objets horizontalement et Centrer les objets verticalement).
- Création des formes : Dessinez deux cercles. Et alignez-les au centre de l'engrenage. Faites Chemin > Différence (Ctrl+"-"). Notez que lorsque vous faites une différence, le tracé supérieur soustrait du tracé inférieur. Dessinez un rectangle, alignez-le au centre de l'engrenage. Faites une copie (Ctrl+D) ou appuyez simplement sur la barre d'espace lorsque vous le déplacerez/redimensionnerez. Faites une Chemin > Union (Ctrl+"+") des rectangles. Soustrayez l'union des cercles.
- Précision des engrenages : Si vous voulez que vos engrenages soient précis, vous devriez décaler le tracé de la moitié du diamètre de l'outil sur le matériau, uniquement à l'extérieur de l'engrenage. Sélectionnez le premier engrenage. Chemin > Décalage dynamique. Ouvrez ensuite l'éditeur XML (Ctrl+Shift+X) pour définir la valeur exacte. Hmmm... Mais ne vous inquiétez pas, cela devrait ressembler à cela. et la largeur du trait est égale au diamètre de votre fraise.
- Conversion finale : Une fois de plus, faites Chemin > Objet en chemin pour que vos engrenages soient des tracés et non des décalages dynamiques. (Pour le décalage dynamique, ce n'est pas vraiment nécessaire, mais il vaut mieux le faire au cas où). Désagrégrez tous les groupes (Ctrl+Shif+G). Convertissez tous les objets en tracés (Chemin > Objet en chemin ou Ctrl+Shift+J). Répétez si nécessaire.

Sélectionnez les tracés que vous souhaitez exporter. Ouvrez Extensions > Gcodetools. Remplissez les paramètres dans les onglets Preferences et Path to Gcode. C'est tout.
tags: #inkscape #gcodetools #ignores #strait #lines
