Demir Yilmaz
Séance 1 (16/12/2025): Aston Martin DB5, Découverte de l’impression 3D
Objectif du projet
L’objectif de cette première séance était de découvrir les bases de l’impression 3D à travers un projet volontairement simple. Le choix d’un objet déjà modélisé permettait de se concentrer sur l’utilisation du slicer, la compréhension des réglages essentiels et le déroulement d’une impression, sans aborder la modélisation 3D.
Description du projet
Le projet consiste à imprimer une voiture à partir d’un fichier STL existant. Ce type d’objet est bien adapté à une première approche, car il est rapide à imprimer, peu complexe et permet d’observer clairement la construction de l’objet couche par couche.
Matériel utilisé
- Imprimante 3D: Original Prusa MK4S
- Filament: PLA
Logiciels utilisés
- Slicer : PrusaSlicer
Réglages d’impression
- Matériau: Generic PLA
- Hauteur de couche: 0,20mm SPEED (modified)
- Remplissage: 15%
- Température de la buse: 200 °C
- Température du plateau: 60 °C
- Vitesse d’impression: paramètres par défaut de PrusaSlicer
- Supports: non
- Adhérence au plateau: par défaut
Étapes de réalisation
- Recherche et récupération d’un fichier STL du voiture Aston Martin DB5
- Vérifier l'échelle du modèle
- Changement de l'orientation de l'objet et vérifier sa nouvelle position sur le plateau
- Importation du fichier STL dans PrusaSlicer
- Vérification des réglages standards
- Changement de quelques réglages pour diminuer le temps d'impression
- Génération du G-code
- Lancement de l’impression 3D
- Observation de la formation des couches et suivi du déroulement.
- Surveiller la première couche
- Récupération du modèle après impression
Observations et anecdotes
Résultat
L’impression s’est déroulée correctement. La voiture cependant à son tour, a des problèmes au niveau des roues, faute à l'enlèvement du support. D'ailleurs, un infill de 20% au lieu du 15% choisi, aurais pû être une bonne choix au niveau de l'esthètique.
Apprentissages
- Découverte des réglages de base dans PrusaSlicer
- Compréhension de l’impact des paramètres d’impression
- Importance de choisir un objet simple pour débuter en impression 3D
Séance 2 (09/01/2026): Conception d'objet difficile par OpenScad
Objectif du projet
Découvrir la modélisation paramétrique et la création d’objets 3D par code, permettant de modifier facilement la taille, l’épaisseur ou le motif d’un objet en ajustant quelques paramètres.
Description du projet
Un hand spinner, ou connu sous le nom de fidget spinner, avec son pièce du milieu qui quand serait prise à main, permettra la circulation de l'objet principale.
Caractéristiques principales
Ce hand spinner est un objet de précision conçu pour une rotation fluide et équilibrée.
- Équilibre parfait: Ses trois branches assurent une rotation stable et rapide.
- Maintien central: Deux capsules s'emboîtent au milieu pour une prise en main facile. prolonger la durée de rotation.
- Ajustement précis: Les dimensions sont optimisées pour accueillir un roulement standard.
Matériel utilisé
- Imprimante 3D: Original Prusa MK4S
- Filament: PLA
Logiciels utilisés
- Modélisation 3D: OpenSCAD
- Slicer: PrusaSlicer
Outil de modélisation
Le modèle a été conçu avec le logiciel OpenSCAD, qui permet de créer des formes paramétriques à partir de code.
Les paramètres principaux définis sont:
- Taille du roulement
- Jeu d'assemblage
- Épaisseur du spinner
- Longueur des branches
- Renfort du centre
Le code
/* ASSEMBLAGE FINAL : HAND SPINNER RÉALISTE
Ce projet comprend le corps du spinner et son système d'axe central.
Les capsules argentées intègrent un axe qui traverse le roulement.
*/
// --- PARAMÈTRES PRINCIPAUX ---
$fn = 80; // Résolution des courbes (plus élevé = plus lisse)
bearing_diameter = 22; // Diamètre standard d'un roulement 608
bearing_thickness = 7; // Épaisseur standard du roulement
tolerance = 0.15; // Jeu d'assemblage pour l'impression 3D
body_h = 7; // Épaisseur du corps du spinner
arm_length = 30; // Longueur des branches (centre vers extérieur)
hub_diameter = 32; // Diamètre du renfort central
// --- VALEURS CALCULÉES ---
hole_d = bearing_diameter + (tolerance * 2); // Diamètre du trou ajusté
// --- MODULE 1 : CORPS DU SPINNER ---
module spinner_core() {
difference() {
// 1. FORME GLOBALE
union() {
// Moyeu central renforcé
cylinder(d = hub_diameter, h = body_h, center = true);
// Création des trois branches
for (angle = [0 : 120 : 359]) {
rotate([0, 0, angle]) {
// Bras de liaison
translate([arm_length/2, 0, 0])
cube([arm_length, 18, body_h], center = true);
// Anneaux extérieurs (poids)
translate([arm_length, 0, 0])
cylinder(d = hole_d + 8, h = body_h, center = true);
}
}
}
// 2. SOUSTRACTIONS (LES TROUS)
// Logement du roulement central
cylinder(d = hole_d, h = body_h + 5, center = true);
// Logements des roulements extérieurs
for (angle = [0 : 120 : 359]) {
rotate([0, 0, angle])
translate([arm_length, 0, 0])
cylinder(d = hole_d, h = body_h + 5, center = true);
}
// 3. DÉCOUPES ESTHÉTIQUES (Allègement)
for (angle = [60 : 120 : 359]) {
rotate([0, 0, angle])
translate([hub_diameter * 0.65, 0, 0])
scale([1.2, 0.8, 1]) // Forme ovale
cylinder(d = 10, h = body_h + 5, center = true);
}
}
}
// --- MODULE 2 : SYSTÈME DE MAINTIEN (CAPSULES) ---
// Capsule supérieure avec axe long
module cap_top() {
union() {
// Surface de contact pour le pouce
difference() {
cylinder(d = 20, h = 2);
translate([0,0,3]) sphere(r=15); // Creux ergonomique
}
// Rebord d'appui sur le roulement
translate([0,0,-1.5]) cylinder(d=12, h=1.5);
// Axe central (traverse le roulement)
translate([0, 0, -8]) cylinder(d = 7.7, h = 8);
}
}
// Capsule inférieure avec logement
module cap_bottom() {
difference() {
union() {
// Surface de contact pour l'index
difference() {
cylinder(d = 20, h = 2);
translate([0,0,3]) sphere(r=15); // Creux ergonomique
}
// Rebord d'appui sur le roulement
translate([0,0,-1.5]) cylinder(d=12, h=1.5);
}
// Trou pour recevoir l'axe de la capsule supérieure
translate([0, 0, -2]) cylinder(d = 7.9, h = 5);
}
}
// --- ASSEMBLAGE FINAL ---
// Affichage du corps (en Or)
color("Gold") spinner_core();
// Affichage de la capsule supérieure (en Argent)
translate([0, 0, 3.5])
color("Silver") cap_top();
// Affichage de la capsule inférieure (en Argent, inversée)
translate([0, 0, -3.5])
rotate([180, 0, 0])
color("Silver") cap_bottom();
Résultat
Le rendu nous propose une fidget spinner fonctionnel, quand tenu depuis le point central, puis le tournage de la pièce principale. Cette pièce est un démonstrateur de fabrication additive, car sa fonction dépend directement du point central qui est une diffèrente pièce.
Apprentissages techniques
- Découverte de la modélisation 3D par programmation avec OpenSCAD.
-
Compréhension du flux: code → STL → slicer → impression.
-
Importance du choix des paramètres pour obtenir un objet fonctionnel et agréable à utiliser.
Conclusion
Cette séance m’a permis de passer d'un modèle existant, à une conception innovante, exploitant les possibilités uniques de l’impression 3D. Elle démontre que l’impression 3D ne sert pas uniquement à reproduire des objets, mais à créer des formes impossibles autrement.
Séance 3 (16/01/2026): Modélisation d'un objet fonctionnel
Objectif du projet
- Imprimer un objet fonctionnel et mécanique
- Comprendre l’importance des tolérances dans les mécanismes imprimés
- Analyser les causes d’un échec d’impression fonctionnel
- Mettre en place des solutions de post-traitement pour rendre l’objet utilisable.
Description du projet
Ce projet consiste en la modélisation 3D d'un sablier fonctionnel conçu pour l'impression 3D, doté d'une structure renforcée par des colonnes de support latérales. Il intègre des réservoirs creux aux extrémités permettant de contenir du sable, ainsi que des couvercles amovibles pour un remplissage et une utilisation réelle. L'ensemble du code OpenSCAD a été optimisé pour garantir une étanchéité géométrique (manifold) et une solidité structurelle lors de la fabrication.
Matériel utilisé
- Imprimante 3D: Original Prusa MK4S
- Filament: PLA
Logiciels utilisés
- Modélisation 3D: OpenSCAD
- Slicer: PrusaSlicer
Caractéristiques du code
- Structure Monobloc: Un corps en sablier avec réservoirs intégrés et colonnes de soutien en tripode (120°) pour une stabilité maximale.
- Conception Creuse: Utilisation de fonctions soustractives (
difference) pour créer des parois de 2 mm, garantissant la rétention du sable. - Optimisation Impression 3D: Gestion des chevauchements (
overlap) pour éviter les erreurs de tranchage et assurer une fusion parfaite des pièces. - Système Ouvert: Réservoirs percés au centre pour permettre l'écoulement du sable et le remplissage via des bouchons amovibles.
// --- RÉGLAGES DE RÉSOLUTION ---
$fn = 60; // Définit la finesse des arrondis (60 est un bon compromis vitesse/qualité)
// --- PARAMÈTRES GLOBAUX ---
h_totale = 70; // Hauteur totale du corps en verre
r_base = 20; // Rayon de la base du verre
epaisseur = 2; // Épaisseur des parois (important pour la solidité)
passage = 5; // Diamètre du goulot d'étranglement (passage du sable)
h_boite = 8; // Hauteur des réservoirs aux extrémités
overlap = 0.05; // Petit décalage pour fusionner les pièces (évite les erreurs de manifold)
// --- MODULE : GÉOMÉTRIE DU VERRE ---
// Crée deux cônes inversés qui se rejoignent au centre
module forme_sablier(r, h, p) {
union() {
// Cône supérieur : part du centre (p) vers le haut (r)
translate([0, 0, h/2 - overlap])
cylinder(r1 = p, r2 = r, h = h/2 + overlap);
// Cône inférieur : part de la base (r) vers le centre (p)
cylinder(r1 = r, r2 = p, h = h/2 + overlap);
}
}
// --- ASSEMBLAGE FINAL ---
union() {
// 1. LE CORPS EN VERRE CREUX
difference() {
// Forme extérieure pleine
forme_sablier(r_base, h_totale, passage);
// Forme intérieure soustraite (plus petite) pour créer le vide
translate([0, 0, epaisseur])
forme_sablier(r_base - epaisseur, h_totale - (epaisseur * 2), passage - (epaisseur/2));
}
// 2. LES RÉSERVOIRS (HAUT ET BAS)
for (z = [0, h_totale]) {
translate([0, 0, z])
difference() {
// Cylindre extérieur de la boîte
cylinder(r = r_base + 4, h = h_boite, center = true);
// Évidement pour stocker le sable (laisse un fond de protection)
translate([0, 0, (z == 0 ? epaisseur : -epaisseur)])
cylinder(r = r_base + 2, h = h_box, center = true);
// Perçage central pour laisser couler le sable dans le verre
cylinder(r = passage - 1, h = h_boite + 2, center = true);
}
}
// 3. LES COLONNES DE SOUTIEN (TRIPODE)
// Positionnées à 120° pour une stabilité maximale et un look esthétique
for (a = [0, 120, 240]) {
rotate([0, 0, a])
translate([r_base + 2, 0, 0])
cylinder(r = 2.5, h = h_totale);
}
}
Paramètres d'Impression (Slicer)
Le modèle est conçu pour être imprimé sans supports.
- Imprimante : Prusa MK4
- Hauteur de couche: 0.15mm (Quality). Le 0.2mm est possible, mais le 0.15mm permet aux parois inclinées du sablier d'être plus lisses et plus étanches au sable
- Remplissage (Infill): 15% Gyroid. Meilleur choix pour la structure interne des colonnes
-
Supports: OBLIGATOIRES (Partiels). Option "Supports sur le plateau uniquement" (Support on build plate only)
-
Adhérence : Brim de 5mm (indispensable car les 3 colonnes et la pointe du sablier ont peu de surface de contact)
-
Périmètre: 3
Résultat




No Comments