Skip to main content

Stanislas Castella-Soeters

M1 Management de l'innovation de l'innovation : 2025 - 2026
stanislas.castella-soeters@etu.sorbonne-universite.fr


Exercice 1 - Impression test : Marque page chat, (16 décembre 2025 - 9 janvier 2026)

Cette impression est une impression test, l'objectif était de se familiariser avec l'impression 3D. 

Matériel utilisé: 

  • Application PrusaSlicer et Printables 
  • Imprimante 3D Prusa MK4S
  • Filament PLA noir brillant

Je souhaitais imprimer quelque chose d'utile et que je ne possédai pas. L'idée d'un marque page m'a semblé approprié pour une première impression 3D. J'ai donc cherché des modèles de marque page sur Pintables.com. Trois ont retenu mon attention, une épée, les mains d'un monstre et un chat noir. Finalement j'ai imprimé le chat noir, voici le lien et voici les images extraites du site Pintables:

Screen Shot 2026-02-06 at 16.10.38.jpg

Image 1: Modèle 3D du marque page chat sur Pintables 

Screen Shot 2026-02-06 at 16.26.08.jpg

Image 2: Visualisation du modèle dans PrusaSlicer


78973808289__4791FF97-54EF-46F4-B58A-98F40773D9D8.jpegImage 3: Photographie de mon impression 3D test en action 

Exercice 2 - Impression d'un objet en contenant un autre : Sifflet (

IMG_0769.jpeg



Exercice 3 - Impression d'un objet modélisé sur OpenScad : Maracas avec 4 billes (6 Février 2026)

Screen Shot 2026-02-06 at 15.04.57.jpg



/* [General Settings] */
// Select what to render
mode = "view_all"; // [view_all, print_half_1, print_half_2, print_tiny_spheres]

/* [Dimensions] */
/* [Détails de la maracas] */
// Longueur total de la maracas (mm)
rattle_length = 100; // [80:150]
// Diamètre de la sphère de la maracas (mm)
head_diameter = 45; // [30:80]
// Diamètre de la poignée (mm)
handle_diameter = 12; // [8:25]
// Épaisseur des parois du maracas (mm).
wall_thickness = 2.4; 

/* [Détails des quatres billes] */
// Number of tiny spheres
sphere_count = 4;
// Wall thickness for the tiny spheres
sphere_wall = 0.8; 
// Distance to move spheres away from the rattle body
sphere_distance_from_body = 20;

/* [Detail] */
// Smoothness of the curves
$fn = 100;

// --- Calculated Values ---
tiny_sphere_size = head_diameter / 5;

// --- Geometry Modules ---

module rattle_body() {
    // We group the geometry and move it UP so the bottom touches Z=0
    translate([0, 0, handle_diameter/2]) 
    union() {
        // 1. The Hollow Head
        translate([0, 0, rattle_length - (head_diameter/2)])
        difference() {
            sphere(d = head_diameter);
            sphere(d = head_diameter - (wall_thickness * 2));
        }
        
        // 2. The Handle
        cylinder_height = rattle_length - (head_diameter/2) + 2; 
        
        translate([0,0,0])
        union() {
            cylinder(h = cylinder_height, d = handle_diameter);
            // The bottom cap
            sphere(d = handle_diameter);
        }
    }
}

module tiny_spheres_set() {
    // Generate the row of spheres
    for (i = [0 : sphere_count-1]) {
        // X spacing: diameter + 5mm gap
        x_pos = i * (tiny_sphere_size + 5);
        
        // Z position: Lift up by radius so the bottom touches 0
        z_pos = tiny_sphere_size / 2;
        
        translate([x_pos, 0, z_pos])
        difference() {
            sphere(d = tiny_sphere_size);
            sphere(d = tiny_sphere_size - (sphere_wall * 2));
        }
    }
}

// --- Rendering Logic ---

if (mode == "view_all") {
    // 1. Render the Rattle (Base is at Z=0 inside the module)
    rattle_body();
    
    // 2. Render the Tiny Spheres
    // We move them to the right of the rattle head
    translate([head_diameter/2 + sphere_distance_from_body, 0, 0])
    tiny_spheres_set();
}

else if (mode == "print_half_1") {
    // Lay rattle flat for printing (Left Half)
    rotate([0, 90, 0])
    difference() {
        // We must undo the "standing" translation to rotate it correctly around center
        translate([0,0,-handle_diameter/2]) rattle_body();
        translate([-500, -1000, -500]) cube([1000, 2000, 1000]);
    }
}

else if (mode == "print_half_2") {
    // Lay rattle flat for printing (Right Half)
    rotate([0, -90, 0])
    difference() {
        translate([0,0,-handle_diameter/2]) rattle_body();
        translate([-500, -1000, -500]) cube([1000, 2000, 1000]);
    }
}

else if (mode == "print_tiny_spheres") {
    // Render the spheres sitting on the bed
    tiny_spheres_set();
}

Exercice 4 - Arduino