diff --git a/openscad/bot.scad b/openscad/bot.scad new file mode 100644 index 0000000..ed5dc05 --- /dev/null +++ b/openscad/bot.scad @@ -0,0 +1,61 @@ +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); + } + } +} diff --git a/openscad/top.scad b/openscad/top.scad new file mode 100644 index 0000000..ffc10fe --- /dev/null +++ b/openscad/top.scad @@ -0,0 +1,71 @@ +thick = 1.5; +size_x = 35; +size_y = 57.5; +size_z = 6.5 + thick; +size_block = 6; +// Radius of rotary encoder + radius of filament +rad_rot = 13.75; +rot_z = 4; +rad_fil = 1; +mount_x_dist = 7.5; +mount_y_dist = 17.5; +mount_hole = 1.5; + +conn_x = 16; +conn_y_dist = 12; +conn_y = size_y - size_block/2 - rad_rot - mount_y_dist - conn_y_dist; + +difference() +{ + union() + { + difference() + { + // Main Block + cube([size_x, size_y, size_z], center = true); + + // Hollow + translate([0, -(size_block - thick)/2, thick]) + { + cube([size_x - 2 * thick, size_y - thick - size_block, size_z], center = true); + } + + // Rotary Encoder + translate([0, size_y/2 - size_block/2 - rad_rot, thick]) + { + cylinder(size_z, rad_rot, rad_rot, $fn = 360, center = true); + } + + // Filament Hole + translate([0, size_y/2 - size_block/2, size_z/2 - rot_z]) + { + rotate([0, 90, 0]) + cylinder(size_x + 1, rad_fil, rad_fil, $fn = 360, center = true); + } + + // Connector + translate([0, conn_y/2 - size_y/2 - 0.5, 0]) + { + cube([conn_x, conn_y + 1, size_z + 1], center = true); + } + } + + // Mounts + for (x = [-1:2:1]) + { + translate([x * mount_x_dist, size_y/2 - size_block/2 - rad_rot - mount_y_dist, 0]) + { + cylinder(size_z, mount_hole + 1, mount_hole + 1, $fn = 360, center = true); + } + } + } + + // Mounting Holes + for (x = [-1:2:1]) + { + translate([x * mount_x_dist, size_y/2 - size_block/2 - rad_rot - mount_y_dist, 0]) + { + cylinder(size_z + 1, mount_hole, mount_hole, $fn = 360, center = true); + } + } +} \ No newline at end of file diff --git a/openscad/zippy_cover.scad b/openscad/zippy_cover.scad index 30789ce..bc4e31c 100644 --- a/openscad/zippy_cover.scad +++ b/openscad/zippy_cover.scad @@ -1,21 +1,20 @@ -seg = 360; -seg2 = 60; -outer = 12; -height = 6; -rad = 1; -dist = 4; - -rotate_extrude($fn = seg) -difference() -{ - square([outer, height]); - translate([0, height - 3.5, 0]) - { - square([10.5, 3.5]); - } - - translate([outer, height - dist, 0]) - { - circle(rad, $fn = seg); - } -} +seg = 360; +outer = 12; +height = 6; +rad = 1; +dist = 4; + +rotate_extrude($fn = seg) +difference() +{ + square([outer, height]); + translate([0, height - 3.5, 0]) + { + square([10.5, 3.5]); + } + + translate([outer, height - dist, 0]) + { + circle(rad, $fn = seg); + } +}