70 lines
1.4 KiB
OpenSCAD
70 lines
1.4 KiB
OpenSCAD
x_size = 75;
|
|
y_size = 40;
|
|
z_size = 13;
|
|
pcb_x = 70;
|
|
pcb_y = 35;
|
|
wall_size = 1;
|
|
hole_rad = 2;
|
|
screen_x = 30;
|
|
screen_y = 12;
|
|
|
|
union()
|
|
{
|
|
difference()
|
|
{
|
|
// Main
|
|
cube([x_size, y_size, z_size], center = true);
|
|
|
|
// Hollow
|
|
translate([0, 0, wall_size])
|
|
{
|
|
cube([x_size - 2 * wall_size, y_size - 2 * wall_size, z_size], center = true);
|
|
}
|
|
|
|
// Display Cutout
|
|
translate([pcb_x/2 - screen_x/2 + 1 - 5, pcb_y/2 - screen_y/2 - 1, 0])
|
|
{
|
|
cube([screen_x, screen_y, z_size + 1], center = true);
|
|
}
|
|
|
|
// Button Cutout
|
|
translate([-16 + 1, -12.5 - 1, 0])
|
|
{
|
|
cube([8, 8, z_size + 1], center = true);
|
|
}
|
|
|
|
// Switch Cutout
|
|
translate([0 + 1, -y_size/2 + wall_size/2, z_size/2 - 6/2])
|
|
{
|
|
cube([5, wall_size * 2, 6], center = true);
|
|
}
|
|
}
|
|
|
|
// Bottom Hole Mounts
|
|
for (i = [-1:2:1])
|
|
{
|
|
translate([i * (pcb_x/2 - 3) + 1, -(pcb_y/2 - 3) - 1, 0])
|
|
{
|
|
difference()
|
|
{
|
|
cylinder(z_size, hole_rad + 1, hole_rad + 1, $fn = 360, center = true);
|
|
translate([0, 0, wall_size])
|
|
{
|
|
cylinder(z_size, hole_rad, hole_rad, $fn = 360, center = true);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
// Top Hole Mount
|
|
translate([-((41 - pcb_x/2)) + 1, pcb_y/2 - 3 - 1, 0])
|
|
difference()
|
|
{
|
|
cylinder(z_size, hole_rad + 1, hole_rad + 1, $fn = 360, center = true);
|
|
translate([0, 0, wall_size])
|
|
{
|
|
cylinder(z_size, hole_rad, hole_rad, $fn = 360, center = true);
|
|
}
|
|
}
|
|
}
|