// Paramètres de l'étoile
points = 5;          // Nombre de branches
rayon_externe = 50;  // Rayon externe des branches
rayon_interne = 20;  // Rayon interne entre les branches
hauteur_totale = 10; // Hauteur totale de l'étoile (épaisseur)
diametre_aimant = 10; // Diamètre de l'aimant
profondeur_aimant = 3; // Profondeur de la cavité pour l'aimant

// Fonction pour créer une étoile 2D
module etoile() {
    polygon(points=[
        for (i = [0 : 2 * points - 1]) 
            let (angle = i * 360 / (2 * points))
                [cos(angle) * (i % 2 == 0 ? rayon_externe : rayon_interne), 
                 sin(angle) * (i % 2 == 0 ? rayon_externe : rayon_interne)]
    ]);
}

// Création de la cavité pour l'aimant à l'intérieur de l'étoile
module cavite_aimant() {
    translate([0, 0, 0])
        cylinder(h = profondeur_aimant, d = diametre_aimant); // Cavité cylindrique à l'intérieur
}

// Créer l'étoile avec la cavité à l'intérieur
difference() {
    // Extrusion de l'étoile en 3D
    linear_extrude(height = hauteur_totale)
        etoile();
    // Ajouter la cavité pour l'aimant
    translate([0, 0, 0]) // Positionner la cavité au centre de l'étoile
        cavite_aimant();
}