filament-counter/openscad/Back.scad

102 lines
2.1 KiB
OpenSCAD

x_size = 75;
y_size = 40;
z_size = 9;
pcb_x = 70;
pcb_y = 35;
wall_size = 1;
hole_rad = 1.5;
filament_x = 57.5 - pcb_x/2 - 13 - 1;
filament_size = 2;
difference()
{
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);
}
}
// Bottom Hole Mounts
for (i = [-1:2:1])
{
translate([i * (pcb_x/2 - 3) - 1, -(pcb_y/2 - 3) - 1, -0.5])
{
difference()
{
cylinder(z_size - 1, hole_rad + 1, hole_rad + 1, $fn = 360, center = true);
translate([0, 0, wall_size])
{
cylinder(z_size - 1, hole_rad, hole_rad, $fn = 360, center = true);
}
}
}
}
// Top Hole Mount
translate([(41 - pcb_x/2) - 1, pcb_y/2 - 3 - 1, -0.5])
difference()
{
cylinder(z_size - 1, hole_rad + 1, hole_rad + 1, $fn = 360, center = true);
translate([0, 0, wall_size])
{
cylinder(z_size - 1, hole_rad, hole_rad, $fn = 360, center = true);
}
}
// Fillament Block
translate([filament_x, 0, -0.5])
{
difference()
{
cube([filament_size + wall_size * 2, y_size, z_size - 1], center = true);
translate([13, pcb_y/2 - 12.5 - 1, 0])
{
cylinder(z_size, 13.5, 13.5, $fn = 360, center = true);
}
}
}
}
// Bottom Holes
for (i = [-1:2:1])
{
translate([i * (pcb_x/2 - 3) - 1, -(pcb_y/2 - 3) - 1, -z_size/2 + 1])
{
cylinder(2, 2.8, hole_rad, $fn = 360, center = true);
}
}
// Top Hole
translate([(41 - pcb_x/2) - 1, pcb_y / 2 - 3 - 1, -z_size/2 + 1])
{
cylinder(2, 2.8, hole_rad, $fn = 360, center = true);
}
// Filament Hole
translate([filament_x, 0, -0.5])
{
rotate([90, 0, 0])
{
cylinder(y_size + 1, filament_size/2, filament_size/2, $fn = 360, center = true);
}
}
// Temp
*translate([-x_size/2, y_size/5, 0])
{
cube([x_size, y_size, z_size], center = true);
}
*translate([x_size/1.5, y_size/5, 0])
{
cube([x_size, y_size, z_size], center = true);
}
}