You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
61 lines
2.5 KiB
61 lines
2.5 KiB
// ============================================= |
|
// COUVERCLE.scad |
|
// Coiffe la partie supérieure par l'extérieur, |
|
// même principe d'emboîtement que chapeau/bac. |
|
// Ouverture rectangulaire centrée sur la cavité. |
|
// ============================================= |
|
|
|
include <parametres.scad> |
|
|
|
couvercle(); |
|
|
|
module couvercle() { |
|
|
|
// Dimensions extérieures du couvercle. |
|
// La lèvre intérieure doit glisser autour du chapeau : |
|
// on ajoute le jeu + l'épaisseur de paroi de chaque côté. |
|
couv_ext_x = chapeau_ext_x + 2 * (epaisseur_paroi + emboitement_jeu); |
|
couv_ext_y = chapeau_ext_y + 2 * (epaisseur_paroi + emboitement_jeu); |
|
couv_ext_z = couvercle_epaisseur + emboitement_profondeur; |
|
|
|
// Centre de la cavité en X/Y dans le repère du couvercle. |
|
// La cavité est centrée en X dans le chapeau, et positionnée en Y par cav_offset_y. |
|
// Dans le repère du couvercle, on décale de epaisseur_paroi + emboitement_jeu |
|
// pour compenser le débord de la lèvre. |
|
offset_couv = epaisseur_paroi + emboitement_jeu; // décalage repère chapeau → couvercle |
|
|
|
cav_centre_x = offset_couv + epaisseur_paroi + chapeau_int_x / 2; |
|
cav_centre_y = offset_couv + epaisseur_paroi + cav_offset_y + cav_profondeur / 2; |
|
|
|
difference() { |
|
|
|
// ── 1. BLOC DE BASE ─────────────────────────────────────────── |
|
cube([couv_ext_x, couv_ext_y, couv_ext_z]); |
|
|
|
|
|
// ── 2. ÉVIDEMENT INTÉRIEUR — lèvre d'emboîtement ───────────── |
|
// On creuse le dessous du couvercle pour qu'il vienne coiffer |
|
// le chapeau. La lèvre a l'épaisseur epaisseur_paroi. |
|
translate([epaisseur_paroi, epaisseur_paroi, -1]) |
|
cube([ |
|
couv_ext_x - 2 * epaisseur_paroi, |
|
couv_ext_y - 2 * epaisseur_paroi, |
|
emboitement_profondeur + 1 // s'arrête au plateau |
|
]); |
|
|
|
|
|
// ── 3. OUVERTURE RECTANGULAIRE ──────────────────────────────── |
|
// Trou traversant le plateau, centré sur la cavité perforatrice. |
|
translate([ |
|
cav_centre_x - couvercle_ouv_largeur / 2, |
|
cav_centre_y - couvercle_ouv_profondeur / 2, |
|
emboitement_profondeur - 1 // perce depuis le plateau vers le haut |
|
]) |
|
cube([ |
|
couvercle_ouv_largeur, |
|
couvercle_ouv_profondeur, |
|
couvercle_epaisseur + 2 |
|
]); |
|
|
|
} |
|
} |