filament-counter-v2/openscad/main_bottom.scad

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);
}
}
}
}