Added bot. Changed top to LF
This commit is contained in:
parent
dc3e9240d8
commit
d504ace44a
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
BIN
stl/bot.stl
BIN
stl/bot.stl
Binary file not shown.
Loading…
Reference in New Issue
Block a user