Pause programmée dans une impression

On peut être amené à vouloir programmer une pause dans son impression, au moins pour 2 raisons :

  • pour effectuer un changement de filament,
  • pour ajouter une pièce « interne » (un aimant, un écrou par exemple).

Le standard GCode a prévu ces fonctionnalités, au travers des codes M600 et M601. Malheureusement, très peu d’imprimantes prennent en compte correctement ces commandes.

« MultiGCode » est un outil qui permet d’offrir une solution de contournement, mais uniquement pour les fichiers issus de Cura. Le principe de cet outil est simple : une fois le fichier chargé, on indique les couches souhaitées pour la mise en place d’un changement. L’outil découpe le fichier initial en n fichiers, qu’il suffira de lancer les uns après les autres. Chaque impression se termine par un déplacement de la tête, tout en conservant les consignes de température, ce qui permet de changer le filament par exemple.
Cet outil est disponible en ligne (Google est votre ami).

Pour ma part, plutôt adepte de PrusaSlicer, regardons ce qu’il est possible de faire pour arriver à un résultat similaire à MultiGCode.

Prenons comme exemple un cube de 10 x 10 x 10 mm, découpé dans PrusaSlicer.

Une fois cette opération effectuée, il est possible de sélectionner une couche spécifique, grâce à la règle. Il voit alors un signe « + » qui va permettre d’effectuer par défaut plusieurs opérations.

Exemple ici sur la couche 15. Si j’effectue un simple clic gauche, PrusaSlicer va insérer le code M600 dans le fichier au niveau de la couche 15. Cette opération peut être répétée autant de fois que nécessaire.

A ce stade, je dispose d’un fichier gcode qui va contenir 3 occurrences M600.

Ces 3 codes M600 vont me servir de point de référence pour « couper » le fichier initial et générer 4 fichiers, qui devront respecter les points suivants :

  • mémoriser la hauteur de fin de la première impression afin de la reprendre en début d’impression suivante,
  • conserver les paramètres de température de l’extrudeur et du lit,
  • permettre un dégagement de la tête afin de procéder aux opérations souhaitées (changement de filament, insertion d’un élément).

L’idée est maintenant de découper le fichier à chaque fois que je rencontre ce fameux code « M600 », en réalisant les opérations suivantes :

a) création du premier fichier avec toutes les lignes « avant le M600 » et ajout en fin de ce fichier des commandes pour relever la tête d’impression et la placer en position de dégagement. On arrête le ventilateur mais on conserve les températures de l’extrudeur et du plateau (afin d’éviter le décollage de la pièce),
b) création d’un nouveau fichier qui va commencer par repositionner la tête à la dernière position d’impression, et ajout de toutes les lignes jusqu’à la prochaine occurrence de M600.

On répètera cette opération jusqu’à la fin du fichier.

Pour réaliser cette opération, j’ai commencé à travailler sur un petit outil disponible ici.  Il s’agit pour le moment d’une version très « basique » (v0.6) que j’ai testée sur une Anycubic Kobra 2, avec une pièce très simple (une médaille avec une écriture en relief).

Lors de vos impressions, je vous conseille donc de rester prudent et de bien surveiller le déroulement. Je vous encourage aussi à me contacter pour me faire part de vos remarques et constats.

Note importante :

Pour que l’outil fonctionne correctement, il faut à minima que :

  •  le fichier soit slicé en mode Absolu (et non en mode relatif)
  • il ne doit pas y avoir de commandes spéciales insérées entre couches

Ces éléments sont à paramétrer dans la configuration du slicer.

 

 

Translate »