Utiliser un stl simple pour imprimer en 2 couleurs

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 :

chaussette

Un résultat très proche du modèle en poils et en os !

Les supports

Dès que l’on se lance dans l’impression d’un modèle, on se trouve rapidement face à la question suivante : « Faut-il ou non utiliser des supports ? ».

Généralement, on se laisse guider par son slicer préféré, mais est-ce la bonne solution ? Est-il possible de faire autrement ?

Je me propose ici de tester différentes solutions, en partant du modèle ci-dessous.

Avec Cura By Dagoma

Ici, les options sont assez simple  : pas de support, support pour les parties touchant le plateau et support partout(intérieur de pièce inclus).

Sans support, le temps d’impression est annoncé de 30 minutes, pour 1,21 mètres de filament. Il n’y a ici aucune possibilité de savoir si des supports sont nécessaires, sauf à essayer d’en mettre ….

en sélectionnant l’option « Partie touchant le plateau », le temps d’impression passe à 33 minutes et 1,36 mètres de filament. Par déduction, 15 cm de filament pour les supports.

Même résultat avec l’option « Partout ».

Avec Cura 3.5.1

Sans support, le temps d’impression est ici annoncé de 23 minutes, pour 1,46 mètres de filament. La différence est liée au remplissage (taux et mode).

Par contre, premier avantage, les zones à risques sont identifiées( en rouge). Ici, on  se rend compte immédiatement que des supports sont nécessaires.

En mode « Recommandé », en cochant ‘Générer les supports », on obtient un temps d’impression de 0h24 pour 1,53 m de filament.

Les supports sont parfois difficiles à enlever. L’un des avantages de Cura est de pouvoir choisir entre différents motifs de supports : Ligne, Grille, Triangle, Concentrique, zig-zag, entrecroisé.

Pas vraiment de différence de temps et de longueur de filament selon la méthode. La différence se fera peut-être dans la solidité du support et dans sa facilité à être ôtée.

Une option « expérimentale » est disponible dans Cura. Il s’agit des supports arborescents, présenté comme le meilleur compromis entre solidité, consommation de matière et facilité de détachement.

Le temps d’impression serait de 0h27 mn pour 1,78 m. Le principe est de créer les supports comme les branches d’un arbre, ce qui permettrait d’obtenir un support plus facile à détacher, car les différentes « branches » serait auto-portées. Par flagrant dans notre exemple !!

Avec Meshmixer

C’est ce même principe qui est utilisé dans Meshmixer, avec une plus grande souplesse, car il est possible de modifier les supports générés, d’en supprimer, d’en rajouter.

Pour pouvoir gérer les supports, il faut d’abord que Show Printer Bed soit activé.

Dans l’onglet Analysis, sélectionner l’option Overhangs

Nous retrouvons les zones difficiles identifiées en rouge. Un point important est que l’on peut agir sur le paramètre Angle Threst, qui défini l’angle de déport max que peut supporter l’imprimante. En fonction de la valeur, les zones à risque vont évoluer.

En cliquant sur Generate Support, le logiciel génère les supports selon les paramètres spécifiés dans les onglets Support Generator et Advanced Support.

On voit ici parfaitement la notion de support arborescent.

Remarque :  Je vous conseille de démarrer avec les paramètres suivants :
Post Diameter : 2 mm
Tip Diameter : 0.3 mm
Base Diameter : 2.4 mm

Nous allons améliorer le support. Avec Meshmixer, c’est assez simple :

  • clic gauche pour ajouter un support
  • Crtl + clic gauche pour supprimer un support.

En voilà un beau support .

Test sur Cura By Dagoma : impression en 0h32 pour 1,28 m de filament.

Ajouter du texte sur une surface (FreeCAD 0.9)

Depuis la version 0.19 de FreeCad, une nouvelle fonctionnalité permet de vraiment simplifier le dépot d’un texte sur une surface, en particulier si celle-ci est complexe.

Dans la version précédente de FreeCAD (0.18), ajouter du texte sur une surface était déjà possible, lorsque la surface était « plane ». Dès que l’on se trouvait en présence d’une surface plus complexe, il devenait vite fastidieux d’obtenir le résultat que l’on souhaitait.

Avec la version 0.19, une fonction assez magique est apparue dans l’atelier Part : « Create projection on surface ».

Prenons un premier exemple : projeter un texte sur une surface plane comme nous aurions pu le faire assez facilement dans la version 0.18.

J’ai créé une simple boite dans l’atelier Part Design, et un simple texte depuis l’atelier Draft. Dans l’atelier Part, on remarque une nouvelle icone (ici surlignée en jaune). Il suffit de cliquer dessus pour ouvrir la boite de dialogue qui va nous permettre la projection.

La méthode est simple une fois que l’on a compris le truc :

a) on commence par sélectionner la surface sur laquelle on veut projeter le texte, en cliquant sur le bouton « Select projection surface » et en sélectionnant la surface,
b) on détermine la direction de projection soit en rentrant les bonnes valeurs pour X,Y et Z, soit en positionnant correctement la vue dans l’écran et en cliquant sur le bouton « Get current camera direction »,
c) on ajoute les surfaces à projeter, en cliquant sur le bouton « Add face » et en sélectionnant les unes après les autres les éléments.

Le résultat est directement visible. On peut jouer sur la hauteur d’extrusion mais aussi avec la profondeur dans l’objet.

Où l’outil devient intéressant, c’est lorsque l’on va avoir des surfaces un peu plus complexes .

Reprenons le cube précédent, et arrondissons la surface de projection.

En gardant les même réglages, la projection donne maintenant le résultat suivant :

Le texte épouse épouse parfaitement la surface courbe . La hauteur d’extrusion choisie est respectée sur l’ensemble de la projection.

Je me suis posé la question de l’utilité du paramètre profondeur évoqué précédemment (Solid depth). Et j’ai trouvé 2 usages utiles.

Reprenons notre modèle mais appliquons maintenant une profondeur de 2 et une extrusion de 2. On obtiens le résultat suivant :

J’ai donc généré la projection à l’intérieur de la pièce. Rien de plus simple .

Le premier usage est de pouvoir imprimer cet insert d’une autre couleur (pour les heureux possesseurs d’une imprimante bi-couleur.

L’autre possibilité : faire une soustraction booléenne entre la pièce et la projection pour obtenir … une intrusion !

Une fonction bien pratique, car elle ne se limite pas à la projection de texte. Toute forme que vous aurez dessiné pourra être utilisée …

FreeCad – Assemblage V2

Je vous ai rapidement présenté rapidement l’atelier Part Design qui est l’atelier que j’utilise le plus pour concevoir les pièces que j’imprime. Je vais ici tenter de vous présenter un autre atelier : l’atelier Assemblage V2.

Sa principale utilisation pour moi va être de vérifier que la conception de mes pièces correspond bien à mon besoin et que je ne rencontrerais pas de problème lors de leur assemblage.

Je vais utiliser comme exemple la modification de la partie arrière mon caisson. Je souhaite remplacer la face plexiglas fixe, par 2 demi-faces mobiles, en m’appuyant sur le système de fixation actuel.

Pour réaliser mon assemblage, j’ai déjà dessiné les différentes pièces dans l’atelier Part Design. J’ai donc :

  • La représentation du montant et du système de fixation actuel :

  • La représentation de la porte modifiée pour s’adapter à la charnière supérieure :

  • Un axe :

  • La charnière inférieure :

  • La charnière supérieure :

Présentation de l’atelier

Lorsque l’atelier d’assemblage est activé, la barre de menu regroupe les principaux éléments à maîtriser.

Ce menu comporte plusieurs types de fonctionnalités. Je détaille ci-dessous les principales.

manipulation des objets
 

On va pouvoir Ajouter les objets à assembler entres eux, et les déplacer dans l’espace de travail. On pourra aussi rafraîchir  les objets déjà en place s’ils ont été modifiés dans l’atelier Part Design.

Mise en place des contraintes

Il faut avant toute chose bien avoir à l’esprit ce qui se cache derrière la notion d’assemblage.

D’un point de vue mécanique, un Assemblage consiste à mettre en relation plusieurs composants élémentaires qui formeront des sous-ensembles, formant eux-même un ensemble terminé.

Chaque élément doit respecter au sein de son sous-ensemble des règles d’isostatisme, qui vont permettre de définir des libertés de mouvement en translation et en rotation entre les éléments constituants.

Un bon assemblage sera un assemblage sur lequel tous les mouvements possibles auront été maîtrisés, à savoir 3 mouvements de translation et 3 mouvements de rotation.

FreeCAD met en oeuvre le principe de Lord Kelvin qui gère l’immobilisation de deux pièces par la mise en place de contraintes « trou – trait – plan ».

Ce sont les 5 icônes du menu, qui vont permettre de définir, dans l’ordre :

  • la mise en contact de 2 cercles,
  • la mise en contact de 2 plans,
  • l’alignement selon un axe,
  • le positionnement selon un angle donné,
  • le positionnement d’une sphère.
Groupes de contraintes

Une fois les contraintes posées entre un groupe d’objets, il est possible de créer un sous-ensemble figé. C’est ensuite ce sous-ensemble qui pourra être manipulé pour gérer des déplacements ou de nouvelles contraintes. Les contraintes internes seront alors toujours respectées.

Cas pratique

Pied – Charnière inférieure

On commence par ajouter les 2 éléments

On commence par appliquer une contrainte planaire entre les 2 surfaces colorées.

Le résultat n’est pas celui réellement attendu. Les surface sont certes bien contraintes, mais pas dans la bonne direction .

Le menu offre la possibilité d’inverser la dernière contrainte posée. Il s’agit de la première icone : .

Nous avons contraint une translation (selon Y) et une rotation (selon Z).

Il suffit de répéter les opérations pour contraindre totalement les 2 pièces (qui doivent bien être fixes l’une par rapport à l’autre).

Voici le résultat. La nouvelle pièce s’intègre parfaitement.

Charnière inférieure – AXE

On répète les mêmes opérations pour insérer l’axe dans la charnière.

2 contraintes à mettre en place : une contrainte coaxiale entre les axes et une contrainte de surface pour positionner en vertical l’axe lui-même.

AXE – Charnière supérieure

Mêmes principes …

Premiers contrôles

L’objectif est de vérifier que mon assemblage correspond bien à mon besoin, et qu’aucun point de blocage par exemple n’apparaît. Il existe une fonction dans l’atelier, qui permet de vérifier l’assemblage en lui-même. Ici aucun problème n’est remonté.
Il est aussi possible de déplacer en rotation la charnière pour regarder visuellement que tout semble correct.

Les contrôles peuvent aussi remonter des problèmes esthétiques. Ici par exemple, la forme de la charnière supérieure ne s’intègre pas totalement à l’ensemble.

Je vais donc reprendre la pièce supérieure dans l’atelier Part Design. Il me suffira de rafraîchir l’assemblage, pour que les modifications soient prise en compte, sans impacter les contraintes de placement déjà mise en place.

C’est quand même beaucoup mieux !!!

Charnière supérieure – Porte

Dernier élément à mettre en place : la porte.

Groupe -Derniers contrôles

Si on essaye maintenant de faire tourner la charnière, on s’aperçoit que les contraintes mises en place sur la porte ne sont pas respectées.

Ceci se produit parce que l’on n’a pas respecté la base de l’assemblage : on créer d’abord les sous-ensembles. Puis ensuite on créer l’assemblage.

L’idée est donc de d’abord créer un sous-ensemble « charnière haute + porte », avec les contraintes nécessaires, et on sauvegarde le fichier.

Il est ensuite importé comme un élément standard, avec les contraintes posées sur l’axe. Cette fois, lorsque l’on applique une rotation, c’est bien l’ensemble qui se déplace.

CQFD !

Translate »