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.
80 lines
3.1 KiB
80 lines
3.1 KiB
// ============================================= |
|
// SUPERIEURE.scad — Le chapeau |
|
// ============================================= |
|
|
|
include <parametres.scad> |
|
|
|
superieure(); |
|
|
|
module superieure() { |
|
difference() { |
|
|
|
// ── 1. BLOC DE BASE + LÈVRE D'EMBOÎTEMENT ──────────────────── |
|
union() { |
|
|
|
// Corps principal du chapeau |
|
cube([chapeau_ext_x, chapeau_ext_y, chapeau_ext_z]); |
|
|
|
// Lèvre d'emboîtement — cadre périphérique en bas du chapeau, |
|
// qui vient coiffer le bac par glissement vers le bas. |
|
translate([0, 0, -emboitement_profondeur]) |
|
difference() { |
|
// Bloc extérieur de la lèvre (même empreinte que le chapeau) |
|
cube([chapeau_ext_x, chapeau_ext_y, emboitement_profondeur]); |
|
// On vide l'intérieur : ne reste que le cadre |
|
translate([epaisseur_paroi, epaisseur_paroi, -1]) |
|
cube([ |
|
chapeau_ext_x - 2 * epaisseur_paroi, |
|
chapeau_ext_y - 2 * epaisseur_paroi, |
|
emboitement_profondeur + 2 |
|
]); |
|
} |
|
} |
|
|
|
|
|
// ── 2. CAVITÉ PERFORATRICE ──────────────────────────────────── |
|
// Pavé creusé depuis le dessus, ouvert vers le haut. |
|
// Centré en X, décalé en Y selon cav_offset_y. |
|
// |
|
// Centrage en X dans le chapeau : |
|
cav_x = (chapeau_ext_x - cav_largeur) / 2; |
|
// Position en Y : paroi arrière + offset |
|
cav_y = epaisseur_paroi + cav_offset_y; |
|
// La cavité part du dessus et descend de cav_hauteur |
|
cav_z = epaisseur_fond; // démarre au-dessus du fond |
|
|
|
translate([cav_x, cav_y, cav_z]) |
|
cube([cav_largeur, cav_profondeur, cav_hauteur + 1]); // +1 pour sortir du dessus |
|
|
|
|
|
// ── 3. FENTE LATÉRALE — guide tract (face DROITE, centrée) ─── |
|
// Rainure horizontale débouchant sur la face droite (X max). |
|
// Centrée en Y sur la face. |
|
// La butée est le fond de la rainure (paroi non percée). |
|
// |
|
// Centre de la fente en Y = centre du chapeau |
|
fente_y = (chapeau_ext_y - fente_largeur) / 2; |
|
// Hauteur absolue de la fente (depuis le bas du chapeau) |
|
fente_z_abs = epaisseur_fond + fente_z; |
|
|
|
translate([ |
|
chapeau_ext_x - fente_profondeur, // la fente entre par la droite |
|
fente_y, |
|
fente_z_abs |
|
]) |
|
cube([fente_profondeur + 1, fente_largeur, fente_section]); // +1 pour déboucher |
|
|
|
|
|
// ── 4. TROU D'ÉVACUATION DES CONFETTIS ─────────────────────── |
|
// Trou carré dans le fond, positionné par evac_offset_x/y |
|
// depuis le coin intérieur bas-gauche / arrière. |
|
|
|
translate([ |
|
epaisseur_paroi + evac_offset_x, |
|
epaisseur_paroi + evac_offset_y, |
|
-1 // perce depuis en dessous |
|
]) |
|
cube([evac_taille, evac_taille, epaisseur_fond + 2]); |
|
|
|
} |
|
}
|
|
|