Skip to main content

Rabah Hamiteche

Exercice 1 : créer un objet fonctionnel sur open Scad :

J'ai décidé de créer un porte-sopalin car c'est un objet fonctionnel et essentiel dans notre quotidien. Il permet de ranger et de maintenir un rouleau de papier essuie-tout à portée de main, tout en optimisant l'espace dans la cuisine ou la salle de bain.            De plus, sa conception dans OpenSCAD est un bon exercice pour apprendre à utiliser des formes simples comme les cylindres et les cubes, ainsi que des transformations comme les rotations et les translations.

Voici le lien : PORTE SOPALIN RABAH.scad

Les différentes étapes m'ayant permis d'effectuer cela sont : 

          -après avoir installé le logiciel OpenScad, je me suis d'abord familiarisé avec le logiciel en effectuant des programmes pour concevoir des formes et objets simples

          -puis, je me suis rendu sur le site d'Open Scad et j'ai été consulté les modules et formulaires permettant d'avoir les fonctions de base nécessaire à la création du programme 

          -enfin, avec tous ces outils en main, j'ai créée mon programme : d'abord pour créer la base, puis le poteau central positionné au centre de la base. Pour finaliser, j'ai ajusté les dimensions et les proportions des différentes parties afin que l'objet soit à la fois esthétique et fonctionnel.

image.png

J'ai ensuite télécharger le fichier au format SLT et j'ai utilisé le logiciel prusaslicer afin de pouvoir faire les réglages et lancer l'impression en exportant le Gcode.

Les paramètres d’impression :

    • Échelle : 100%

    • Buse : 225°C
    • Plateau : 65°C
    • Filament : Prusament PLA, 1,75 mm de diamètre
    • Supports : activés partout
    • Remplissage : 15%
    • Réglages d’impression : paramètres par défaut de PrusaSlicer (qualité standard, épaisseur de couche classique)

Exercice 2 : Créer un objet qui est impossible à fabriquer autrement que avec l'imprimante 3D : 

Cet objet est un exemple de ce que l'on peut réaliser avec l'impression 3D, car cette technologie permet de produire des formes complexes et de les assembler en une seule étape, sans nécessiter de techniques externes d'assemblage. Les sphères séparées mais reliées par un cylindre sont un design qui exploite la liberté de création offerte par l'impression 3D, ce qui rend cette réalisation particulièrement adaptée à cette technologie.

Voici le lien : objet 3D rabah.scad

1) J'ai d'abord commencé par définir deux sphères avec un rayon précis

2) Puis j'ai ajouté l'élément de connexion (un cylindre) permettant de relier ces deux sphères.

3) Grâce à la fonction translate, j'ai pu positionner les sphères et le cyclindre pour qu'ils soient alignés. 

image.png

J'ai ensuite télécharger le fichier au format SLT et j'ai utilisé le logiciel prusaslicer afin de pouvoir faire les réglages et lancer l'impression en exportant le Gcode.

Après retour du professeur, je vais faire un autre objet car celui-ci ne répond pas à la question. 

 

// Dimensions
inner_radius = 10;       // Rayon de la boule
outer_radius = inner_radius + 2; // Rayon interne de l'objet contenant la boule
thickness = 3;           // Épaisseur des parois de l'objet
view_hole_width = 10;    // Largeur de l'ouverture
view_hole_height = 5;    // Hauteur de l'ouverture

// Hauteur totale de l'objet
height = outer_radius * 2 + thickness;

// Module pour créer le conteneur avec une ouverture
module container_with_ball() {
    // Conteneur externe avec ouverture
    difference() {
        // Conteneur principal
        difference() {
            // Boîte externe
            cylinder(h = height, r = outer_radius + thickness, $fn = 100);
            // Vide interne
            translate([0, 0, thickness])
                cylinder(h = height - 2 * thickness, r = outer_radius, $fn = 100);
        }
        // Découpe pour l'ouverture (rectangulaire)
        translate([-view_hole_width / 2, -outer_radius - thickness, height / 2 - view_hole_height / 2])
            cube([view_hole_width, 2 * (outer_radius + thickness), view_hole_height]);
    }
    // Boule interne
    translate([0, 0, height / 2])
        sphere(r = inner_radius, $fn = 100);
}

// Appel de la fonction
container_with_ball();

 

// Dimensions
badge_radius = 30;           // Rayon du badge
badge_thickness = 5;         // Épaisseur du badge
ring_radius = 40;            // Rayon interne de l'anneau
ring_thickness = 5;          // Épaisseur de l'anneau
ring_gap = 2;                // Espace entre le badge et l'anneau
connector_width pour= le4;         mouvement// Largeur des connexions
connector_thickness = 3;     // Épaisseur des connexions
text_size = 20;              // Taille du texte "R"
text_depth = 2;              // Profondeur de gravure du texte

// Module pour le badge
module badge() {
    // Badge principal avec texte
    difference() {
        // Cylindre pour le badge
        cylinder(h = badge_thickness, r = badge_radius, $fn = 100);

        // Gravure du texte "R"
    difference() {
        // Badge de base
        cylinder(h = badge_thickness, r = badge_radius, $fn = 100);

        // Texte gravé
        translate([-text_size / 2, -text_size / 2, badge_thickness - text_depth])
            linear_extrude(height = text_depth)
                text("R", size = text_size, valign = "center", halign = "center", font = "Liberation Sans");
    }
}

// Module pour l'anneau qui bouge
module moving_ring() {
    difference() {
        // Anneau externe
        cylinder(h = badge_thickness, r = ring_radius + ring_thickness, $fn = 100);
        // Vide interne pour créer l'anneau
        cylinder(h = badge_thickness + ring_gap, r = ring_radius, $fn = 100);
    }
}

// AssemblageModule dupour les connexions entre le badge et de l'anneau
module badge_with_ring(connectors() {
    for (angle = [0, 180]) {
        rotate([0, 0, angle])
            translate([ring_radius - connector_width / 2, 0, badge_thickness / 2 - connector_thickness / 2])
                cube([connector_width, connector_thickness, badge_thickness], center = true);
    }
}

// Assemblage complet : badge, anneau, et connexions
module badge_with_ring_and_connectors() {
    badge(); // Badge fixe au centre
    translate([0, 0, -ring_gap / 2])
        moving_ring(); // Anneau autour
    connectors(); // Connexions entre le badge et l'anneau
}

// Appel de la fonction pour générer le badge avec l'anneau
badge_with_ring(badge_with_ring_and_connectors();