Olaf Grossebaf Posté(e) Avril 17, 2019 Posté(e) Avril 17, 2019 Bonjour. J'aimerai bien m’exercer à faire des changements de couleur en cours d'impression. J'ai essayé sur Cura de faire: Extensions / Post-traitement / Modifier le G-Code / Filament change ... Mais ça ne marche pas; l'impression suit sa course comme si de rien n'était. D'ailleurs, le G-Code généré pour faire le changement de filament me semble bien pauvre: "M600 E30.00 L300.00 ; Generated by FilamentChange plugin" Comme si la fonction M600 ne fonctionnait pas sur ma machine (Alfawise U30). Du coup, je suis tenté d'écrire mon petit bout de G-Code pour gérer cette fonction. Ça me donnera l'occasion de mettre un peu les mains dans le cambouis et de comprendre un peu ce code. J'ai donc à faire un bout de code à insérer au bon endroit qui fasse: - retour à la position home - monter la tête un peu - retirer le filament en arrière - envoyer un message "attente changement filament" - attendre la validation de l'utilisateur - repousser le filament en avant, suffisamment pour purger la buse - retourner à la dernière position avant l'arrêt - reprendre l'impression Mais comme je suis encore très débutant, vos avis, aides et conseils seront les bienvenus.
fdorful Posté(e) Avril 17, 2019 Posté(e) Avril 17, 2019 Il y a 4 heures, Olaf Grossebaf a dit : - retour à la position home - monter la tête un peu - retirer le filament en arrière - envoyer un message "attente changement filament" - attendre la validation de l'utilisateur - repousser le filament en avant, suffisamment pour purger la buse - retourner à la dernière position avant l'arrêt - reprendre l'impression Ça c'est la théorie, ça donne quoi en pratique en gcode ?
Olaf Grossebaf Posté(e) Avril 18, 2019 Auteur Posté(e) Avril 18, 2019 Il y a 11 heures, fdorful a dit : Ça c'est la théorie, ça donne quoi en pratique en gcode ? Euh, ben, c'est ça la question. Comme je n'ai encore jamais fait de gcode, je demande si quelqu'un peut m'aider un peu. Pour l'instant, la principale difficulté que j'entrevois c'est: comment faire pour reprendre l'impression en cours en retournant à la dernière position avant l'interruption ? J'ai peur qu'en envoyant la tête à une position, ça brouille le repérage. J'ai pas encore bien compris G90, G91 et G92.
fdorful Posté(e) Avril 18, 2019 Posté(e) Avril 18, 2019 Salut, Je te conseille la lecture des articles suivants : http://www.cr10.fr/changement_couleur_s3d/http://www.cr10.fr/couleursansm600s3d/ Je sais pas quel trancheur tu utilises, moi je travaille avec Simplify3D Voici un exemple fait pour une Alphawise U20 (qui ne doit pas trop différer d'une U30) Le fichier gcode pour impression complète en une seule couleur : cerf.gcode et les deux fichiers gcode, l'un pour la première couleur (le fond), l'autre pour imprimer la tête. cerf1.gcodecerf2.gcode regarde les débuts et fins de chaque gcode. A la fin du premier, on est en couche 7 et on ne touche pas Z, on revient en X0 Y0 histoire de ne pas faire de caca lors du changement de filament. Quand le filament est en place, on lance le second gcode, on fait une préparation de la buse et ensuite on imprime en ayant pris soin de dire à la tête de commencer en Z1.640 (ligne 17 du gcode), c'est elle qu'il ne faut pas oublier de mettre manuellement dans le deuxième gcode. Allez, un peu de travail personnel et n'hésite pas à poser des questions. NB : utilise Geany pour visualiser les gcode https://www.geany.org il est bien pratique pour les manip sur gcode. Cordialement
Olaf Grossebaf Posté(e) Avril 19, 2019 Auteur Posté(e) Avril 19, 2019 Premier essai avec le code suivant: ;-----Changement de filament------------------------ G91 ; Passage coordonnées relatives G1 Z10 F4000 ;Monte la tete de 10 mm G90 ; Passage coordonnées absolues G1 X10 Y10 ; Déplace la tête vers position d'attenteM0 Click To Restart ; Mise en pause et message ; NE MARCHE PAS G91 ; Passage coordonnées relatives G1 Z-10 F4000 ; Descent la tete de 10 mm G90 ; Passage coordonnées absolues ;-----Fin------------------------------------------- La routine fonctionne, sauf un truc: la fonction M0 qui devrait arrêter l'impression. La tête va bien à la position d'attente mais elle ne s'arrête pas et retourne aussitôt pour reprendre l'impression.
Olaf Grossebaf Posté(e) Avril 20, 2019 Auteur Posté(e) Avril 20, 2019 Le 18/04/2019 at 12:21, fdorful a dit : Salut, ... et les deux fichiers gcode, l'un pour la première couleur (le fond), l'autre pour imprimer la tête. regarde les débuts et fins de chaque gcode. A la fin du premier, on est en couche 7 et on ne touche pas Z, on revient en X0 Y0 histoire de ne pas faire de caca lors du changement de filament. ... Oui, effectivement, y'a cette solution toute simple: on coupe le gcode en deux (ou plus si on veut plusieurs changements de couleur), ce qui évidemment crée un arrêt. Quitte a ajouter un bout de code à la fin du premier pour gérer le dégagement de la tête et un autre code au début de la deuxième pour gérer la purge de la buse et la reprise d'impression. C'est un peu fastidieux mais c'est pas bête. J'aurai préféré quelque chose de plus élégant (un seul bout de code à coller à l'endroit du changement de filament) mais ça fonctionne. Merci pour le tuyau.
fdorful Posté(e) Avril 20, 2019 Posté(e) Avril 20, 2019 Il y a 3 heures, Olaf Grossebaf a dit : J'aurai préféré quelque chose de plus élégant (un seul bout de code à coller à l'endroit du changement de filament) Tu as la commande M600 pour ça, MAIS il faut être présent pour changer le filament ET je ne suis pas sûr que les Alphawise répondent à cette commande (j'ai pas testé). Les autres solutions pour ceux qui veulent passer la tondeuse pendant que leur imprimante travaille, c'est soit la double extrusion ou le summum (pour les grosses tirelires) c'est Palette 2 ( https://www.atome3d.com/products/palette-2?ls=fr-FR ).
Olaf Grossebaf Posté(e) Avril 21, 2019 Auteur Posté(e) Avril 21, 2019 Il y a 22 heures, fdorful a dit : Tu as la commande M600 pour ça, MAIS il faut être présent pour changer le filament ET je ne suis pas sûr que les Alphawise répondent à cette commande (j'ai pas testé). Les autres solutions pour ceux qui veulent passer la tondeuse pendant que leur imprimante travaille, c'est soit la double extrusion ou le summum (pour les grosses tirelires) c'est Palette 2 ( https://www.atome3d.com/products/palette-2?ls=fr-FR ). J'ai essayé M600 (j'ai même commencé par ça): ça marche pas sur mon imprimante ! Quand à acheter du matos supplémentaire (hors de prix), c'est pas l'idée du moment.
Olaf Grossebaf Posté(e) Avril 21, 2019 Auteur Posté(e) Avril 21, 2019 Le 18/04/2019 at 12:21, fdorful a dit : NB : utilise Geany pour visualiser les gcode https://www.geany.org il est bien pratique pour les manip sur gcode. C'est la galère ! J'ai essayé tout bêtement de couper un fichier gcode en deux. Histoire de voir ce que ça donne, qui à faire le positionnement de la tête à la main. Et ben; l'imprimante (U30) se plante (reset général) à la fin de la première partie. J'ai édité les gcode avec le bloc note, ça peut venir de ça ?
fdorful Posté(e) Avril 21, 2019 Posté(e) Avril 21, 2019 il y a 19 minutes, Olaf Grossebaf a dit : J'ai édité les gcode avec le bloc note, ça peut venir de ça ? L'editeur de gcode ,'a rien à voir. Tout comme on opère pas d'un appendicite avec un sabre, on prend un scalpel et des pinces kocher et après incision, on dilacère doucement tout en ayant de bonnes connaissances en anatomie pour savoir ce qu'on fait et ou on va... Il vaut mieux laisser ton slicer faire la séparation et ensuite intervenir sur les gcodes au bon endroit et EN TOUTE CONNAISSANCE DE CAUSE ET D'EFFET. 1
Olaf Grossebaf Posté(e) Avril 22, 2019 Auteur Posté(e) Avril 22, 2019 (modifié) Il y a 18 heures, fdorful a dit : L'editeur de gcode ,'a rien à voir. Tout comme on opère pas d'un appendicite avec un sabre, on prend un scalpel et des pinces kocher et après incision, on dilacère doucement tout en ayant de bonnes connaissances en anatomie pour savoir ce qu'on fait et ou on va... Il vaut mieux laisser ton slicer faire la séparation et ensuite intervenir sur les gcodes au bon endroit et EN TOUTE CONNAISSANCE DE CAUSE ET D'EFFET. Pourtant, en utilisant Geany au lieu du bloc-note ça marche mieux. Peut-être que le bloc-note insère un caractère invisible (fin de ligne ou autre) qui plante le gcode ? [edit] en fait c'est du au fait qu'il faut insérer un Enter après la dernière ligne. https://www.youtube.com/watch?v=xL7rjklhvSY Enfin, j'ai progressé puisque l'arrêt et la reprise fonctionne. Le problème c'est que les mouvements reprennent, mais pas l'extrusion. Je pense que ça pourrait venir du fait que Cura génère des extrusions en mode absolu alors que dans le fichiers cerf que tu m'a donné en exemple les extrusions sont en mode relatif. J'imagine que l'imprimante fait une RAZ de la longueur de filament au début de l'impression ce qui fait qu'elle perd les pédales si elle reprend avec un fichier tronqué. Quand à laisser faire la séparation par le slicer, évidemment ça serait mieux. Le problème c'est que Cura ne sait pas le faire et/ou que la fonction M600 ne semble pas gérée par mon imprimante. As-tu essayé de ton côté cette fonction ? Modifié (le) Avril 22, 2019 par Olaf Grossebaf
fdorful Posté(e) Avril 22, 2019 Posté(e) Avril 22, 2019 il y a 34 minutes, Olaf Grossebaf a dit : Le problème c'est que les mouvements reprennent, mais pas l'extrusion. Raison pour laquelle le cerf2 commence avec le même script de démarrage que cerf1 pour amorcer la buse ensuite ce n'est qu'au moment du print qu'il faut insérer manuellement la ligne 17 pour positionner en Z à la bonne hauteur. il y a 38 minutes, Olaf Grossebaf a dit : la fonction M600 ne semble pas gérée par mon imprimante. Je l'ai déjà plus ou moins dit le firmware des Alphawise ne gère pas le M600
fran6p Posté(e) Avril 22, 2019 Posté(e) Avril 22, 2019 Il y a 5 heures, fdorful a dit : Je l'ai déjà plus ou moins dit le firmware des Alphawise ne gère pas le M600 D'origine, c'est exact. Mais en implantant le firmware alternatif basé sur Marlin 2.0, c'est faisable .
Olaf Grossebaf Posté(e) Avril 24, 2019 Auteur Posté(e) Avril 24, 2019 Bon, alors j'ai essayé une autre technique: Je génère les couches comme des objets .stl indépendants (avec Tinkercad dans mon cas). Je slice chaque fichier en .gcode (avec Cura dans mon cas). Puis j'insère au début du deuxième fichier un petit bout de code permettant de décaler l'impression en hauteur: ; ** décallage de couche en hauteur ** ; pour impression multicouche par exemple ; 1: récupérer hauteur Z de la dernière couche précédente ; 2: générer le gcode de la nouvelle couche ; sans aucune jupe, radeau ou autre ; 3: placer cette séquence juste après -- end of START GCODE -- ; 4: modifier Zx.xx ligne suivante G0 Zx.xx ; place à la hauteur de la dernière couche précédente G92 Z0 ; initialise l'axe Z ; ** fin décallage en hauteur ** Ensuite j'imprime chaque .gcode l'un après l'autre. C'est un peu fastidieux, mais ça marche.
Messages recommandés
Créer un compte ou se connecter pour commenter
Vous devez être membre afin de pouvoir déposer un commentaire
Créer un compte
Créez un compte sur notre communauté. C’est facile !
Créer un nouveau compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant