85 lines
1.3 KiB
OpenSCAD
85 lines
1.3 KiB
OpenSCAD
|
// Stanley Tool Organizer Drawers/Separators for the side-panel
|
||
|
// by zeus - zeus@ctdo.de - CC-BY-NC-4.0
|
||
|
// -> https://www.thingiverse.com/zeus
|
||
|
// -> https://github.com/zeus86
|
||
|
// 2014-11-25
|
||
|
|
||
|
// =================================
|
||
|
|
||
|
//inner width
|
||
|
wi=60;
|
||
|
//overall width
|
||
|
wo=64;
|
||
|
//height
|
||
|
h=54;
|
||
|
//end-cylinder-diameter
|
||
|
cd=6.3;
|
||
|
//material thickness
|
||
|
mt=3;
|
||
|
//drawer height
|
||
|
dh=h/4;
|
||
|
//drawer width
|
||
|
dw=wi;
|
||
|
|
||
|
$fn=50;
|
||
|
|
||
|
// =================================
|
||
|
|
||
|
module inner_wall(){
|
||
|
translate([0,0,h/2]){
|
||
|
cube([wi-mt,mt,h],center=true);
|
||
|
}
|
||
|
translate([0,0,dh/2]){
|
||
|
cube([dw-mt,mt*2,dh],center=true);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
module outer_half_circle(){
|
||
|
translate([0,0,h/2]){
|
||
|
difference(){
|
||
|
cylinder(r=cd/2+mt,h=h,center=true);
|
||
|
cylinder(r=cd/2,h=h+1,center=true);
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
module cut_edge(){
|
||
|
translate([0,0,h/2]){
|
||
|
cube([wo,cd*3,h],center=true);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
// =================================
|
||
|
|
||
|
module drawer(){
|
||
|
intersection(){
|
||
|
union(){
|
||
|
inner_wall();
|
||
|
for (x=[wi/2+cd/4,-wi/2-cd/4]){
|
||
|
translate([x,0,0]){
|
||
|
outer_half_circle();
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
cut_edge();
|
||
|
}
|
||
|
}
|
||
|
|
||
|
module drawer_flat(){
|
||
|
intersection(){
|
||
|
union(){
|
||
|
inner_wall();
|
||
|
translate([wi/2+cd/4,0,0]){
|
||
|
outer_half_circle();
|
||
|
}
|
||
|
translate([-wi/2,0,h/2]){
|
||
|
cube([cd/2,cd*3,h],center=true);
|
||
|
}
|
||
|
}
|
||
|
cut_edge();
|
||
|
}
|
||
|
}
|
||
|
|
||
|
//drawer_flat();
|
||
|
drawer();
|