// Boite de rangement paramétrable // Boite de rangement pour des piles AAA (diametre de 11 mm) //boite_de_rangement(pasX=13, pasY=13, nx=5, ny=3, h=25, hs=2, m=1); // Boite de rangement pour des piles AA (diametre de 15 mm) //boite_de_rangement(pasX=17, pasY=17, nx=4, ny=3, h=25, hs=2, m=1); // Boite de rangement pour des piles C (diametre de 26 mm) //boite_de_rangement(pasX=28, pasY=28, nx=2, ny=2, h=25, hs=2, m=1); // Boite de rangement pour des piles 6F22 (taille de 17 x 26 mm) //boite_de_rangement(pasX=19, pasY=28, nx=3, ny=2, h=25, hs=2, m=1); // Boite de rangement pour des piles 18650 (diametre de 19 mm) //boite_de_rangement(pasX=21, pasY=21, nx=2, ny=3, h=25, hs=2, m=1); // Boite de rangement pour Vernis à ongle (taille max de 30 x 30 mm) //boite_de_rangement(pasX=32, pasY=32, nx=4, ny=2, h=20, hs=2, m=1); // Boite de rangement pour carte SD couchée (taille de 25 par 33 mm) boite_de_rangement(pasX=32, pasY=34, nx=2, ny=1, h=20, hs=2, m=1); module boite_de_rangement(pasX=13, pasY=13, nx=5, ny=3, h=25, hs=2, m=1) { // pasX : Delta des cases axe x // pasY : Delta des cases axe y // nx : Nombre de cases sur l'axe x // ny : Nombre de cases sur l'axe y // h : Hauteur totale // hs : Hauteur du fond // m : Epaisseur des murs (entre case ou sur les bords)*/ // La taille totale sur l'axe x est nx*pasX+m // La taille totale sur l'axe y est ny*pasY+m // La taille totale sur l'axe z est h // L'interieur d'une case sur l'axe x est pasX-m // L'interieur d'une case sur l'axe y est pasY-m // L'interieur d'une case sur l'axe z est h-hs lx=nx*pasX; ly=ny*pasY; // Socle translate([-m/2-lx/2, -m/2-ly/2, 0])cube([nx*pasX+m, ny*pasY+m, hs]); // Cube de contour difference() { translate([-m/2-lx/2, -m/2-ly/2, 0])cube([nx*pasX+m, ny*pasY+m, h]); translate([-lx/2, -ly/2, -.5])cube([nx*pasX, ny*pasY, h+1]); } // Case de rangement for(ix=[0:nx-1]) { for(iy=[0:ny-1]) { translate([-lx/2+ix*pasX, -ly/2+iy*pasY, 0]) difference() { cube([pasX, pasY, h]); translate([m/2, m/2, -.5]) { cube([pasX-m, pasY-m, h+1]); } } } } }