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.
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.
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.
// Dimensionsinner_radius = 10; // Rayon de la bouleouter_radius = inner_radius + 2; // Rayon interne de l'objet contenant la boulethickness = 3; // Épaisseur des parois de l'objetview_hole_width = 10; // Largeur de l'ouvertureview_hole_height = 5; // Hauteur de l'ouverture
// Hauteur totale de l'objetheight = outer_radius * 2 + thickness;
// Module pour créer le conteneur avec une ouverturemodule 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 fonctioncontainer_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'anneaubadge_with_ring(badge_with_ring_and_connectors();