éditeur gcode

  • Auteur de la discussion kalu
  • Date de début
D

dh42

Compagnon
je viens de faire un test avec un programme qui a des G52 ; il semblerait que le G52 fonctionne en X mais pas en Y ; je n'ai pas le même résultat avec Mach3 et NCnetic.


g52_mach3.jpg


g52_ncnet.jpg


Ça à l'air OK avec les G92 par contre.

++
David
 
K

kalu

Apprenti
Ok, le problème viens du fait que les offsets G52 ne sont pas reinitialisé quand tu charge un programme, ils restent...

Je vais régler ca merci,

En attendant il te suffit de faire un G52 X0Y0Z0 en debut de programme, ou comme tu dis d'utiliser G92,
ou alors ajouter une entrée dans le dictionnaire pour le reset des offsets, mais je ne sais pas si il y a un gcode specifique dans ton post processeur
 
D

dh42

Compagnon
mais je ne sais pas si il y a un gcode specifique dans ton post processeur

Non, dans Mach3 pour reseter le G52, c'est G52 x0 y0 ...

par contre il y a un code spécifique pour reseter le G92 ; c'est le G92.1
 
K

kalu

Apprenti
Ok, je note.
J'ai jeté un oeil sur les code géré par mach3 et le dictionnaire de base n'a pas tout ca ...
Certains codes sont des macros très spécifique (G12/G13 par exemple), pour le moment ncnetic ne peux pas gérer tout ca ...

NCnetic est plus centré sur les Macro B pour ce genre de routines.
 
D

dh42

Compagnon
Oui, mais les G12 G13, ce sont des cycles d'usinage complets, je suppose que chaque système de pilotage à ses propres cycles spécifiques. Il ne doit bien y avoir que les G81/82/83/73 qui sont assez courants dans tous les systèmes de pilotage.

mach3 peut aussi appeler des sous programmes avec le M98/M99 ; le sous programme peut être soit défini dans le même GCode ou venir d'un fichier GCode externe. (ici C:\test.nc)


C'est déjà cool que ça gère les G52/G92 :-D ... aucun des simulateurs que j'utilise ne les gères (NCplot, CutViewer, Camotics) ; même Mach3 ne les gères pas en simulation ; on voit les parcours au chargement du GCode, comme sur mon image, mais si on lance la simu, ça se passe bien sur la machine mais l'affichage des parcours est à l'ouest.

++
David
 
K

kalu

Apprenti
Les appels a d'autres fichiers c'est pas mal, NCnetic ne gère pas pour l'instant mais je sais que ca se fait, meme sur des controles industriels genre MAZAK.
J'y avait pensé mais au niveau de l'interface ca va un peu en conflit avec le reste ... Je dois juste lire le fichier pour recupérer les commandes ou l'ouvrir en mode simulation comme le reste ? Est ce que c'est pas trop spécifique a certains controleurs ?

Pas facile de jugé sur ce genre de fonctions, compatible ou non?
 
Dernière édition:
D

dh42

Compagnon
Je ne saurais pas te répondre, c'est pas des trucs que j'utilise ; la, si j'ai cet exemple, c'est pour aider un gars sur l'autre forum qui est en train de programmer un Wizard pour Mach3 :-D

Pour ma part, le GCode je le fais exclusivement avec une FAO simple (CamBam) ; qui n'utilise pas de cycles spécifiques, à part les cycles de perçages et n'utilise pas non plus les sous programmes ; c'est du GCode basique. En simulation, je n'utilise pratiquement que CutViewer ; parfois NCplot, uniquement parce que c'est le seul que j'ai qui simule du 4 axes (mais pas de 3D sur NCplot par contre, uniquement les parcours) et Camotics car même si sa simulation n'est pas très belle graphiquement, il permet par contre de sauver le résultat de la simulation sous forme d'un objet 3D (STL), ce qui est bien pratique pour faire des expérimentations en full virtuel en récupérant l'objet dans un soft de 3D.

Je suppose que les besoins de chaque utilisateur sont différents et qu'il y a peu de chance de trouver un soft qui satisfasse tout le monde ..

++
David
 
K

kalu

Apprenti
Oui c'est pas evident.

J'essaye d'avoir un dictionnaire de base qui puisse afficher un parcours correct pour un maximum de controlleurs. Le problème est que le language machine est très peu standaridisé, le gcode a des déclinations infinies, d'ou l'idée du "dictionnaire".

Peux tu m'envoyer des fichiers 4 axes, j'aimerais bien faire des tests !

@+
 
D

dh42

Compagnon
en voila un simple, une gravure de texte sur Ø30mm - axe de rotation du A aligné sur X.

Sans titre-1.jpg


Je vais regarder ce que j'ai d'autre ...

++
David
 

Fichiers joints

  • Usinage-com_4axes.zip
    5.2 KB · Affichages: 51
D

dh42

Compagnon
trous.jpg


aligné sur Y cette fois.

++
David
 

Fichiers joints

  • wrapp_serie_trous.zip
    10.3 KB · Affichages: 60
D

dh42

Compagnon
et du positionnel

 

Fichiers joints

  • positionel_simple.zip
    765 bytes · Affichages: 50
K

kalu

Apprenti
Super Merci !

Je vais regarder ca !

Edit: L'installer sur le site a été mis a jour avec la correction des derniers bugs. Merci a tout ceux qui ont contribué
 
Dernière édition:
A

asjt

Apprenti
Tu dit que c'est incompatible linux et macos, car codé en c# et avec le framework .NET. Pourtant, il existe le projet MONO qui permet d'exécuter des applications C#/.NET sous les OS *nix

Après, j'imagine qu'il y a du taf pour gérer le 3D sous les autres OS

Suivant la complexité à porter sous linux, je serais prêt à participer
 
K

kalu

Apprenti
Tu dit que c'est incompatible linux et macos, car codé en c# et avec le framework .NET. Pourtant, il existe le projet MONO qui permet d'exécuter des applications C#/.NET sous les OS *nix

Après, j'imagine qu'il y a du taf pour gérer le 3D sous les autres OS

Suivant la complexité à porter sous linux, je serais prêt à participer

Merci @asjt , je vais m'informer sur MONO. Je connais très mal Linux, j'ai toujours utiliser windows depuis la 95 jusqu'a la 10. Je n'ai en réalité aucune idée de la possibilité ou de la compléxité d'un eventuel portage avec les "outils modernes" a disposition.

@dh42 merci encore pour les fichiers gcodes, ca avance:

1618039623491.png


Je vais travailler sur le 4 et 5 axes pour la prochaine maj.

C'est un peu compliqué il y a pas mal de choses a ré-écrire, ca va prendre du temps. La simulation du parcours a part, le calcul des longeurs, temps ... est a l'ouest.

J'ai besoin d'exemples de gcodes, si vous avez des fichiers 4 ou 5 axes merci de me les envoyer par MP !!!
 
E

enzodesilesbaladar

Compagnon
Bonjour,
Installation testée ous Windows 10 pro, à première vue tout semble fonctionner, aucun message d'erreur ..
1618401192096.png
 
K

kalu

Apprenti
Ok, la gestion 4 et 5 axes a été ajoutée dans la dérnière maj. En plus de ca les dictionnaires de bases on été "calqué" sur les controls MACH3/4 (GCODE_MILL_EXTENDED) et GRBL (GCODE_MILL), vu que d'après ce que j'ai pu voir beaucoup de gens sur le forum utilisent ces standards !

Pour tester le 4-5 axes : ajouter la machine 5 axes :

1618654120716.png


Il faut ensuite gérer l'axe A et B (alignée sur X, Y, Z ou autre !) dans les options machines :

1618654331017.png


Les résultats (merci encore @dh42 pour les exemples ) :

1618654488901.png



Comme toujours, merci d'avance pour les eventuels feedbacks sur cette nouvelle gestion !!!!

Merci !
 
Dernière édition:
D

didou

Compagnon
Alors je l'ai chargé au boulot sur mon PC portable en Windows 10 PRO

Ca semble bien fonctionner : j'écris des programmes en 4 axes en mode presque manuel, j'avais fait un petit programme pour un mini cylindre de modélisme, comprenant 2 gueules de loup à 180° et 3 rainures à 120°

sam_7189-jpg-jpg.jpg


G21
G90
G40
G00 Z20
G00 A0
M03
G00 X0 Y0
G00 Z11.3
G00 X1.992647 Y-7.960607
G00 Z8
G01 F200 Z1
G02 X1.451476 Y-7 I13.007353 J7.960607Z3.5
G02 X0.731406 Y-5.382353 I13.548524 J7Z5.5
G02 X0.047993 Y-3 I14.268594 J5.382353Z7
G02 X-0.25 Y0 I14.952007 J3Z7.5
G02 X0.047993 Y3 I15.25 J0Z7
G02 X0.731406 Y5.382353 I14.952007 J-3Z5.5
G02 X1.451476 Y7 I14.268594 J-5.382353Z3.5
G02 X1.992647 Y7.960607 I13.548524 J-7 Z1
G00 Z11.3
G00 X-5 Y0 A-30
G01 F200 X-27
G00 A-150
G01 F200 X-5
G00 A-180
G00 X1.992647 Y-7.960607
G00 Z8
G01 F200 Z1
G02 X1.451476 Y-7 I13.007353 J7.960607Z3.5
G02 X0.731406 Y-5.382353 I13.548524 J7Z5.5
G02 X0.047993 Y-3 I14.268594 J5.382353Z7
G02 X-0.25 Y0 I14.952007 J3Z7.5
G02 X0.047993 Y3 I15.25 J0Z7
G02 X0.731406 Y5.382353 I14.952007 J-3Z5.5
G02 X1.451476 Y7 I14.268594 J-5.382353Z3.5
G02 X1.992647 Y7.960607 I13.548524 J-7 Z1
G00 Z11.3
G00 X-5 Y0 A-270
G01 F200 X-27
G00 Z20
G00 X0 Y0
M05
M30

Je me servais pour la visu du petit logiciel gratuit CANDLE mais ça ne faisait que du 3 axes comme ici ou tout se superpose
Capture1.JPG

Le + de cet éditeur est que je peux maintenant voir en 4 axes ce que ça donne dans l'espace
Capture2.JPG


Il me reste à voir si ça fonctionne avec mes vieux PC à la maison

Merci pour cet utilitaire bien utile

Denis
 
V

vieuxfraiseur

Compagnon
Il me reste à voir si ça fonctionne avec mes vieux PC à la maison
salut
tu n'as pas mis T.. outil dans ton programme iso ?
pas de vitesse de rotation S...
A0 c'est quoi ? ( rotation diviseur ?)
ça dépend des machines je suppose ?.
Yves
 
Dernière édition:
K

kalu

Apprenti
@vieuxfraiseur
Certaines machines n'ont pas besoin de tout ca,
L'outil est déja monté dont pas de M6 Txxx
La vitesse de rotation peux etre règler directement via la console ou mème le jog
Axxx est la rotation du porte pièce autour de X (4 axes)

@didou merci pour les feedbacks !
 
V

vieuxfraiseur

Compagnon
OK KALU ,
oui je vois
du moment que cela fonctionne
bon apres midi
yves

PS/ je viens de jeter un oeil sur le logiciel que parlais @didou à savoir :

 
Dernière édition:
D

didou

Compagnon
salut
tu n'as pas mis T.. outil dans ton programme iso ?
pas de vitesse de rotation S...
A0 c'est quoi ? ( rotation diviseur ?)
ça dépend des machines je suppose ?.
Yves

Ha oui j'ai oublié de mentionné que c'était une CN homemade donc du coup elle n'a pas forcément besoin de toutes les commandes

C'est un contrôleur autonome SMC4 qui gère directement la machine via les programmes qui sont stockés sur carte SD
Je n'utilise qu'un outil par programme et quand la machine voit un M3 avec ou sans S elle colle un relais qui lance la carte moteur, je règle la vitesse au potard. Mon contrôleur pourrait gérer la vitesse de rotation par S mais je n'ai pas câblé cette fonction
Si j'ai un S1000 ou S2000 ça collera le relais de toute façon mais c'est le potard qui gère

Denis
 
Dernière édition:
D

didou

Compagnon
OK @didou,
je viens de regarder ta réalisation , super :smt023

Ok merci. Pour le programme j'ai eu un doute car d'habitude je mets toujours un S1000 derrière le M3, sur le SMS4 contrôleur ça marche avec juste un M3 seul par contre il fallait bien une indication du S sur d'autres cartes que j'ai de type Arduino

Je viens d'essayer à la maison sur mon PC de bureautique en Windows 10 famille et 4Go de ram, qui n'est pas un foudre de guerre ça fonctionne bien, pour mes merdouilles du moins
Superposer le 3D est aussi très intéressant pour la visu et pour la vérification, ce que CANDLE ne fait pas en plus de n'être qu'en 3axes
@kalu : est ce qu'il y a une option pour donner une dimension de l'outil et voir son enveloppe sur le trajet ? Mais bon c'est déjà bien comme ça
Capture1.jpg

La seule chose constaté c'est que le marquage XYZ du trièdre se dégrade quand je charge un programme, c'est peu être juste une histoire de définition graphique mais ça ne me gène pas plus que ça

:mrgreen: :smt023Pour mon usage je walide

Ha oui j'ai bien deux vieux PC sur XP j'ai essayé mais comme je n'ai pas de connexion internet dessus ça ne veux pas, après c'était juste par curiosité bien sur

Denis
 
Dernière édition:
D

dh42

Compagnon
Salut,
La seule chose constaté c'est que le marquage XYZ du trièdre se dégrade quand je charge un programme, c'est peu être juste une histoire de définition graphique mais ça ne me gène pas plus que ça

Non, c'est pas ta résolution, je pense que c'est dans le soft, le type de ligne utilisé pour tracer les caractères XYZ du trièdre (et les axes) passe de plein à pointillé une fois le GCode chargé ce qui donne un aspect flou quand le trièdre est de petite taille ... ça ne doit pas être un gros problème à résoudre. (le texte prend en fait le même type de ligne que les axes)

nc_text.jpg


++
David
 
Dernière édition:
K

kalu

Apprenti
@dh42 merci pour la pub ! :smt023

@dh42 @didou Je reconnais le problème et c'est bien un bug ! Depuis que j'ai commencé ce projet c'est arrivé 1000 fois XD, si on envoie pas les bonnes infos dans l'ordre a la gpu ca donne ce genre de bug...

Vous pouvez m'envoyer en pj les programmes et éventuellement le stl ? J'arrive pas a reproduire ...

Pour la visu de l'outils je travail dessus en ce moment meme:

1618989566032.png


Ce sera dispo dans une future maj !!!

Merci !

PS: Quelqu'un aurait-il des fichiers cn pour une machine de type "tangential knife" (genre une lame de cutter sur un xyz mais avec l'axe de l'outil piloté et pas libre) ???
 
Dernière édition:
L

LETARTARE

Compagnon
Bonjour,
@dh42
vous proposez un fichier 'wrapp_serie_trous.nc' dans lequel il n'existe aucun déplacement X. Si on envoie ce fichier
sur une machine XYZA, le résultat se situe uniquement dans le plan ZY à l’abscisse X=0.
Je suppose qu'il existe un traitement supplémentaire pour obtenir l'image que vous fournissez.
Pourriez-vous nous expliquer sur quelle machine vous l'obtenez ?
Merci.
 
K

kalu

Apprenti
@LETARTARE

Pour obtenir l'image on trace le parcours de l'outil sur la pièce, donc dans le repère pièce.
Si on trace le meme parcours dans le repère de l'outil il n'y a en effet aucun mouvement en X.

Dans le repère pièce, une rotation du porte-pièce (Axe A) entraine un mouvement relatif de l'outil dans le plan YZ, c'est ce qui est déssiné :smt023

Pour la machine cela peux etre n'importe quelle machine avec des axes de rotations sur le porte-pièce (1 pour du 4 axes, 2 pour du 5 axes)
 
D

didou

Compagnon
Alors test du jour

J'avais fait un mini arbre à cames avec un programme à la mano

G21 G90 G40
G0 X0 Y0 Z7
G0 Z7
G0 A-5 (ratrapage jeu)
G0 Y8 A0
M03 S1000
G00 Z4
G01 Y0 F100
G01 A-240 F600
G01 Y-8 F100
G00 Z7
G00 X12 A-260
G00 Z4
G01 Y0 F100
G01 A-20 F600
G01 Y8 F100
G00 Z7 A-110 (ratrapage jeu)
G00 X7 A-104
G00 Z4
G01 Y0 F100
G01 A-344 F600
G01 Y-8 F100
G00 Z7
G00 X19 A-364
G00 Z4
G01 Y0 F100
G01 A-124 F600
G01Y8F100
M05
G00 Z10
G00 X0 Y0
M02

sam_6948-jpg.jpg


Mais dans la visu des trajectoire je ne reconnais pas ma pièce, comme si tout était croisé !
Capture d’écran 2021-04-21 130904.jpg


Pourtant sur ma machine j'ai bien cette config d'axes

Capture d’écran 2021-04-21 130416.jpg


Si je rentre dans les options machine et que je déclare le vecteur X du 4 ème axe à X -1 tout rentre dans l'ordre

Capture d’écran 2021-04-21 131049.jpg


Du coup comme c'est une machine auto construite il y a peut être inversion de mon coté mais pourtant je suis conforme au système d'axes normalisés

Denis
 
L

LETARTARE

Compagnon
@kalu :
Dans le repère pièce, une rotation du porte-pièce (Axe A) entraine un mouvement relatif de l'outil dans le plan YZ, c'est ce qui est déssiné
merci de votre réponse, mais je ne comprends pas quel élément "entraine" ...
SI j'envoie ce fichier directement sur ma fraiseuse XYZA ( broche en Z ), je n'aurais aucun déplacement en X.
 
Haut