Maintenant que mon imprimante est équipée du pack bi-couleur, et que j’ai testé avec quelques modèles disponibles sur le net, je souhaite faire moi-même mes réalisations. Seulement voilà : « comment fait-on ? ».
La seule certitude : il faut disposer de 2 fichiers stl complémentaires, qui seront assemblés dans le slicer pour générer le gcode qui convient.
Les seuls tutoriels que je trouve expliquent comment créer un nouveau modèle, par exemple avec FreeCAD. Mais comment repartir d’un modèle existant pour générer un modèle bi-couleur.
Je vais tenter ici de répondre en repartant de la théorie sous FreeCAD, et en présentant ma démarche face à mon problème.
Créer un modèle pour une impression bi-couleur
Le principe par l’exemple sous FreeCAD
Nous avons besoin de 2 fichiers stl. Nous allons donc avoir besoin de 2 groupes de pièces. Pour l’exemple, un groupe bleu et un groupe rouge.
On exporte ensuite chaque groupe séparément, afin d’obtenir 2 fichiers stl.
A l’ouverture dans Cura By Dagoma, il suffit d’ajouter les 2 fichiers stl et d’effectuer l’assemblage !
Aucune difficulté particulière, et de nombreux tuto déjà sur le sujet.
Par contre, que se passe-t-il lorsque je dispose uniquement d’un fichier stl unique que je veux modifier ?
La mise en oeuvre sur une pièce complexe
Toute la difficulté va maintenant être d’appliquer le simple principe de « 2 couleurs = 2 stl » a une pièce complexe, dont on ne possède qu’un seul fichier stl.
Par exemple, voici un beau petit matou trouvé sur Thingiverse.
Je veux pouvoir imprimer ce chat en noir avec des tâches blanches.
La démarche va être la même que pour notre simple pièce sous FreeCAD :
> créer 2 groupes
> exporter chaque groupe en stl
> importer les 2 fichiers sous Cura By Dagoma
> assembler les 2 morceaux
> imprimer
La principale difficulté est justement de créer Les 2 groupes. Notre minou n’est en effet qu’un maillage constitué de surfaces triangulaires plus ou moins grandes et de sommets. Il va donc falloir se tourner vers des outils de manipulation de ce type de structure.
Mon premier choix va consister à utiliser MeshLab – déjà présenté sur ce site – pour sa simplicité de prise en main. Blender par exemple pourrait sans doute faire l’affaire mais je ne maîtrise pas assez cet outil.
Ouvrons donc notre modèle, en zoomant sur la tête.
8980 surfaces triangulaires constituent notre modèle.
Il faut bien à ce niveau garder une chose importante à l’esprit : une surface sera indivisible au sein d’un groupe. Si je veux avoir une précision dans le dessin des tâche de mon chat, la première chose à faire va être de subdiviser les surfaces, ce que permet facilement MeshLab.
Rappel : Pour pouvoir être correctement manipulé, le fichier de départ ne doit pas comporter d’erreur. Petit contrôle rapide avec MeshLab : Render -> Show Non Manif Edges. Le modèle comporte 2 erreurs de ce type, que l’on va facilement corriger avec Filters -> Cleaning and Repairing -> Remove Faces from Non Manifold Edges.
Le modèle est maintenant propre. On va appliquer l’un des filtres : Filters -> Remeshing -> Subdivision Surfaces. A vous de tester le filtre qui conviendra le mieux à votre modèle.
Cette simple opération me permet maintenant de disposer d’un modèle comportant plus de 70000 faces. Rien bien entendu ne vous empêche de recommencer l’opération. Attention toutefois à ne pas vouloir manipuler un modèle trop détaillé, qui ne pourra de toute façon pas être imprimé.
Une fois cette opération réalisée, MeshLab nous permet aussi de « peindre » les surfaces, par la commande Edit -> Z-Painting.
Peu importe la couleur, il faut qu’elle soit unique ! Pour l’exemple, je dessine une bande noire sur le cou de minou.
On sélectionne ensuite les surfaces colorées : Filter -> Selection -> Select Faces by Color
Affichons maintenant les layers : View -> Show Layer dialog.
On retrouve l’unique layer actuel. Un clic droit nous offre la possibilité de déplacer les surfaces sélectionnées dans un nouveau layer : Move selected faces to another layer . Faire simplement un Apply, en conservant l’option Delete original selection.
On dispose maintenant de 2 layers, qui vont correspondre aux 2 futurs fichiers stl. Il faut les exporter par File -> Export Mesh As .
Voici ce que donne dans la réalité mon nouveau modèle dans Cura, avant assemblage :
Puis après assemblage :
On pourrait dès lors penser que l’opération n’était pas si complexe, et qu’il ne reste plus qu’à imprimer … Hélas, grosse déception lorsque l’on regarde de plus près dans Cura, et que l’on parcours les couches
Que se passe-t-il ? Que sont devenues les couches ?
La réponse est simple. Le fichier stl de départ n’est pas un solide mais une simple enveloppe. Les 2 fichiers stl obtenus sont donc eux-aussi dépourvus d’épaisseur. Impossible donc pour le slicer de trancher correctement !
La seule solution que j’ai actuellement trouvé est de reprendre les 2 fichiers stl afin de donner de l’ épaisseur aux surfaces.
Et la seule solution facile et rapide que j’ai trouvée est d’utiliser cette fois Blender, qui dipose d’une fonction pour faire cette opération.
On lance donc Blender, et on importe l’un des fichier stl.
On passe ensuite en mode Edit Mode.
Dans le menu Mesh => Faces => Solidify.
Il faut ensuite jouer (ou pas) sur le paramètre d’épaisseur (Thickness). Il faut qu’il soit à minima cohérent avec ce que votre buse peut imprimer. Pour ma part, j’ai positionné à 1 mm.
On repasse ensuite en mode Object Mode, et on exporte le modèle.
On réalise les mêmes opérations sur le deuxième fichier stl.
Nouvelle importation dans Cura by Dagoma.
On voit bien maintenant une épaisseur sur les pièces. Il reste à assembler, et à vérifier en mode couche le résultat.
C’est nettement mieux. Par contre, la pièce est maintenant creuse, et je n’ai pas trouvé de solution pour faire en sorte qu’elle soit pleine.
D’un autre côté, pour ce type de réalisation, on économise pas mal de matière ce qui finalement est plutôt bien à mon sens.
Petite impression et voilà le résultat :
Un résultat très proche du modèle en poils et en os !