37 lines
793 B
OpenSCAD
37 lines
793 B
OpenSCAD
bays = 5;
|
|
wt = 2; // wall thickness
|
|
pt = 12; // phone thickness
|
|
l = 170; // length
|
|
h = 40; // height
|
|
w = bays * (pt + wt) + wt;
|
|
lip = 10;
|
|
|
|
T=atan((h - lip + 0.5) / l);
|
|
|
|
difference() {
|
|
union() {
|
|
cube([w, l, wt]); // base
|
|
cube([w, wt, lip]); // front lip
|
|
|
|
// back
|
|
translate([0, l - wt, 0])
|
|
cube([w, wt, h]);
|
|
|
|
// side walls
|
|
for (i = [0 : bays]) {
|
|
translate([i*(pt + wt), 0, lip]) rotate([T, 0, 0])
|
|
translate([0, 0, -h]) cube([wt, l / cos(T), h]);
|
|
}
|
|
}
|
|
|
|
translate([-wt, -wt, -h]) cube([w+2*wt, l+2*wt, h]); // bottom
|
|
translate([-wt, -wt, h]) cube([w+2*wt, l+2*wt, h]); // top
|
|
translate([-wt, l, -wt]) cube([w+2*wt, l, h + 2*wt]); // back
|
|
}
|
|
/*
|
|
sin(ang) = opp / hyp
|
|
ang = asin(opp/hyp)
|
|
cos(ang) = adj / hyp
|
|
hyp = adj / cos(ang)
|
|
*/
|