Skip to main content

Marie CLEMENT

Méthode utilisée pour créer un objet 3D :

  • Réfléchir à la fonction et au design de l'objet
  • Créer un code python sur OpenScad pour réaliser un prototype numérique de l'objet 
  • Après obtention de l'aperçu désiré : 
    • Importer, grâce à un fichier STL généré depuis OpenScad, le code sur PrusaSlicer
  • Modifier la taille de l'objet depuis le logiciel de modélisation 3D
  • Générer un bgcode
  • Imprimer depuis les imprimantes 3D du fablab l'objet

1er objet : porte-stylo :

Mon objectif avec ce projet était de réaliser un porte-stylo fonctionnel et design en ajoutant des motifs 3D à la surface de mon objet.

Voici le code OpenScad 

// Porte-stylo avec fond solide et motifs sur l'extérieur des parois
module porte_stylo_avec_fond_et_motifs() {
    difference() {
        // Corps principal du porte-stylo
        cylinder(h = 100, r = 40, center = false);

        // Trou intérieur pour insérer les stylos
        translate([0, 0, 0])
            cylinder(h = 95, r = 35, center = false);
    }

    // Motifs décoratifs sur l'extérieur
    for (angle = [0:30:360]) { // Répartis tous les 30 degrés
        for (height = [20, 40, 60]) { // À différentes hauteurs
            rotate([0, 0, angle])
            translate([40, 0, height]) // Positionnement juste à l'extérieur
                cylinder(h = 2, r = 3, center = true); // Petits cylindres décoratifs
        }
    }
}

// Appeler le module
porte_stylo_avec_fond_et_motifs();

Voici l'aperçu de l'objet depuis la plateforme OpenScad 

image.png

 

Voici l'aperçu de l'objet depuis PrusaSlicer 

image.png

Voici l'objet réalisé : 

image.png

2ème objet : une sphère dans une sphère ajourée 

Mon objectif avec ce projet était de concevoir un objet réalisable seulement grâce à l'aide d'une imprimante 3D

Voici le code OpenScad 

// Fonction pour créer un cylindre avec une rotation donnée
module rotated_cylinder(height, radius, rotation_angles) {
    rotate(rotation_angles) // Applique une rotation à l'objet
    cylinder(h=height, r=radius, center=true, $fn=100); // Crée un cylindre avec les paramètres donnés
}

// Paramètres communs
radius_big = 20;  // Rayon de la grande sphère
radius_small = 16;  // Rayon de la petite sphère
radius_cyl = 10;  // Rayon des cylindres
height = 70;  // Hauteur des cylindres
sphere_fn = 100;  // $fn pour les sphères
cylinder_fn = 100;  // $fn pour les cylindres

// Fonction principale
difference() {
    // Création de la grande sphère
    color("blue")  // Couleur bleue pour la grande sphère et les cylindres
    sphere(r=radius_big, $fn=sphere_fn);  // Crée une sphère avec rayon `radius_big` et facettes définies par `sphere_fn`
    
    // Création de la petite sphère
    color("green")  // Couleur verte pour la petite sphère
    sphere(r=radius_small, $fn=sphere_fn);  // Crée une sphère plus petite avec rayon `radius_small`
    
    // Création du cylindre vertical (même couleur que la grande sphère)
    color("blue")  // Couleur bleue pour le cylindre
    cylinder(h=height, r=radius_cyl, center=true, $fn=cylinder_fn);  // Crée un cylindre vertical
    
    // Création du cylindre tourné autour de l'axe X (même couleur que la grande sphère)
    color("blue")  // Couleur bleue pour le cylindre tourné autour de l'axe X
    rotated_cylinder(height, radius_cyl, [90, 0, 0]);  // Crée un cylindre tourné de 90° autour de l'axe X
    
    // Création du cylindre tourné autour de l'axe Y (même couleur que la grande sphère)
    color("blue")  // Couleur bleue pour le cylindre tourné autour de l'axe Y
    rotated_cylinder(height, radius_cyl, [0, 90, 0]);  // Crée un cylindre tourné de 90° autour de l'axe Y
}

// Création de la sphère centrale
color("red")  // Couleur rouge pour la sphère centrale
sphere(r=13, $fn=sphere_fn);  // Crée une sphère rouge avec un rayon de 13

Voici l'aperçu de l'objet depuis la plateforme OpenScad 

image.png

Voici l'aperçu de l'objet depuis PrusaSlicer 

image.png

Voici l'objet réalisé : 

image.png