Reprendre une impression interrompue
Il arrive parfois qu'une impression rate car il n'y a plus de filament sur la bobine et que le capteur de filament n'a pas fonctionné correctement ou parce que la buse s'est bouchée ou encore parce qu'il y a eu un noeud dans la bobine... C'est particulièrement rageant car parfois il ne manque pas grand chose ou le début de l'impression avait très bien fonctionné.
N'abandonnez pas tout de suite, on peut peut-être encore sauver cette impression !
TL;DR Vous pouvez utiliser le programme Python Cliffhanger.py (aussi en PJ de cet article) qui se trouve sur l'ordinateur de la salle des imprimantes pour modifier le GCODE de votre impression originale et pouvoir la reprendre au bon endroit rien qu'en indiquant la hauteur à laquelle elle s'est arrêtée.
Le principe de la solution, inspiré d'une vidéo de CNC Kitchen, est au final assez simple :
- On mesure la hauteur de l'objet déjà imprimé
- Dans le fichier GCODE on repère l'instruction qui correspond au changement de hauteur de la tête à la hauteur de l'objet, auquel on ajoute une épaisseur de couche
- On supprime les lignes précédentes qui correspondent à la partie déjà imprimée
- On sauvegarde le fichier
- On relance l'impression
Pour mieux comprendre cette solution il faut se pencher un petit peu sur la structure du code (le GCODE) produit par le trancheur (Ideamaker en l'occurrence).
G1 F2400 E-0.5000
G0 F6000 X90.331 Y84.555
G0 F300 Z0.300
;TYPE:WALL-INNER
;WIDTH:0.400
G1 F1500 E0.0000
G1 F900 X98.804 Y77.678 E0.5444
G1 X108.028 Y71.852 E1.0887
G1 X117.881 Y67.158 E1.6332
Pour faire simple, chaque instruction, chaque ligne, correspond à un mouvement de la tête. G0 est un mouvement sans extrusion, tandis que G1 est un mouvement avec extrusion. F900 ou F1500 correspond à la vitesse du mouvement, X, Y et Z sont tout simplement les coordonnées dans l'espace et la commande E donne la quantité de matière à extruder.
Admettons que notre objet ait été imprimé jusqu'à la hauteur de 91.3mm par exemple, pour trouver l'instruction qui correspond à cette hauteur il suffit donc de repérer la ligne (la valeur de F peut-être différente) :
G0 F300 Z91.3000
Le seul problème que nous allons rencontrer maintenant c'est la quantité de matière extrudée. Ideamaker, pour une raison qui m'échappe, augmente la quantité à extruder de manière incrémentale ou plutôt absolue, alors que la plupart des logiciels indiquent des valeurs relatives. C'est-à-dire qu'en temps normal on aurait E0.0098 ensuite E0.0067 puis E0.0085 par exemple, mais Ideamaker, lui, va faire E0.0098 ensuite E0.0165 puis E0.0250.
Ce qui est impossible à modifier à la main.
Heureusement, voici une application Python qui va vous permettre de générer un nouveau fichier GCODE à partir de l'ancien en indiquant uniquement la hauteur de l'impression mesurée !
Vous trouverez le code en PJ de cet article ou déjà installé sur l'ordinateur de la salle des imprimantes 3D.