Angel CHEN
Informations
- Angel Chen
- angel.chen@etu.sorbonne-universite.fr
- M1 Management de l'innovation
- 09/01/2026 - 01/07/2026
Contexte
Dans le cadre de notre UE Processus d'Innovation, il nous a été demandé de créer un objet en impression 3D pour nous rencontrer avec la CAO via OpenScad. Tout d'abord avec une forme simple, puis une seconde plus complexe (j'ai fais l'inverse car je n'étais pas présent au premier cours).
MODÉLISATION COMPLEXE (Fusée Fantaisie)
Objectifs
Modéliser et Imprimer une petite fusée avec un style fantaisiste comme dans les dessins animés. Avec la possibilité de visser la pointe et y ranger des objets.
Matériel
- Imprimante 3D : Originale Prusa MK4S
- Filament : PLA
Machines utilisées
- Logiciel de montage : OpenSCAD
- Logiciel de découpe : PrusaSlicer
Construction
-
Le Code
Tout d'abord mon code :
J'ai d'abord créer les formes que je voulais séparément et puis je les ai assemblées. J'ai donc joué sur l'échelle et la position de chaque morceaux, d'où la forme de mon code.
// Changement de la résolution du modèle
$fa = 1;
$fs = 0.4;
$fn = 200;
//forme de la vis
module vis_simple(diametre=10, longueur=30, pas=5) {
rayon = diametre / 2;
nb_tours = longueur / pas;
union() {
//L'axe central
cylinder(r=rayon - 1, h=longueur);
//Le filetage
linear_extrude(height=longueur, twist=-360 * nb_tours)
translate([rayon - 1.5, 0, 0])
circle(r=1.5, $fn=30);
}
}
//Nez de la fusée
module nez() {
color("Red")
//permet d'avoir le nez au dessus de la fusée
translate([0, 0, 58])
// translate([0, 35, 9.8])
difference() {
union() {
// Le Haut (Cône + Antenne)
cylinder(h=15.1, r1=5.8, r2=0.7);
translate([0, 0, 15])
cylinder(h=4, r=0.7);
translate([0, 0, 19])
sphere(r=1);
// Le Bas (La vis)
rotate([180, 0, 0])
vis_simple(diametre=9.4, longueur=9.8, pas=4);
}
//Trou
rotate([180, 0, 0])
translate([0, 0, -1])
cylinder(h=20, r=3);
}
}
nez();
// Corps de la fusée
module fuselage() {
color("White")
union() {
hull() {
//Diamètre 1 (base au sol)
translate([0, 0, 0])
cylinder(h=0.1, d=15);
//Diamètre 2 (intersection)
translate([0, 0, 15])
cylinder(h=0.1, d=20);
//Création du haut du fuselatge qui est arrondi
difference() {
scale([0.69, 0.69, 4])
sphere(r=15);
translate([-50, -50, 50])
cube([100, 100, 100]);
translate([-50, -50, 15 - 100])
cube([100, 100, 100]);
}
}
}
}
module trou(){
difference(){
fuselage();
union() {
translate([0, 0, 40])
vis_simple(diametre=10, longueur=11, pas=4);
translate([0, 0, 0])
cylinder(h=40.1, d=8);
}
}
}
module hublot() {
translate([7.3, 0, 35])
rotate([0, 83, 0]) {
//Le cadre gris
color("Gray")
rotate_extrude()
translate([4, 0, 0])
circle(r=1.5);
//La vitre bleue
color("DodgerBlue")
scale([1, 1, 0.5])
sphere(r=4);
}
}
module ailerons() {
color("Red")
//On répète 3 fois autour de l'axe
for(i = [60 : 120 : 360]) {
rotate([0, 0, i])
translate([8, 0, 10])
rotate([90, 0, 0]) // On met à plat verticalement
linear_extrude(height=3, center=true)
//Pour la forme
polygon(points=[
[0, -6],
[2, 5],
[10, 0],
[14, -18],
[10, -18]
]);
}
}
module moteur() {
translate([0,0,-10.3])
scale([0.86,0.86,0.86])
union(){
//Bague métalique
color("Silver")
translate([0, 0, 12])
difference() {
// Forme extérieure arrondie
rotate_extrude()
translate([6, 0, 0]) // Rayon de l'anneau
circle(r=2.5);
translate([0, 0, 2.6])
cube([20, 20, 5], center=true);
}
//Tuyère
color("#333333") // Gris très foncé
translate([0, 0, 5])
difference() {
cylinder(h=7.1, r1=8, r2=5);
translate([0, 0, -1])
cylinder(h=5, r1=6, r2=4);
}
//anneau bas de la tuyère
color("#222222")
rotate_extrude()
translate([8, 5, 0])
circle(r=1);
}
}
translate([0,0,8])
union(){
trou();
hublot();
ailerons();
moteur();
}
-
Réglages d'impression
- Hauteur de couche : 0,2 mm (SPEED)
- Remplissage : 20 %
- Température de la buse : 215 °C (première couche) | 210°C (autres canapés)
- Température du plateau : 65 °C (première et autres canapés)
- Vitesse d'impression : paramètres par défaut de PrusaSlicer
- Supports : Support sur plateau uniquement
- Adhérence au plateau : par défaut
-
Étapes de réalisation
-
- Recherche et récupération du fichier STL
- Vérifier l'échelle du modèle (Ici l'échelle est de 120%)
- Vérifier l'orientation et la position sur le plateau
- Importation du fichier STL dans PrusaSlicer
- Normes de vérification des réglages
- Ajustement si nécessaire
- Génération du G-code
- Lancement de l'impression 3D
- Observation de la formation des couches et suivi du retour.
- Surveiller la première couche
- Recherche et récupération du fichier STL
-
Observations et anecdotes
-
Résultat
Voici le résultat de cette impression :
____________________________________________________________________________________________________________
MODÉLISATION SIMPLE (Support pour Fusée Fantaisie)
Objectifs
Pour mettre en valeur ma fusée précédemment imprimée, j'ai décidé de faire un support qui me permettra d'exposer la fusée !
Matériel
- Imprimante 3D : Originale Prusa MK4S
- Filament : PLA
Machines utilisées
- Logiciel de montage : OpenSCAD
- Logiciel de découpe : PrusaSlicer
Construction
-
Le Code
Tout d'abord mon code :
J'ai d'abord créer les formes que je voulais séparément et puis je les ai assemblées. J'ai donc joué sur la position de chaque morceaux, d'où la forme de mon code.
// Changement de la résolution du modèle
$fa = 1;
$fs = 0.4;
$fn = 200;
//Support fusee
//Paramètre du Socle
longueur = 80;
largeur = 50;
hauteur_totale = 8;
rayon_arrondi = 12;
//Arrondi du Socle
module socle_arrondi(l, w, h, r) {
hull() {
translate([-(l/2)+r, -(w/2)+r, 0])
cylinder(h=h, r=r);
translate([(l/2)-r, -(w/2)+r, 0])
cylinder(h=h, r=r);
translate([-(l/2)+r, (w/2)-r, 0])
cylinder(h=h, r=r);
translate([(l/2)-r, (w/2)-r, 0])
cylinder(h=h, r=r);
}
}
//Création du Socle
module Socle(){
difference() {
union() {
//Niveau 1 : La base
socle_arrondi(longueur, largeur, hauteur_totale * 0.6, rayon_arrondi);
//Niveau 2 : Le plateau supérieur
translate([0, 0, hauteur_totale * 0.6])
socle_arrondi(longueur - 10, largeur - 10, hauteur_totale * 0.4, rayon_arrondi - 5);
}
}
}
//Bras de support
module Bras(){
rayon_arc = 20; // Courbure
angle_max = 140; // Jusqu'ou monte le bras
translate([30,0,27.6])
rotate([90,0,0])
cylinder(h = 6, d = 6, center = true);
translate([15, 0, -8])
union() {
for (a = [0 : 1 : angle_max]) {
x = rayon_arc * sin(a);
z = rayon_arc - (rayon_arc * cos(a));
translate([x, 0, z])
rotate([0, a, 0])
rotate([90, 0, 0])
cylinder(h = 6, d = 6, center = true);
}
}
//Socle du Bras
translate([20, 0, -8])
cube([30, 20, 2], center = true);
}
module fuselage() {
color("White")
union() {
hull() {
//Diamètre 1 (base au sol)
translate([0, 0, 0])
cylinder(h=0.1, d=15);
//Diamètre 2 (intersection)
translate([0, 0, 15])
cylinder(h=0.1, d=20);
//Création du haut du fuselatge qui est arrondi
difference() {
scale([0.69, 0.69, 4])
sphere(r=15);
translate([-50, -50, 50])
cube([100, 100, 100]);
translate([-50, -50, 15 - 100])
cube([100, 100, 100]);
}
}
}
}
module ailerons() {
color("Red")
//On répète 3 fois autour de l'axe
for(i = [60 : 120 : 360]) {
rotate([0, 0, i])
translate([8, 0, 10])
rotate([90, 0, 0]) // On met à plat verticalement
linear_extrude(height=3, center=true)
//Pour la forme
polygon(points=[
[0, -6],
[2, 5],
[10, 0],
[14, -18],
[10, -18]
]);
}
}
//Pince à fusée
module Pince(){
translate([-4,0,56.15])
rotate([0,80,0])
difference() {
//Le corps de la pince
cylinder(h = 15, d = 23, center = true);
//Le trou pour la fusee
translate([-95,-50,-20])
cube([100,100,100]);
translate([0,0,-15])
fuselage();
translate([0,0,-15])
ailerons();
}
}
union(){
color("Grey")
Socle();
color("Grey")
translate([-30,0,16])
Bras();
color("Grey")
Pince();
}
-
Réglages d'impression
- Hauteur de couche : 0,2 mm (SPEED)
- Remplissage : 20 %
- Température de la buse : 215 °C (première couche) | 210°C (autres canapés)
- Température du plateau : 65 °C (première et autres canapés)
- Vitesse d'impression : paramètres par défaut de PrusaSlicer
- Supports : Support sur plateau uniquement
- Adhérence au plateau : par défaut
Pour bien imprimer la pièce, j'ai ajouté des supports partout car il y a un point de faiblesse qui ne m'aurait pas permis d'imprimer correctement.
-
Étapes de réalisation
-
- Recherche et récupération du fichier STL
- Vérifier l'échelle du modèle (Ici l'échelle est de 120%)
- Vérifier l'orientation et la position sur le plateau
- Importation du fichier STL dans PrusaSlicer
- Normes de vérification des réglages
- Ajustement si nécessaire
- Génération du G-code
- Lancement de l'impression 3D
- Observation de la formation des couches et suivi du retour.
- Surveiller la première couche
- Recherche et récupération du fichier STL
-
Résultat
Voici le résultat de cette impression :
Le résultat final :
____________________________________________________________________________________________________________
PROJET Arduino
Réalisé avec Mariia KARPENKO visible via ce lien : Projet Arduino




. 
. 
. 
No Comments