Menu Fermer

Imprimante 3D - Creality Ender 3 V2

Date de la dernière modification: 7 mai 2021 – nouveauté: mon Tuto Blender pour débutants

J’ai commencé cet article le 23 janvier 2021. Pour les personnes intéressées, il a été conçu avec
WordPress et Elementor. C’est avant tout un document de travail pour mes besoins! Pour l’instant, c’est un peu le bazar, mais cela devrait s’améliorer, je l’espère!

Pour moi, ce fût un domaine totalement nouveau et extrêmement riche par sa diversité. Avant de m’y attaquer et de m’y attacher, je n’avais aucune idée de ce que pouvait être la modélisation géométrique par maillage et que le processus final avant impression était le découpage en tranche de nos objets 3D.

Ce document est avant tout dédié à l’imprimante Ender 3 V2 de Creality, mais les logiciels décrits ici, en particulier Ultimaker Cura, sont évidemment utilisables pour d’autres imprimantes 3D. 

Oui, ma première imprimante 3D, une Creality Ender 3 V2, a été montée en février 2021 et ceci après plusieurs semaines de brainstorming (études et réflexions) et bien une centaine de liens URL enregistrés dans mes favoris.

Comme informaticien moi-même, j’ai commencé évidemment par étudier le logiciel (et avant achat). Si on ne maîtrise pas trop bien les outils informatiques, cela risque d’être vraiment la galère pour créer des objets! Ce n’est pas du tout comme envoyer un document PDF sur une imprimante traditionnelle, même en couleur, sauf si on voulait confectionner le fichier .pdf à la main!

La décision

C’est toujours le prix! Étant domicilié en Suisse, je l’ai commandée chez 3djake.ch/fr-CH (prix correct, livraison dans 90 pays, pièces de rechange, filaments, …, etc), c’est à dire environ 320 Euros avec 3 bobines ecoPLA de 1kg de filament et frais postal inclus. Comme on peut débuter (voire y rester) avec du logiciel gratuit, c’est plus que raisonnable.

Lorsque j’ai commencé cette étude, je ne m’étais pas rendu compte qu’il y avait un magasin spécialisé près de chez moi (LA3D – Votre spécialiste en imprimante 3D). C’est souvent pratique de voir ces « bêtes » en vrai (tous  les personnes qui viennent chez moi veulent la voir (comme mon drone) et demande des explications … j’adore expliqué).

Lorsque j’ai constaté que le modèle Ender 3 V2 était sorti au printemps 2020, ce fut un argument de plus. En ce qui concerne les spécifications de cette machine, voire des réglages et de la terminologie, on peut commencer par consulter Cura & Ender 3 (Pro/V2) : les meilleurs profils et réglages …

J’ai vraiment ramé pour enfin trouver UN PREMIER logiciel pour bien débuter. Lorsque j’ai découvert Tinkercad, ce fut presque la fin brutale de mon brainstorming sur ce sujet!

Pour faire simple, si quelqu’un est intéressé par l’achat d’une telle imprimante 3D, il faut absolument être à l’aise avec Tinkerpad. Mais ce dernier, très vite, ne suffira pas. Il faut vraiment essayer avec soit FreeCAD ou Blender, et « sentir » qu’on pourra s’en sortir. On passera donc par l’installation de ces deux derniers logiciels, consulter quelques didacticiels, et se rendre compte des difficultés qui doivent être surmontables, avec le temps! Un très bon exercice est de modéliser un objet tout simple sous Tinkerpad, par exemple une boîte ou un boîtier encastrable, et s’aventurer avec FreeCAD ou Blender, voire les deux si on a le temps (ou retraité, comme moi)! Plus tard, si on est à l’aise en programmation, on passera sans doute, comme moi, à OpenSCAD pour certains objets. 

Pour le logiciel de découpage en tranche, avant impression, c’est (un peu) moins compliqué, et il faudra installer Ultimaker Cura, que nous verrons ci-dessous. Il est conseillé de faire l’installation de ce logiciel avant l’achat de l’imprimante. A partir d’un fichier .STL importé d’un logiciel Web comme Tinkercad, nous verrons alors comment les choses se passent vraiment, avec la production d’un fichier g-code à imprimer depuis le lecteur de l’Ender (*) pour la micro carte SD, depuis un Raspberry Pi (OctoPrint), voire encore avec le câble USB depuis Ultimaker Cura.

* J’utiliserai à plusieurs occasions le terme Ender au lieu de Ender 3 V2  

Les types de filament

Pour l’achat d’une imprimante « normale », on sait plus ou moins ce qu’on veut et pourquoi: noir et blanc, laser, photos, etc. Ici la démarche était pour moi différente: je voulais une imprimante 3D pour jouer et apprendre avec un investissement minimum. C’est le choix de l’imprimante, la Ender 3 V2 qui m’a indiqué quel type de filament à utiliser.

J’ai donc commander 3 bobines de couleur différentes 3DJAKE ecoPLA. Le site de 3DJAKE nous montre la grande variété de types de filament (que je pourrais éventuellement un jour étudier, suivant les objets à créer). Le PLA (acide polylactique) est un matériau non toxique et biodégradable (voir aussi, par exemple, Qu’est ce que le PLA ? – Sculpteo). 

Pour un début, le site Ender 3 (Pro/V2) Filament Guide: Materials You Can 3D Print devrait nous aider.

Pour les personnes intéressées par du TPU (filament flexible) et le direct drive, il est possible de modifier la Ender 3 V2: voir les vidéos Ender 3 en Direct Drive (extrusion directe) et DIRECT DRIVE CREALITY sur ENDER 3 ! ADAPTE pour du TPU FILAMENT FLEXIBLE. Mon expérience étant toute nouvelle dans ce domaine, et si on imprime beaucoup, il serait sans doute conseiller d’acheter une seconde Ender 3 vu son prix et les différentes configurations de Cura.

La mise en place du filament n’est pas forcément évidente. Bien couper en biais le filament, et en pinçant le mécanisme de retient, rechercher l’entrée du canal et éventuellement utiliser une pointe pour l’orienter. Après préchauffage, il suffit de tourner la molette jusqu’à que le nouveau fil ressorte bien.  

Les questions idiotes et fautes malheureuses

Quand on a aucune idée de ce qu’est une imprimante 3D (ou jamais vraiment regardé):
– Non, les éléments intérieurs sont presque vides (ce serait trop de filament utilisé). Joli exemple où j’ai stoppé une impression en cours:


– Non l’objet ne doit pas tomber lors de l’impression si le centre de gravité est trop haut et mal placé: c’est une question de design et il faudra y mettre un socle (Ultimaker Cura), aussi pour qu’il colle bien au « bed » (le plateau).

C’est quoi ce mesh qu’on rencontre partout! En français, c’est le maillage! On comprendra rapidement la chose en lisant le document Maillage sur Wikipedia où sont mentionnés des logiciels open-source comme MeshLab et Gmsh!

Si on dépose pour impression des fichiers g-code sur la carte micro SD, ne pas utiliser une carte où il y aurait sur la racine un fichier .bin (pour un autre usage que la mise à jour du micrologiciel). Il pourrait scratcher le firmware de l’Ender: oui, cela m’est arrivé!

Les sites de forum

Il y a une grande quantité de forum et beaucoup d’activité. En cherchant un peu, on trouvera facilement des réponses et des conseils. Voici une première liste: 
– lesimprimantes3d.fr – Creality
– Creality Ender 3 | Entraide | Francophone (pas trop ou encore (?) actif)
– Forum chez creality.com
– Creality 3D Resource Forum
– Creality3D – 3DPrintingForum.org
– drucktipps3d.de – Creality

Le montage de la Creality Ender 3 V2

Cette imprimante doit être montée. J’ai fait ce travail et publié ici quelques commentaires supplémentaires. Le manuel livré est bien fait, on peut aussi s’y référer. Il est aussi en plusieurs PDF sur la micro carte SD livrée, dont on fera rapidement une copie sur son PC. Dans les différents répertoires, il y a un certain nombre de fichiers pdf qu’il faudrait étudier (voire ouvrir au moins une fois). La version de Cura livrée est 4.2! Voire s’il a des particularités par rapport à la mienne installée (4.8) plus récente. Il y a une série de fichiers STL (à importer dans Ultimaker Cura) dans le répertoire 4. Model … qui m’ont semblés bien trop compliqué pour un début (sauf sans doute les deux mazes (labyrinthes), plus d’une heure pour imprimer, mais qui donnerpnt des idées de création d’objets 3D simples).    

Pour le montage, j’ai utilisé trois vidéos en parallèle:
Ender 3 V2 Unboxing & Installation (de Creality) (8 minutes);
La Ender 3 v2 : Montage complète et impression (j’adore son accent canadien) (48 minutes). Il en fait vraiment trop avec les réglages des axes verticaux (je n’ai eu aucun souci);
L’imprimante 3D ENDER 3 V2 de Creality: Le RETOUR de la REINE ? (j’aime bien son chat) (38 minutes). Elle est parfois plus précise, en particulier depuis la minute 7:22. 

Attention au sens du montage, si on se réfère trop au vidéo: on est parfois depuis derrière. On reprendra alors les deux images page 2 du manuel pour se rassurer. La mise en place du tensionneur (poulie et capuchon) n’est pas évident (il y a une note à la page 6) (voir aussi la 3-ième vidéo, vers la minute 11:55). 

Et plein d’autres encore, avec le réglage du plateau, en particulier, que je dois encore visionner et insérer ici! Des ENDER 3 (PRO/V2) CALIBRATION: HOW TO CALIBRATE IT, et Cura & Ender 3 (Pro/V2) : les meilleurs profils et réglages, récents, pourrait m’aider encore!

Comme je n’étais pas à l’aise au début, sur ma feuille blanche A4 de calibrage, j’ai mis un dessin « serrer » entouré d’une flèche dans le sens inverse des aiguilles d’une montre: comment remonter le plateau avec les 4 roues dessous le bed! C’était un peu le stress des premières semaines.

Encore à intégrer, peut-être: 
How to Correct the Z-Offset on Your Ender 3, Ender 3 V2 and Ender 3 Pro
et
How to Level the Bed on Your Ender 3 V2 

Réglage du plateau

Pas mal de travail ici encore pour améliorer cette partie délicate! C’est vrai qu’au début, j’ai un peu paniqué! Deux mois plus tard, je fais cela comme un chef, en quelques secondes! Donc, ce qui est ci-dessous est plus informatif et nécessaire lors des premières impressions!

J’avais même remarqué, au début du printemps, que ma Ender pouvait être un moment au soleil le matin, risquant de dérégler la bécane. J’avais déjà posé dessus une nappe en tissus, pour éviter la poussière, et j’ai rajouté un carton! 

J’aime bien Ender 3 V2 Easy Bed Leveling 
et L’imprimante 3D ENDER 3 V2 de Creality: Le RETOUR de la REINE ? (à la minute 17:25) (à la minute 18:11, il règle encore le plateau pendant l’impression (!): pas fait encore).

Cura & Ender 3 (Pro/V2) : les meilleurs profils et réglages, récents, pourrait m’aider encore dans mes descriptions encore peu précises!

Ce qui n’est « presque » jamais dit: il faut vérifier (voire régler) le plateau pratiquement avant chaque impression. Simplement décoller avec la spatule l’objet imprimé du plateau, va altérer le réglage. Un truc aussi, si on n’est pas impatient: attendre un moment, arrêter l’Ender, et, un peu plus tard, décoller l’objet avec la spatule (il se décolle presque tout seul). Une nettoyage à l’alcool du plateau régulièrement va sans doute aussi aider.

Je vais y ajouter quelques notes, aussi avec OctoPrint (qui marche pour moi maintenant), revisiter ma bonne vingtaine d’URLs et ne pas oublier entre autres:

– Bien fixer le plateau (se fait par dessous avec une clé anglaise). A faire: expliquer mon premier souci et ajout de rondelles!
– Toujours monter descendre l’axe verticale en tournant derrière l’axe du moteur et non en tirant la barre
– Première phase du réglage à froid et une feuille 2-3 plus épaisse (style carton fin)
– Desserrer les 4 molettes presque au maximum
– Réglage du stoppeur Z. A faire: expliquer mon premier souci et ajout de rondelles! 
– Enclencher le préchauffage (Preheat PLA). Systématiquement, après plusieurs semaines d’utilisation, je me suis rendu compte que je démarrais sans doute l’impression un peu vite. Ne pas hésiter: attendre 4-5 minutes après que la fin du préchauffage (et donc de prendre le temps de bien vérifier sa pièce 3D dans Cura). 
– Aller à la maison (Auto Home)
– Disable stepper
– Serrer/desserrer les 4 roulettes vis en triangle (devant gauche, derrière droite, les autres … et on refait plus fin)
– Si on fait de petits objets, on peut se concentrer d’un réglage au top sur la zone de l’axe gauche (où se fera le premier passage) et le centre. Si le réglage n’est pas au top derrière à droite, ce n’est pas grave du tout, évidement! Formation d’une bulle: expliquer encore!

Utiliser un radeau d’adhérence (se spécifie dans Ultimaker Cura) me semble incontournable et facile. On sera un peu plus à l’extérieur et cela se passe plutôt bien. On peut stopper l’impression si le radeau se présente mal (m’arrive parfois, machine pas suffisamment chaude, filament touché avec des doigts gras, plateau juste trop haut, !?).
J’ai aussi eu quelques ondulations au bord du radeau, j’ai quand même laissé continuer, et l’objet imprimé était quand même au top! Il m’est arrivé de tirer doucement vers l’extérieur des fils qui dépassait lors de l’impression du tout début du radeau, dans las bords.

A faire et c’est une idée pour l’instant:
Utiliser soit Pronterface soit g-code sender (voir ci-dessous) pour faire un home (G28) et déplacer l’extrudeur en x et y par commande sous toucher l’Ender. Voire déplacer un poil le Z pour que la feuille A4 gratte moins! L’épaisseur standard d’une feuille A4, c’est 0.1mm. Nous retrouvons cette valeur de 0.1mm dans l’axe vertical de Pronterface sous (0.1) (voir ci-dessous) et avec  g-code sender ce sera step size (0.1)

Il faudra sans doute ajouter des références à Octoprint et MatterControl que nous verrons plus loin.

Pronterface

On commencera par télécharger Pronterface et l’installer avec un raccourci sur le bureau de Windows.

C’est sûr qu’il va m’aider pour calibrer le bed. Je l’ai rapidement vérifié en connectant l’Ender avec un câble USB et COM4 chez moi. 

En cliquant sur Connect, le logiciel sera actif. La première chose que j’ai faite est de modifier la vitesse XY: et j’ai entré 100. C’est peut-être un peu lent, mais la vitesse d’origine risquait de faire cogner l’extrudeur sur les bords en lançant une mauvaise commande. En cliquant sur un des cercles intérieurs,  j’ai pu provoquer un déplacement! Cool!

La partie (10) est un bon choix, c’est à dire 1 cm, et on a 4 directions x y à disposition.

Nous pourrons aussi définir la séquence G0 F1000 X10 Y10 (voir ci-dessous dans la partie g-code), la stocker dans un fichier texte comme xy+10.gcode, la charger dans Pronterface (bouton Load file) et l’envoyer à l’Ender. L’extruder avancera de 1 cm dans les deux directions x et y vers l’avant droite.

gcode-sender

C’est une extension Chrome qu’on peut lancer avec ce lien du Web-store et en cliquant sur Lancer l’appli!

Je l’ai vérifié sur un PC Windows en connectant l’Ender avec un câble USB et COM4 chez moi.
Il fonctionne aussi sur mon 
IdeaPad Duet Chromebook de Lenovo!   

Avant de Lancer l’appli il faudra aussi allumer l’Ender. Ensuite nous irons dans le menu settings pour y mettre le COM4 (ou autre suivant le PC, le laptop, Windows, Linux ou encore un Chromebook) ainsi que la vitesse 115200. Le bouton Save de sauvegarde de notre configuration pourra être utilisé avant de passer à l’onglet gcode-sender (voir ci-dessus) et le bouton Connect tout en haut à droite (pas visible ici).
Le dernier G0 dans la console vient du panneau de l’onglet load file où nous avons cliqué sur open local file et ensuite send to machine avec le fichier xy+10.gcode, que nous venons de voir ci-dessus avec Pronterface.

Premières impression 3D avec ma Creality Ender 3 V2 

Tout d’abord le bruit: c’est tout à fait raisonnable, mais on évitera le salon, évidemment, surtout que les impressions, même pour de mini-objets, vont vite prendre plus d’une heure, donc un bruit de fin continu! J’ai mesuré pendant l’impression environ 40 dB (décibels) à 3 m, ce qui correspond à moins de 50 dB à côté de la bête. J’écoute de la musique sur mon ordi avec des haut-parleurs Logitech, et sans trop pousser le son, je suis souvent en dessus de 55 dB!

On est impatient quand elle vient d’être installée et plus ou moins bien calibrée. J’ai essayé avec le dog-2h.gcode livré sur la micro carte SD: un clafouti pas possible. C’était mon plateau (bed) qui était trop haut!  Je n’ai pas  réessayé et j’ai préféré construire un cube creux (50x20x10mm) en quelques minutes avec Tinkercad et importer le STL dans Ultimaker Cura (voir toutes ces « choses » ci-dessous). Cet objet me semble plus facile pour vérifier rapidement sa qualité.

Pour faire court, Cura va nous découper en tranche notre objet 3D défini dans un fichier STL, et produire un fichier gcode à partir de paramètres dépendant de notre imprimante Ender et de nos choix (qualité, plateau d’adhérence, voire support). Si un lecteur avec sa carte SD insérée est connectée, nous pourrons sauvegarder notre fichier gcode, et Cura nous demandera même de l’éjecter, magnifique. On insérera alors la carte SD dans le lecteur à l’avant de l’Ender et on commencer les procédures d’impression (après réglage et chauffage).


J’ai mis un support (Bordure (Brim)) et positionné les paramètres (vitesse, etc) comme indiqué dans Cura & Ender 3 (Pro/V2) : les meilleurs profils et réglages (voir ci-dessous).

Bordure ou bateau

Le choix entre Bordure (Brim) et Radeau (Rift) comme adhérence au plateau dans Cura n’est pas forcément évident. Dans l’exemple qui suit (40 sur 35mm) j’ai fait un essai avec les deux adhérences.
Le Radeau, à droite, prends 12 minutes de plus (total: 52 minutes). Cette pièce, pour tenir entreouverte une fenêtre, est évidemment posée dans ce sens pour pouvoir être imprimée. L’adhérence Brim semble ne pas aimer les « virages » dus à la forme de cette pièce. Le Radeau, c’est du solide et du propre: la pièce se décolle sans filaments restants!

Il faut que je cherche un intermédiaire voire consulter par exemple Build plate adhesion settings. Sous les paramètres d’impression dans Cura 4.8, je devrais pouvoir jouer avec la roue dentées de l’Adhérence du plateau avec Basic, Advanced et Expert! En diminuant par exemple la Marge supplémentaire du radeau, les Couches supérieurs du radeau et l’épaisseur du Lissage du radeau … il y a du potentiel!

Nous retrouverons cette « pièces » ci-dessous lors d’un exercice de comparaison Blender / FreeCAD


Plus tard, j’ai essayé de modifier: la marge supplémentaire de 8-9 mm au lieu de 15, le lissage de 2 au lieu de 5, et une couche supérieur de 1 au lieu de 2. J’étais satisfait.
En bas à gauche, côté Auto Home, le plateau était trop bas: je l’ai corrigé pour la suite: impeccable!  

Pour la pièce suivante, j’ai utilisé un 8 mm de marge. Si le plateau n’est pas vraiment bien réglé dans les 4 direction (pièce ci-dessus à droite) et pour un radeau moins rectangulaire, il s’avère utile de mettre une marge plus grande comme 10 ou 11. A chaque impression, je vérifie pendant les premières minutes, la formation du plateau. Si des défauts apparaissent aux extérieurs, et si c’est suffisamment loin de mon objet, je laisse l’impression continuer sans nouveau réglage de plateau.

Il est aussi possible de réduire la vitesse de l’impression du radeau pour voir plus rapidement les défauts et amas de filament sur les bords. Si le début de l’impression produit de petites imperfections au bord du radeau, je pousse ou tire gentiment avec une pince à épiler ce qui gênent vers l’extérieur. J’ai aussi essayé de diminuer la vitesse de l’impression de 25 mm/s à 10 mm/s: la production du radeau est un peu lente, mais on verrait plus vite les soucis! Une vitesse de 20 mm/s semble plus appropriée.

C’est un premier prototype sous Blender de 1cm de hauteur.
J’étais trop impatient de vérifier mon « bateau »: je n’ai pas vu le petit souci plus visible sous Cura que Blender: 1 partie au moins ne touche pas assez.

Visionner sous Cura après découpage: une bonne idée! 

Cette pièce deviendra conique pour y contenir un PIR  (un détecteur de mouvement) et qui ne réagira qu’à une certaine zone au bas d’un escalier. Les deux petites pièces à l’intérieur vont permettre de crocher le PIR derrière et j’en mettrai d’autres pour le devant.
L’ouverture en haut permet d’écarter ma pièce pour la mise en place du PIR qui est déjà connecté à un ESP32. Si on fait passer le plateau de 8 à 9 ou 10, le trou intérieur disparaîtra! Oh oui, je m’amuse bien.

Radeau ou pas radeau

En postant un message dans un forum, en indiquant que j’utilisais toujours un radeau, on m’est tombé dessus en me disant qu’une machine qui n’est pas réglée correctement au départ est source de divers problèmes d’impression, qu’un radeau n’est utile que dans 1% des cas, et que le réglage des molettes ne se fait qu’une fois de temps en temps!

Moi, j’aime bien le radeau et je n’ai pas de soucis avec mes impressions. L’Ender est quand même une imprimante bon marché, il faut la monter, c’est pas facile et comme dans mon cas, j’ai dû rajouter des rondelles sous le plateau! La partie tout à gauche, utilisée au démarrage, bouge aussi pas mal chez moi tous les 3-4 impressions.

Je suis satisfait avec cette imprimante, je ne désire pas avoir x réglages passant de radeau, à jupe, à bordure ou autres. Dans quelques mois ou années … ce sera le moment d’acquérir un nouveau modèle qui viendra de tout manière vu son succès.

Le logiciel et le matériel PC

En travail: openSCAD étant venu tardivement, il n’est pas encore intégré dans cette partie-ci.

Tous mes logiciels sont sous PC Windows. Ma seule expérience, avant de me lancer dans ce domaine des imprimantes 3D, c’était Blender. Je l’ai utilisé pratiquement depuis sa sortie en 1998, et sa description Wikipedia nous donnera une idée de son utilisation et ses différentes évolutions. Mais il faut le souligner tout de suite: commencer par Blender pour créer des objets 3D à imprimer, comme j’ai essayé de le faire, …, ce n’est pas une très bonne idée.

Je n’ai pas encore considéré Simplify3D qui est payant.

Un écran de haute définition, style 4k, est recommandé. Nous aurons vite beaucoup d’objets à manipuler avec précision. Une résolution de 1920×1080 me semble un minimum. J’ai aussi essayé sur un Lenovo IdeaPad Duet Chromebook (1920×1200) : pourquoi pas pour débuter, mais c’est plus délicat pour le travail des objets dû à la petitesse de l’écran (10.1 inches).

Un bon, voire un très bon PC, est recommandé. Je n’ai pas lu en détails, mais j’aime bien l’article La MEILLEURE Configuration PC pour modélisation et rendu 3D qui me semble judicieux. Le logiciel Octoprint et avec un Raspberry Pi, que je maîtrise bien, me semble incontournable (voir plus loin).

Après quelques semaines avec Tinkercad, FreeCAD et Blender, ma conclusion, pour l’instant, est assez clair:
– Il faut être à l’aise avec Tinkercad;
– il faudrait s’en sortir avec, dans l’ordre, FreeCAD et Blender (mais plutôt rester avec un des deux à la fin).Ce n’est pas facile de passer de l’un à l’autre avec des touches clavier et des comportements de la souris différentes;
– j’ai beaucoup de plaisir avec FreeCAD et Blender. Il faut les maîtriser et Blender possède encore plus d’outils qui dépassent les besoins de l’impression 3D (ici deux exemples incroyables: My Blender Simulations in HDR et Blender Physics Simulations);
– si on hésite vraiment, et même si on connaît un peu Blender au départ, je pense qu’il faudrait quand même garder FreeCAD comme premier choix! Blender nous permettra de faire de l’animation 3D, totalement inutile pour notre Ender.  

Modélisation avec Tinkercad.com

Nous découvrirons l’historique de ce programme de modélisation 3D sur Wikipedia.

Avant de pouvoir utiliser ce logiciel en ligne gratuit, il faudra s’inscrire en indiquant son adresse Email et en définissant un mot de passe. Il est possible aussi d’utiliser son compte Google.
Nous pourrons alors accéder à Tinkercad, avec notre explorateur Web favori, et son tableau de bord (Dashboard) de Tinkercad.

Tinkercad c’est la simplicité, et on l’utiliserai sans doute pour ses premières impressions 3D. On passera sans doute ensuite à FreeCAD. On verra qu’il est nettement plus complexe et prendra plus de temps à maîtriser.

Comme toute première introduction, nous cliquerons sur les boutons Conceptions 3D suivi de Créer une conception. Nous commencerons par déposer sur le plan de construction, la boîte rouge. Avec le bouton droite de la souris enfoncée, nous nous amuserons ensuite à naviguer autour du cube en déplaçant la souris! Ce même bouton de la souris, avec la touche shift,  nous pourrons déplacer le plan de travail. La molette permet de zoomer notre travail. Un clic sur ou hors objet permet de sélectionner ou désélectionner un élément particulier.

Le déplacement se fait en sélectionnant un objet à l’intérieur sans aucun des petits blocs actif (donc rouge) et bougeant la souris avec son bouton gauche pressé.  

Le nom de la création est attribuée automatiquement, mais nous pouvons le modifier en haut à gauche. Au prochain lancement de Tinkercad nos créations seront visibles dans le tableau de bord. Chaque objet possède une roue dentée avec plusieurs outils pour par exemple effacer ou renommer sa création.

Il y a pas mal de tutoriels sur Tinkercad et aussi des leçons qui font partie de l’outil et du site Web. Une introduction Youtube comme Le design 3D pour débutants avec Tinkercad est vraiment sympa et nous aidera pour une première prise de contact. J’aime bien aussi TinkerCad Starter Demo.

A faire et expliquer: la description des shortcuts clavier, comme ce raccourcis en PDF, sans doute à imprimer!

Avec aussi Tinkercad Pour les nuls c’est aussi un début.  

A compléter … Quand j’ai débuter:
Premier souci: un cylindre creux! Prendre un cylindre et le creuser avec un même cylindre plus petit.
Second souci: lisser les angles (How to Bevel and Round Edges in Tinkercad – les vidéos de Chaos Core Tech sont cool comme son tutoriel pour débutant

Quand je regarde ces vidéos, Tinkercad Tips & Tricks – Ruler Midpoint on High Five Fidget Spinner et 3D design tips – precision hole placement in TinkerCAD and Onshape, je me rends compte qu’il y a du travail encore!J’ai juste jeté un coup d’oeil pour l’instant sur les Codeblocks (environnement de programmation visuelle) qui m’ont fait pensé à la programmation de mon robot Lego EV3.

A compléter … dont un premier objet à exporter sur Ultimaker Cura.

Tinkercad.com pour les enfants

Tinkercad peut être utilisé à partir de 6 ans! Magnifique! Donc je dois y travailler … pour mes 5 petits enfants qui devraient apprécier! Je vais essayer de faire une introduction simple avec de petits exercices, comme par exemple la création d’une tasse ou d’une petite voiture!

A compléter …. 

 

Modélisation avec FreeCAD

C’est encore une fois un logiciel gratuit dont on découvrira ici le guide de démarrage après avoir téléchargé et installé la version Windows 64 bits (celle marquée stable: 0.18.4). Nous pourrons naviguer dans le menu de gauche à notre choix! J’ai trouvé ici un manuel en PDF.

J’ai passé à FreeCAD après une première introduction de modélisation avec Tinkercad. Je devrais pouvoir les comparer. L’apprentissage de FreeCAD prendra plus de temps à maîtriser et pourquoi pas avec les nombreux tutoriels et encore avec un premier objet … plus ou moins simple!

Le forum FreeCAB est incontournable et aussi avec sa partie en français (la partie allemande a ne pas oublier, car elle est très active).

FreeCAD est très riche en tutoriel, parfois caché ou au détours d’une discussion dans un blog, comme ce Tutoriel Sketcher avec lequel on pourrait commencer avec par exemple Freecad course – Assembly, example: plastic casing!

Je vais donc prendre le temps de faire ici quelque chose de bien, j’espère. Mais je dois d’abord le maîtriser mieux. Sans doute à considérer aussi: A FreeCAD manual et un Tutoriel FreeCad.

A compléter … c’est dur, dur, il faut s’accrocher, mais cela devrait venir, gentiment! J’y mettrai, évidemment, des détails ici. Une idée, sans doute, est une prise en main rapide de l’outil en le prenant par les bons bouts (j’ai reviendrai) et ensuite, par exemple, piquer un objet tout simple sur freeCAD 3d models.

A considérer absolument, voire à imprimer en PDF (49 pages!?!): Sandbox:Keyboard Shortcuts

Beaucoup de travail encore avec la partir Draft!

Créer un fichier cube1.stl à 100 à l’heure!

On commencera sans doute par le manuel : Navigation dans la vue 3D.
Comme les tutoriels sont souvent en anglais, j’ai préféré changé la langue de l’outil avec Menu, Edit, Préférences et dans Général, Langue et English.
Pour la configuration de navigation clavier/souris, j’ai choisi de travailler en mode CAD (Menu, Edit, Preferencee et dans Display, 3D Navigation: CAD).

  • Lancer FreeCAD (configuré english) et New avec le menu File
  • Avec la liste déroulante -> Start, passer en Part Design
  • Avec les 2 premiers icônes de la seconde liste des menus, ou avec dans le Combo view: Create body (essentiel) suivi de Create sketch  
  • Dans le Combo view, sélectionner le XY_Plane et cliquer sur OK
  • Dans le menu choisir Create a rectangle in the sketch (un carré avec deux points rouges à 2 extrémités) et déposer un rectangle quelconque 
  • Il faut cliquer avec le bouton gauche de la souris, se déplacer et recliquer pour créer le rectangle (pas de dimension particulière pour l’instant). Pour sortir de la création d’autres rectangles: cliquer sur le bouton droite de la souris
  • Dans le Combo View, en haut, cliquer Close
  • Dans le Combo View, onglet Tasks, nous avons Pad et nous cliquons dessus
  • Nous mettrons 5 mm (clavier ou molette) pour définir un cube pas trop grand, suivi de OK
  • Pour visionner notre rectangle en 3D dans la fenêtre à droite: on tient la touche clavier Shift pressée, et aussi le bouton droite de la souris: en déplaçant la souris nous tournons autour. Magnifique!
  • Nous sauvegardons notre travail avec File / Save as … et le nom cube1 dans un répertoire de travail.
  • Dans le Tree view nous sélectionnons Body, et dans File sous Export… et indiquerons le fichier cube1.stl .

Plus tard, nous pourrons reprendre dans l’explorateur de Windows le fichier cube1.FCStd qui devrait être associé à FreeCAD et aussi cliquer sur cube1.stl s’il est déjà associé à Ultimaker Cura pour la création du fichier g-code à imprimer en 3D.
Dans FreeCAD nous irons certainement fixer quelques contraintes en mode Sketcher, comme les dimensions de notre rectangle en double cliquant sur Sketch de notre Pad dans le Combo View et ensuite en positionnant le curseur sur un des 4 côtés ou angles. En double cliquant sur Boby, Property view, onglet Data, passer sur Placement, position, et ajouter par exemple 3mm pour les 3 axes! Et pourquoi pas créer un second Body, Sketch et cube de la même façon et le déplacer et le dimensionner à souhait. J’ai même ajouté quelques « fillets » de .5mm!

Ce fut un bon début pour moi et plus heureux encore lorsque j’ai réussi à faire le même objet en passant par Part Draft et sans sketch!


L’Atelier Draft … génial !


Oui, on peut faire cette table de jardin, avec un trou pour le parasol au milieu! La mini-table est de 40 sur 20mm et des pieds de 15mm! Le trou du parasol n’a que 2mm … suffisant pour voir le résultat avec notre Ender!

Le STL importer dans Cura nous indiquera une impression en 34 minutes et 3gr de filament !

  • Lancer FreeCAD (langue anglais), File, New, Atelier Draft (bouton Start)
    Mettre le Current Pane à Top (sous le bouton rouge en haut à droite)
    Créer un rectangle plus ou moins centré
    Adapter sa grandeur avec Property Height (20mm) et Length (40mm), F5 pour rafraîchir
    Centrer le rectangle : Cliquer sur Rectangle, avec les touche M et V déplacer, et cliquer sur Close
  • Recentrer le plan : Zoom et V, S pourquoi pas
    Editer le Placement (Property) pour une position exacte en ôtant les dixièmes de mm
    Renommer l’objet Rectangle en Plateau (F2)
    Sauvegarder le fichier tablea1.FCStd
  • Marquer Plateau, et passer à l’atelier Part
    Utiliser le bouton Extrude et indiquer 3mm. Cliquer sur OK.
    Presser la touche Shift, et naviguer avec le bouton droit de la souris pour voir le plateau.
    La molette de la souris nous permettra de zoomer notre objet 3D.
    En haut à droite, cliquer sur Top et revenir à l’atelier Draft.
  • Créer un carré de 3.0 sur 3.0 mm à côté du plateau et renommer le à Pied1
    Sélectionner Pied1 (Combo View), et 3 fois Ctrl-C Ctrl-V et renommer à Pied2Pied4
  • Avec M V sur chaque Pied, les mettre sur la table 1.0 mm en retrait des bords
    Utiliser Property Position, pour corriger les mauvais placements.
  • Sélectionner les 4 pieds, avec Clic dans le Combo View et Ctrl
    Passer en mode Part
    Utiliser le bouton Extrude et indiquer 15mm pour la hauteur des pieds. Cliquer sur OK.
    Sauvegarder le fichier comme tablea2.FCStd
  • On va reprendre le plateau d’origine, tablea1.FCStd, pour y faire un trou au milieu.
    Avec l’Atelier Draft on fait un cercle de 2.0 mm centré exactement au milieu.
    Pour le précision on utilise Property et on renomme le Circle en Trou.
    On sélectionne Plateau et Circle dans Combo View.
    On clique sur Join (bouton avec grosse flèche) suivi de Explodes (bouton à côté : flèche vers le bas).
    On pourrait sauvegarder notre nouveau plateau sous tablea1t.FCStd, et reprendre ensuite la partie ci-dessus, pour donne avec l’Atelier Part, du volume avec notre plateau avec un trou.
  • Si on reprend tablea2.FCStd, c’est à dire une table sans trou, il faudra sortir l’Extrude du plateau, rajouter le trou et refaire le volume du plateau … et cela marche ! L’exportation de tous les objets sélectionnés dans un fichier tablea2t.stl et l’importation dans Cura nous donnera une table posée à l’envers, stabilisation oblige, qu’on pourrait imprimer en 34 minutes et 3gr de filament !

Modélisation avec Blender

Blender (sa description sur Wikipedia) est un outil informatique libre que je connaissais déjà, bien avant que le commun des mortels entende parlé des imprimantes 3D et que je m’imagine en acquérir une. On pourra le télécharger sur le site de Blender pour Windows, Linux ou MacOS. Si comme moi on passe de Blender 2.91 à 2.92 (avec les nouveaux Geometry Nodes), on laissera l’installateur reprendre les paramètres de l’ancienne version.   

Lorsque j’ai entrepris mon brainstorming avec les imprimantes 3D. J’ai repris « mon » Blender en essayant de bricoler une pièce Lego. Et ce fut un peu la galère! En découvrant plus tard Tinkercad, j’ai découvert que je devais laissé Blender de côté pour le reprendre plus tard!

Trois mois après mes premières impressions 3D, je n’utilise pratiquement QUE Blender. Je prépare un tutoriel pour les débutants qui m’aide aussi à améliorer mes automatisme et y ajouter de nouvelles combines.

Un bon départ sans doute: Blender 2.92 Reference Manual (si on veut absolument la « chose » en français, on remplacera le en par fr dans le lien URL).

Si on travaille régulièrement avec FreeCAD, il faudra se réhabituer au raccourci et à la souris: Alt et bouton gauche de la souris, chez moi, pour visionner l’objet en 3D!  

Le premier point qui m’a contrarié: Blender démarrait en mètre. Il faut donc aller dans le menu Scene à droite et Scene Properties (le petit cône), Units et Length à millimeter.

Pour contourner Blender qui démarre avec un cube de 2m de grandeur, je l’ai effacé et créé avec un nouveau de 20cm.  Avec N, on passera dans les propriétés du cube pour y modifier son point central par exemple. Pour terminer, j’ai sauvegardé ce cube avec le menu File, Defaults, Startup file … et dorénavant Blender sera démarrer, pour un nouveau projet, avec ce cube.

Et pourquoi  pas déjà créer un fichier .STL afin de l’importer dans Cura. On sélectionne le cube avec la souris, nous allons dans le menu File, Export, Stl et nous définissons un fichier cubeblender1.stl.

La suite, à bientôt, mais beaucoup de travail! Avec, par exemple un cube et un cylindre pour y faire un trou! Oui, j’ai compris comment faire et je l’utilise maintenant, régulièrement, « Add modifier« . Il y a pas mal de vidéos sur Youtube et j’aime bien la didactique How to union, difference, intersect objects | Boolean modifier | Blender 2.81 | Tutorial, même si la version de Blender est plus ancienne et l’outil  légèrement différent. On y voit comment, lors de la création d’un trou, qu’il faudra terminer l’action en effaçant l’objet produisant la cavité. Si l’on produit un trou de diamètre de x.y millimètres et que notre objet n’est pas exactement celui désiré, il y aura du travail pour corriger la valeur de x.y et obtenir un nouvel objet!

A voir sans doute la vidéo 3D printing with Blender, Cura and ender 3 Pro pour la visionner vraiment, et continuer cette partie! Une autre vidéo devrait aussi être intéressante: Setting up Blender for 3D printing.

Un exercice avec Blender

L’idée est de créer l’objet présenté ci-dessous, après impression (je le nomme attache_vis, afin de pouvoir le modifier facilement, si, par exemple, le diamètre du trou ne convient pas ou pour une vis de diamètre différent. On peut très bien s’imaginer un troisième cylindre, pour mieux tenir une vis plus longue sur un plateau un peu plus large, et avec deux trous sur ce dernier pour en faire une fixation sur un meuble ou autres! 

J’ai une série de vis de 4 et 5 mm de diamètre avec des boulons qu’on peut ajouter à l’extrémité, si nécessaire.

L’objet Blender en bas à gauche est composé de 2 cylindres que j’ai déposés dans une collection séparée en utilisant le menu New Collection de Scene Collection. Il faudra bien les renommer (touche F2 après avoir sélectionner l’objet) pour les identifier. J’ai créé un premier objet Cylinder de dimension de 8mm (x et y) et de longueur de 10mm (z).  Avec un Ctrl-C Ctrl-V (copier coller), je crée un second cylindre qui se trouve à la même position en lui donnant un autre diamètre de 4.2mm. Nous garderons ces deux cylindres afin de les copier 2 fois  pour le déposer sur notre plateau prototype après un Add Modifier Boolean des petits cylindres (et de les effacer) pour créer leurs trous. 

Lors de l’exportation en STL (cocher la case Selection Only), on ne gardera que la partie à imprimer. 

Il s’est avéré qu’en utilisant ce diamètre de 4.2 mm pour cette vis de 4mm, elle est rentrée parfaitement en utilisant un tournevis: il y avait une certaine pression, magnifique! J’ai utilisé Standard Quality (0.2 mm) dans Cura

On pourra ensuite reprendre ces objets pour les adapter, comme faire par exemple un bras articulé. La présence d’un boulon pourrait aider pour bloquer le bras ci-nécessaire!

Blender et Python

La documentation de l’API de Blender pour Python est impressionnante et en particulier la partie dédiée aux Mesh Operators.

J’ai déjà quelques lignes de code fonctionnelles. J’ai passé quand même plusieurs jours (quelques heures seulement) avant d’y arriver! Voici aussi quelques notes nécessaire pour débuter:

  • Attention à la version de Blender (2.92 chez moi) donc de Python (3.7.7) et l’API dédié à 2.91-92. Il y a de nombreux sujets, questions et exemples sur le Web … mais pour d’anciennes versions, et on risque de n’y rien comprendre.
  • Chez moi le binaire Python se trouve dans le répertoire D:\Program Files\Blender Foundation\Blender 2.92\2.92\python\bin. Je n’ai pas trop essayé de configurer PyDev (Eclipse) et PyCharm, mes outils Python traditionnels, car c’est un peu difficile de les intégrer à Blender. Pour les amateurs, mon article PyDev, un IDE pour Python, sous Eclipse et pour le Raspberry Pi 3, où PyCharm est mentionné tout à la fin, pourrait intéresser plus d’un.
  • Comme Blender a une sérieuse tendance à se planter, lorsque le code Python n’est par trop bien testé, je recommande d’utiliser Notepad++ pour l’édition. Il possède une jolie syntaxe colorée pour ce langage!
  • On pourra bien sûr commencer par la Blender 2.92.0 Python API Documentation, mais cela risque d’être vraiment ardu. Personnellement, je prendrais des lignes de code tirées de l’exemple ci-dessous, tout simplement et essayer. Une ligne de code avec bpy.ops.mesh.primitive_cube_add peut être entrée directement sur la page de l’API pour y découvrir des paramètres comme size ou location.   
  • Pour mon travail ici, j’ai repris l’objet de l’exercice précédent, l’attache_vis et je l’ai ouvert dans Blender. Cela m’a permis de visionner mes cubes et cylindres, et leurs positions et dimensions. J’ai ensuite ouvert un second Blender pour jouer avec Python.
  • Dans Blender, l’éditeur de Python se lance avec le menu Scripting, en haut tout à droite.
  • Nous pouvons charger un fichier avec Open ou alors, avec New pour entrer notre code ou le copier coller de l’extérieur.
  • Le menu Texte et Save As… nous permet de sauvegarder le code Python dans un fichier où l’extension .py est généralement utilisé. 
  • Ce même menu Texte permet aussi de charger du disque un script Python avec Open.
  • Dans de rares cas j’ai édité mon code dans Blender (et non avec Notepad++) et sauver avant exécution.
  • Pour voir les erreurs et les résultats il faut activer le « Toggle System Console » dans le menu Windows.

Comme mon fichier Python attache_vis.py fonctionne déjà, je l’ai donc déposé ci-dessous! Il faudrait le documenter, voire l’améliorer. Au début, il contient du code pour effacer une scène existante: c’est nécessaire lors de réexécution du script Python. On devrait paramétriser, dans des variables Python, certaines valeurs comme les diamètres, les grandeurs et les positions. Je me suis bien amusé, en ajoutant tout à la fin, le code de création d’un fichier .STL prêt pour Ultimaker Cura et l’impression 3D!   

Ce n’est pas facile du tout … au début! Il y a plein de détails comme le 1.57 qui correspond à une rotation de 90 degrés. Un programmeur y trouvera beaucoup de plaisir, car il pourra à tout moment naviguer entre le mode Scripting et celui de Layout (menu de Blender).

Bien sûr, Blender vient avec quelques exemples (en mode Scripting, menu Templates / Python) comme operator_mesh_add! Je laisse le lecteur juger si c’est un bon moyen de créer un simple cube de cette manière ou alors revenir à Blender dans sa manière traditionnelle, sans langage Python du tout (mais j’aime bien mes radius 2.1 et 4 qui me permettraient de customiser facilement l’épaisseur de ma vis). On peut aussi très bien créer ces objets en Python et apporter la touche finale en mode Layout!  

# attache_vis.py
import bpy

print ("Clean workspace")
 
bpy.ops.object.mode_set(mode='OBJECT')
bpy.ops.object.select_all(action='SELECT')

for obj in bpy.data.objects:
    if obj.hide_get() == True:
        obj.hide_set(False)

bpy.ops.object.select_all(action='SELECT')
bpy.ops.object.delete()

# efface si des collections supplémentaires
context = bpy.context
scene = context.scene
for c in scene.collection.children:
    scene.collection.children.unlink(c)
    
print ("attache_vis.py started")

cube = bpy.ops.mesh.primitive_cube_add(size=1, location=(0, 0, 0), scale=(1,1,1))
theCube = bpy.context.object
theCube.name = 'BaseCube'
bpy.ops.transform.resize(value=(20, 36, 1))

bpy.ops.mesh.primitive_cylinder_add(radius=4, depth=10, location=(-10, 10, 3.5), scale=(1,1,1))
bpy.ops.transform.rotate(value=1.57, orient_axis='X')
theCylA = bpy.context.object
theCylA.name = 'CylinderA'

bpy.ops.mesh.primitive_cylinder_add(radius=2.1, depth=10, location=(-10, 10, 3.5), scale=(1,1,1))
bpy.ops.transform.rotate(value=1.57, orient_axis='X')
theCylAint = bpy.context.object
theCylAint.name = 'CylinderAint'

bool_modifier1 = theCylA.modifiers.new(type="BOOLEAN", name="boolc1")
bool_modifier1.object = theCylAint
bool_modifier1.operation = 'DIFFERENCE'
theCylAint.hide_set(False)
bpy.ops.object.modifier_apply()

bpy.ops.mesh.primitive_cylinder_add(radius=4, depth=10, location=(-10, -10, 3.5), scale=(1,1,1))
bpy.ops.transform.rotate(value=1.57, orient_axis='X')
theCylB = bpy.context.object
theCylB.name = 'CylinderB'

bpy.ops.mesh.primitive_cylinder_add(radius=2.1, depth=10, location=(-10, -10, 3.5), scale=(1,1,1))
bpy.ops.transform.rotate(value=1.57, orient_axis='X')
theCylBint = bpy.context.object
theCylBint.name = 'CylinderBint'

bool_modifier2 = theCylB.modifiers.new(type="BOOLEAN", name="boolc2")
bool_modifier2.object = theCylBint
bool_modifier2.operation = 'DIFFERENCE'
theCylBint.hide_set(False)
bpy.ops.object.modifier_apply()


bpy.ops.object.select_all(action='SELECT')
bpy.data.objects['CylinderAint'].hide_set(True)
bpy.data.objects['CylinderBint'].hide_set(True)


out_file = 'D:/AJbDev/3d/Blender/pythonscripts/attache_vis.stl'
bpy.ops.export_mesh.stl(filepath=out_file, use_selection=True)

print ("attache_vis.py ended")

OpenSCAD

En travail (depuis le 6 avril 2012). Il est vraiment déconcertant et plaisant!

Cet outil était dans ma liste dès le début de mes investigations. Mais son look me semblait bien trop primaire par rapport à Blender ou FreeCAD par exemple:

Je l’ai vraiment découvert tardivement et cela m’a permis de consacrer plus de temps aux autres outils! Le déclic a été l’exercice de cet attache_vis vu précédemment. Je maîtrise plutôt bien les logiciels et quel plaisir avec cette facilité de paramétriser par exemple la longueur ou le diamètre de ma vis avec boulon! 

On trouvera facilement le fichier de téléchargement pour l’installation, et pour différentes plateformes, sur le site d’OpenSCAD. Une installation en français va très bien ici!

On dira que la documentation et le tutoriel d’OpenSCAD sous WikiBooks est simplement grandiose, facile, ludique et plein d’exemples! Il faudra évidement naviguer et encore naviguer entre ces différents articles comme par exemple OpenSCAD User Manual/Primitive Solids. A partir du répertoire des fichiers d’exemples d’openscad.org, on pourra naviguer dans les pages .html pour voir le code correspondant, sa présentation en haut à droite et un menu en haut de page pour d’autres choix. 

Je mentionnerai aussi ce Tutoriel OpenSCAD et la vidéo OpenSCAD Tutorial for Beginners – Model a Toy Brick. Dans le premier, on peut prendre par exemple le 4.2 Un simple bloqueur de porte, et copier coller le code dans la partie gauche d’OpenSCAD. Le visionnement du résultat se fera avec F6 et le bouton gauche de la souris avec la touche Alt. On pourra aussi effacer les deux parties en fin de code pour mieux nous aider à comprendre comment se comporte la fonction polyhedron, la primitive 3d d’OpenSCAD.

Dès que l’on sera familier avec les fonctions simples, on pourra s’intéresser par exemple à hull() et minkowski(). Dans ce répertoire nous trouverons de nombreuses explications ainsi que des exemples (choisir les fichiers html commençant par openscad). 

Le mini-code ci-dessous représente cet attache_visdiscuté juste ci-dessus, mis en forme avec Blender et converti en Python sous ce même BlenderOh comme c’est simple, comparé à la version Python! Pas de soucis: on est en mm. Afin de positionner précisément le plateau et les cylindres avec leurs grandeurs respectives et précises, j’ai gardé mon application Blender ouverte sur ce projet.

diametre1 = 8;
diametre2 = 4.2;

module cylindreCreux(){
   difference () {
    cylinder(h=10, d=diametre1, $fn = 40);
    cylinder(h=10, d=diametre2, $fn = 40);
  }
}

translate ([-10,-18,-0.5]) cube([20,36,1]);

translate ([-10,-5,-3.5]) rotate([90,0,0]) cylindreCreux();
translate ([-10, 15,-3.5]) rotate([90,0,0]) cylindreCreux();

Nous utilisons ici la fonction difference(). Nous pourrions ensuite jouer avec des union() ou intersection(). Si le résultat est une forme 2D, il faudra sans doute utiliser des linear_extrude() ou rotate_extrude(). Avec la fonction polygon(), il sera possible des créer des formes à plusieurs côtés, voire avec des trous multiples: nous consulterons alors OpenSCAD User Manual/Using the 2D Subsystem.

Il faut tout de même le dire: OpenSCAD est un vrai langage de programmation où des boucles d’itération et des tests de conditions sont possible.

Nous utilisons ici la fonction difference(). Nous pourrions ensuite jouer avec des union() ou intersection(). Si le résultat est une forme 2D, il faudra sans doute utiliser des linear_extrude() ou rotate_extrude(). Avec la fonction polygon(), il sera possible des créer des formes à plusieurs côtés, voire avec des trous multiples: nous consulterons alors OpenSCAD User Manual/Using the 2D Subsystem.

Il faut tout de même le dire: OpenSCAD est un vrai langage de programmation où des boucles d’itération et des tests de conditions sont possible.

Les briques LEGO®

C’est sans doute un des premiers objets 3D qui nous vient à l’esprit, et même avant l’achat d’une imprimante, une pièce LEGO®.

Une très jolie « librairie » ou « générateur » existe pour OpenSCAD, LEGO.scad sur github.com. Nous cliquerons sur le bouton vert, marqué Code, en haut à droite, pour télécharger le fichier zip.

Il est préférable de déposer ces fichiers dans un répertoire séparé. Le fichier LEGO.scad peut être ouvert avec OpenSCAD pour nous montrer avec F5 une brique par défaut de 2 sur 6. Une rotation, avec le bouton gauche de la souris, nous permettra d’examiner la finition intérieure … depuis dessous. Nous pourrons consulter le fichier LEGO.scad et son module block() pour examiner les paramètres disponibles et par leurs valeurs défaut. Un joli exemple avec un dual_sided:

use <LEGO.scad>;

color("red") place(0, -2, 0) 
rotate([90, 0, 0]) block(
            width=2,
            length=4,
            height=1
);

color("blue") place(0, 3, 0) 
rotate([90, 0, 0]) block(
            dual_sided=true,
            width=2,
            length=4,
            height=1
); 

Je n’ai pas encore imprimé de pièces. Et je n’ai aucune idée des résultats et des correspondances qu’on pourrait trouver dans, par exemple, Lego: Dimensions, General Considerations, Lego: Dimensions, More Dimensions, voire encore LEGO Brick Dimensions and Measurements.

Prototypage

J’utilise maintenant régulièrement la démarche en créant un prototype. Pour des pièces particulières demandant une précision extrême, c’est inutile de finaliser un objet 3D qui peut demander plusieurs heures d’impression. Nous verrons aussi plus loin avec Cura, comment imprimer juste une partie d’un objet terminé ou encore avec une densité de matériel moins conséquent (partie à compléter).  

Je mesure mes distances et je produis une première partie de pièce avec, dans Cura, un plateau radeau de 8mm, un lissage de radeau de 2mm et une couche supérieur de radeau de 1mm. Mon dernier prototype (similaire à la pièce pour tenir une fenêtre montrée en début d’article) a été imprimé en moins de 25 minutes. J’ai aussi mis des épaisseurs minimum, juste pour vérifier sa bonne grandeur, et sans les autres parties plus facile à définir et moins sujettes à des adaptations!

On peut utiliser Blender ou OpenSCAD, mais c’est plus facile avec le premier nommé, où les dimensions et positions sont simplement plus rapide à définir!

Réglages et précision

Lorsqu’on crée un cube avec Blender, par défaut, il sera centré à son milieu. Ce n’est pas le cas d’OpenSCAD. Donc les « locations » sont différentes.

Avec Blender, on déplacera un objet avec les flèches rouge (X), verte (Y) et bleu (Z) pour les aligner ou le coller à d’autres objets. Si on ne se méfie pas, avant exportation en STL, on pourrait avoir des espaces restants ou des coins non alignés. La grille millimétrée n’est visible que dans les plans X, Y ou Z: cliquer sur un des les boutons colorés en haut à droite.

Avec OpenSCAD la précision vient des instructions du langage et visualiser l’objet dans une grille millimétrée comme avec Blender ou FreeCAD (disponible en mode Draft) est moins convivial.  

De mon expérience, je suis resté à une précision du demi millimètre, lors de la calibration finale de mes pièces: donc les grandeurs et distances. C’est suffisant pour la qualité standard de Cura pour l’Ender, c’est à dire .2 mm.
Donc, si on doit corriger une dimension ou une position au demi-millimètres, un cube sous Blender pourrait se positionner au 0.25mm. En jouant avec les flèches colorées, on aura toujours des valeurs de Location X, Y et Z à plusieurs décimales. Comme exercice, j’ai déplacé un cube sur Y avec la flèche verte et obtenu 1.92407 mm. Cela veut dire que la position n’est peut-être pas juste si mon schéma est basé sur des dimensions au demi-millimètre. Dans la partie Location (touche N de Blender), je pourrai alors changer cette valeur imprécise à 2.0, voire à 1.75, si je suis de l’autre côté. Oui, cela marche très très bien.

Ensuite, si c’est nécessaire, on pourra très bien exporter son objet sous OpenSCAD en reportant ces valeurs au .25 mm dans les instructions de son langage de programmation.

Toutes mes « constructions » délicates ont été jusqu’à présent dessinées sur papier. Il est parfois difficile de s’y retrouver lorsque un objet doit se loger dans un endroit précis: par exemple où est le dessus ou le dessous et est-ce que mes points d’encrage sont à la bonne place!? J’ai souvent commencé avec une première pièce de base orthogonale et ensuite déposé les autres parties avec les dimensions et grandeurs mesurées sur place (mon objet de blocage de fenêtre par exemple). Avec Blender c’est rapide, mais avec OpenSCAD, si on ne commence pas tout de suite avec des variables en début de code, on abandonnera rapidement!

STL Viewer

Avant de passer à ma comparaison des logiciels de modélisation, je vais mentionner un outil disponible sur le Web: Free online STL viewer. Il est assez similaire à l’application Windows 10 préinstallé, « Visionneuse 3D« , qui est accessible via les choix Ouvrir avec… de l’Explorateur de fichiers. 

Lorsqu’on export une objet 3D en fichier STL, par exemple de Blender, et avant la partie découpage, il pourrait être intéressant d’avoir un outil rapide permettant de visionner le fichier produit. Nous avons peut‑être fait quelques erreurs, voire laisser des parties d’objets non sélectionnés, par exemple ceux utilisés pour des découpages où nous savons déjà qu’ils peuvent nécessiter des retouches!

Lorsqu’on crée notre première version, un logiciel comme Ultimaker Cura, prendra pas mal de temps à charger. Bien que Cura identifie qu’on a à nouveau enregistré notre STL chargé dans Cura, j’aime bien cet STL Viewer où l’on glisse le fichier STL produit depuis l’explorateur de fichiers de Windows. Le bouton gauche de la souris avec la touche Alt enfoncée, permet de visionner en 3D l’objet, comme pour Blender!

Comparaison des logiciels CAD

J’ai malheureusement pris au sérieux OpenSCAD beaucoup plus tardivement, et on va comprendre le pourquoi!

L’idée est de faire un exercice avec Tinkercad, FreeCADBlender et OpenSCAD , et  de voir et comparer leurs différences et difficultés d’utilisation. Le souci est qu’en travaillant comme débutant avec Blender ou FreeCAD, on oublie vite l’autre et on se mélange les pinceaux!

Il faut toujours se rappeler, lors de la création d’un objet, de lui faire une bonne assise … et de mettre la pièce dans le bon sens, bien qu’Ultimaker Cura nous permettra de le remettre juste, sans que des supports inutiles soient nécessaire.

Exercice1 (pièce de tenue d’une fenêtre)

Mon premier vrai exercice: la pièce tiendra une fenêtre entrouverte, par exemple pour faire de l’air pendant la nuit.

J’ai commencé par définir une largeur de 9mm (plus facile à visionner dans le logiciel) pour imprimer un premier essai, donc plus rapide (environ 30 minutes). Mais comme une fenêtre entrouverte fait un angle, inutile d’en faire plus, si la pièce coince bien dans les encrages alu et bois. Un outil de mesure au micromètre est pratique, même si le 0.5mm est suffisant ici, pour cette pièce d’environ 40 sur 35mm. J’ai fait un dessin sur papier.

FreeCAD
J’ai défini 9 rectangles dans l’Atelier Draft. Avec Property on définit chaque rectangle (partie Draft) et leur position (partie Base). Les parties fines ont 3mm, juste assez solide! Ensuite on passe à l’Atelier Part et le bouton Extrude a selected sketch qui marche aussi pour un dessin Draft, et avec une épaisseur de 9 mm.

Blender
J’ai créé 9 cubes et avec N corrigé la dimension et la position de chacun. J’avais commencé avec FreeCAD que j’ai laissé ouvert pour adapter mes grandeurs. Dans FreeCAD cliquer sur Rectanglexxx dans Extrudexxx pour examiner les valeurs. Ctrl+C et Ctrl+V (copie) dans Blender marche bien: on déplace avec Object Mode Move et adaptons avec N.

J’ai dû corriger deux valeurs avant de refaire un impression pour la pièce définitive.

Conclusion: Blender ou FreeCAD, ici, c’est presque pareil, mais un très bon exercice de comparaison. Est-ce que FreeCAD est plus rapide? Peut-être, mais pas forcément pour les adaptations finales et surtout si on maîtrise vraiment bien Blender!

J’ai la chance d’avoir récupéré cet outil d’un oncle, une merveille!

Je l’utilise presque tous les jours.
Ici, le 20 correspond à 0.2 mm: dans le rang de valeurs dont on a besoin pour l’impression 3D! 

Note: Après 4-5 semaines de travail avec à la fois FreeCAD et Blender, je me suis un perdu avec les raccourcis et autres manipulations. Pour l’instant j’ai passé, peut-être définitivement, à Blender, voire avec OpenSCAD, pour des objets particuliers, comme expliqué précédemment.  


Tinkercad

Au démarrage de l’outil, on donne un nom de conception, comme par exemple
Pièce fenêtre. Dans une seconde fenêtre Windows, nous lancerons Blender et nous expliquerons comme sélectionner les 9 pièces, l’une après l’autre, et où trouver leurs dimensions.

On va créer la première pièce (3.0, 7.0, 9.0), verticale, voir dessin ci-dessus, c’est à dire avec la Boîte rouge dans les outils. Pour la seconde boîte, on peut Ctrl-C / Ctrl-V (copier/coller) et modifier le 3.0, 7.0 en 13.0, 3.0. Le 9.0 va rester pour toute les pièces.
On vérifiera les deux premières pièces en 3D et passerons ensuite en 2D: position HAUT et en Basculer en 2D orthogonal. On prendra la première pièce pour la copier/coller pour la troisième, et la seconde pour la quatrième. C’est plus facile de garder les pièces horizontales et verticales. Il suffira d’adapter les x et y de chaque pièce.
Tout à la fin, on fera une exportation en STL pour la montrer dans Cura avec une adhérence radeau légère (marge supplémentaire de 8 -12 mm au lieu de 15, un lissage de 2-3 au lieu de 5, et une couche supérieure de 1 au lieu de 2, voire les laisser).

OpenSCAD
Cette pièce de tenue d’une fenêtre est composée de 9 pavés droits. Nous prendrons leurs dimensions d’une feuille de papier ou de l’objet conçu avec Blender. J’ai centré l’objet d’une manière similaire à celle créée sous Blender.

J’ai commencé par le pavé droit tout à gauche (voir schéma ci-dessus) où deux instructions translate et cube sont nécessaires. Toutes les valeurs de z seront pareils, c’est à dire 9 mm pour l’épaisseur et 0 pour la position du plateau. Soit le x, soit le y ont la valeur de 3mm pour un objet de largeur constante. 

Dans le code qui suit, j’ai utilisé deux couleurs pour m’aider dans le positionnement des blocs déposés et testés l’un après l’autre:

color([1,0,0]) translate ([-18,-7,0]) cube([3,7,9]);
color([0,0,1]) translate([-18,0,0]) cube([13,3,9]);
color([1,0,0]) translate([-8,3,0]) cube([3,11,9]);
color([0,0,1]) translate([-5,11,0]) cube([7,3,9]);
color([1,0,0]) translate([2,5,0]) cube([3,9,9]);
color([0,0,1]) translate([2,2,0]) cube([8,3,9]);
color([1,0,0]) translate([10,2,0]) cube([3,20,9]);
color([0,0,1]) translate([10,22,0]) cube([10,3,9]);
color([1,0,0]) translate([20,15,0]) cube([3,10,9]);

J’ai essayé de définir des variables de dimensions et de positions, mais c’est difficile: parfois un bloc vient dessus ou dessous, et parfois à côté.

Avec la touche F5 on visionne le modèle en couleur. Avec F6, le rendu sera généré et alors un export en STL sera possible (menu Fichier / Exporter ou simplement F7).

Pour une pièce qui demande une précision extrême, voire plusieurs impressions et corrections pour obtenir LE résultat désiré, c’est l’idéal, je pense! C’est vraiment facile et plaisant dans le cas de cet exercice et d’objets similaires!

Avec un outil comme Blender, en mode édition, il est possible de biseauter des coins, des arrêtes et des faces. On ne peut pas le faire de cette manière avec OpenSCAD où il faudra utiliser des instructions comme difference et union. Par contre, la définition de la précision des objets sera plus visible. Avec Blender cela peut devenir un casse tête. Imaginons ici que cette pièce de tenue de fenêtre a été biseautée et que le 6-ième pavé droit est 1mm trop long et 1mm trop haut (décalant tous le autres).

Il y a plein d’autres possibilités! Si notre objet créé avec OpenSCAD nous convient, a été vérifié et est utilisable, il est toujours possible d’importer le fichier STL produit par OpenSCAD dans Blender. En sélectionnant l’objet en entier (uniquement cette option est possible), nous pourrons, en mode édition, et sous Bevel, y appliquer un léger biseautage! Magnifique!

Imprimer avec Ultimaker Cura

Partie à retoucher encore et principalement pour les paramètres!
A ajouter: impression partielle ou de densité réduite!

Ultimaker Curac’est le logiciel d’impression 3D que j’utilise avec ma Creality Ender 3 V2. C’est un logiciel de découpage en tranches, dont nous trouverons une « petite » description sur Wikipedia. 

Nous parlons ici de la version 4.8, à ne pas confondre avec les versions 15.04 qui datent de 2017 et qu’on retrouve parfois. Le 20 avril 2021 une nouvelle version est sortie, la 4.9. Je viens de l’installer, pas de souci. Référence: Ultimaker Cura 4.9 – Seamless and efficient with Digital Library integration et vidéo: Ultimaker Cura 4.9 new features summarized

La description ci-dessous est pour la version 4.8. Lors de l’installation de la 4.9, j’ai quand même garder l’ancienne (une habitude). Dans la superbe vidéo Cura Slicer V4.9 plus Cura Arachne Engine Sneak Peek, il nous explique, avec son anglais que j’adore, comment on passe directement, dans la partie APERCU, après le découpage, en mode Type de ligne. En cliquant sur ce dernier, dans la barre supérieure, on peut ouvrir le Modèle de couleur, et, par exemple, jouer avec les options comme Coque, Remplissage ou Aides

En début d’article, nous en avons déjà indiqué, comme préparer un fichier à stocker sur une micro SD carte pour notre imprimante Ender

Ayant déjà installé le logiciel sur mon PC Windows, je l’ai refait pour cette description sur mon Notebook en le téléchargeant du site d’Ultimaker (il existe des versions pour MacOS et Linux), Ultimaker_Cura-4.8.0-amd64.exe. Il est évidemment possible de choisir un autre dossier d’installation. Ne pouvant pas encore le vérifier, j’avais lu sur un site qu’il était conseillé de retirer les drivers Arduino (liste des composants). Ayant moi-même des Arduino, j’ai suivi le conseil. En dernier on clique sur le bouton Installer. On laissera l’option « Lancer Ultimaker Cura 4.8« .

Une des premières bonnes idées sera de se créer un compte chez Ultimaker. On utilisera le bouton « Se connecter » en haut à droite de Cura. Avec le bouton « Marché en ligne« , aussi en haut à droite, on commencera par installer le plugin gratuit Setting Guide. Il est disponible en français à partir du menu Extensions / Settings Guide. Il nous permettra de naviguer sur tous les paramètres. Lors de l’adaptation des paramètres, cela fonctionne aussi, mais en anglais chez moi (Cura 4.9): des descriptions complètes avec de jolies images sont présentées.

Après le premier démarrage, j’ai ignoré l’inscription (je l’ai faite plus tard) et sous Add a printer (a non-networked printer), j’ai cherché dans la liste Creality 3D et défini Creality Ender-3. Pour l’instant je n’ai pas touché le Machine Setting et j’ai continué.

J’ai utilisé les valeurs par défaut qu’on retrouve dans le document déjà mentionné, Cura & Ender 3 (Pro/V2) : les meilleurs profils et réglages. C’est ce que j’ai utilisés pour mes premier « shoots »!

Vidéo à analyser et commenter: Prise en main de CURA : Comment préparer vos impressions 3D.

Dans le menu de Cura, sous Préférences, Configurer Cura…, sous Général, on pourra si nécessaire décocher l’option « Ajouter le préfixe de la machine au nom de la tâche« . Chez moi j’avais toujours CE3_ devant, ce qui pouvait parfois me cacher la partie terminale du nom du fichier visible sur l’écran de L’Ender. Lorsque qu’on imprime différentes versions, on ajoute souvent, simplement, ces infos de variantes en fin de nom de fichier!

L’outil nous indiquera le temps nécessaire pour l’impression et la quantité en gramme de filament (donc le prix de la pièce). D’autres options seront pratiques, lors d’une première impression en moins bonne qualité, voire en redimensionnant en plus petit notre objet!

Et quel plaisir nous aurons de choisir une couche avec la barre verticale à droite et de visionner une simulation d’impression avec le bouton play/pause en bas.

Positionnement dans Cura!
Il m’est arrivé, à quelques occasions, de ne pas avoir mon objet à imprimer bien centré sur le plateau. On sélectionnera l’objet avec la souris et les flèches colorées pour nous permettre de le faire!

A compléter (impressions partielles pour gagner du temps):
Nous verrons qu’il est possible de glisser une partie de l’objet, voire après rotation, sous le plateau. Cette partie ne sera pas imprimée et nous pourrons en vérifier sa partie supérieure!
Il est aussi possible de modifier le contenu de certaines parties d’objets comme montré ici: Ultimaker Cura – Customizing Print Settings in Specific Parts of a Model.   

Rotation dans Cura!
Il arrive que notre objet à imprimer n’a pas été forcément aligné juste, dans les axes X, Y et Z, et avant exportation en fichier .STL. Les exemples typiques sont un cube troué dont la position serait meilleur en vertical, ou une table à 4 pieds qu’on devrait poser sur son plateau dessous! On évitera alors, peut-être, le besoin d’y ajouter la génération de supports par Cura.

Dans l’exemple de l’attache_vis vu précédemment, suivant l’outil de création CAD, le plateau pourrait ne pas être posé à plat dessous! Cura, avec son menu à gauche, après sélection de l’objet permet de faire une rotation correcte (et non, par exemple, sur les deux cylindres avec plateau incliné, où un support devra être généré inutilement).

Une sauvegarde du g-code dans un fichier (voir la description ci-dessous) est possible. Un fichier g-code peut être importer dans Cura, mais il faut s’assurer qu’il a été aussi généré par Cura, la même version, et pour cette imprimante. Mais ce sont bien des contraintes: c’est plus raisonnable d’utiliser un fichier STL.

Le nom des fichiers présenté sur l’écran de l’Ender est parfois trop court. Si on imprime en plusieurs morceaux: mettre par exemple un A, B, C, .. devant!

Au niveau des paramètres j’ai encore du travail. Il faudra mentionner dans le menu Aide, sous Afficher le dossier de configuration, le moyen de retrouver si nécessaire le fichier de configuration cura.cfg. Dans le Marché en ligne, on pourra installer le Export HTML Cura Settings. Au prochain démarrage nous pourrons, après avoir chargé un fichier STL, sélectionner avec le menu Fichier / Enregistrer le projet, le bouton Enregistrer, et choisir le type HTML. En visionnant le fichier html, nous pourrons examiner nos paramètres et éventuellement les partager.

Enfin je mentionnerai aussi la Ultimaker Community of 3D Printing Expert.

Imprimer avec Ultimaker Cura et le câble USB

Mes premières impressions avec Ultimaker Cura ont été faites en utilisant la micro carte SD. On peut très bien connecté un PC ou un laptop avec un câble USB assez long (mon imprimante est à 2 mètres sur une table séparée)!
La première opération est d’effectuer un préchauffage et un contrôle du plateau avec une feuille A4 de 1mm. Je l’ai fait à partir du petit écran attaché à l’Ender.

Si un câble USB est connecté, Cura le détectera. Dans son menu, après importation du fichier STL que je fais avec un clic dans l’explorateur de Windows, nous pourrons utiliser successivement les menus PREPARER, APERCU et SURVEILLER. Le bouton bleu en bas Imprimer via USB, nous permettra de lancer l’impression 3D.

Nous pourrons surveiller par exemple le temps restant et les deux températures (60 pour le plateau et 200 (PLA) pour l’extrudeur). Rien à dire, ça roule … juste faire attention de ne pas ramasser le câble en sortant de la pièce (chez moi).
 

C’est quoi le g-code

Le G-code est un langage pour l’impression 3D qui contient les commandes pour déplacer des éléments dans l’imprimante. Le code G se compose de commandes G et M pour les mouvements et les actions. La référence principale sera le document Marlin G-code Index.

Les articles Les principales commandes d’un Gcode pour l’impression 3D et Commandes de code G pour imprimante 3D 2018 – Didacticiel nous donnerons une meilleure idée.

Lorsqu’on aura découvert le G-Code de démarrage et G-Code de fin dans Ultimaker Cura, nous pourrions nous amuser à analyser les diverses commandes. Pour ce faire nous irons dans le menu de Cura sous Paramètres, et ensuite Imprimante et Gérer les imprimantes…, sélectionner notre imprimante Ender-3/..,  et enfin le bouton tout à droite Paramètres de la machine. Il y a de jolies commandes comme les déplacements sur l’axe Z. 

Les fichiers contenant du G-code sont des fichiers textes! On a trouvera un exemple dans G Code Example: How to Run Your First CNC Program.

Il peut arriver que quelqu’un nous fournisse un fichier gcode! Il est possible de le visualiser, par exemple avec un outil en ligne, gCodeViewer, voire même de l’examiner en le chargeant dans Cura, oui, c’est possible, mais le code ne sera sans doute pas adapter à son Ender ou autres!

L’outil en ligne NC Viewer est grandiose. Nous pouvons charger un fichier gcode et le visionner en mode « plotter ».

A compléter et adapter sans doute: nous trouverons aussi d’autres outils comme MatterControl pour par exemple nous assister dans le réglage du plateau.

Firmware pour l’Ender 3 V2

Cela reste pour l’instant un peu la pagaille: Understanding Creality Ender 3 Control Board Firmware Fiasco. Il y a un page Facebook dédié: Creality 3D Printer Firmware & 3D Printing Support.

Moi-même, j’ai la version 2.0.1, c’est à dire Ender-3 V2-Marlin-2.0.1 – V1.0.2(1).bin. J’essaierai d’y mettre plus d’info de ce fiasco ?! C’est avec cette version que j’ai pu installer, sur mon Raspberry Pi 3, l’application d’impression 3D Octoprint, qui suit.

Mais attention, il faut savoir quelle carte mère on possède (!?!) la 4.2.2 ou la 4.2.7 qui ont différents brochages (TMC2209 ou TMC2225) pour le stepper. Ma version Ender-3 V2-Marlin-2.0.1 – V1.0.2(1).bin fait partie du fichier Ender-3 v2 4.2.2mainboard(32bit) (1).zip qu’on trouve sur https://www.creality.com/download.

Le micrologiciel Marlin fonctionne sur la carte principale de l’imprimante 3D, gérant toutes les activités en temps réel de la machine. Il coordonne les chauffages, les steppers, les capteurs, les lumières, l’écran LCD, les boutons et tout ce qui est impliqué dans le processus d’impression 3D.

Octoprint et le Raspberry Pi

Comme j’avais déjà quelques Raspberry Pi à la maison. J’ai donc fait le pas. Je n’ai reçu mon Ender que début février 2021 et je n’y vois pas trop l’utilité, pour l’instant, même si ma caméra Pi fonctionne. Donc, à voir, et il y a des idées ici: 10 Reasons to Use OctoPrint | All3DP

OctoPrint est une application de contrôle pour imprimante 3D. Elle est open-source et gratuite et elle permet de gérer les impressions à distance. OctoPrint tourne sur un Raspberry Pi avec le système d’exploitation octopi, dérivé du standard Raspbian. Elle s’installe facilement sur un Raspberry Pi dont je suis familier. Et pourquoi pas y mettre une caméra de surveillance … et cela marche dans l’application OctoPrint! On commencera par consulter le site Wikipedia d’Octopus est à consulter, et ensuite pour les lecteurs non convaincus, How to Set Up and Use OctoPrint on the Creality Ender 3 V2.

Il y a pas mal d’articles et de vidéos sur ce sujet (mot clés: Octopus et Raspberry) comme How to set up OctoPrint on your Raspberry Pi. J’aime bien le How to Set Up and Use OctoPrint on the Creality Ender 3 V2 voire la vidéo How to Install Octoprint on a Creality Ender 3

Et pourquoi pas une diversion hors 3D avec mon livre Programmer en Java pour le Raspberry Pi.

Installation d’Octoprint sur le Raspberry Pi

J’ai fait cette installation pour un Raspbery Pi 3. Pour un Pi 4 c’est moins facile: je n’ai pas trouvé ni le temps ni la nécessité. Les notes que j’ai rajoutées sont vraiment une extension de How to set up OctoPrint on your Raspberry Pi. Il y a quelques détails qu’on retrouve dans les vidéos How to Set Up and Use OctoPrint on the Creality Ender 3 V2 et How to Install Octoprint on a Creality Ender 3.
C’est souvent plus facile avec du texte en clair! 

On télécharge octopi-buster-armhf-lite-0.18.0.zip (699Mo) depuis https://octoprint.org/download/On le unzip et cela donne 2020-12-02-octopi-buster-armhf-lite-0.18.0.img, un fichier de 2.31 Go que j’ai déposé dans un répertoire de mon PC dédié à Octoprint.

J’ai mis à jour mon Etcher (https://www.balena.io/etcher/) avec la version 1.5.116 pour flasher ma micro carte SD. Je l’avais utilisé pour mon LEGO Mindstorms EV3.

L’application se nomme balenaEtcher que j’entre dans la recherche de Windows (en bas à gauche de mon écran PC). Il faut un lecteur de carte microSD, et une carte insérée, chez moi une Transcend Premium 16GB.

Il ne faudra jamais formaté cette carte: Windows le demande … plusieurs fois!

Dans Etcher, on choisit avec le bouton bleu Flash from file, le fichier 2020-12-02-octopi-buster-armhf-lite-0.18.0.img mentionné ci-dessus et stocké sur notre PC et ensuite sous Select target, toujours en bleu, le nom du target, Generic STORAGE DEVICE USB 16GB chez moi. Et on clique sur le bouton bleu Flash!

Il faudra être patient pour le Flashing!

Lorsque le processus est terminé, Windows peut demander à nouveau de formater un des lecteurs de la carte! Il faut l’ignorer. On peut alors quitter balenaEtcher!

On retire le lecteur de la carte et le remettons à nouveau dans notre lecteur de carte PC pour qu’il revienne dans l’explorateur Windows.

Sur la racine du disque boot (K: chez moi) nous trouverons le fichier octopi-wpa-supplicant.txt

Il faudra utiliser notepad++ ou équivalent pour modifier la partie WiFi  (récupéré d’un cailler ou du routeur) sans oublier de retirer les caractères de commentaires #:

## WPA/WPA2 secured
network={
  ssid= »nom du routeur »
  psk= »son mot de passe »
}

Pour mon pays, j’ai mis: country=CH  # Suisse

On Eject la carte microSD et on la place dans notre Raspberry Pi alimenté.

Avec les outils du routeur (il en existe pour PC), on verra apparaître notre octopi (chez moi avec l’IP 192.168.1.129/ que j’ai défini en static)

Les habitués de Putty pourront accéder le Raspberry Pi avec l’utilisateur pi et le mot de passe raspberry.

On pourra accéder notre Raspberry Pi avec http://192.168.1.129/ (129 sera sans doute différent, et on patientera un peu au premier démarrage).

A la réception du Setup Wizard / Start on passera directement à Next (bouton bleu en bas)

On ignore le Restore pour l’instant: Next

Pour l’Access Control on peut très bien mettre le même nom d’utilisateur que son PC et son mot de passe. On cliquera sur Create Account et Next

Pour Configure Anonymous Usage Tracking on laissera Anonymous Usage Tracking: sélection à droite et Next

Pour Configure the connectivity check, c’est plus délicat. On commencera par le Test du Google’s DNS server 8.8.8.8, port 53 pour la connection. La connection Hostname octoprint.org a aussi fonctionné. Pour terminer ne pas oublier tout en bas le bouton bleu: Enable Connectivity check. Next ensuite!

Le Configure plugin blacklist processing se fera avec le bouton bleu. Next encore.

Pour la configuration du printer, j’ai indiqué Mon Ender comme nom et Ender 3 V2 comme printer.

On passera aux différents menus: Print bed & build volume, Axes, et Hotend & extruder!

Du site https://howchoo.com/octoprint/ender-3-v2-octoprint on trouvera ce qui suit (la partie Axes n’est pas utilisée en automatique)

Form factor: Rectangular
Origin: Lower Left
Heated Bed: Yes (checked)
Heated Chamber: No (unchecked)
Width: 220mm
Depth: 220mm
Height: 250mm
et rien changé pour la suite!
Axes: Default**
Custom Bounding Box: No (unchecked)
Nozzle Diameter: 0.4mm
Number of Extruders: 1

Sur la page Page All Done et bouton bleu Finish.

J’ai allumé l’imprimante et reçu: Attention, Warning: Firmware Broken. En cliquant sur Connexion on verra le port série /dev/ttyUSB0 (chez moi) de notre Pi et sa vitesse 115200!  

En allant sur Terminal, on voit que cela fonctionne: les températures viennent!

En cliquant sur Learn more ... nous passons sur le site d’Octoprint dans le browser du PC. 

A l’adresse https://plugins.octoprint.org/plugins/ender3v2tempfix/ on voit qu’il y a un fixe pour la température.

Je vais dans le menu Setting (clé anglaise) de notre server OctoPrint. Dans la liste de menu à gauche en bleu, il y a un Plugin Manager.
Je vais en bas et clic sur Get More… et ensuite sur … from URL et dépose https://github.com/SimplyPrint/OctoPrint-Creality2xTemperatureReportingFix/archive/master.zip le Creality 2x temperature reporting fix. Je clique sur Install et le script pip de Python s’exécute.

J’ai reçu ensuite un « Updade Available » pour OctoPrint, File Check Plugin et Firmware Check Plugin: J’ai cliqué sur Updade now (bouton rouge) et accepter l’updating!

Le plugin du Firmware Broken reste installé. 

J’ai installé ma Camera pi: c’est le connecteur du milieu sur la carte du Raspberry Pi 3.
Depuis le PC, avec Putty:

sudo raspi-config et le mot de passe! 

Avec le menu 3, Interface option, sous 1 nous mettrons la caméra. En lançant mon client Web OctoPrint du PC, http://192.168.1.129/ pour moi, j’ai même vu, via la camera, mon plateau de la Ender 3 V2 même sans connexion! On déposera un objet bien visible: le réglage du focus sur le plateau se fera lorsque le système est monté: il est manuel sur la lentille.

Installation d’Octoprint dans Ultimaker Cura

J’utilise Ultimaker Cura 4.8.0.

Le Raspberry Pi doit être allumé et connecté à l’Ender avec un câble USB. On lancera OctoPrint sur le PC avec un Web browser et l’URL http://192.168.1.129/ (129 chez moi) et on cliquera sur le bouton gris Connect.

Sur le PC Windows, on démarre Ultimaker Cura et on passe en haut à droite sur Marché en ligne. La liste des Plug-ins va apparaître rapidement. Il faut chercher le plug-in OctoPrint connection et l’installer (cliquer sur Accepter).

Il faut alors relancer Ultimaker Cura.

Dans le menu de Cura, nous irons sous Préférences, Configurer Cura, Imprimante, et le bouton Connect to OctoprintNotre OctoPrint Raspberry comme octopi._octoprint._tcp.local  est visible et nous demandons la clé d’accès. Dans Octoprint (interface Web) nous verrons un message d’accès et nous acceptons la connexion.

Lors d’un prochain démarrage de Cura, nous pouvons aller sur Surveiller (bouton en haut). Chez moi, je vois mon Ender via ma Pi camera. Un petit test de monter la position Z (outil à droite) nous permettra de vérifier que cela fonctionne. Le bouton rectangulaire en bas OctoPrint nous permettrait de lancer une session Web dans notre browser favori! Cool!  

Retour d’expérience avec OctoPrint

Pour une bonne documentation d’Octoprint, pourquoi pas Welcome to OctoPrint’s documentation! et pour les extensions, Plugins.
Il y a de jolis sites comme 
Utiliser le serveur d’impression Octoprint pour imprimer!

… à compléter.

Imprimer avec Slic3r

C’est un autre logiciel, open source, de découpage en tranches et d’impression 3D que nous devrons aussi essayer. Nous trouverons le manuel (menu The Manual) et son lien de téléchargement sur le site de Slic3r. Il y a aussi des articles intéressants comme The Important First Layer.

Il est facile à installer, mais il faut introduire tous les paramètres de l’Ender 3 v2, au contraire de Cura.
Si on utilise Ultimaker Cura, pas vraiment besoin de jouer avec un second qui date un peu.

J’ai chargé un fichier .STL et avec les onglets en bas, regardé un peu le Preview et les Layers sur différentes couches. C’est bien fait et presque plus précis qu’Ultimaker Cura. Je n’ai pas encore cherché comment mettre un support ou une adhérence plateau.

Modélisation surfacique 
avec MeshMixer

Je l’ai installé et un peu joué avec, pas plus. Je n’ai pas vraiment trouvé une application directe correspondant aux sujets et objets 3D présentés dans cet article. On pourra télécharger ce logiciel gratuit sur le site d’Autodesk Meshmixer.

Pour donner une idée: How to mesh mix! – Detailed tutorial on merging STLs in Meshmixer.

Ce logiciel qui permet de modifier et examiner des fichiers STL, semble aussi pouvoir fixer des erreurs!

Reconstruction avec Meshroom

C’est ma grande découverte durant ce brainstorming! Impossible de m’y détacher … mais, ouf, je venais de commander ma Creality Ender 3 V2. Pas encore de page Wiki, je crois, mais on pourrait commencer par le site Wikipedia sur la Photogrammétrie.

En deux mots: on prend des photos, beaucoup, autour d’un objet et on utilise le logiciel libre d’ALICEVISION, Meshroom, qu’on pourra télécharger leur site, pour créer un objet 3D imprimable.

Vidéo à consulter impérativement:
Utilisation au plus simple de Meshroom pour transformer vos objets en 3D
UN INCROYABLE SCANNER 3D GRATUIT !!! DIY Photogrammétrie

A compléter .. il y aura du travail. Je n’ai pas encore réussi à faire un exemple simple et concret. 

J’ai encore pas mal de travail pour un certain nombre d’outils que je n’ai pas encore eu le temps de considérer.

Les fichiers STL doivent être encore mieux expliqués. C’est intéressant d’importer un fichier .STL dans Blender et d’examiner et éditer son contenu en Edit Mode.

Il y a par exemple SketchUp de Trimble dont une version Web non professionnelle est disponible.

Quand j’ai commencé cette page, je n’aurais jamais pensé entrer dans ce nouveau monde: délirant, complexe, et passionnant.

A compléter … et aussi, pourquoi pas, peindre ses objets 3D! J’aime bien « La finition et l’impression 3D – Peinture, enduit et ponçage ! »