diff --git a/openscad/bot.scad b/openscad/bot.scad index e03f50b..fea01bf 100644 --- a/openscad/bot.scad +++ b/openscad/bot.scad @@ -1,18 +1,15 @@ size_wall = 1.5; -size_floor = size_wall * 3; +size_floor = size_wall * 2; size_x = 105; size_y = 50; -size_z = 7; +size_z = 10; hole_dist_x = 35; hole_dist_y = 20.5; hole_rad = 3 / 2; -slide_x = 30; -slide_y = 35; - module blind_hole(r_top = 1.5, r_bot = 3, z_size = 3, seg = 60) { h = r_bot > r_top ? r_bot - r_top : r_top - r_bot; @@ -29,32 +26,6 @@ module blind_hole(r_top = 1.5, r_bot = 3, z_size = 3, seg = 60) } } -module slide_box_top_y(x, y, lip) -{ - difference() - { - cube([x, y, lip * 3], center = true); - - cube([x - lip * 4, y - lip * 4, lip * 3 + 1], center = true); - - translate([0, -(y / 2 - lip), lip]) - { - cube([x - lip * 4, lip * 2 + 1, lip * 3], center = true); - } - - for (x_dir = [-1:2:1]) - { - //translate([(x - lip * 4) / 2 * x_dir, -lip * 2, lip / 2]) - translate([(x - lip * 4) / 2 * x_dir, -lip * 2, lip / 2]) - rotate([-90, 0, 0]) - linear_extrude(y, center = true) - { - polygon([[0, 0], [0, lip], [lip * x_dir, lip]]); - } - } - } -} - difference() { union() @@ -69,12 +40,6 @@ difference() { cube([size_x + 1, size_y + 1, size_z + size_floor], center = true); } - - // Cut slide cover - translate([-slide_x/2 + (size_x + size_wall * 2 + 1) / 2, -slide_y/2 + (size_y + size_wall * 2 + 1) / 2, size_floor/2 - (size_z + size_floor) / 2]) - { - cube([slide_x, slide_y, size_floor], center = true); - } } // Mounts @@ -92,13 +57,6 @@ difference() } } } - - // Add slide cover - translate([-slide_x/2 + (size_x + size_wall * 2 + 1) / 2, -slide_y/2 + (size_y + size_wall * 2 + 1) / 2, size_wall * 3 / 2 - (size_z + size_floor) / 2]) - rotate([180, 0, -90]) - { - slide_box_top_y(x = slide_y, y = slide_x, lip = size_wall); - } } // Cut screw holes @@ -113,9 +71,9 @@ difference() } } - // Cut bit of lip and extra screw - translate([-slide_x/2 + size_wall/2 + (size_x + size_wall * 2 + 1) / 2, -slide_y/2 + (size_y + size_wall * 2 + 1) / 2, 0]) + // Cut Half + translate([(size_x + size_wall * 2 + 1)/2, 0, 0]) { - cube([slide_x - size_wall * 3, slide_y - size_wall * 4, size_z + size_floor + 1], center = true); + cube([size_x + size_wall * 2 + 1, size_y + size_wall * 2 + 1 + 1, size_z + size_floor + 1], center = true); } } diff --git a/openscad/top.scad b/openscad/top.scad index 45ee6e2..5d36008 100644 --- a/openscad/top.scad +++ b/openscad/top.scad @@ -1,71 +1,71 @@ -size_wall = 1.5; - -size_x = 105; -size_y = 50; -size_z = 12; - -hole_dist_x = 35; -hole_dist_y = 20.5; - -hole_rad = 4 / 2; - -display_x = 60; -display_y = 25; -display_z = 3; - -btn_size = 8; -btn_dist_x = 45; -btn_dist_y = 20; - -union() -{ - difference() - { - // Main block - cube([size_x + size_wall * 2 + 1, size_y + size_wall * 2 + 1, size_z + size_wall], center = true); - - // Hollow - translate([0, 0, size_wall]) - { - cube([size_x + 1, size_y + 1, size_z + size_wall], center = true); - } - - // Display Cut - cube([display_x, display_y, size_z + size_wall + 1], center = true); - - // Buttons - for (x = [-1:2:1]) - { - translate([x * btn_dist_x, btn_dist_y, 0]) - { - cube([btn_size, btn_size, size_z + size_wall + 1], center = true); - } - } - } - - // Mounts - for (x = [-1:2:1]) - { - for (y = [-1:2:1]) - { - translate([x * hole_dist_x, y * hole_dist_y, 0]) - { - difference() - { - cylinder(size_z + size_wall, hole_rad + size_wall, hole_rad + size_wall, $fn = 60, center = true); - cylinder(size_z + size_wall + 1, hole_rad, hole_rad, $fn = 60, center = true); - } - } - } - } - - // Display Outline - translate([0, 0, (display_z + size_wall) / 2 - (size_z + size_wall) / 2]) - { - difference() - { - cube([display_x + 2 * size_wall, display_y + 2 * size_wall, display_z + size_wall], center = true); - cube([display_x, display_y, display_z + size_wall + 1], center = true); - } - } -} +size_wall = 1.5; + +size_x = 105; +size_y = 50; +size_z = 12; + +hole_dist_x = 35; +hole_dist_y = 20.5; + +hole_rad = 4 / 2; + +display_x = 60; +display_y = 25; +display_z = 3; + +btn_size = 8; +btn_dist_x = 45; +btn_dist_y = 20; + +union() +{ + difference() + { + // Main block + cube([size_x + size_wall * 2 + 1, size_y + size_wall * 2 + 1, size_z + size_wall], center = true); + + // Hollow + translate([0, 0, size_wall]) + { + cube([size_x + 1, size_y + 1, size_z + size_wall], center = true); + } + + // Display Cut + cube([display_x, display_y, size_z + size_wall + 1], center = true); + + // Buttons + for (x = [-1:2:1]) + { + translate([x * btn_dist_x, btn_dist_y, 0]) + { + cube([btn_size, btn_size, size_z + size_wall + 1], center = true); + } + } + } + + // Mounts + for (x = [-1:2:1]) + { + for (y = [-1:2:1]) + { + translate([x * hole_dist_x, y * hole_dist_y, 0]) + { + difference() + { + cylinder(size_z + size_wall, hole_rad + size_wall, hole_rad + size_wall, $fn = 60, center = true); + cylinder(size_z + size_wall + 1, hole_rad, hole_rad, $fn = 60, center = true); + } + } + } + } + + // Display Outline + translate([0, 0, (display_z + size_wall) / 2 - (size_z + size_wall) / 2]) + { + difference() + { + cube([display_x + 2 * size_wall, display_y + 2 * size_wall, display_z + size_wall], center = true); + cube([display_x, display_y, display_z + size_wall + 1], center = true); + } + } +} diff --git a/stl/bot.stl b/stl/bot.stl index dde70b5..719071d 100644 Binary files a/stl/bot.stl and b/stl/bot.stl differ