Plugin ou autre pour coordonnées d'un disque ?

  • Auteur de la discussion Laurent_CNC
  • Date de début
L

Laurent_CNC

Compagnon
J'ai refait mes boutons :
axis avec boutons centre cercle.png

et modifié le .ini

J'ai créé mon répertoire "routines" avec mes 4 fichiers .ngc reprenant les noms donnés.

Mais franchement à partir de là je suis paumé !
Sur le site trouvé, je ne comprends plus rien, j'ai bien conscience que je dois réusir à dire à Linuxcnc que quand j'appuie sur le bouton, il lancer le prog correspondant mais je ne sais pas comment m'y prendre.


J'ai essayé ça mais ça ne fonctionne pas :
 
Dernière édition:
L

Laurent_CNC

Compagnon
Bon ça plante, j'ai une erreur.

Du coup j'ai repris le fichier de Gaston pour essayer autre chose :

J'ai écrit ça pour le INI :
[HALUI]
MDI_COMMAND = O<centre_pt1> call
MDI_COMMAND = O<centre_pt2> call
MDI_COMMAND = O<centre_pt3> call
MDI_COMMAND = O<goto_centre> call


ça dans postGUI :
net centre_pt1 <= pyvcp.centre_pt1
net centre_pt2 <= pyvcp.centre_pt2
net centre_pt3 <= pyvcp.centre_pt3
net got_centre <= pyvcp.goto_centre


et voila un exemple de programme :
o<centre_pt1> sub
#1101 = #<_x>
#1102 = #<_y>
o<centre_pt1> endsub
M2

Je n'ai pas de plantage au démarrage mais les boutons semblent inopérants.

Donc soit ils sont pas bien écrits ? ou ils sont "invisibles" si j'ai mal déclaré leur chemin ?
SUBROUTINE_PATH = /home/realmeca/linuxcnc/configs/realmeca/routines/
 
Dernière édition:
L

Laurent_CNC

Compagnon
J'ai obtenu un résultat, les 3 palpages fonctionnent.
Juste l'équation a revoir car il doit manquer une parenthèse
0-debug1.png


Dès que c'est complétement fonctionnel, je mets tout en ligne si ça peux servir !

Merci à tous !
 
Dernière édition:
F

furynick

Compagnon
Tu peux déjà vérifier que les commandes fonctionnent en les tapant dans la console
 
L

Laurent_CNC

Compagnon
Je trouve pas l'erreur....

C'est dans le calcul d'une des coordonnées mais je ne vois pas ou...
Quand je lance le calcul de xc dans la console, j'ai le retour d'errreur.
J'ai relu et modifié le calcul mais je n'ai pas trouvé


J'ai pensé que c'était l'expression #<xc> dans le calcul de #<yc> mais ça n'a pas l'air d'être le pb...
 
L

Laurent_CNC

Compagnon
Une petite question, les variables que j'utilise, #1201 et les autres, je dois les déclarer qq part dans un fichier ?

et / ou comment vérifier qu'elles ne restent pas à 0 ?
En tapant (debug, #1101) en MDI j'ai bien mon retour d'information avec ma valeur enregistrée
 
Dernière édition:
L

Laurent_CNC

Compagnon
J'ai vérifié le retour des 6 valeurs, ça fonctionne.
Je vais essayer une équation toute simple pour voir
 
F

furynick

Compagnon
Repars du code que j'ai donné, c'est la stricte conversion de la formule du tableur, dans ta version il y a trop de "parenthèses" et au mauvais endroit :

Pour yc essaie de déplacer la première "parenthèse" tout au début

Les variables n'ont pas besoin d'être stockées dans le fichier var, d'une session à l'autre elles deviennent obsolètes du simple fait d'être obligé de reprendre l'origine machine.
 
L

Laurent_CNC

Compagnon
Histoire d'éliminer les pbs un par un j'ai essayé ça déjà :


J'ai mon retour d'information avec l'affichage des valeurs.
reste à lui faire faire un calcul :wink:

1ers essais avec tes deux calculs de xc : tentative de division par 0 les deux fois
2ème essai avec juste : #<xc>=[#1301**2+#1201**2+#1302**2-#1202**2] j'ai une valeur
avec #<xc>=[[#1301**2-#1201**2+#1302**2-#1202**2]/[2*[#1302-#1202]]] j'ai une valeur

Je viens d'essayer pour yc et pareil, tentative de division par 0
 
Dernière édition:
F

furynick

Compagnon
Tu as essayé d'afficher les 6 valeurs (1101 à 1302) ?
 
L

Laurent_CNC

Compagnon
Alors ça fonctionne mais uniquement si mes valeurs sont toutes différentes !
et c'est valable pour mon fichier excel, je n'vais jamais fait gaffe.

Exemple ou le calcul ne fonctionne pas, tu pinules du coté de X+ puis de X- sans changer la valeur de Y.
Tu te retrouves avec une division par 0
 
L

Laurent_CNC

Compagnon
J'ai ajouté :

G92 Z0
G0 Z30
G0 X#<xc> Y#<yc>
G92 X0 Y0

Comme ça il remonte de +30 en Z et ensuite positionne ma broche au centre et de remettre x et y à 0

Nickel tout ça !
Je vais faire un condensé téléchargeable que je mettrai en première page, si ça peut servir.
 
Dernière édition:
L

Laurent_CNC

Compagnon
Bonjour à tous,
Voila, le "plugin" est fonctionnel.
Il ajoute un onglet à droite de Axis, dans lequel on trouve 4 boutons.
  • Il suffit de pointer le premier point avec la méthode de votre choix, appuyer sur le premier bouton.
  • LinuxCNC enregistre la position courant en x et y.
  • Refaire la même pour les 2 autres points.
  • Puis cliquer sur calculer et mettre à 0.
  • Attention, la machine va remonter le z de 20 mm puis déplacer la broche au centre calculé puis mettre les coordonnées de x & y à 0.
Faites attention que cela ne risque pas de créer une collision surtout !
La remontée de 20 mm est facile à modifier dans le programme .ngc correspondant.

https://www.usinages.com/resources/...ntre-dun-cercle-par-3-points-a-linuxcnc.8610/

Vous trouvez dans le fichier zip :
  • le répertoire macros qui contient les 4 fichiers gcode.
  • un fichier texte regroupant les lignes à ajouter aux différents fichiers de linuxCNC
  • mon fichier pyVCP permettant la modif de l'interface avec les boutons à modifier selon vos besoins
Amicalement
Laurent

PS : je ne saurai être tenu responsable d'aucuns problèmes liés à l'utilisation de ce petit travail.
Je ne suis pas un pro et même si ça fonctionne très bien sur ma petite Realmeca / Mesa perso, soyez prudent !
 
Haut