filament-counter-v2/openscad/bot.scad

62 lines
1.1 KiB
OpenSCAD

thick = 1.5;
size_x = 35;
size_y = 57.5;
size_z = 5;
size_pcb = 1;
top_y = 20;
bot_y = 17.5;
mount_x_dist = 7.5;
mount_y_dist = -5.5;
mount_hole = 1.5;
difference()
{
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);
}
}
// Mounts
for (x = [-1:2:1])
{
translate([x * mount_x_dist, mount_y_dist, -size_pcb/2])
{
cylinder(size_z - size_pcb, mount_hole + 1, mount_hole + 1, $fn = 360, center = true);
}
}
// Top Y
translate([0, size_y/2 - top_y, -size_pcb/2])
{
cube([size_x, thick, size_z - size_pcb], center = true);
}
// Bot Y
translate([0, -(size_y/2 - bot_y), -size_pcb/2])
{
cube([size_x, thick, size_z - size_pcb], center = true);
}
}
// Mount Holes
for (x = [-1:2:1])
{
translate([x * mount_x_dist, mount_y_dist, -size_pcb/2])
{
cylinder(size_z + 1, mount_hole, mount_hole, $fn = 360, center = true);
}
}
}