60 lines
1.2 KiB
OpenSCAD
60 lines
1.2 KiB
OpenSCAD
size_x = 85;
|
|
size_y = 85;
|
|
size_z = 10;
|
|
thick = 1.5;
|
|
pcb = 1.6;
|
|
rad_hole = 2;
|
|
seg = 360;
|
|
rad_display = 1;
|
|
// 10 - dist between display and pcb, 1 - display thick
|
|
pillar = size_z - thick + 10 + 1;
|
|
usb_x = 9;
|
|
usb_z = 0.6;
|
|
|
|
union()
|
|
{
|
|
difference()
|
|
{
|
|
// Main Block
|
|
cube([size_x, size_y, size_z], center = true);
|
|
|
|
// Hollow
|
|
translate([0, 0, thick])
|
|
{
|
|
cube([size_x - 2 * thick, size_y - 2 * thick, size_z], center = true);
|
|
}
|
|
|
|
// Cut USB
|
|
translate([-5.75, size_y/2 - thick/2, size_z/2])
|
|
{
|
|
cube([usb_x, thick * 2, usb_z*2], center = true);
|
|
}
|
|
}
|
|
|
|
// Add Screw Holders
|
|
for (y = [-1:1:1])
|
|
{
|
|
x = y == 0 ? -1 : 1;
|
|
|
|
translate([13.5 + x * 22.25, y * 35.75, -pcb + thick])
|
|
{
|
|
difference()
|
|
{
|
|
cylinder(size_z - thick - pcb, rad_hole + 1, rad_hole + 1, $fn = seg, center = true);
|
|
cylinder(size_z, rad_hole, rad_hole, $fn = seg, center = true);
|
|
}
|
|
}
|
|
}
|
|
|
|
// Add Display Pillars
|
|
for (x = [-1:2:1])
|
|
{
|
|
for (y = [-1:2:1])
|
|
{
|
|
translate([13.25 + x * 10.35, 10.75 + y * 11.6, pillar/2 - size_z/2 + thick])
|
|
{
|
|
cylinder(pillar, rad_display, rad_display, $fn = seg, center = true);
|
|
}
|
|
}
|
|
}
|
|
} |