Chaque machine à commande numérique (CNC pour Computer Numerical Control) interprète différemment le G-Code. Il y a une norme (la ISO 6983), mais la plupart des fabricants de machine s'en écarte un peu pour différentes raisons.
Pour assurer la compatibilité avec les différentes machines existantes, Autodesk Fusion 360 génère un fichier intermédiaire portant l'extension .cnc qui contient du code neutre. Ce code est ensuite retravaillé via un post processor. Le post processor est en fait un fichier portant l'extension .cps et contenant du code Javascript. Ce fichier est exécuté via un programme en ligne de commande nommé post
.
Plusieurs post processor sont installés avec Fusion dans le répertoire <Répertoire d'installation de Fusion>\Applications\CAM360\Data\Posts. Si votre machine n'est pas listée, vous devrez écrire votre propre post processor.
Dans mon cas, l'OpenBuilds MiniMill utilise le firmware GRBL donc je peux utiliser le post processor du même nom.
Mais j'ai un petit problème avec ce post processor, il écrit une instruction M6
(Appel d'outil) qui déclenche une alerte dans GRBL 1.1. Je peux évidemment supprimer cette instruction dans le fichier .nc mais ce serait mieux si le post-processor n'écrivait pas cette instruction.
J'ai donc créé une copie du fichier Grbl.cps.
Quand on ouvre le fichier dans un éditeur de texte, on voit qu'il y a plusieurs fonctions de rappel dont le nom commence par on
: onMachine()
, onOpen()
, onSection()
.
L'instruction T1 M6 qui pose problème est générée dans la fonction de rappel onSection()
. Les lignes qui nous intéressent sont les suivantes :
writeBlock("T" + toolFormat.format(tool.number), mFormat.format(6));
On voit que writeBlock()
est appelée avec deux arguments, c'est cette ligne qui génère la ligne T1 M6
. On peut garder la sélection de l'outil (T1) qui ne pose pas de problème à GRBL. Mais il faut supprimer le M6
. Donc on remplace la ligne par :
writeBlock("T" + toolFormat.format(tool.number));
Et voilà, problème réglé.
Gardez à l'esprit que toute erreur dans ce fichier peut générer du G-Code erroné qui peut crasher la machine, donc soyez vigilant.
Si vous avez besoin de modifier ou de créer votre post-processor, vous pouvez consulter la documentation qui se trouve ici : https://cam.autodesk.com/posts/reference/
Commentaires
Bernard Grosperrin (non vérifié)
dim, 26/05/2019 - 23:52
Permalink
Si je peux me permettre, c
Maxence
mar, 18/06/2019 - 09:41
Permalink
Bonjour et merci pour votre
Bonjour et merci pour votre commentaire. Effectivement, j'aurai dû supprimer la ligne complète, ce n'est pas utile de conserver le T1. Et vous avez peut être raison, l'alerte peut être générée par le logiciel que j'utilise pour envoyer le code à la machine (c'est OpenBuilds CONTROL : https://software.openbuilds.com/) et non pas par GRBL. Il faudra que je regarde ça à l'occasion.
Dorilas daryl (non vérifié)
mer, 18/12/2019 - 09:19
Permalink
Bonjour,
Bernard Grosperrin (non vérifié)
jeu, 27/02/2020 - 13:26
Permalink
heuh.... NON, et NON! je n'ai
Maxence
jeu, 27/02/2020 - 14:12
Permalink
M. Grosperrin, je pense que
M. Grosperrin, je pense que vous prenez un peu trop tout ça à cœur. J'ai hacké vite fait le post-processor de Fusion 360 pour modifier/supprimer une instruction qui posait problème à mon logiciel de contrôle et/ou à GRBL, j'ai écrit un article vite fait pour partager mon expérience et ça s'arrête là. Je n'ai jamais prétendu être un expert des post-processor livrés avec Fusion 360 et ça fait au moins 1 an que je n'ai pas touché à cette machine.
Est-ce que ma démarche doit être qualifié d'idiote ou ma compétence professionnelle remise en cause pour ça ? Honnêtement je ne pense pas.
Bernard Grosperrin (non vérifié)
jeu, 27/02/2020 - 15:02
Permalink
La démarche n'est pas idiote,
Maxence
jeu, 27/02/2020 - 16:21
Permalink
OK et bien vous me le
OK et bien vous me le demandez et je refuse. Je ne viens pas sur votre site pour discuter vos choix éditoriaux ou pour relever vos fautes d'orthographe.