Duru ERDEM
Objet 1: Fonctionnel
// Paramètres de la toupie
$fn = 20;
handle_diameter = 10; // Diamètre de la poignée
handle_height = 15; // Hauteur de la poignée
body_diameter = 40; // Diamètre maximal de la sphère
tip_diameter = 2; // Diamètre de la pointe (plus fine)
tip_height = 20; // Hauteur du cône (plus pointu)
segments = 120; // Résolution pour les formes arrondies
// Module pour une toupie
module toupie() {
// Corps sphérique
translate([0, 0, tip_height])
sphere(d = body_diameter, $fn = segments);
// Pointe conique sous la sphère
translate([0, 0, 0]) // Alignement sous la sphère
rotate([0,180,0])
cylinder(h = 8, r1 = 8 / 2, r2 = 0, center = false, $fn = segments);
// Poignée au sommet
translate([0, 0, tip_height + body_diameter / 2 - 1])
cylinder(h = handle_height, r1 = handle_diameter / 2, r2 = handle_diameter / 2, center = false, $fn = segments);
}
// Appel pour afficher la toupie
toupie();
--------------------------
// Module pour un anneau
$fn = 100;
module anneau(rayon_exterieur, epaisseur) {
difference() {
// Anneau extérieur
cylinder(r = rayon_exterieur, h = epaisseur, center = true);
// Trou intérieur
cylinder(r = rayon_exterieur - epaisseur, h = epaisseur + 1, center = true);
}
}
// Deux anneaux entrelacés
module anneaux_entrelaces(rayon_exterieur, epaisseur, distance) {
anneau(rayon_exterieur, epaisseur); // Premier anneau
translate([distance-2, 0, 0])
rotate([90, 0, 0])
anneau(rayon_exterieur, epaisseur); // Deuxième anneau entrelacé
}
// Paramètres
rayon_exterieur = 15; // Rayon extérieur des anneaux
epaisseur = 5; // Épaisseur de l'anneau
distance = 20; // Distance pour les entrelacer
// Affichage des anneaux entrelacés
anneaux_entrelaces(rayon_exterieur, epaisseur, distance);
----------------------