Voir les contributions

Cette section vous permet de consulter les contributions (messages, sujets et fichiers joints) d'un utilisateur. Vous ne pourrez voir que les contributions des zones auxquelles vous avez accčs.


Messages - BrunoBellamy

Pages: [1] 2 3 ... 69
1
Mise à jour : j'ai redessiné tout le bazar pour qu'il soit aussi compatible avec le nouveau RPI 3b+ ! :)

Dans la foulée, en plus de la version lapin et de la version chat, j'ai ajouté une version "nid d'abeille" et une version licorne. :)

Ça se passe ici : https://www.thingiverse.com/thing:2562857


Enjoy ! :)

2
Bon, cette fois ça marche. :)

C'était, encore une fois (décidément…) un souci de saut de ligne.

Voici la version du script qui marche impec :

#! /usr/bin/python

# Gcode post processing script       #
# to add total layers number to each #
# 'M117 printing layer [layer_num]'  #
# in your custom G-code before layer #
# change in Slic3r                   #
# by Bruno Bellamy 07/2018 :)        #

import os
import sys

gcode_file = sys.argv[1]
counter = 0
strtofind = 'M117 Layer'

file = open(gcode_file,"r")
lines = file.readlines()
for line in lines:
    if line[0] != ';' and strtofind in line:
        counter += 1
file.close()

maxlayer = str(counter)

file = open(gcode_file,"w")
for line in lines:
    if line[0] != ';' and strtofind in line:
        line = line.rstrip('\n\r ')
        layernum_pos = line.rfind(' ')+1
        layernum = str(int(line[layernum_pos:]) + 1)
        line = strtofind + ' ' + layernum + ' / ' + maxlayer + '\n'
    file.write(line)
file.close()


Il est à noter que sur l'afficheur LCD (le mien en tout cas) il n'y a pas la place pour afficher en entier une ligne telle que 'Printing layer nnn / ttt', j'ai donc réduit Le texte à 'Layer nnn / ttt'.

Il faudra donc bien indiquer à Slic3r que la ligne à insérer à chaque changement de layer est :

M117 Layer [layer_num]

Sinon ça marche pô… ;)

3
Saperlipopette !

Je me suis réjoui un peu vite…

L'astuce fonctionne, et le script modifie effectivement le G-code (c'est un progrès), mais il se passe des trucs bizarres à l'impression, vu que ça n'imprime plus : tout s'arrête après la fin de la mise en chauffe du plateau.

Faut que j'étudie ça de plus près…

Accessoirement, ma ligne de code pour virer les retours charriot qui empĂŞchent le #! /usr/bin/python de faire son job est foireuse, il ne faut apparemment pas directement envoyer le contnue du fichier vers lui-mĂŞme, mais vers un autre fichier, quitte Ă  supprimer l'ancien pour ensuite renommer le nouveau :

$ tr -d '\r' < gcode_maxlayernum.py > gcode_maxlayernum2.py
$ rm gcode_maxlayernum.py
$ mv gcode_maxlayernum2.py gcode_maxlayernum.py

Sinon, ça efface le script purement et simplement, ce qui serait dommage. ;)

4
Eh bien ça n'aura pas duré longtemps…

Je remercie BrunoBellamy pour sa solution aussi rapide qu'efficace ;) ;) ;)

Or donc, je viens de trouver tout seul comme un grand la clé du mystère :

quand je testais mon script en ligne de commande ça marchait impec, parce que ma ligne de commande invoquait python :
$ python gcode_maxlayernum.py

Si j'avais fait ./gcode_maxlayernum.py ça aurait d'abord foiré parce que le script n'était déjà pas exécutable. Pour ça pas de souci, il suffit d'un chmod +x gcode_maxlayernum.py

Mais ça ne s'arrête pas là…

Ça n'aurait toujours pas marché parce que ce n'est pas /usr/bin/python que le script invoque dans sa première ligne, juste après #!, mais /usr/bin/python^M

Eh oui, les sauts de ligne de Mac OS X ne lui plaisent pas, Ă  cette andouille.

Un :
$ tr -d '\r' < gcode_maxlayernum.py > gcode_maxlayernum

a eu tôt fait d'y remédier, à partir de quoi la ligne :
#! /usr/bin/python

est en fait tout Ă  fait valide ! :)

Du coup, Slic3r a bien voulu considérer que le script, non précédé d'un appel à Python (puisque cet appel est invoqué dans le script lui-même) était exécutable, et maintenant j'ai du G-code qui inclut l'affichage, à chaque changement de layer, du n° du layer en cours et du nombre total de layers.

Cool. Merci moi. :)

5
Hello les smartpotes ! :)

J'utilise Slic3r 1.2.9 sous Mac OS X, et l'idée (probablement pas originale, mais j'aime bien réinventer l'eau chaude) m'est venue d'écrire un petit script de post-processing pour que la ligne :

M117 printing layer [layer_num]

qui doit s'exécuter à chaque changement de layer s'accompagne aussi d'un ' of xxx' où xxx serait le nombre total de layers (afin d'obtenir sur le LCD de ma BunnyCore, à chaque changement de layer, un truc du genre 'Printing layer 42 of 199'), chose qu'on ne peut pas réaliser en utilisant une variable de Slic3r puisque, à ma connaissance, aucune variable du programmer ne permet de connaître ce nombre.

J'ai donc Ă©crit le script python ci-dessous :

#! /usr/bin/python

# Gcode post processing script       #
# to add total layers number to each #
# 'M117 printing layer [layer_num]'  #
# in your custom G-code before layer #
# change in Slic3r                   #
# by Bruno Bellamy 07/2018 :)        #

import os
import sys

gcode_file = sys.argv[1]
counter = 0
strtofind = 'M117 printing layer'

file = open(gcode_file,"r")
lines = file.readlines()
for line in lines:
    if line[0] != ';' and strtofind in line:
        counter += 1
file.close()

maxlayer = str(counter)

file = open(gcode_file,"w")
for line in lines:
    if line[0] != ';' and strtofind in line:
        line = line.rstrip('\n\r ')
        layernum_pos = line.rfind(' ')+1
        layernum = str(int(line[layernum_pos:]) + 1)
        line = strtofind + ' ' + layernum + ' of ' + maxlayer
    file.write(line)
file.close()


Je l'ai bien sûr testé hors Slic3r, dans une fenêtre de terminal, en lui passant en argument (comme est supposé faire Slic3r, si j'ai bien compris) le chemin du fichier G-code généré, et… ça marche !

Ça fait exactement ce que c'est supposé faire : lire le G-code, compter les changements de layers, ajouter à chaque affichage du n° de layer le ' of xxx' et réécrire le fichier.

J'ai donc ajouté le chemin absolu menant à ce script dans la section Print Settings > Output options > Post-processing scripts de Slicer, sauvegardé cette config, chargé un .stl, exporté le G-code, et… rien.

Mon G-code n'a pas du tout Ă©tĂ© modifiĂ©, tout s'est passĂ© comme si Slic3r avait ignorĂ© mon script.  :'(

J'ai ajouté un '/usr/bin/python ' avant le chemin menant au script, mais Slic3r m'a alors annoncé que ça lui posait un problème de permissions, et de plus il me semble avoir lu qq part que de toute façon Slic3r ne veut pas de ce genre de trucs, par sécurité.

Donc là, je sèche.

Si quelqu'un a une idée… ;)

6
Prints / Impressions / Boitier "slim" pour Raspberry Pi (2b, 3b & 3b+)
« le: 01 octobre, 2017, 09:11:05 pm »
…avec aération, au choix, en forme de tête de chat ou de lapin ! :)

https://www.thingiverse.com/thing:2562857

7
GĂ©neral / Global / Ultrasonic 3D printing
« le: 11 septembre, 2017, 09:52:43 am »

8
Resolved/Résolu / Re : [RESOLU] Fuite de PLA
« le: 27 aoűt, 2017, 08:31:27 pm »
"better safe than sorry" ! ;) ;) ;)

9
Resolved/Résolu / Re : [RESOLU] Fuite de PLA
« le: 27 aoűt, 2017, 07:22:22 pm »
…et avec des pinces, hein, pas avec les doigts ! ;)

10
Argh… En effet, j'imagine la mauvaise surprise !!!

11
Impressionnant : http://www.wired.co.uk/article/rapid-liquid-printing-mit-steelcase

Ce procédé, en imprimant non par couches superposées en partant d'un support, mais en n'allant que sur les points utiles à l'intérieur d'un gel, non seulement peut imprimer sensiblement plus vite qu'une machine fonctionnant par défaut de couches de plastique en fusion, mais permet aussi de matérialiser une forme sans aucune contrainte liée à la gravité ou à la nécessité d'éviter les surplombs.

13
Mise Ă  jour sur https://www.thingiverse.com/thing:2402104 ! :)

Le deuxième fanduct (celui de gauche donc) posait problème pour le passage des câbles (alim et thermistance) du bloc chauffant de la hot end. Outre une installation difficile, ça faisait pencher tout le bazar, ce qui évidemment posait divers soucis (hauteur du capteur Z, inclinaison et donc hauteur de l'extrémité basse des fanducts, etc).

J'ai modifié la forme de ce deuxième fanduct en conséquence, ce qui laisse juste assez de place pour permettre le placement des câbles, et évite donc contraintes et déformations de l'ensemble.

Je l'ai imprimé et installé, et ça m'a tout l'air d'être bon. :)

Reste à tester exhaustivement la chose, pour voir si ça apporte vraiment un gros avantage d'avoir une ventilation de chaque côté !

14
My build / Mon montage a moi / Re : Un nouveau Z sans porte-à-faux
« le: 17 juillet, 2017, 06:36:27 pm »
Bon ben logiquement c'Ă©tait bien lĂ  que ça coinçait… :)

Les roulements linéaires c'est évidemment très utile pour bien garder tout le bazar aligné sur l'axe décrit par les tiges métalliques, mais à condition que, justement, ça roule bien !!!

Il peut y avoir plusieurs causes : la pièce imprimée qui maintient les axes en place peut être légèrement tordue, et décaler un roulement par rapport à l'autre. Comme ces trucs sont en principe super précis, le moindre décalage crée une grosse friction, et donc possiblement de quoi bloquer le mouvement. Il peut aussi y avoir un défaut sur la tige métallique elle-même : une rayure, ou je ne sais quoi. Enlever un roulement n'enlève pas le défaut de la tige, mais comme il y a moins de surface de roulement exposée au défaut, ben ça glisse mieux globalement. Et puis le roulement peut être défectueux : c'est souvent de la fabrication chinoise en très grande série (je n'ose pas imaginer, par exemple, le niveau actuel de production de roulement type 608 qu'on trouve dans les "hand spinners" avec lesquels jouent tous les gamins !), et si une des petites billes à l'intérieur du roulement a décidé de faire un caprice, ça peut coincer méchamment. Ça peut aussi être un défaut résultant d'une fausse manip : au moment d'insérer la tige métallique dans les roulements linéaires, ça peut arriver qu'on ne le tienne pas tout à fait droit, et que ça accroche une petite bille au passage. Ça m'est arrivé… Quand j'ai vu des micro-billes tomber du roulement, je me suis douté que ça n'allait pas tourner très rond là-dedans. ;)

Content que ton problème soit rĂ©solu en tout cas… Amuse-toi bien ! :)

15
My build / Mon montage a moi / Re : Un nouveau Z sans porte-à-faux
« le: 16 juillet, 2017, 09:39:11 pm »
Ah oui, donc c'est bien un problème de tension de la courroie…
Bah je crois qu'il faut la re-tendre, je vois que ça. ;)

Ou vérifier qu'elle n'est pas coincée quelque part !

Pages: [1] 2 3 ... 69