Imprimer directement en plusieurs couleurs peut vraiment être intéressant, par exemple, pour intégrer des pictogrammes informatifs sur la face d'un objet ou simplement dans un but purement décoratif.

Ultimaker propose un kit permettant d'imprimer en 2 couleurs (ou 2 filaments de matériaux différents) mais les retours sur les forums ne m'ont pas convaincus de l'acheter, je pense au final que le ratio coût / intérêt n'est pas vraiment bon lorsque l'on s'en sert uniquement pour du multi couleurs, l'intérêt est bien plus grand pour de l'impression multi-matériaux (support en PVA par exemple).

Je vais vous expliquer 2 méthodes qui vous permettront de passer à l'impression multi couleur avec un seul extrudeur.

Notez que cet article tourne autour de l'Ultimaker et de son slicer Cura mais il est tout à fait possible d'adapter cette solution à toute RepRap.

Avec le plugin Cura : PauseAtZ

En utilisant le plugin fourni avec Cura PauseAtZ qui permet, comme son nom l'indique, de stopper l'impression à une certaine hauteur, de parker la tête afin de changer le filament et ensuite de relancer l'impression avec le nouveau filament.

Le principal problème de cette technique est qu'il ne permet pas à une couche d'avoir plusieurs couleurs, rien de vraiment nouveau avec cette méthode...

Feinter le slicer : PauseAtExtruderChange

Dans cette méthode, on va utiliser Cura exactement comme si nous avions le kit de double extrusion, et allons dire à Cura de slicer comme tel. C'est par la suite que nous allons lire le GCode et remplacer l'instruction de changement de tête (Tx) par des instructions permettant de parker la tête le temps d'effectuer le changement de filament.

Voici les étapes exactes :

  1. Parker le Z
  2. Déplacer la tête en X, Y à la position de parkage
  3. Stopper le ventilateur
  4. Attendre une action de l'utilisateur (nécessite un ulticontrolleur TODO)
  5. Restaurer la position X, Y
  6. Redémarrer le ventilateur
  7. Restaurer le Z

Nous pourrions également utiliser le G-Code M600 mais il s'agit d'une instruction en test qui n'est pas inclut par défaut dans tous les firmware et l'utilisation de nos propres instructions nous permet de faire exactement ce que l'on souhaite...

En pratique

1. Installez le plugin Cura PauseAtExtruderChange, (déposez simplement le fichier PauseAtExtruderChange.py dans le dossier ~/.cura/VERSION/plugins)

2. Créons un nouveau profil d'imprimante : File > Machine setting > Add new machine, dans le panel Extruder 2, on s'assure que Offset X et Offset Y soit égal à 0 comme dans l'image ci-dessous :
Cura - Machine settings

3. Importez vos fichiers stl, précisez à Cura que vous souhaitez les fusionner pour faire de la double extrusion (sélectionnez le premier objet d'un clique gauche, puis, bouton droit sur le second objet et cliquez sur Dual extrusion merge)

4. Ajoutez le plugin, modifiez les paramètres tel que vous le souhaitez et vous voilà avec votre fichier G-Code modifié

5. Lancez l'impression et l'imprimante vous signalera chaque changement de couleur, il vous restera alors à changer le filament, valider le changement auprès de l'imprimante, l'impression reprendra alors exactement oû elle avait été arrêtée mais avec un autre filament.

Note: Vous pouvez aussi utiliser le fichier python directement en ligne de commande : python PauseAtExtruderChange.py file.gcode > out.gcode (python PauseAtExtruderChange.py -h pour avoir de l'aide)

Voilà ce qu'il est possible de faire très simplement :

Vous voilà maintenant capable d'imprimer en multi couleur d'une manière un peu plus évoluée qu'avec PauseAtZ, néanmoins, l'utilisation de PauseAtExtruderChange ne sera intéressante que pour des impressions ou le nombre de changement de couleur par couche est faible sinon, vous risquez de passer votre temps à changer de filament...