chemins d'outils

Les stratégies d’Usinage 2D et 3D dans Fusion 360 Manufacture. 1ère partie.

Vous avez une machine CNC, et vous utilisez Fusion 360 pour concevoir vos pièces. Le truc, c’est que les 2, séparément, marchent très bien (enfin, j’espère pour vous 😉 ). Là où les choses se compliquent un peu, c’est au moment de choisir les stratégies d’usinage 2D et 3D dans l’atelier Manufacture de Fusion 360, pour sélectionner les chemins d’outils usinant votre pièce, puis générer le GCode à envoyer à votre machine.

Ne sachant pas quelle machine vous avez, cet article ne va pas adresser des questions particulières, comme les vitesses d’avance et vitesse de coupe. Il y a d’autres articles sur le Blog qui peuvent vous aider dans ces réglages. Nous n’allons pas non plus parler de post-processeur spécifique, mais utiliser celui pour GRBL comme exemple. GRBL est un peu le plus petit dénominateur commun, en termes de capacités à interpréter le GCode, puisqu’il tourne sur un Arduino 8 bits. Si vous ne trouvez pas de post-processeur correspondant mieux à votre machine, essayez GRBL, il y a de fortes chances que ça fonctionne.

Stratégies d’usinage 2D et 3D, qui, que, quoi?

Une des question qui revient le plus souvent lorsqu’on débute en fraisage CNC porte sur la différence, dans Manufacture, entre les opérations 2D et 3D. Et la réponse est loin d’être intuitive. En effet, la différence n’a rien à voir avec les mouvements de a fraise en 2 ou 3D. Il faut se placer “du pont de vue de Fusion 360”. Et, de ce point de vue, une opération 2D est une opération dont le chemin va suivre une ligne, une arête, un angle, alors qu’une opération 3D se calcule à partir d’une surface, à priori non plane (mais qui pourrait l’être).  On peut bien sûr, selon la pièce, combiner des opérations 2D et 3D pour un même usinage.

2019-03-26 13_30_21-Autodesk Fusion 360 (Startup License)2019-03-26 13_30_57-Autodesk Fusion 360 (Startup License)

Nous reviendrons en détail sur ces différentes opérations, mais on va commencer par le commencement, c’est à dire la préparation du travail à effectuer sur notre pièce de matériau brut. Fusion 360 appelle ça “Setup”. Il peut y en avoir plusieurs pour une même pièce, notamment si on doit la retourner, mais les principes décrits vont s’appliquer pour tous vos setups.

Setup et Stock

-1- Stock

La première chose à faire (de mon point de vue), même si les onglets ne sont pas dans cet ordre, est de déterminer les dimensions de la pièce de matériau brut que vous allez usiner. Le terme utilisé par Fusion est “stock”, et c’est donc cet onglet que nous allons examiner en détails.

2019-03-26 13_45_38-Autodesk Fusion 360 (Startup License)

Tout d’abord, la liste déroulante “mode” permet de choisir COMMENT on va déterminer les dimensions du matériau brut. Sur l’image ci-dessus, le mode est “ relative size box”, c’est à dire que Fusion 360 détermine les dimensions de cette “boite” en fonction du modèle à usiner, et des décalages (offset) indiqués. Les dimensions X, Y et Z sont indiquées dans la partie inférieure du dialogue.

Si l’on clique sur cette liste déroulante, on obtient la totalité des différents modes possibles, ainsi qu’une aide visuelle expliquant mieux ce à quoi chacun de ces modes correspondent:

2019-03-26 13_46_13-Autodesk Fusion 360 (Startup License)

Si vous sélectionnez “Fixed Size Box”, au lieu de relative, vous indiquez  vous-même les dimensions du matériau brut (ce qui sera sans doute le cas le plus courant). On retrouve les mêmes choix entre relatif et fixé pour les cylindres et les tubes. finalement, on peut choisir “from solid”, c’est à dire depuis un volume Fusion 360. Cette option correspond à la découpe de pièces dans un panneau, par exemple.

Ici, nous avons un setup différent, pour la même pièce, avec une “boite” de taille fixe, et la pièce à travailler positionnée à l’intérieur du matériau brut “en bas à gauche”.

2019-03-26 14_02_16-Autodesk Fusion 360 (Startup License)

Les décalages indiqués vont permettre d’usiner le périmètre extérieur de la pièces sans gaspiller trop de matière. Si l’on partait d’un bloc déjà surfacé, on pourrait très bien mettre offset à zéro. Il n’y a pas d’offset indiqué en Z, puisqu’on demande à Fusion de mettre la pièce à égale distance (center), du dessus et du dessous de la pièce brute. Cela va permettre d’usiner toutes les faces, mais il va falloir retourner la pièce pour surfacer le dessous.

-2- Setup

Voyons maintenant le premier onglet, setup.

2019-03-26 14_22_37-Autodesk Fusion 360 (Startup License)

Tout d’abord, il est possible de sélectionner une machine, et de l’éditer, en indiquant ses dimensions et diverses autres caractéristiques. Je ne l’ai as encore fait, ce n’est pas du tout une étape obligatoire, même si l’indication de surface maximum de travail, par exemple, aidera Fusion à nous alerter si l’on cherche à usiner une pièce trop grande.

Ensuite, on doit déterminer le type d’opération à effectuer. On a le choix entre Milling (Fraisage), Turning (tournage ou tournage/fraisage), et Cutting (découpe).  Cette suite d’articles concerne le fraisage, dans un premier temps..

On arrive ensuite à la partie la plus importante, Work Coordinate System ( Système de Coordonnées de Travail), dont il nous faut déterminer l’orientation et l’origine. Une machine CNC peut (si vous avez des fins de course et une fonction “homing”) travailler selon 2 systèmes de coordonnées: un système de coordonnées “absolues” (physiques, si vous voulez), et un système de coordonnées relatives (de “travail”). Le système absolu permet au code de savoir où se trouve votre fraise par rapport aux limites et dimensions de la machine. Le système relatif travaille par rapport à un point origine X0, Y0, Z0, dépendant de la pièce à travailler, que l’on va déterminer avec Fusion. La machine, bien sûr n’a aucune idée de la position de ce point (mais on va le lui indiquer…). Il est donc possible, si on ne fait pas attention, de dépasser les limites physiques de la machine, si on indique en coordonnées relatives un point situé à l’extérieur de la zone de travail. Mais un peu de bon sens permet généralement d’éviter ce genre de problème.

Si vous avez conçu votre pièce dans Fusion avec le Z en haut, comme c’est maintenant le défaut, vous ne devriez pas avoir de difficultés ici, il doit suffire d’indiquer “Model Orientation”. Autrement, il peut être nécessaire d’indiquer où est l’axe X. Par convention, sur une machine CNC, l’axe X est la plus grande longueur (gauche droite), l’axe Y est la largeur (avant, arrière), et l’axe Z la hauteur.

2019-03-26 14_42_07-Autodesk Fusion 360 (Startup License)

Selon les cas, et selon votre modèle, vous pouvez choisir de sélectionner X et Y (des arêtes sur votre pièce), Fusion déduira la position de Z. Si Z pointe vers le bas (ou un autre des axes), vous pouvez cocher la case Flip … axis pour faire en sorte que toutes les flèches pointes dans les bonnes directions.
Une fois les coordonnées orientées convenablement, vous pouvez sélectionner le point origine, point sur lequel vous devrez amener la pointe de la fraise avant de commencer (et de remettre, sur la machine, les axes X, Y et Z à zéro).

2019-03-26 15_09_45-Autodesk Fusion 360 (Startup License)

Le plus souvent, le point choisi sera un point sélectionné sur la “boîte” représentant le matériau brut. Après tout, c’est logique, puisque c’est ce que vous positionnez et fixez sur votre machine. Sélectionner un point sur le modèle n’a pas vraiment de sens dans ce cas.. Ce pourrait être le cas, si vous faites un nouveau setup, pour graver du texte sur une pièce déjà usinée, par exemple. Méfiez-vous du “Model Origin”, qui va utiliser le point origine dans MODEL, comme point origine pour vos coordonnées d’usinage. Il y a très peu de cas où il sera possible d’amener la pointe de la fraise sur un point du matériau brut correspondant.

Au moment de la sélection (ici stock box point), les différents points possibles sont montrés sur la boîte. Les points à mi-hauteur ne sont pas très utilisables. Le plus souvent, on utilise le point dessus et au milieu, facilement identifiable sur le matériau en traçant les diagonales, ou bien l’un des coins, toujours dessus. Pour une raison particulière, on peut vouloir utiliser un des points au bas de la ”boîte”, mais nous aurons l’occasion de parler de ce cas particulier dans le futur.

2019-03-26 15_17_41-Autodesk Fusion 360 (Startup License)

Finalement, Model nous permet de sélectionner quel objet de notre conception nous voulons usiner. Ce peut être un (ou plusieurs) bodies ou components. Évidemment, si, comme dans l’exemple utilisé ici, il n’y a qu’un seul body, le choix est restreint…. Smile Enfin, nous pouvons sélectionner ce qui, dans notre modèle est destiné à faire tenir notre pièce: Fixture (à condition évidemment de l’avoir modélisé) sur notre fraiseuse, de manière à ce que, lors du calcul des différentes passes, Fusion puisse nous alerter d’un éventuel conflit. Le sujet est suffisamment important pour justifier un future article.

Cette vidéo est aussi une bonne introduction, complémentaire à cet article: https://youtu.be/XHsMSbgQSJsPS

Cette “mise en bouche” sur les stratégies d’usinage 2D et 3D avec Fusion 360 se termine ici, merci d’avoir lu jusqu’au bout. N’hésitez pas pour les question  et commentaires, le Forum Le Bear CNC étant le lieu approprié pour cela. merci, et à bientôt, pour de nouvelles aventures….  Ha, au fait, tous les articles du blog sont “convertissables” en PDF et imprimables.  2019-03-26 15_44_47-Vitesse et Avance_ Trouver le Point d’Equilibre pour Usiner Bois et Plastiques.




Position du Homing pour $23=1

GRBL, Homing et fins de course.

Homing est la fonction qui permet de donner une position de référence sur les 3 axes de la machine, de manière à ce qu’un certain nombre d’opérations soient possibles grâce à un « repère » physique constant, tel que la position de brides et d’attaches, d’une sonde, etc….

La position de ce repère sur la machine dépend des paramètres indiqués dans GRBL. Comme la chose n’est pas absolument intuitive (???), on va tâcher d’illustrer tout ça.
Tout d’abord, il vous faut déterminer où vous voulez que le homing se fasse:

Paramètre $23 – Direction du Homing

Vous avez 4 choix possibles:

Position du Homing pour $23=0

Position du Homing pour $23=1
Position du Homing pour $23=1

Position du Homing pour $23=2
Position du Homing pour $23=2

Position du Homing pour $23=3

 

Comme vous pouvez le voir sur les illustrations, les coordonnées absolues sont données en négatif par rapport au point 0,0,0. C’est a priori le défaut pour toutes les machines CNC professionnelles, et pour LinuxCNC, dont GRBL s’inspire. Ne me demandez pas pourquoi, aucune idée! 🙂

Bien sûr, du choix de la direction du Homing va dépendre la position des switches de fin de course. Notez qu’il n’est pas nécessaire de mettre de fin de course en Z+. De mon point de vue (mais ce n’est que mon point de vue), il n’est pas non plus nécessaire de mettre des switches de chaque coté des Axes X et Y. Personnellement, ayant choisi la position $23=3, je n’ai des fins de course qu’en X- et Y-.

Etapes du Cycle de Homing

 

Par défaut, le cycle de homing passe par les étapes suivantes:

  • Axe Z
    • L’axe Z monte en vitesse rapide ($25)
    • Lorsque le fin de course Z est déclenché, Z s’arrête pour une courte période ($26), et recule d’une certaine distance ($27)
    • L’Axe Z va monter à nouveau lentement ($24) jusqu’à ce qu’il touche le fin de course à nouveau.
    • L’Axe Z recule d’une certaine distance ($27)
  • Axes X et Y
    • X et Y se déplacent tous les deux dans la direction du Homing, à vitesse rapide ($25)
    • Le premier Axe qui déclenche le fin de course s’arrête, et attends que l’autre Axe déclenche aussi.
    • Lorsque le second Axe touche le switch, les 2 axes reculent d’une distance pré-établie($27)
    • Les 2 axes X et Y vont se déplacer vers les fins de course à nouveau, lentement ($24), jusqu’à ce que les 2 switches soient à nouveau déclenchés
    • Les deux axes X et Y vont reculer d’une petite distance ($27)

Vitesse du Homing

Comme décrit ci-dessus, le Homing est fait en deux phases distinctes par axe: rapide et recherche. La vitesse rapide est contrôlée par le paramètre $25. Dans cette phase, GRBL essaye juste de trouver la fin de course en un temps raisonnable.

Après la phase rapide, la phase de recherche fait exactement la même chose, mais à une vitesse lente, contrôlée par le paramètre $24. Cette phase est dédiée à trouver précisément le point de déclenchement du switch fin de course.

Attention, surtout pour la phase rapide, à ne pas être trop rapide, au risque d’endommager les interrupteurs. Pour ma machine, à titre d’exemple, $24=100, $25=800 (ce sont des millimètres/minute). Bien sûr tout dépend de votre machine, mais si vous venez de l’impression 3D, oubliez vite les vitesses utilisées sur votre imprimante! Les masses en mouvement n’ont aucun rapport!

Distances de Homing

GRBL va abandonner la recherche pour une fin de course après avoir effectué la distance de déplacement maximum X 1.5. Cette distance de déplacement maximum est contrôlée par les paramètres $130 pour X, $131 pour Y et $132 pour Z. Ces valeurs sont aussi utilisées pour les limites logiciel, et devraient être réglées un peu en dessous de la longueur pour chaque axe.

Après la phase  rapide, l’axe recule un petit peu, pour que le switch revienne en position de repos. Cette distance est contrôlée par le paramètre $27. Indiquez une valeur suffisamment haute pour que l’interrupteur soit complétement dégagé,même si la phase rapide dépasse le point limite (va taper sur la machine).

Paramètre $22

Maintenant que vous avez effectué les différents réglages expliqués ci-dessus, vous pouvez mettre le paramètre $22=1. Lorsque que vous re-lancez GRBL, le homing est actif, la machine va se mettre en erreur tant qu’un cycle de homing valide n’a pas été effectué, et il ne peut s’effectuer QUE si vos end stop et les autres paramètres sont corrects…..

Dans bCNC, vous allez voir quelque chose comme ceci:

bCNC en attente de Homing

Cliquez sur l’icône « Home » (Maison) pour démarrer le cycle de homing. Si tout se passe bien, vous verrez la barre rouge passer en jaune, avec le mot Idle, signifiant que la machine (GRBL, en fait) est en attente de commandes.

Vous verrez aussi s’afficher, sur la ligne MPos, les coordonnées absolues (physiques, si vous préférez) correspondant à la position de Homing que vous avez définie.

 

Et après le Homing, on fait quoi?

Commande G28.1 dans bCNC

Le homing n’est utile que si l’on s’en sert. Comme dit au début, il nous donne une position de référence sur la machine, indépendante de pièce à travailler. Une des utilisations possibles est d’indiquer à GRBL où l’on veut que se positionne la broche (et fraise), après que le travail sur une pièce spécifique est fini. La plupart des post-processeurs de Fusion 360 envoient la commande G28 à cet effet.

Imaginons que vous vouliez qu’après le travail, votre broche remonte à la position de homing, mais avec X et Y correspondants à un repère sur votre martyr où vous positionnez vos pièces à travailler (Angle d’une équerre, par exemple). Vous amenez, par jogging, l’outil à la position souhaitée. Ensuite, dans bCNC, vous tapez la commande G28.1, et validez par Entrée. Cette commande indique à GRBL de mémoriser la position courante de l’outil pour G28.

Vous pouvez tester si cette position est correctement mémorisée en joggant à nouveau quelque par ailleurs, puis en tapant simplement G28 (et Entrée). Vous devriez alors voir la machine positionner votre outil à la position mémorisée.

Personnellement, j’ai choisi pour G28 une position qui me facilite le changement d’outils (fraise).

 

Coordonnées absolues et relatives

Point origine sur Fusion 360

Il est clair que la position trouvée lors du cycle de homing est une position « absolue », correspondant toujours aux même coordonnées sur votre machine. De la même manière, la position G28, définie après un homing, est une position absolue, sans relation avec une pièce à travailler.

Seulement, le mode de travail d’une pièce, et la détermination du point origine des axe X, Y et Z, doit correspondre à des coordonnées relatives (à la pièce à travailler). Si j’utilise Fusion 360, j’ai défini un point origine quelque part sur mon stock. Comment faire pour que ma machine (et GRBL) sachent où est ce point?

Dans l’exemple ci-contre, il me faut tracer les diagonales du carré pour identifier sur la pièce brute l’endroit où positionner ma fraise.

Ensuite, en « joggant » avec les flèches de déplacement, vous amenez votre fraise sur le point en question. OK, très bien! MAIS vous ne voulez pas vraiment refaire cette même manipulation à chaque fois que vous voulez travailler une pièce, n’est-ce pas? Ce serait quand même plus pratique si on pouvait mémoriser cette position.

Justement, c’est ce à quoi les « espaces de travail » G54, G55 …. G59 sont destinés. Une fois votre outil positionné là où vous le souhaitez, en étant dans l’espace de travail G54 (Espace par défaut pour GRBL), vous mémorisez cette position en cliquant sur le bouton XYZ=0. AUCUN DES AXES NE BOUGE SUR LA MACHINE, et c’est NORMAL! Simplement, la position (absolue) est enregistrée, et comme il s’agit du point origine de l’espace de travail G54, les axes sont tous à zéro (avec parfois quelques petits décalages, dus au nombre de pas et à la résolution définie pour les moteurs).

Après jogging en position

Après remise à zéro des axes pour G54

La copie d’écran de gauche correspond au résultat du jogging. Les valeurs pour Wpos ( Work Position, position de Travail) ,n’ont pas grande signification.

Après appui sur le bouton XYZ = 0, (image de droite) pour l’espace de travail G54 (dont le bouton est enfoncé, c’est donc l’espace actif), les axes sont tous à zéro (à quelques millièmes près,la résolution sur ma machine ne permet pas d’aller en dessous du 1/100ème)

Cette opération est celle qui nous permet de « faire le lien » entre le GCode généré par Fusion 360, et la machine.

Si vous avez défini une position pour G28, comme indiqué précédemment, vous pouvez tester vos positions mémorisées, en envoyant la commande G28, puis, lorsque la machine a fini de se repositionner,en cliquant sur le bouton avec un cercle, au centre des flèches de jogging, ce qui demande à la machine de reprendre la position définie pour G54. Vous avez sans doute remarqué qu’il y a 5 autres espaces de travail possibles. Personnellement,j’ai trouvé pratique d’utiliser G55 pour mémoriser le coin d’une équerre sur le martyr, et G54 pour une position sensiblement au centre du martyr.

Une fois les opération décrites faites, vous pouvez charger votre fichier GCode et demander à bCNC de l’exécuter (en fait bCNC l’envoie à GRBL, qui lui l’exécute)

Pour en savoir plus sur les commandes GCode évoquées ici, veuillez vous référer à cette page: Tout le GCode de LinuxCNC

En guise de conclusion

Cet article fait suite à beaucoup de lectures sur des groupes Internet et de Forums (Français ET Anglais), et essaye de « réparer » un peu les erreurs de compréhensions, et les « conseils » lus, comme de supprimer la génération de G28, parce que « ça ramène toujours tout à zéro ». GRBL n’est jamais qu’un outil dont VOUS vous servez. Si vous le laissez faire ce qu’il veut, sans chercher à apprendre et à comprendre, ça peut sembler plus « facile », mais vous passez à coté de fonctions utiles qui ne sont pas là par hasard.

Ne me faites pas dire ce que je ne dis pas: rien n’est « obligatoire », et personne ne vous oblige à utiliser GRBL d’une certaine manière plutôt qu’une autre. On peut en fait très bien se passer complètement du Homing, tout faire en coordonnées relatives, et ne pas chercher plus loin, ça « marche ».

Mais si vous avez passé du temps et dépensé de l’argent pour avoir une machine CNC correspondant à vos souhaits, pourquoi se priver de la moitié des fonctions gratuitement à votre disposition?




Chaîne Bois

La Chaîne Logicielle

De l’idée de départ jusqu’à la fabrication de la pièce sur votre machine CNC, tout va se passer sur l’ordinateur, utilisant différents logiciels selon l’étape du processus à effectuer, constituant ainsi une chaîne logicielle.

LA Chaîne logicielle, dans l’absolu, n’existe pas. Il y a la vôtre, celle que vous allez petit à petit adopter, qui vous sera la plus familière. Même si, selon les cas particuliers, vous allez sans doute avoir besoin de l‘adapter.

Dans cet article, La Chaîne Logicielle est générique. Nous allons voir les différentes étapes nécessaires pour transformer une idée en objet fini, et évoquer les différents outils logiciels qui peuvent être utilisés. Certains logiciels permettent d’effectuer TOUTES les étapes, où presque, alors que d’autres ne permettent qu’une seule opération. Nous reviendrons plus en détail sur certains de ces logiciels dans le futur.

Il existe aussi de nombreux utilitaires, permettant de passage d’une étape à une autre, comme la conversion d’un fichier DXF en GCode, mais je n’en parlerais pas dans cet article, dans la mesure où le but est d’avoir le MINIMUM d’étapes. Je vais donc me focaliser sur les outils plus complets, par rapport à des utilitaires ne remplissant qu’une seule fonction. Le Forum est là pour en parler, une discussion me semble plus appropriée qu’un article, qui ne peut brosser qu’un tableau générique.

Étapes de Création

  1. Conception/Dessin 2D.
  2. Passage au 3D (ou Conception 3D directement).
  3. Génération des chemins de l’outil (des outils), création du GCode.
  4. Envoi du GCode à la machine.
  5. Interprétation du GCode et transformation en mouvements sur la machine.

Nous allons surtout nous intéresser aux 3 premières étapes, indépendantes des étapes 4 et 5, nécessaires quelle que soit la machine et technique utilisée (Fraisage, découpe laser où même impression 3D). Mon but n’est pas d’être exhaustif et de citer tous les logiciels possible pour une étape particulière, mais de proposer une découverte de certains outils particulièrement adaptés à une utilisation amateur/semi-professionnelle, de par leur prix et (ou) leur simplicité d’utilisation.

C’est l’ensemble des logiciels et utilitaires permettant d’effectuer au mieux chacune de ces étapes qui vont constituer votre chaîne logicielle.

Étape 1 : Conception/Dessin 2D

C’est sans doute pour cette première étape que la palette de choix possibles est la plus vaste, puisque pratiquement n’importe quel logiciel de dessin peut-être utilisé. La difficulté risque d’être le passage aux étapes suivantes, il vaut donc mieux choisir d’entrée un outil connu pour son intégration aisée dans l’ensemble du processus.

Pour cette raison, il paraît nécessaire d’éliminer d’emblée les logiciels de dessins “matriciels” (raster) pour se pencher vers les outils de dessin vectoriels (vectors, lignes). Pendant qu’on y est, autant se focaliser sur les outils type dessins industriels, plutôt qu’artistiques, selon vos buts, bien sûr. Il existe de nombreuses solutions permettant de passer de l’un à l’autre, simplement cela rajoute une étape, donc de la complexité, du temps et une source d’erreurs supplémentaire.

    • Inkscape

      • Pourtant, le premier logiciel que je veux présenter est justement un de ceux qui permettent cette conversion, mais il est capable de bien plus! Je veux parler de Inkscape, qui est un logiciel de dessin vectoriel Open Source et gratuit. Attention, il ne s’agit pas de dessin paramétré, type dessin industriel, mais de dessin libre, “artistique”, ce qui peut parfaitement vous convenir, pour réaliser des signaux, panneaux, logos, etc…
      • Étant capable d’exporter les créations en fichier SVG et DXF, il pourra s’intégrer avec tous les outils dont nous allons parler par la suite.
    • Draftsight

      • Créé par Dassault Systèmes, Draftsight est un équivalent très proche des fameux Autocad et Autocad LT. On ne parle plus de dessin “artistique” ici, mais de toute la puissance nécessaire à la CAO, avec toutes les fonctionnalités habituellement trouvées dans ce genre d’outils. Il a l’avantage d’avoir une version gratuite. La seule vraie différence entre la version gratuite et la version professionnelle est LISP, un langage de programmation permettant d’automatiser de nombreuses taches répétitive de dessin.

Étape 2: Conception/Modélisation 3D

On aborde ici les outils les plus spectaculaires, longtemps réservés aux seules entreprises capables de s’offrir des outils dont la licence dépassait allégrement les 10 000 € par poste. Cela a bien changé récemment, mais pas pour tout le monde! Tout d’abord, une distinction importante: Conception et Modélisation 3D ne sont pas la même chose. La conception permet d’élaborer, dessiner, visualiser un objet en 3 dimensions. La modélisation va plus loin, permettant de modéliser des mouvements des objets en relation les uns avec les autres, de simuler des efforts, etc. Autrement dit, tous les outils de conception 3D ne sont pas nécessairement aussi des outils de modélisation.

    • SketchUp

      • Le plus connu des outils de conception 3D (mais PAS de modélisation) est certainement SketchUp. La version “Make” est gratuite, et il existe beaucoup de tutoriels et d’exemples sur le Net. Son principal inconvénient, de mon point de vue, est qu’il s’agit plus d’un logiciel de “dessin” en 3D, que d’un logiciel de “Conception”, ce qui le rend parfaitement adapté à l’architecture, mais pas autant à l’assemblage mécanique. Ce que je veux dire, c’est que SketchUp manipule des volumes ( un cube est un assemblage de 6 faces carrées) et pas réellement des objets, où un cube est un solide dont toutes les dimensions sont égales. Cela peut sembler, à la lecture, de petites nuances, mais en pratique, dans l’utilisation quotidienne, c’est une vraie différence.
      • L’autre inconvénient, c’est la difficulté à exporter sous des formats standards en vue de la fabrication et la génération de GCode.
      • Personnellement, c’est avec SketchUp que j’ai commencé la conception 3D, mais je suis très heureux d’avoir découvert Fusion 360 dont je ne pourrais plus me passer.
    • SolidWorks

      • Passons maintenant au Français de la série, SolidWorks, lui aussi produit par Dassault Systèmes. On a ici affaire à un véritable outil industriel, capable de modéliser des solides. Il est utilisé par un certain nombre de modélistes connus, comme Laurent Buissyne, dont tous les plans récents publiés dans RC Pilot sont créés avec SolidWorks.
      • Je n’ai personnellement aucune expérience avec cet outil, mais à voir les résultats produits, je n’ai aucun doute sur ces capacités. Les inconvénients sont, tout d’abord, le prix de la licence, qui dépend des modules choisis, mais tourne autour de 7 000€ (sauf si vous pouvez bénéficier d’une licence éducation). Ensuite, il n’y a pas de module de fabrication directement intégré, il va donc falloir passer par un export en fichier d’échange (DXF), puis l’utilisation d’un autre outil logiciel pour générer les passages d’outils et le GCode.
    • Autodesk Inventor

      • Concurrent direct de SolidWorks, Inventor est aussi parfaitement adapté à nos besoins, même si lui non plus ne comporte pas de module capable de générer le GCode. N’ayant pas non plus d’expérience personnelle avec cet outil, je ne peux que vous renvoyer à cette comparaison. Au final, tout dépend de vos besoins particuliers, qu’il vaut mieux avoir identifiés correctement, puisqu’au final, sur 5 ans, vous aurez dépensé plus de 12 000 $US

 

    • Gamme Vectric (Cut2D, VCarve, Aspire, Cut3D)

      • Spécialement conçus pour le fraisage en 2 et 3D, les divers logiciels de cette gamme n’ont pas toutes les possibilités d’outils comme SolidWorks ou Inventor, mais ils permettent d’effectuer toutes les étapes nécessaires, depuis le dessin de base, jusqu’à la génération du GCode. Ils comportent aussi (de base où en complément) de généreuses librairies de pièces décoratives que vous pouvez incorporer dans votre création, où juste fraiser pour elles même. Ils sont complétement orienté bois, et TRES faciles d’emploi. Pour des débuts avec une fraiseuse CNC de table, Cut2D Desktop (135€), vous permettra d’obtenir des résultats immédiatement, puisqu’à lui tout seul il est capable de l’ensemble des opérations.
    • Fusion 360

      • Le petit dernier parmi les grands, et de ce fait le moins connu, Fusion 360 est le plus complet au regard de nos besoins, dans la mesure où c’est le seul à intégrer directement un module de génération de GCode, mais pas seulement! Il peut aussi piloter directement une imprimante 3D, générer du GCode adapté à la découpe laser où plasma. C’est donc non seulement un outil de Conception/Modélisation 3D évolué, avec simulation des joints/articulations entre pièces, mais aussi un outil de fabrication des pièces modélisées. Le Gode peut aussi être généré pour du VRAI 3D, pas juste du 2.5D ( X, Y et Z) comme la plupart des autres outils le font.
      • Il a aussi l’immense avantage, pour nous, d’être gratuit, pour autant que vous où votre entreprise ne fassiez pas plus de 100 000 $US/An (ou que vous puissiez justifier d’un statut Étudiant/Professeur). J’aurais l’occasion d’expliquer cela en détail dans un futur article. ATTENTION, vous ne pouvez bénéficier de cette possibilité que si vous utilisez le lien ci-dessus, PAS LE SITE FRANCAIS!
    • CamBam

      • Selon vos besoins, CamBam peut s’avérer suffisant, c’est pour cette raison que je le cite ici. Il ne s’agit pas réellement de “conception 3D”, mais plutôt de dessins 2D auxquels on affecte une épaisseur. Il peut aussi importer des fichiers DXF et est capable d’importer un certains nombre de formats de fichiers 3D, que vous ne pourrez cependant pas modifier dans CamBam. Très connu et très utilisé, CamBam n’est pas gratuit.

Étape 3: Génération des chemins de l’outil et du GCode

Tout d’un coup, il y a beaucoup moins de monde pour cette étape! Si vous tapez dans Google “generate GCode from DXF” vous allez avoir une foultitude de résultats (79 700 exactement!). Pour une recherche un peu moins restrictive (“GCode generator”) vous obtenez 274 000 résultats! Pourquoi dire qu’il y a beaucoup moins de monde, au vu de ces résultats? Tout simplement parce qu’il s’agit, à 99%, d’utilitaires plus où moins bien ficelés, relativement limités et manquants de souplesse. La encore, votre expérience peut différer, et je vous invite à utiliser le Forum pour partager votre expérience et poser des question à ce sujet. je me limiterais donc, dans cet article, aux 2 outils déjà cités.

CamBam

C’est le but premier de CamBam, parfaitement capable de générer des chemins complexes, tenant correctement compte des fraises utilisées et des machines auxquelles le GCode est destiné. La licence est abordable, et il existe maintenant en Français. Étant largement répandu, il est assez facile de trouver de l’aide à son sujet, notamment au travers de discussions sur Usinages. Le seul véritable inconvénient de CamBam, par rapport à un module intégré comme dans Fusion 360, est que toute modification de dernière minute va nécessiter l’utilisation de plusieurs logiciels et la régénération de fichiers d’échange.

Exemple: j’ai prévu des percements de diamètre 5mm, et je me rends compte qu’il vaut mieux percer à 6mm. Avec CamBam, il faut

  1. Modifier le dessin d’origine dans DraftSight (par exemple)
  2. Exporter en fichier DXF
  3. Aller dans CamBam
  4. Importer le Fichier DXF
  5. Refaire les opérations nécessaires pour générer le GCode depuis ce nouveau fichier.

Fusion 360

Le module CAM de Fusion 360 est pratiquement un rêve devenu réalité. Pour comparer avec les étapes de l’exemple précédent, voici les étapes nécessaires:

  1. Modifier le diamètre des trous dans le module Model
  2. Retourner dans le module CAM et régénérer les chemins d’outils.

C’est tout! N’oubliez pas non plus que vous pouvez directement imprimer (ou faire imprimer par des entreprises spécialisées) en 3D vos objets conçus avec Fusion 360, depuis le module Model. Selon vos besoins, vous pourrez trouver Fusion 360 un peu lourd, même si l’interface utilisateur me semble très réussie. Il y a beaucoup de possibilités, donc beaucoup à apprendre. Mais CamBam demande aussi un apprentissage non négligeable.

Gamme Vectric

Je ne veux pas répéter ce que j’ai écrit plus haut, mais l’ensemble de la gamme Vectric est à classer ici aussi.

Étape 4: Envoi du GCode à la machine CNC

Les étapes 4 et 5 ne sont distinctes, pratiquement, qu’avec GRBL, qui ne comporte pas d’interface utilisateur. Pour tous les autres programmes couramment utilisés par les amateurs et artisans (par différence avec l’industrie), c’est le même logiciel qui va effectuer ces 2 étapes, bien que généralement la partie “envoi des impulsions aux moteurs” va être gérée par le firmware de la carte externe branchée sur le PC. L’étape 4 commence donc avec l’existence d’un fichier GCode (généralement avec une extension .NC où .CNC), dont il nous faut maintenant “faire quelque chose avec”….

Si vous utilisez GRBL, du fait qu’il “tourne” sur un Arduino, vous allez avoir besoin d’un logiciel interface utilisateur, pour communiquer et contrôler GRBL.

  • Panneau de Contrôle GRBL

    • Ce logiciel est le seul a être francisé (à ma connaissance) . Vous pouvez le télécharger ici. Il comporte tous les contrôles nécessaire au pilotage d’une fraiseuse CNC, tels qu’on peut les trouver sur des machines industrielles. Il évolue constamment. Bien qu’il ne comporte pas la visualisation de la pièce travaillée et de la position de l’outil, il reste mon préféré.
  • grblControl / Candle

    • Relativement récent parmi ces logiciels “envoyeurs de GCode”, il a l’avantage de pouvoir fonctionner aussi sur Linux, en plus de Windows. Il permet aussi de visualiser graphiquement le GCode, mais est un peu moins complet en ce qui concerne l’interaction avec GRBL. Vous pouvez le télécharger directement depuis son répertoire GitHub, puisqu’il est Open Source, tout comme GRBLPanel / Panneau de Contrôle GRBL

Comme dit précédemment, il existe de nombreux autres outils remplissant cette fonction. Vous pouvez accéder à la liste ici, complète (ou à très peu près, je crois).

Étape 5: Interprétation du GCode et envoi des impulsions aux pilotes des Moteurs

Ne nous y trompons pas, dans pratiquement tous les cas de figure (pratiquement, parce qu’avec le Raspberry PI et équivalents, on voit commencer à apparaître des solutions complétement intégrées), c’est une carte reliée au PC qui va effectivement envoyer les commandes aux drivers. Et le code se trouve dans le firmware de la carte. Pas vraiment de différences donc avec GRBL, dans le principe. La vraie différence vient du type de liaison entre le PC et la carte électronique (généralement propriétaire), ainsi que du Firmware lui même, bien sûr.

  • Mach3, Mach 4

    • Plus aucun PC, et encore moins de portable/tablette ne comportent maintenant de port parallèle, qui fait un peu figure d’antiquité. Pourtant Mach3, comme Mach4, bien plus récent, ont tous deux besoin d’un port parallèle, dans leurs versions de base. Il existe des plugins et différentes cartes permettant d’utiliser un port USB, mais il me semble préférable d’utiliser un logiciel conçu dès l’origine pour utiliser un port USB où un port Ethernet. Ces logiciels sont complets, même si un peu complexes à mettre en œuvre au départ. Ils peuvent piloter jusqu’à 6 axes, ce qui dépasse très largement les besoins amateurs et même professionnels en fraisage courant.
  • PlanetCNC

    • Alternative relativement peu connue, PlanetCNC conçoit et fabrique ses propres cartes contrôleurs USB, et diffuse son propre logiciel (gratuit) compatible avec ces cartes. L’ensemble est d’un fonctionnement robuste et sans soucis particuliers, après avoir proprement paramétré le logiciel en fonction de sa machine.
  • CNCdrive

    • Alternative intéressante et moderne à Mach3, avec une licence à 55€ en ce moment, le logiciel de CNCdrive, UCCNC peut importer les réglages faits pour Mach3. Certaines des cartes proposées sont compatibles avec Mach3, elles existent pour port USB où pour port Ethernet. L’utilisation d’in port Ethernet comporte plusieurs avantages (par rapport à un port USB), notamment la possibilité d’accroître la distance entre le PC et la carte sans risques, et une connexion plus stable, sans bruits électriques.
  • GRBL

    • Il n’est bien sur pas question d’oublier GRBL, qui est le seul à ne pas avoir besoin de carte propriétaire, mais de l’Open Source Arduino. Un Uno suffit, et le simple fait que toutes ces fonctionnalités “tiennent” dans cette mémoire ridiculement petite est complétement étonnant. La version actuelle, 1.1, est disponilbe sur Github ici. GRBL va évoluer vers l’utilisation d’un Atmel (Arduino Due)

 

Tableau Récapitulatif de possibles composants de votre Chaîne Logicielle

Logiciels / Etapes Conception 2D Conception / Modélisation 3D Génération GCode Envoi GCode Interprétation GCode – Impulsions Moteurs Hardware
InkScape X
DraftSight X
TurboCAD Standard X
SketchUp X (Conception)
SolidWorks X X
Inventor X X
Fusion 360 X X X
Vectric Cut 2 D X X
Vectric VCarve X X
Vectric Aspire X X (Pas de modélisation) X
Vectric Cut3D Lecture uniquement fichiers 3D X
CAMBAM X (Conception simple 2.5D) X
Panneau de Contrôle GRBL X
GrblControl X
GRBL X Arduino Uno – USB-Série
Mach3 et Mach 4 X X Cartes Contrôleurs, Port // ou USB avec Plugin
PlanetCNC X X Carte USB propriétaire
CNCdrive X X Cartes USB et Ethernet

J’espère que cet article aide à clarifier qui fait quoi, et comment. Surtout, n’hésitez pas a commenter et à poser des questions, ci-dessous, dans les commentaires, ou dans le Forum, qui est particulièrement adapté à ce genre de discussion.




Fichier G-Code

G-Code (Gcode). C’est quoi?

Cette question va sans doute paraître iconoclaste à tous ceux (et celles) déjà familiers des machines à commande numérique, mais c’est pourtant une question légitime pour toute personne envisageant de se lancer dans le fraisage CNC, d’autant qu’aujourd’hui de nombreux logiciels permettent de ne pas trop avoir à se soucier de ce G-Code, puisqu’ils le génèrent pour nous. Pourtant, il est utile de connaître ce langage de programmation (puisque c’est ce dont il s‘agit), d’une part pour comprendre ce qui se passe, d’autre part pour pouvoir lancer de courtes commandes manuelles à sa machine, pour la régler où pour tester une opération spécifique.

Donc, le G-Code, c’est quoi?

Comme indiqué précédemment, le G-Code est le langage utilisé pour contrôler une machine à commande numérique. Il s’agit bien d’un langage de programmation, qui nous sert donc à programmer les mouvements que la machine va effectuer, et le fichier contenant la suite d’instructions s’appelle, en toute logique, un programme. Il s’agit de simple fichier texte, humainement lisible, au même titre que du code en C, Pascal où Basic. Il se compose d’un certain nombre de “commandes” spécifiques, indiquant à la machine quel type de mouvement elle doit exécuter (droite, arc de cercle, etc.), et d’indications de coordonnées sur les axes X, Y et Z (Je n’envisage que les cas les plus classiques d’une fraiseuse sur 3 dimensions). Il est à noter que G-Code n’est pas utilisé exclusivement pour des fraiseuse à commande numérique, mais aussi pour des tours, des imprimantes 3D et des lasers de découpe.

Voici à quoi pourrait ressembler un petit programme G-Code:

O1000
T1 M6
(Linear / Feed - Absolute)
G0 G90 G40 G21 G17 G94 G80
G54 X-75 Y-75 S500 M3  (Position 6)
G43 Z100 H1
Z5
G1 Z-20 F100
X-40                   (Position 1)
Y40 M8                 (Position 2)
X40                    (Position 3)
Y-40                   (Position 4)
X-75                   (Position 5)
Y-75                   (Position 6)
G0 Z100
M30

Je ne vais pas ici détailler par le menu ce que chaque instruction et chaque ligne signifie, mais simplement “dégrossir” les commandes envoyées à la machine par ce programme. A vous de me dire ensuite, si vous avez suivi, quel genre de fraisage ce programme effectue. Si vous cherchez un peu, vous trouverez plusieurs sites ayant des interpréteurs/simulateurs de G-Code…

La toute première ligne n’est qu’une référence du programme lui même, pas une instruction G-Code.

  • T1 = sélectionne l’outil 1.
  • M6 = changement d’outil (sous programme de changement d’outil, si la machine en est équipée)
  • G0 G90 G40, etc., sont une suite de commandes indiquant comment la machine doit gérer les déplacements et les coordonnées (absolues ici), sélection du plan dans lequel on travaille, etc. G0 est pour le mode de déplacement rapide.
  • G54 est l’activation du décalage du point d’origine par rapport à la pièce à travailler, suivie des coordonnées en X et Y, suivie de la définition de la vitesse de rotation (S500) de l’outil (broche) à 500 tours minute, et mise en rotation de celle-ci (M3)
  • G43 demande la prise en compte de la longueur d’outil, définie par H1, et fait monter l’axe Z de 100
  • Z5 amène l’outil à +5 du niveau 0 de référence (normalement le dessus de la pièce à travailler)
  • G1 est le mode d’interpolation linéaire en vitesse de travail, l’axe Z descend de 20, et la vitesse de déplacement sur axe est de 100 (F100)
  • Les lignes suivantes indiquent à la machine les différents tracés qu’elle doit effectuer. Sachant que l’axe Z est à –20, et en assumant que la pièce fasse une épaisseur de 20, on a bien une découpe suivant ce tracé.
  • M8 est la commande pour un arrosage/refroidissement.
  • G0 est la commande pour repasser en mode rapide, Z100 remonte l’outil d’autant.
  • M30 indique a fin de programme. Il n’y a pas ici de commande ramenant la broche (et l’outil) an point de départ.

On peut voir tout de suite que certaines commandes sont puissantes et permettent à la machine d’effectuer des opérations complexes, alors que le suivi du tracé demande une commande pour chaque déplacement. Il est donc évident qu’une pièce complexe, avec des courbes, des poches, des forages de différents diamètres va nécessiter un nombre conséquent de lignes, dépassant rapidement le millier.

Par différence avec un programme informatique, qui est généralement compilé (transformé en 0 et 1) pour pouvoir être exécuté par le processeur, un programme G-Code est envoyé à un “interpréteur/contrôleur”, qui va lire ce code et le transformer en impulsions électriques pour les moteurs pas à pas et les différents périphériques (broche, refroidissement, etc.). C’est ce que fait GRBL, mais aussi les cartes d’interfaces de Mach3 où PlanetCNC, par exemple

Pourquoi et comment apprendre G-Code?

Je n’irais pas jusqu’à dire qu’une très bonne connaissance de G-Code est requise pour utiliser convenablement une machine CNC, mais avoir au minimum la capacité de lire, et éventuellement d’adapter, un programme G-Code est tout de même une très bonne chose, y compris pour un amateur. La capacité d’écrire de petits programmes tests est aussi utile. Malheureusement, je n’ai pas vu grand chose coté tutoriels en français. Soit on a affaire à quelque chose de très scolaire, daté, et ne correspondant pas vraiment aux besoins d’un amateur, soit on a un rapide survol, plus où moins attaché à une machine où un logiciel spécifique.

Il me semble que la meilleure manière d’apprendre est encore la pratique, avec essais et erreurs. Bien évidemment, s’il vous faut une machine, des morceaux de bois où de métal, et des outils cassés pour apprendre le G-Code, ça risque de finir par coûter cher, et vous allez être dégoûté avant peu. De plus, ça peu se révéler dangereux. Heureusement, puisqu’il s’agit de code et de programmes, un logiciel peut remplacer la machine numérique pour vos essais et votre apprentissage. J’ai réalisé il y a quelque temps une vidéo montrant l’utilisation d’un simulateur CNC.

Vous pouvez télécharger ce programme ici: http://cncsimulator.info De mon point de vue, l’intérêt de ce simulateur est que vous pouvez tester votre code sur une machine (virtuelle, certes!) ayant des limites de dimensions. Vous pouvez aussi vous en servir pour créer votre propre machine. Les nombreux “tutoriels” que j’ai pu trouver en français ne sont malheureusement pas réellement dédiés à l’apprentissage du G-Code, mais plutôt à comment le générer avec tel où tel programme, où à comment utiliser G-Code avec Mach3 où autre logiciel pour machine CNC (Si je me trompes, et qu’un bon tutoriel G-Code existe en français, je me ferais un plaisir de corriger ce paragraphe et de le faire connaître). Par contre, pour ceux qui lisent l’anglais il y a de nombreux outils et tutoriaux disponibles, comme celui-ci: http://www.helmancnc.com/simple-g-code-example-mill-g-code-programming-for-beginners/, où le très complet Tutorial et Simulateur de CNC CookBook. Vous trouverez aussi de nombreux “G-Code Viewer”, permettant de visualiser en 3 D ce que le G-Code fait, mais la plupart sont dédiés aux imprimantes 3D, et pas au fraiseuses. Un excellent outil est le G-Code jViewer, qui permet de visualiser le G-Code de GRBL. Cette fois-ci l’aide est en Allemand, mais ça ne devrait pas poser de gros problème de l’utiliser sans aide.

Quel G-Code?

C’est le dernier point à évoquer, avant que nous ne revenions plus tard sur des techniques spécifiques d’utilisation et de réalisations en G-Code, dans des articles futurs. Comme très souvent en informatique, il y a le “standard”, et ce qu’on en fait….Ce qui veut dire qu’en pratique, il y a plusieurs G-Code, de nombreux fabricants de machine ajoutant des commandes et des macros spécifiques. GRBL implémente un sous-ensemble du standard NIST rs274/ngc, ce qui permet au G-Code qui lui est destiné d’être correctement interprété par la plupart des autres programmes. Une machine contrôlée par Planet CNC accepte parfaitement un programme généré pour GRBL. Comme c’est une implémentation relativement simple de G-Code, c’est aussi une version parfaitement adaptée à l’apprentissage.

J’espère que ce papier sur G-Code vous aura donné l’envie d’en découvrir plus et de commencer à l’apprendre, si ce n’est déjà fait. Vos commentaires, questions et suggestions ci-dessous sont bienvenus!