éditeur gcode

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

kalu

Apprenti
@didou

De mon éxpérience sur les cn rien n'est a 100% normalisé, comme tu as pu voir le sens de rotation dépend de la direction de l'axe !
Je me suis basé sur les exemples de dh42 pour ce dev, il semblerait que dans son cas le sens de rotation soit inverser au tiens...

@LETARTARE
En effet aucun deplacement en X.
disons que dans la réalité les mouvements du 4ème axes font bouger la pièce.
Pour des raisons de visualisation dans le soft, la pièce est toujours fixe, on dessine les mouvements de l'outil par rapport a la pièce fixe quand on actionne le 4ème axe.

C'est un changement de repére, les trajectoires dans le repère terrestre, de l'outil ou de la pièce sont toutes différentes. XYZ pilote l'outil par rapport au repére terrestre, mais l'absence de commande X dans le gcode ne veux pas forcément dire que l'outil est fixe dans le X d'un autre repère !
 
L

LETARTARE

Compagnon
@kalu
pour des raisons de réalisme, il est bien aussi de faire bouger la pièce dans la visualisation.
C'est une des options que j'ai choisi dans ce logiciel Gcve.
Je vous joins le fichier de présentation 'XYZA' (venant de 'PlaneteCnc') 657735-d14c4a085f97b1bd4d4512bf4db6c9be.png
 

Fichiers joints

  • TurbineA.zip
    160 KB · Affichages: 46
D

didou

Compagnon
@didou

De mon éxpérience sur les cn rien n'est a 100% normalisé, comme tu as pu voir le sens de rotation dépend de la direction de l'axe !
Je me suis basé sur les exemples de dh42 pour ce dev, il semblerait que dans son cas le sens de rotation soit inverser au tiens...

Mettre le vecteur X à -1 ça ne me dérange pas plus que ça

Mais comme un trièdre est toujours direct, il n'existe pas de trièdre avec le Z qui descend, je ne vois pas pourquoi il pourrait y avoir 2 sens A de possible

Denis
 
K

kalu

Apprenti
@LETARTARE

Classe le controller GRBL 4 axes !
Je ne savais pas que grbl pouvait aller au dela du 3 axes.

Merci pour l'exemple, apparement nous sommes sur la meme definition du sens du 4ème axe :-D :

1619012387466.png


En effet le top ce serait de visualiser les rotations comme dans Gcv pendant la simulation, c'est plus réaliste, je vais voir si c'est possible de l'implementer.

@didou

Disons que si on fait faire une rotation de X degrés positifs par le porte-pièce, le résultat dépend plus du sens dans lequel le porte pièce tourne (niveau hardware) que de la definition mathématique correcte du trièdre :-D.

Je comprend cependant ce que tu veux dire, je me base sur les exemples quand je fait ces devs, mais je crois que c'est en effet mathématiquement plus correct dans ton cas
 
Dernière édition:
L

LETARTARE

Compagnon
@kalu
ce n'est pas 'Grbl', mais GrblQ.
L'axe 'Q' en l'occurrence 'A' est orienté comme sur le dessin de présentation et on applique les mêmes contrainte de signe que pour les axes primaires 'XYZ'.
 
D

didou

Compagnon
J'ai du configurer le Z à l'envers sur ma machine, ce n'est pas le sens de rotation du plateau qu'il faut prendre tel quel selon le schéma mais le sens que ferait la fraise si le plateau était fixe

Faut que je mette au normes si je ne veux pas faire des pièces qui seraient symétriques sur une vraie machine

C'est bien le mouvement de la fraise qu'il faut prendre en compte sur la flèche orange mais comme c'est le plateau qui vient vers la fraise il devra tourner à l'inverse
Capture d’écran 2021-04-21 130416.jpg


Je me disais bien qu'il n'y avait qu'un sens de A possible, je vais profiter de NCnetic pour remettre mon programme d'aplomb En changeant les signes des Z et en inversant le sens de rotation sur ma machine

Denis
 
Dernière édition:
D

didou

Compagnon
Dans la fenêtre Gcode j'ai les X et les A de couleur rouge, je n'ai pas trouvé comment changer les A de couleur pour bien les distinguer

Merci Denis
 
D

didou

Compagnon
Tu peux changer la couleur dans les options du dictionnaire de la machine courante !

Voir la pièce jointe 703473

Ha oui c'est ce que j'avais fait mais faut lancer un "recalculer" après. A la maison il me semble avoir vu un message d'erreur je resserrai

@didou

De mon éxpérience sur les cn rien n'est a 100% normalisé, comme tu as pu voir le sens de rotation dépend de la direction de l'axe !
Je me suis basé sur les exemples de dh42 pour ce dev, il semblerait que dans son cas le sens de rotation soit inverser au tiens...

Bon Ok Apparemment avec un schéma de chez Haas le sens de l'axe A est inversé du schéma du dessus donc chacun fait sa sauce, après le sens de rotation du plateau est inversé au sens de l'axe ce qui parait logique, c'est pareil que l'axe X qui va vers la droite et la table qui bouge à gauche pour le X+ , c'est plus le déplacement de la fraise par rapport à la pièce qu'il faut regarder

On a un centre HAAS au boulot avec un 4 ème axe et le plateau tourne pareil que chez moi

Donc je ne vais rien toucher à ma config et juste configurer le vecteur du 4 ème axes à X -1 sur NCnetic pour avoir la bonne visu

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

Capture d’écran 2021-04-22 115513.jpg


Denis
 
K

kalu

Apprenti
Petite update sur le dev en cours,

Je suis en train de gérer la visualisation des outils, et je viens de me rendre compte que ca va pas etre evident.

En effet il va falloir gérer les offsets G41/G42...

Bien que je comprenne parfaitement de quoi il s'agit, j'ai un doute sur comment les cn traitent ces commandes, peux etre que quelqu'un peux m'aider...

Pour calculer une trajectoire avec offset traiter la ligne en cours ne suffit pas, il faut regarder les instructions suivantes, voire meme la totalité des instructions.

1) Je doute que les cn fassent ca, combien d'instructions sont anticipées selon vous par le controlleur ?
2) Est ce que si je suis en G41/G42 les rapides ont aussi un offset ?
3) Que se passe t'il si j'active un offset mais que je ne fait aucun mouvement dans le plan courant, par exemple je suis en G17, j'active G41 et je fait une plongée en Z?

Merci !

@didou

Tu pourrais joindre un exemple de fichier nc pour la machine haas 5 axes de ton boulot ? Merci
 
Dernière édition:
D

didou

Compagnon
Sur la HAAS on a juste le plateau 4 ème axe, on a pas de machine en 5 axes, de plus on a pas le post Pro pour du 4 axes en fraisage enroulé
 
D

didou

Compagnon
Ça dépend des cas de figures mais quand tu traites une pièce 3D via un post Pro, c'est celui ci qui va s'occuper des G41 et G42 c'est à dire de placer l'outil à droite ou à gauche de la pièce et du coup tout envoyer après en centre outil à la machine. Dans le cas ou la machine ne recevrait que du centre outil, ça doit être plus facile à gérer

Denis
 
Dernière édition:
D

didou

Compagnon
Quand tu fais une forme 3D avec une fraise boule c'est bien du centre outil qui arrive à la machine à faire confirmer par David @dh42

Tu aurais encore le cas du petit malin qui écrit tout à la main avec du G41 G42 dans un plan mais en 3D !
 
D

dh42

Compagnon
Salut,
Pour calculer une trajectoire avec offset traiter la ligne en cours ne suffit pas, il faut regarder les instructions suivantes, voire meme la totalité des instructions.

Je ne sais pas du tout comment le soft s'y prend pour gérer ça, par contre ce que je peux dire c'est que sur Mach3 on peut définir le nombre de lignes qui seront traitées à l'avance ; par défaut c'est 20 (paramètre LoolAhead) ... mais j'ignore si ça sert pour le G41/42 ; ce que je sais par contre c'est que c'est utilisé pour la planification de trajectoire en mode vitesse constante (G64) ; le soft recalcule une nouvelle trajectoire en tenant compte des paramètres du G64 (défaut maxi admissible) ...

Pour l'utilisation du G41/42, et bien je ne connais que deux soft de FAO, CamBam et Visual Mill ; sur CamBam, pas de problème, il ne le gère pas, donc tous les parcours sont déjà compensés pour le rayon de l'outil au niveau de la FAO quelque soit l'opération d'usinage. Sur VM, on a les choix entre parcours compensés par la FAO ou décalage calculé par le soft de pilotage via les G41/42 ... par contre cette option n'est disponible QUE pour les opérations de contour 2D, elle ne l'est pas pour les autres opérations comme les poches ou l'usinage 3D qui sont toujours sorties en trajectoires déjà compensées.

Perso, je n'utilise jamais les G41/42, donc je ne pourrais pas t'en dire beaucoup plus ; ce sujet pourrait peut être t'intéresser.

Quand tu fais une forme 3D avec une fraise boule c'est bien du centre outil qui arrive à la machine à faire confirmer par David @dh42

Dans CamBam, oui, en 3D la compensation est faite par la FAO, et pas seulement en latéral (r de la fraise), mais aussi en vertical pour tenir compte du profil de l'outil (fraise cyclindrique, Hémisphérique)

Je pense qu'on ne peut pas faire autrement, car le soft de pilotage ne dispose pas de l'objet 3D qui sert de base, donc il n'a aucun moyen de calculer les décalages en latéral et vertical s'il ne peut pas se référer à l'objet 3D, seule la FAO dispose ce cet objet.

++
David
 
K

kalu

Apprenti
Salut,

Oui je pense que le paramètre look-ahead est plus liée a la dynamique de la machine !

D'après ca:

https://www.forum.cncdrive.com/viewtopic.php?f=2&t=921

Le G41/G42 recalcul le parcours en prenant en compte seulement le mouvement suivant pour la plupart des controlleurs. J'ai regarder un peu sur internet et il est possible que certains controlleurs aient des algos plus avancés qui permettent de gérer le nombres de mouvements pris en compte.

Je pense qu'on ne peut pas faire autrement, car le soft de pilotage ne dispose pas de l'objet 3D qui sert de base, donc il n'a aucun moyen de calculer les décalages en latéral et vertical s'il ne peut pas se référer à l'objet 3D, seule la FAO dispose ce cet objet.

La aussi, si G41/G42 sont des compensations en XY quand G17 est séléctioné, il est théoriquement possible de faire des compensations en XZ ou YZ avec G18/G19.
D'après ce que j'ai pu voir la aussi sur le net, la plupart des controlleurs ne gèrent pas ca.

Je vais essayer de bricoler quelque chose qui permettent au moins de voir la trajectoire de l'outil en G41/G42 sur XY.

Merci !
 
D

dh42

Compagnon
Salut,

Pour ce qui est de Mach3 Fraisage:

10.7.13 Cutter Radius Compensation - G40, G41, and G42
To turn cutter radius compensation off, program G40. It is OK to turn compensation off
when it is already off.
Cutter radius compensation may be performed only if the XY-plane is active.

et dans la doc Mach3 Turn le G40/41/42 semblent aussi exister en tournage, mais sont appelés Nose Radius Compensation - G40, G41, and G42

------------------------------

Sur LinuxCNC

Cutter compensation may be performed if the XY-plane or XZ-plane is active.

It is an error if:
  • The D number is not a valid tool number or 0.
  • The YZ plane is active.
Donc XY et XZ uniquement ; je suppose que XZ ça doit être pour le tournage même s'ils ne le précisent pas explicitement.

Bon, je ne connais pas les directeurs de commande pro genre NUM siemens, etc, mais déjà, je suppose que tu peux te limiter au XY en fraisage et XZ en tournage.

++
David
 
D

dh42

Compagnon
un tout petit bug que je viens juste de voir.

dans le tableau à droite, la vitesse d'avance à toujours 1 unité de plus que celle du Gcode ... et même chose pour la vitesse de broche :smt003

Sans titre-1.jpg


j'ai pas trouvé, dans les infos, E c'est quoi ?

++
David
 
Dernière édition:
K

kalu

Apprenti
un tout petit bug que je viens juste de voir.

dans le tableau à droite, la vitesse d'avance à toujours 1 unité de plus que celle du Gcode ... et même chose pour la vitesse de broche :smt003

Bien vu ! C'est corriger, il y a une maj dispo sur le site. J'avais déja une petite liste de fixes a inclure !

j'ai pas trouvé, dans les infos, E c'est quoi ?

++
David

Certains controlleurs ont une adresse pour E (Comme pour F ou autre), principalement les imprimantes 3d ou E represente le diamètre ou la vitesse d'extrusion (je sais plus)...

Dans la nouvelle maj E ne sera plus visible dans le tableau a droite !

Merci david !!! :smt023


Le bug des axes en pointillé comme on voit sur l'image que tu as envoyé je n'arrive pas a reproduire ... Aucun des mes ordis ne le fait (ni meme la machine virtuelle ...)
 
D

dh42

Compagnon
Le bug des axes en pointillé comme on voit sur l'image que tu as envoyé je n'arrive pas a reproduire ... Aucun des mes ordis ne le fait (ni meme la machine virtuelle ...)

Étrange, pour moi il apparait dès que je charge un Gcode ... et il reste même si je ferme tous les fichiers et que je régénère l'affichage. Il n'y a qu'au lancement, avant tout chargement que les axes/textes ne sont pas en pointillés .. encore un coup de l'OpenGL ?

et je viens de voir que si, par exemple je tape un G1 X10 dans mon Gcode ça repasse en mode plein, mais ça ne marche pas avec un G0 :smt017

en fait, il suffit que j'enlève le G0 Z5 ligne 50 et je n'ai plus les pointillés. Ça semble se produire si le dernier mouvement du Gcode est un G0 (mis à part le G28)


++
David

 
K

kalu

Apprenti
J'ai tésté et ca ne fait pas ca chez moi ....

encore un coup de l'OpenGL ?

Oui, du pilote graphique je pense, le soft affiche les rapides avec la fonction "line stipple" d'openGL (pointillés).
Ce mode est activé pour "dessiner" chaque mouvement rapide, il est ensuite désactivé pour le reste.

Pour des raisons qui m'echappent dans ton cas le mode reste actif ...
Je vais essayer de trouver un pc qui reproduit, apparement tu n'est pas le seul.

Merci pour les infos !
 
D

didou

Compagnon
Certains controlleurs ont une adresse pour E (Comme pour F ou autre), principalement les imprimantes 3d ou E represente le diamètre ou la vitesse d'extrusion (je sais plus)...

Je viens de changer mon extrudeur qui me causait des soucis sur mon imprimante 3D et comme ce n'était pas les même diamètres de galets, j'ai rajouté un M92 E137 ou le E correspond : au nombre de pas moteur pour sortir 1mm de fil

En impression 3D, ça doit être le même chose pour les axes X;Y;Z E est le nombre de pas moteur pour un déplacement de 1mm
Donc ça ne va pas servir à grand chose pour la visu du G-code

Denis
 
Dernière édition:
K

kalu

Apprenti
Salut

Lol, tu a de la demande pour une version en portugais :wink:

++
David

Merci David ! Je ne parle malheuresement pas portugais,
J'ai trouvé quelqu'un pour me faire les trads en allemand grace a ton post sur cambam !

A voir si Armando serait partant pour faire le portugais! J'ai tenté de lui envoyer un mp sur le forum cambam mais apparement je n'ai pas les droits pour le faire avec mon compte fraichement créer :???:



Petit maj: je bosse toujours sur la visu des outils, j'éspère pouvoir finir et tésté d'ici quelques semaines !
 
Dernière édition:
D

dh42

Compagnon
Salut,
J'ai tenté de lui envoyer un mp sur le forum cambam mais apparement je n'ai pas les droits pour le faire avec mon compte fraichement créer

Il est probable qu'il faut que tu mette au moins un message sur le forum, car sur ce forum, le 1ier message est sujet à validation de l'admin (moi) avant que le compte ne puisse être utilisé, et je suppose que c'est ce qui bloque aussi les MP.

Tu peux répondre à Armando directement sur le sujet que j'ai créé pour ton soft, une fois que j'aurais validé ton message, les MP devraient fonctionner.

++
David
 
B

BR52

Nouveau
Hello Kalu.
Do you want to speak to me?
I'm waiting for you on CamBam.
I don't speak French, I use Google translator.

Armando
 
D

dh42

Compagnon
Salut

Sur le forum CB, Armando reporte un problème avec l'export DXF ; j'ai testé, et effectivement ça ne fonctionne pas pour moi non plus, suivant le soft utilisé pour ouvrir le DXF, soit je n'ai pas d'affichage ni message d'erreur (SW, CamBam), soit j'ai un message d'erreur (DWG editor) erreur fin de fichier.

Je n'avais pas testé l'export DXF, je suppose que le but est d'exporter les parcours d'outils ?

Sans titre-1.jpg


++
David
 
K

kalu

Apprenti
Salut,

L'export dxf est un script, tu peux voir le code dans C:\Program Files (x86)\NCnetic\SCRIPTS\
en gros le soft compile au vol la fonction et l'execute, du coup l'utilisateur peux créer des fonctions et les modifier simplement.

j'avait fait 3 fonctions d'exemple vite fait (un peu trop vite fait pour le dxf apparement), j'avais juste tésté avec mon E-drawings 2018 et l'affichage me semblait correct ....

Je vais regarder ca pour améliorer/corriger le dxf en sortie, si quelqu'un veux jeter un oeil au script et me dire ou j'ai faux il est le bienvenu :-D

@+

Merci David !


Edit: je viens de me rendre compte que la sortie utilise le separateur decimal de windows (et pas forcement le point comme le veux le standard dxf)... Ca part mal deja :roll:
 
D

dh42

Compagnon
Salut,
Edit: je viens de me rendre compte que la sortie utilise le separateur decimal de windows (et pas forcement le point comme le veux le standard dxf)... Ca part mal deja

Ah oui, j'avais eu le même problème en écrivant un plugin qui sauve en STL, la fonction de formatage de nombre utilise systématiquement le réglage des options utilisateur de Windows, j'avais du faire une routine de conversion spécifique pour avoir le point quel que soit le réglage.

Ce qui est strange, c'est que j'ai bien le point réglé comme séparateur décimal sous Windows, et il n'y a bien que des points dans le fichier DXF obtenu ; il doit donc y avoir un autre problème.

++
David
 
Haut