45 lines
996 B
OpenSCAD
45 lines
996 B
OpenSCAD
include <BOSL2/std.scad>
|
|
|
|
// Parameter for console overwrite
|
|
b = 30.0;
|
|
t = 30.0;
|
|
|
|
module lid(b, t) {
|
|
bInner = b - 10;
|
|
tInner = t - 10;
|
|
|
|
if (bInner >= 6 && tInner >= 6) {
|
|
difference() {
|
|
cube([ b, t, 2 ], false);
|
|
|
|
bSpace = 5 + (((bInner + 2) % 8) / 2);
|
|
bAmount = (((bInner + 2) - bSpace + 5) / 8);
|
|
tSpace = 5 + (((tInner + 2) % 8) / 2);
|
|
tAmount = (((tInner + 2) - tSpace + 5) / 8);
|
|
|
|
for (i = [0:bAmount - 1], j = [0:tAmount - 1]) translate([ bSpace + i * 8, tSpace + j * 8, -1 ]) cube([ 6, 6, 3.5 ], false);
|
|
}
|
|
} else cube([ b, t, 2 ], false);
|
|
|
|
sideCut(b,t);
|
|
|
|
translate([b, 0, 0]) mirror([1, 0, 0]) sideCut(b,t);
|
|
}
|
|
|
|
module sideCut(b,t) {
|
|
difference() {
|
|
translate([0,0,2]) cube([3, 0.75 * t - 2.5,6.6], false);
|
|
|
|
translate([2.3,t/4+2,0.5]) rotate([-90,-90,0]) linear_extrude(0.5 * t) polygon(points=[
|
|
[-1,-1],
|
|
[-1,1],
|
|
[7, 1],
|
|
[5.1,-1]
|
|
]);
|
|
}
|
|
|
|
translate([0,0,2]) cube([1.4, t, 3.4], false);
|
|
}
|
|
|
|
lid(b, t);
|