dye-sub-station/3d/base.scad
2025-06-19 14:32:44 +03:00

43 lines
1.1 KiB
OpenSCAD

include <config.scad>
union()
{
// Center Piece
translate([0, -base_size_y/2 + plate_size_y/2, 0])
difference()
{
// Base
cube([base_size_x + 2 * base_wall_size, base_size_y + 2 * base_wall_size, base_size_z], center = true);
// Hollow
cube([base_size_x, base_size_y, base_size_z + 1], center = true);
// Cut USB
translate([-usb_dist_x, base_size_y/2 + base_wall_size/2, base_size_z/2])
cube([usb_size_x, base_wall_size + 1, usb_size_z * 2], center = true);
}
// Side Pieces
for (x = [-1:2:1])
{
translate([x * (base_size_x/2 + base_wall_size + side_size_x/2), 0, 0])
difference()
{
// Main Block
cube([side_size_x, side_size_y, base_size_z], center = true);
// Cut Screw
translate([0, 0, base_size_z/2])
cylinder(h = base_size_z, d = screw_dia, $fn = seg, center = true);
// Cut Screw Head
translate([0, 0, -screw_dia/4])
cylinder(h = screw_dia/2, d1 = screw_dia * 2, d2 = screw_dia, $fn = seg, center = true);
// Cut Screw Head Extension
translate([0, 0, -base_size_z/2 - screw_dia/2])
cylinder(h = base_size_z, d = screw_dia * 2, $fn = seg, center = true);
}
}
}