// Dimensions de la tasse cup_height = 100; // Hauteur de la tasse (en mm) cup_radius = 50; // Rayon externe de la tasse (en mm) wall_thickness = 5; // Épaisseur des parois (en mm) handle_radius = 35; // Rayon de l'anse (en mm) handle_thickness = 10; // Épaisseur de l'anse (en mm) // Création de la tasse module cup() { // Corps de la tasse difference() { cylinder(h = cup_height, r = cup_radius, center = false); // Cylindre externe translate([0, 0, wall_thickness]) { cylinder(h = cup_height - wall_thickness, r = cup_radius - wall_thickness, center = false); // Creux } } // Ajout de l'anse translate([cup_radius + handle_radius / 2, 0, cup_height / 2]) { handle(); } } // Module pour l'anse module handle() { difference() { // Partie externe de l'anse rotate([90, 0, 0]) { torus(r1 = handle_radius, r2 = handle_thickness); } // Partie interne de l'anse rotate([90, 0, 0]) { torus(r1 = handle_radius - handle_thickness, r2 = handle_thickness); } } } // Fonction pour créer un tore module torus(r1, r2) { rotate_extrude() { translate([r1, 0, 0]) { circle(r = r2); } } } // Afficher la tasse cup();