include <../../lib/chamfered-cube.scad> // All units in millimeters // // screw distance (on center), horizontal and vertical screwDX = 45; screwDY = 82; // paddle size pX = 33.7; pY = 66.3; // inter-switch distance (horizontal) interX = 12; // plate side size (square_ side = 120; pDepth = 6; backingDepth = 2; tDepth = pDepth + backingDepth; pOffsetX = (side - 2*pX - interX)/2; pOffsetY = (side - pY)/2; difference() { translate([0, 0, -2]) chamferedCube([side, side, tDepth - 3 + 2], chamfer=2); // bottom flush cut translate([-10, -10, -4]) cube([side + 20, side + 20, 4]); // paddle cutouts for (i = [0, 1]) { translate([pOffsetX + (pX + interX)*i, pOffsetY, -2]) cube([pX, pY, tDepth + 4]); } // interior-space carve-out translate([4, 4, -2]) chamferedCube([side - 8, side - 8, tDepth - 5 + 2]); }