Valentin KOK

Impression d'un objet simple (16/12/2025)

Pour la première séance, l'objectif était d'imprimer un objet simple de son choix pour se familiariser avec les imprimantes.

J'ai choisi un modèle 3D d'un modèle réduit d'une épée en téléchargeant un fichier disponible sur le site printables.com

L'objet est imprimé en 2 parties qui doivent ensuite être assemblées avec de la colle. J'ai réduit la taille à une longueur d'environ 5cm pour une largeur de 2cm, pour réduire le temps d'impression, et j'ai choisi un réglage de 20mm. Ces réglages donnent un temps d'impression de 5 minutes

Capture d’écran (1).png

Le résultat s'est imprimé sans difficulté particulière, il suffit ensuite de coller les deux parties

20251216_135419.jpg20251216_140214.jpg

Découverte de OpenSCAD

L'objectif était d'utiliser le logiciel OpenSCAD pour modéliser un objet en se familiarisant avec les fonctions du logiciel.

J'ai modélisé un visage sur un objet de type pièce de monnaie en décomposant le modèle en différents "modules":

Ensuite en utilisant la fonction union() j'ai réuni ces modules, en copiant deux fois le module eye et en traçant des sourcils (en utilisant des cubes + linear_extrude).

Capture d’écran (8).png

Le code :

function f(x) = 0.1*x^2 ;

function g(x) = 0.02*x^2 ;

module face(){
union() {
   
        translate([0,25]) {
            linear_extrude(2){
        circle(30);
            }
        }
       
    

    
    difference() {
        translate([0,25,2]) {
        linear_extrude(2){
            circle(30);
            }
        }
        translate([0,25,0]) {
        linear_extrude(10){
            circle(28);
            }
        }
    
}
            
    
  }
}


module eye() {
    for (x = [ -15 : 5 : 15 ])
            translate([x, f(x), 0])     cylinder(5,3,2);
    translate([0,50]) {
    for (x = [ -15 : 5 : 15 ])
            translate([x, -f(x), 0])     cylinder(5,3,2);
    }
    difference(){  
    translate([0,25]) {
        cylinder(5,5,5);
    }
    translate([0,25,0]) {
        cylinder(10,2,2);
    }
    }
}

module mouth() {
    for (x = [ -15 : 5 : 15 ])
            translate([x, g(x), 0])     cylinder(3,4,4);
}

scale([2,2,2]) {
    union() {
        scale([1.5,1.5,1.5]) face();
        translate([10,5,3]) {
            scale([0.5,0.5,0.5]) {
            eye();
            }
        }
        
        translate([10,45,3]) {
            scale([0.5,0.5,0.5]) {
            eye();
            }
        }
        
        translate([25,45,3]) {
            rotate([0,0,85]){
            cube([20,2,3]);
            }
        }
        
        translate([25,10,3]) {
            rotate([0,0,95]){
            cube([20,2,3]);
            }
        }
        
        translate([-30,38,3]) {
            rotate([0,0,270]){
            mouth();
            }
        }
        
    }
}



Création d'un objet avec pause pendant l'impression : Dé pipé

J'ai choisi de créer un dé truqué : pour cela j'ai réalisé un cube creux et j'ai creusé sur les faces pour marquer les chiffres. Ensuite j'ai réalisé un poids qui sera imprimé en même temps que le dé.

Lorsque le poids est complètement imprimé, je mets l'impression en pause. Ensuite je peux coller le poids à l'intérieur du dé sur la face du bas pour truquer le dé.

Capture d'écran 2026-01-10 143440.png

Mise en pause de l'impression :

20260116_095447.jpg

Collage du poids à l'intérieur du dé : 

20260116_095555.jpg

Résultat final :

20260116_101935.jpg

Conclusion : le poids est collé à l'intérieur de façon à faire ressortir la face 1 plus souvent. Cependant le poids étant de petite taille et imprimé en PLA, il est un peu trop léger pour que l'effet soit significatif. Pour faire un dé avec un truquage vraiment efficace il faudrait réaliser un poids de plus grande taille ou prendre une masse faite dans un matériau plus lourd.

Code :


taille_de = 20;      
r = 1.5;  
    



module de(taille_de, courbure) {
    difference(){
    minkowski() {
        cube(taille_de - 2*courbure, center=true);
        sphere(courbure);
    }
    cube(taille_de-2,center=true);
    }
}

module point(x, y, z, axe) {
    rotate(axe)
        translate([x, y, z])
            sphere(r = r);
}

translate([0,0,taille_de/2])difference() {

    de(taille_de,2);

    // Face 1
    point(0, 0, taille_de/2, [0,0,0]);

    // Face 6
    point(-4, -4, taille_de/2, [180,0,0]);
    point( 4, -4, taille_de/2, [180,0,0]);
    point(-4,  0, taille_de/2, [180,0,0]);
    point( 4,  0, taille_de/2, [180,0,0]);
    point(-4,  4, taille_de/2, [180,0,0]);
    point( 4,  4, taille_de/2, [180,0,0]);

    // Face 2
    point(-4, -4, taille_de/2, [0,90,0]);
    point( 4,  4, taille_de/2, [0,90,0]);

    // Face 5
    point(-4, -4, taille_de/2, [0,-90,0]);
    point( 4, -4, taille_de/2, [0,-90,0]);
    point( 0,  0, taille_de/2, [0,-90,0]);
    point(-4,  4, taille_de/2, [0,-90,0]);
    point( 4,  4, taille_de/2, [0,-90,0]);

    // Face 3
    point(-4, -4, taille_de/2, [90,0,0]);
    point( 0,  0, taille_de/2, [90,0,0]);
    point( 4,  4, taille_de/2, [90,0,0]);

    // Face 4
    point(-4, -4, taille_de/2, [-90,0,0]);
    point( 4, -4, taille_de/2, [-90,0,0]);
    point(-4,  4, taille_de/2, [-90,0,0]);
    point( 4,  4, taille_de/2, [-90,0,0]);
}

module poids(){
cube([taille_de/3,taille_de/2,taille_de/6], center=true);
  
}

translate([40,0,taille_de/12]) poids();

Partie Arduino : Découverte Arduino : Valentin KOK et Mohammed-Amine MOUBARRAD


Revision #13
Created 9 January 2026 13:00:42 by Kok Valentin
Updated 30 January 2026 13:37:33 by Kok Valentin