Sur le Pc que je prepare pour la CNC, j’ai un python 3.7 integre a la version de Linuxcnc 2.9.1 (debian 12). J’ai besoin de la 3.8 minimum si je veux profiter de la derniere version de bCNC (pour la shapeoko).
j’ai cherché pendant des heures comment faire que python3 pointe vers la version 3.12 sans resultat, il y a des centaines de pages de doc, mais aucune que j’ai trouvé expliquant cela. Pouvez vous m’aider?
Sinon pour le moment, j’ai récupéré l’ancienne version de bCNC qui tourne aujourd’hui sur la shapeoko qui elle se contente de python 3.7
Avez vous regarder les variables d’environnement, $PATH, … ?
Il y a peut-être un lien symbolique pynthon3 sur ==> la version 3.7.3. En full path ça fonctionne du coup essayer de modifier le lien symbolique pour pointer sur la 3.12.0 /opt/Python-3.12.0/python.
Je pense que ça a déjà était vérifié mais ça me permet de mettre un pied dans le groupe discrètement !
Pour revenir sur le changement de version Python qui peut être inintéressant dans le cas d’ajout de fonctionnalités sur des produits et donc un changement de version de Python impératif voici un sujet peut-être déjà étudié ???
Bonjour, Comme c’est Covid time, on s’occupe comme on peut.
Je souhaite faire un python qui récupère les attaches d’une piece a son brut dans un gcode et qui génère un autre gcode pour virer ces attaches.
étape 1 : J’ai demandé à chatgpt de m’extraire dans le gcode source les blocs interessants. Ce qu’il m’a fait à 80% en 30 secondes.
étape 2 : Je me suis dit, ah ah ah, il ne suffit plus que d’ajouter les blocs intermediares, c’est l’affaire de 5 minutes. Ca va jamais m’occuper pendant le covid cette affairel là. Et la j’y suis depuis des heures et je bloque sur une ligne de code. Meme chatgpt me dit que ce qui m’arrive n’existe pas.
Mon problème : A la ligne 60 du python
lines_finales.append(‹ G90 ›)
au lieu de m’ajouter une ligne de 3 caracteres, il m’ajoute 3 lignes de 1 caractere. Alors que plour les blocs principaux, je fais exactement pareil et ca marche parfaitement. Si quelqu’un peut y regarder …
Sortie du programma, on voit bien le G90 sur 3 lignes alors que le reste est bon
C’est parce qu’à la fin tu parcours ce tableau avec 2 boucles :
segments = extraire_montée_descente(gcode_file)
# Afficher les segments extraits
for segment in segments:
for line in segment:
print(line)
Ton tableau de ligne est en fait un tableau de segments, qui eux mêmes contiennent des lignes. Donc il faudrait ajouter ton premier segment avec lines_finales.append(['G90']), ou alors faire que ce soit effectivement un tableau de ligne.
Par contre pourquoi la syntaxe suivante n’a pas le meme probleme?
point_initial = « G0 X » + str(x_before) + " Y" + str(y_before) +" Z" + str(z_retract)
extracted_lines.append(point_initial)
Dans ces types de cas « nébuleux », j’applique personnellement la stratégie du candide (ou ravi de la crèche ), selon …
Que peut distinguer l’instruction C90 des autres lignes ?
C90 est seule, pas de paramètre associé
Pas d’espace après C90
Retour à la ligne immédiatement après le ‘0’
Peut-être une piste ???
Parce que tu ne l’ajoutes pas à lines_finales mais à extracted_lines qui est un tableau qui sera ensuite ajouté à lines_finales. Donc tu l’ajoutes bien à un « segment ».