Initial commit : Tevo Tarantula X carriage, L-Core & L-Minion, Creature Comfort parts
This commit is contained in:
commit
e98fef0cdb
|
@ -0,0 +1,53 @@
|
|||
$fn = 60;
|
||||
|
||||
module base()
|
||||
{
|
||||
difference()
|
||||
{
|
||||
square([146, 101.5]);
|
||||
|
||||
// translate([0, 101.5/2]) circle(48.5/2);
|
||||
// translate([146, 101.5/2]) circle(48.5/2);
|
||||
|
||||
translate([3.3+68/2, 7.75 - 27.5/2]) circle(27.5/2);
|
||||
translate([3.3+68+3.4+68/2, 7.75 - 27.5/2]) circle(27.5/2);
|
||||
|
||||
translate([3.3+68/2, 101.5 - 7.75 + 27.5/2]) circle(27.5/2);
|
||||
translate([3.3+68+3.4+68/2, 101.5 - 7.75 + 27.5/2]) circle(27.5/2);
|
||||
}
|
||||
}
|
||||
|
||||
minkowski()
|
||||
{
|
||||
difference()
|
||||
{
|
||||
linear_extrude(29)
|
||||
minkowski(convexity = 2)
|
||||
{
|
||||
offset(-4) base();
|
||||
circle(4);
|
||||
}
|
||||
|
||||
translate([3.3, 2.75, 1])
|
||||
linear_extrude(35)
|
||||
//minkowski(convexity = 2)
|
||||
{
|
||||
//offset(-4)
|
||||
square([68, 96]);
|
||||
//circle(4);
|
||||
}
|
||||
|
||||
translate([3.3+68+3.4, 2.75, 1])
|
||||
linear_extrude(35)
|
||||
//minkowski(convexity = 2)
|
||||
{
|
||||
//offset(-4)
|
||||
square([68, 96]);
|
||||
//circle(4);
|
||||
}
|
||||
|
||||
// translate([146/2, 101.5/2, -1]) cylinder(35,r=48.5/2);
|
||||
}
|
||||
|
||||
translate([1,1,0]) cylinder(1, 1, 0);
|
||||
}
|
|
@ -0,0 +1,38 @@
|
|||
$fn = 60;
|
||||
|
||||
module base()
|
||||
{
|
||||
difference()
|
||||
{
|
||||
square([138, 101.5]);
|
||||
translate([0, 101.5/2]) circle(48.5/2);
|
||||
translate([138, 101.5/2]) circle(48.5/2);
|
||||
translate([138/2, 7.75 - 27.5/2]) circle(27.5/2);
|
||||
translate([138/2, 101.5 - 7.75 + 27.5/2]) circle(27.5/2);
|
||||
}
|
||||
}
|
||||
|
||||
minkowski()
|
||||
{
|
||||
difference()
|
||||
{
|
||||
linear_extrude(13.3)
|
||||
minkowski(convexity = 2)
|
||||
{
|
||||
offset(-4) base();
|
||||
circle(4);
|
||||
}
|
||||
|
||||
translate([8, 9.75, 1])
|
||||
linear_extrude(30)
|
||||
minkowski(convexity = 2)
|
||||
{
|
||||
offset(-4) square([122, 82]);
|
||||
circle(4);
|
||||
}
|
||||
|
||||
translate([138/2, 101.5/2, -1]) cylinder(30,r=48.5/2);
|
||||
}
|
||||
|
||||
translate([1,1,0]) cylinder(1, 1, 0);
|
||||
}
|
|
@ -0,0 +1,56 @@
|
|||
$fn=60;
|
||||
|
||||
// Physical dimensions
|
||||
EXTRUSION_WIDTH = 40;
|
||||
EXTRUSION_HEIGHT = 40;
|
||||
EXTRUSION_GROOVE_WIDTH = 8.2;
|
||||
|
||||
MOTOR_WIDTH = 43.0;
|
||||
MOTOR_HEIGHT = 43.0;
|
||||
MOTOR_DEPTH = 40.0;
|
||||
MOTOR_CORNER = 4.5;
|
||||
MOTOR_SHAFT_HOLE_DIAMETER = 24;
|
||||
|
||||
BOLT_HOLE_DIAMETER = 6.4; // M6
|
||||
BOLT_HOLE_HEAD_DIAMETER = 11; // M6
|
||||
|
||||
MGN_RAIL_WR = 12;
|
||||
MGN_RAIL_HR = 8;
|
||||
|
||||
F688ZZ_D = 16;
|
||||
|
||||
// Parameters
|
||||
CORNER_SIZE = 5.0; // Part corner size
|
||||
MOTOR_TO_BORDER_CLEARANCE = 5.0;
|
||||
CHAMFER_SIZE = 1;
|
||||
EXTRUSION_BORDER_CLEARANCE = 4; // Distance between extrusion and part borders
|
||||
EXTRUSION_GROOVE_SLIDE_CLEARANCE = 0.2; // Slide to groove clearance
|
||||
EXTRUSION_GROOVE_SLIDE_DEPTH = 2; // Slide depth
|
||||
|
||||
// Variables
|
||||
total_width = EXTRUSION_WIDTH - EXTRUSION_BORDER_CLEARANCE + MOTOR_WIDTH + MOTOR_TO_BORDER_CLEARANCE;
|
||||
total_height = EXTRUSION_HEIGHT - EXTRUSION_BORDER_CLEARANCE + MOTOR_HEIGHT + MOTOR_TO_BORDER_CLEARANCE;
|
||||
|
||||
//minkowski()
|
||||
{
|
||||
linear_extrude(8 - CHAMFER_SIZE)
|
||||
difference()
|
||||
{
|
||||
|
||||
hull()
|
||||
{
|
||||
square([EXTRUSION_WIDTH + 3, EXTRUSION_HEIGHT + 3]);
|
||||
translate([EXTRUSION_WIDTH + MOTOR_WIDTH / 2, EXTRUSION_HEIGHT + MOTOR_HEIGHT / 2]) circle(F688ZZ_D/2 + MOTOR_TO_BORDER_CLEARANCE);
|
||||
}
|
||||
|
||||
translate([-1, -1]) square([EXTRUSION_WIDTH + 1, EXTRUSION_HEIGHT +1]);
|
||||
translate([EXTRUSION_WIDTH + MOTOR_WIDTH / 2, EXTRUSION_HEIGHT + MOTOR_HEIGHT / 2]) circle(F688ZZ_D/2);
|
||||
|
||||
translate([EXTRUSION_WIDTH / 2 - MGN_RAIL_WR / 2, EXTRUSION_HEIGHT - 1]) square([MGN_RAIL_WR, MGN_RAIL_HR + 1]);
|
||||
|
||||
square([EXTRUSION_WIDTH / 2 - MGN_RAIL_WR / 2, EXTRUSION_HEIGHT + MGN_RAIL_HR + 10]);
|
||||
square([EXTRUSION_WIDTH + 10, EXTRUSION_BORDER_CLEARANCE]);
|
||||
}
|
||||
|
||||
translate([CHAMFER_SIZE, CHAMFER_SIZE]) cylinder(CHAMFER_SIZE,CHAMFER_SIZE,0);
|
||||
}
|
|
@ -0,0 +1,224 @@
|
|||
$fn=60;
|
||||
|
||||
// Physical dimensions
|
||||
EXTRUSION_WIDTH = 40;
|
||||
EXTRUSION_HEIGHT = 40;
|
||||
EXTRUSION_GROOVE_WIDTH = 8.2;
|
||||
|
||||
MOTOR_WIDTH = 43.0;
|
||||
MOTOR_HEIGHT = 43.0;
|
||||
MOTOR_DEPTH = 40.0;
|
||||
MOTOR_CORNER = 4.5;
|
||||
MOTOR_SHAFT_HOLE_DIAMETER = 24;
|
||||
|
||||
BOLT_HOLE_DIAMETER = 6.4; // M6
|
||||
BOLT_HOLE_HEAD_DIAMETER = 11; // M6
|
||||
|
||||
|
||||
// Parameters
|
||||
CORNER_SIZE = 5.0; // Part corner size
|
||||
MOTOR_TO_BORDER_CLEARANCE = 8.0;
|
||||
CHAMFER_SIZE = 0.4;
|
||||
EXTRUSION_BORDER_CLEARANCE = 1; // Distance between extrusion and part borders
|
||||
EXTRUSION_GROOVE_SLIDE_CLEARANCE = 0.2; // Slide to groove clearance
|
||||
EXTRUSION_GROOVE_SLIDE_DEPTH = 2; // Slide depth
|
||||
|
||||
// Variables
|
||||
total_width = EXTRUSION_WIDTH - EXTRUSION_BORDER_CLEARANCE + MOTOR_WIDTH + MOTOR_TO_BORDER_CLEARANCE;
|
||||
total_height = EXTRUSION_HEIGHT - EXTRUSION_BORDER_CLEARANCE + MOTOR_HEIGHT + MOTOR_TO_BORDER_CLEARANCE;
|
||||
|
||||
|
||||
base_p = [
|
||||
[0, CORNER_SIZE],
|
||||
[0, total_height - CORNER_SIZE],
|
||||
[CORNER_SIZE, total_height],
|
||||
[total_width - CORNER_SIZE, total_height],
|
||||
[total_width, total_height - CORNER_SIZE],
|
||||
[total_width, CORNER_SIZE],
|
||||
[total_width - CORNER_SIZE, 0],
|
||||
[CORNER_SIZE, 0]
|
||||
];
|
||||
|
||||
|
||||
motor_p = [
|
||||
[0, MOTOR_CORNER],
|
||||
[0, MOTOR_HEIGHT - MOTOR_CORNER],
|
||||
[MOTOR_CORNER, MOTOR_HEIGHT],
|
||||
[MOTOR_WIDTH - MOTOR_CORNER, MOTOR_HEIGHT],
|
||||
[MOTOR_WIDTH, MOTOR_HEIGHT - MOTOR_CORNER],
|
||||
[MOTOR_WIDTH, MOTOR_CORNER],
|
||||
[MOTOR_WIDTH - MOTOR_CORNER, 0],
|
||||
[MOTOR_CORNER, 0]
|
||||
];
|
||||
|
||||
|
||||
module hexagon(ri = 1.0) // inner radius of hexagon
|
||||
{
|
||||
ra = ri*2/sqrt(3);
|
||||
circle(r = ra, $fn=6);
|
||||
}
|
||||
|
||||
module m3nut(height)
|
||||
{
|
||||
linear_extrude(height) hexagon(5.6 / 2);
|
||||
}
|
||||
|
||||
|
||||
module groove(s)
|
||||
{
|
||||
groove_p = [
|
||||
[0, 0],
|
||||
[0, EXTRUSION_GROOVE_SLIDE_DEPTH - 0.6],
|
||||
[0.6, EXTRUSION_GROOVE_SLIDE_DEPTH],
|
||||
[EXTRUSION_GROOVE_WIDTH - 0.6, EXTRUSION_GROOVE_SLIDE_DEPTH],
|
||||
[EXTRUSION_GROOVE_WIDTH, EXTRUSION_GROOVE_SLIDE_DEPTH - 0.6],
|
||||
[EXTRUSION_GROOVE_WIDTH, 0],
|
||||
];
|
||||
|
||||
translate([0,s,0])
|
||||
rotate([90,0,0])
|
||||
linear_extrude(s)
|
||||
polygon(groove_p);
|
||||
}
|
||||
|
||||
module base()
|
||||
{
|
||||
|
||||
union()
|
||||
{
|
||||
hull()
|
||||
{
|
||||
linear_extrude(2)
|
||||
offset(-4)
|
||||
polygon(base_p);
|
||||
|
||||
translate([0, 0, 2])
|
||||
linear_extrude(14)
|
||||
offset(-1.75)
|
||||
polygon(base_p);
|
||||
|
||||
translate([0, 0, 16])
|
||||
linear_extrude(8)
|
||||
polygon(base_p);
|
||||
}
|
||||
|
||||
// Grooves
|
||||
translate([EXTRUSION_WIDTH / 2 - EXTRUSION_GROOVE_WIDTH / 2 - EXTRUSION_BORDER_CLEARANCE, 0, 2+14+8])
|
||||
groove(10.5 + EXTRUSION_HEIGHT - EXTRUSION_BORDER_CLEARANCE);
|
||||
|
||||
translate([EXTRUSION_WIDTH / 2 - EXTRUSION_GROOVE_WIDTH / 2 - EXTRUSION_BORDER_CLEARANCE,
|
||||
10.5 + EXTRUSION_HEIGHT - EXTRUSION_BORDER_CLEARANCE + 9,
|
||||
2+14+8])
|
||||
groove(11);
|
||||
|
||||
translate([EXTRUSION_WIDTH / 2 - EXTRUSION_GROOVE_WIDTH / 2 - EXTRUSION_BORDER_CLEARANCE, 10.5 + EXTRUSION_HEIGHT - EXTRUSION_BORDER_CLEARANCE + 9 + 11 + 9, 2+14+8])
|
||||
groove(11.5);
|
||||
|
||||
translate([0, EXTRUSION_HEIGHT / 2 - EXTRUSION_GROOVE_WIDTH / 2 - EXTRUSION_BORDER_CLEARANCE + EXTRUSION_GROOVE_WIDTH, 2+14+8])
|
||||
rotate([0,0,-90])
|
||||
groove(10.5 + EXTRUSION_HEIGHT - EXTRUSION_BORDER_CLEARANCE);
|
||||
|
||||
translate([10.5 + EXTRUSION_WIDTH - EXTRUSION_BORDER_CLEARANCE + 9, EXTRUSION_HEIGHT / 2 - EXTRUSION_GROOVE_WIDTH / 2 - EXTRUSION_BORDER_CLEARANCE + EXTRUSION_GROOVE_WIDTH, 2+14+8])
|
||||
rotate([0,0,-90])
|
||||
groove(11);
|
||||
|
||||
translate([10.5 + EXTRUSION_WIDTH - EXTRUSION_BORDER_CLEARANCE + 9 + 11 + 9, EXTRUSION_HEIGHT / 2 - EXTRUSION_GROOVE_WIDTH / 2 - EXTRUSION_BORDER_CLEARANCE + EXTRUSION_GROOVE_WIDTH, 2+14+8])
|
||||
rotate([0,0,-90])
|
||||
groove(11.5);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
motor_shaft_hole_radius = MOTOR_SHAFT_HOLE_DIAMETER / 2;
|
||||
motor_center_x = EXTRUSION_WIDTH - EXTRUSION_BORDER_CLEARANCE + MOTOR_WIDTH / 2;
|
||||
motor_center_y = EXTRUSION_HEIGHT - EXTRUSION_BORDER_CLEARANCE + MOTOR_HEIGHT / 2;
|
||||
|
||||
|
||||
difference()
|
||||
{
|
||||
base();
|
||||
|
||||
translate([-EXTRUSION_BORDER_CLEARANCE, -EXTRUSION_BORDER_CLEARANCE, -1])
|
||||
cube([EXTRUSION_WIDTH, EXTRUSION_HEIGHT, 29]);
|
||||
|
||||
translate([EXTRUSION_WIDTH - EXTRUSION_BORDER_CLEARANCE, EXTRUSION_HEIGHT - EXTRUSION_BORDER_CLEARANCE, 5])
|
||||
linear_extrude(20)
|
||||
polygon(motor_p);
|
||||
|
||||
// Motor holes
|
||||
translate([motor_center_x, motor_center_y, -1])
|
||||
cylinder(20, r=motor_shaft_hole_radius);
|
||||
|
||||
translate([motor_center_x - 31/2, motor_center_y - 31/2, -1])
|
||||
cylinder(20, r=3.4/2);
|
||||
|
||||
translate([motor_center_x + 31/2, motor_center_y - 31/2, -1])
|
||||
cylinder(20, r=3.4/2);
|
||||
|
||||
translate([motor_center_x - 31/2, motor_center_y + 31/2, -1])
|
||||
cylinder(20, r=3.4/2);
|
||||
|
||||
translate([motor_center_x + 31/2, motor_center_y + 31/2, -1])
|
||||
cylinder(20, r=3.4/2);
|
||||
|
||||
// Chamfers
|
||||
translate([motor_center_x, motor_center_y, -0.01])
|
||||
cylinder(1, motor_shaft_hole_radius+0.5, motor_shaft_hole_radius);
|
||||
|
||||
translate([motor_center_x - 31/2, motor_center_y - 31/2, -0.01])
|
||||
cylinder(1, (3.4+0.5)/2);
|
||||
|
||||
translate([motor_center_x + 31/2, motor_center_y - 31/2, -0.01])
|
||||
cylinder(1, (3.4+0.5)/2);
|
||||
|
||||
translate([motor_center_x - 31/2, motor_center_y + 31/2, -0.01])
|
||||
cylinder(1, (3.4+0.5)/2);
|
||||
|
||||
translate([motor_center_x + 31/2, motor_center_y + 31/2, -0.01])
|
||||
cylinder(1, (3.4+0.5)/2);
|
||||
|
||||
|
||||
// Groove holes
|
||||
translate([EXTRUSION_WIDTH / 2 - EXTRUSION_BORDER_CLEARANCE, 10.5 + EXTRUSION_HEIGHT - EXTRUSION_BORDER_CLEARANCE + 4.5, 11.2])
|
||||
cylinder(35, r = BOLT_HOLE_DIAMETER / 2);
|
||||
|
||||
translate([EXTRUSION_WIDTH / 2 - EXTRUSION_BORDER_CLEARANCE, 10.5 + EXTRUSION_HEIGHT - EXTRUSION_BORDER_CLEARANCE + 9 + 11 + 4.5, 11.2])
|
||||
cylinder(35, r = BOLT_HOLE_DIAMETER / 2);
|
||||
|
||||
translate([10.5 + EXTRUSION_WIDTH - EXTRUSION_BORDER_CLEARANCE + 4.5, EXTRUSION_HEIGHT / 2 - EXTRUSION_BORDER_CLEARANCE, 11.2])
|
||||
cylinder(35, r = BOLT_HOLE_DIAMETER / 2);
|
||||
|
||||
translate([10.5 + EXTRUSION_WIDTH - EXTRUSION_BORDER_CLEARANCE + 9 + 11 + 4.5, EXTRUSION_HEIGHT / 2 - EXTRUSION_BORDER_CLEARANCE, 11.2])
|
||||
cylinder(35, r = BOLT_HOLE_DIAMETER / 2);
|
||||
|
||||
|
||||
// Bolt head holes
|
||||
translate([EXTRUSION_WIDTH / 2 - EXTRUSION_BORDER_CLEARANCE, 10.5 + EXTRUSION_HEIGHT - EXTRUSION_BORDER_CLEARANCE + 4.5, -1])
|
||||
cylinder(12, r = BOLT_HOLE_HEAD_DIAMETER / 2);
|
||||
|
||||
translate([EXTRUSION_WIDTH / 2 - EXTRUSION_BORDER_CLEARANCE, 10.5 + EXTRUSION_HEIGHT - EXTRUSION_BORDER_CLEARANCE + 9 + 11 + 4.5, -1])
|
||||
cylinder(12, r = BOLT_HOLE_HEAD_DIAMETER / 2);
|
||||
|
||||
translate([10.5 + EXTRUSION_WIDTH - EXTRUSION_BORDER_CLEARANCE + 4.5, EXTRUSION_HEIGHT / 2 - EXTRUSION_BORDER_CLEARANCE, -1])
|
||||
cylinder(12, r = BOLT_HOLE_HEAD_DIAMETER / 2);
|
||||
|
||||
translate([10.5 + EXTRUSION_WIDTH - EXTRUSION_BORDER_CLEARANCE + 9 + 11 + 4.5, EXTRUSION_HEIGHT / 2 - EXTRUSION_BORDER_CLEARANCE, -1])
|
||||
cylinder(12, r = BOLT_HOLE_HEAD_DIAMETER / 2);
|
||||
|
||||
|
||||
// Bold head chamfers
|
||||
translate([EXTRUSION_WIDTH / 2 - EXTRUSION_BORDER_CLEARANCE, 10.5 + EXTRUSION_HEIGHT - EXTRUSION_BORDER_CLEARANCE + 4.5, -0.01])
|
||||
cylinder(1, (BOLT_HOLE_HEAD_DIAMETER+1) / 2, BOLT_HOLE_HEAD_DIAMETER / 2);
|
||||
|
||||
translate([EXTRUSION_WIDTH / 2 - EXTRUSION_BORDER_CLEARANCE, 10.5 + EXTRUSION_HEIGHT - EXTRUSION_BORDER_CLEARANCE + 9 + 11 + 4.5, -0.01])
|
||||
cylinder(1, (BOLT_HOLE_HEAD_DIAMETER+1) / 2, BOLT_HOLE_HEAD_DIAMETER / 2);
|
||||
|
||||
translate([10.5 + EXTRUSION_WIDTH - EXTRUSION_BORDER_CLEARANCE + 4.5, EXTRUSION_HEIGHT / 2 - EXTRUSION_BORDER_CLEARANCE, -0.01])
|
||||
cylinder(1, (BOLT_HOLE_HEAD_DIAMETER+1) / 2, BOLT_HOLE_HEAD_DIAMETER / 2);
|
||||
|
||||
translate([10.5 + EXTRUSION_WIDTH - EXTRUSION_BORDER_CLEARANCE + 9 + 11 + 4.5, EXTRUSION_HEIGHT / 2 - EXTRUSION_BORDER_CLEARANCE, -0.01])
|
||||
cylinder(1, (BOLT_HOLE_HEAD_DIAMETER+1) / 2, BOLT_HOLE_HEAD_DIAMETER / 2);
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,132 @@
|
|||
$fn=100;
|
||||
|
||||
EXTRUSION_W = 40;
|
||||
EXTRUSION_H = 40;
|
||||
EXTRUSION_D = 40;
|
||||
|
||||
MOTOR_W = 43;
|
||||
MOTOR_H = 43;
|
||||
|
||||
|
||||
p = [
|
||||
[0, 0],
|
||||
[0, EXTRUSION_H - MOTOR_H / 2 + MOTOR_H - 1.5],
|
||||
[MOTOR_W + 5, EXTRUSION_H - MOTOR_H / 2 + MOTOR_H - 1.5],
|
||||
[MOTOR_W + 5, EXTRUSION_H],
|
||||
[MOTOR_W + 5 + 60, EXTRUSION_H],
|
||||
[MOTOR_W + 5 + 60, 0],
|
||||
];
|
||||
|
||||
p2 = [
|
||||
[0, 0],
|
||||
[0, EXTRUSION_H - MOTOR_H / 2 - 1.5],
|
||||
[EXTRUSION_D, EXTRUSION_H - MOTOR_H / 2 + MOTOR_H - 1.5],
|
||||
[EXTRUSION_D + 5, EXTRUSION_H - MOTOR_H / 2 + MOTOR_H - 1.5],
|
||||
[EXTRUSION_D + 5, 0],
|
||||
];
|
||||
|
||||
|
||||
module plate()
|
||||
{
|
||||
|
||||
difference()
|
||||
{
|
||||
union()
|
||||
{
|
||||
|
||||
translate([0,5,0])
|
||||
rotate([90,0,0])
|
||||
linear_extrude(5)
|
||||
polygon(p);
|
||||
|
||||
|
||||
|
||||
hull()
|
||||
{
|
||||
translate([0,5,0])
|
||||
rotate([90,0,0])
|
||||
linear_extrude(5)
|
||||
square([MOTOR_W + 60 + 5, EXTRUSION_H - 1.5 - 8]);
|
||||
|
||||
translate([MOTOR_W - 6, 5+12-1, 0])
|
||||
rotate([90,0,0])
|
||||
linear_extrude(1)
|
||||
square([60 + 5 + 6, EXTRUSION_H - 1.5 - 8 - 2]);
|
||||
|
||||
translate([MOTOR_W, 5+20-1, 0])
|
||||
rotate([90,0,0])
|
||||
linear_extrude(1)
|
||||
square([60 + 5 - 8, EXTRUSION_H - 1.5 - 8 - 2 - 4]);
|
||||
}
|
||||
|
||||
translate([0, -EXTRUSION_D, 0])
|
||||
cube([MOTOR_W, EXTRUSION_D, EXTRUSION_H - MOTOR_H / 2 - 1.5]);
|
||||
|
||||
translate([-5, -EXTRUSION_D, 0])
|
||||
rotate([90,0,90])
|
||||
linear_extrude(5)
|
||||
polygon(p2);
|
||||
|
||||
translate([MOTOR_W, -EXTRUSION_D, 0])
|
||||
rotate([90,0,90])
|
||||
linear_extrude(5)
|
||||
polygon(p2);
|
||||
|
||||
}
|
||||
|
||||
// Motor shaft hole
|
||||
translate([MOTOR_W / 2, 25, EXTRUSION_H - 1.5])
|
||||
rotate([90,0,0])
|
||||
cylinder(26, r= 24/2);
|
||||
|
||||
|
||||
// Motor screws holes
|
||||
translate([6, 25, EXTRUSION_H - MOTOR_H / 2 + 6 - 1.5])
|
||||
rotate([90,0,0])
|
||||
cylinder(26, r= 3.3/2);
|
||||
|
||||
translate([6, 25, EXTRUSION_H - MOTOR_H / 2 + 6 - 1.5])
|
||||
rotate([90,0,0])
|
||||
cylinder(21, r= 6/2);
|
||||
|
||||
translate([MOTOR_W - 6, 25, EXTRUSION_H - MOTOR_H / 2 + 6 - 1.5])
|
||||
rotate([90,0,0])
|
||||
cylinder(26, r= 3.3/2);
|
||||
|
||||
translate([MOTOR_W - 6, 25, EXTRUSION_H - MOTOR_H / 2 + 6 - 1.5])
|
||||
rotate([90,0,0])
|
||||
cylinder(21, r= 6/2);
|
||||
|
||||
|
||||
translate([6, 25, EXTRUSION_H - MOTOR_H / 2 + MOTOR_H - 6 - 1.5])
|
||||
rotate([90,0,0])
|
||||
cylinder(26, r= 3.3/2);
|
||||
|
||||
translate([MOTOR_W - 6, 25, EXTRUSION_H - MOTOR_H / 2 + MOTOR_H - 6 - 1.5])
|
||||
rotate([90,0,0])
|
||||
cylinder(26, r= 3.3/2);
|
||||
|
||||
|
||||
// part screw hold hole 1
|
||||
translate([MOTOR_W + 15, 25, EXTRUSION_H / 2])
|
||||
rotate([90,0,0])
|
||||
cylinder(26, r= 6.3/2);
|
||||
|
||||
translate([MOTOR_W + 15, 25, EXTRUSION_H / 2])
|
||||
rotate([90,0,0])
|
||||
cylinder(21, r= 12/2);
|
||||
|
||||
// part screw hold hole 2
|
||||
translate([MOTOR_W + 15 + 30, 25, EXTRUSION_H / 2])
|
||||
rotate([90,0,0])
|
||||
cylinder(26, r= 6.3/2);
|
||||
|
||||
translate([MOTOR_W + 15 + 30, 25, EXTRUSION_H / 2])
|
||||
rotate([90,0,0])
|
||||
cylinder(20, r= 12/2);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
plate();
|
||||
|
|
@ -0,0 +1,79 @@
|
|||
$fn=100;
|
||||
|
||||
WIDTH = 76;
|
||||
DEPTH = 64;
|
||||
THICKNESS = 5;
|
||||
|
||||
BASE_PLATE_CORNER_RADIUS = 10;
|
||||
|
||||
VSLOT_WHEEL_HOLE_DIA_SMALL = 5;
|
||||
VSLOT_WHEEL_HOLE_DIA_BIG = 7;
|
||||
|
||||
WHEEL_DIA = 24;
|
||||
WHEEL_FLANGE = 2.25;
|
||||
|
||||
EXTRUSION_WIDTH = 20;
|
||||
WHEEL_FLANGE_IN_EXTRUSION_SIZE = 2; // /!\ Max = WHEEL_FLANGE
|
||||
|
||||
module base_plate ()
|
||||
{
|
||||
difference()
|
||||
{
|
||||
linear_extrude(THICKNESS)
|
||||
minkowski()
|
||||
{
|
||||
offset(-BASE_PLATE_CORNER_RADIUS)
|
||||
square([WIDTH, DEPTH]);
|
||||
circle(BASE_PLATE_CORNER_RADIUS);
|
||||
}
|
||||
|
||||
// Wheel holes
|
||||
cy = DEPTH / 2;
|
||||
wheel_radius = WHEEL_DIA / 2;
|
||||
|
||||
translate([10, cy - EXTRUSION_WIDTH / 2 - (wheel_radius - WHEEL_FLANGE_IN_EXTRUSION_SIZE), -1])
|
||||
cylinder(h=THICKNESS + 2, r=VSLOT_WHEEL_HOLE_DIA_SMALL / 2);
|
||||
|
||||
translate([WIDTH - 10, cy - EXTRUSION_WIDTH / 2 - (wheel_radius - WHEEL_FLANGE_IN_EXTRUSION_SIZE), -1])
|
||||
cylinder(h=THICKNESS + 2, r=VSLOT_WHEEL_HOLE_DIA_SMALL / 2);
|
||||
|
||||
translate([10, cy + EXTRUSION_WIDTH / 2 + (wheel_radius - WHEEL_FLANGE_IN_EXTRUSION_SIZE), -1])
|
||||
cylinder(h=THICKNESS + 2, r=VSLOT_WHEEL_HOLE_DIA_BIG / 2);
|
||||
|
||||
translate([WIDTH - 10, cy + EXTRUSION_WIDTH / 2 + (wheel_radius - WHEEL_FLANGE_IN_EXTRUSION_SIZE), -1])
|
||||
cylinder(h=THICKNESS + 2, r=VSLOT_WHEEL_HOLE_DIA_BIG / 2);
|
||||
}
|
||||
}
|
||||
|
||||
module belt_attach()
|
||||
{
|
||||
linear_extrude(8)
|
||||
union()
|
||||
{
|
||||
translate([0, THICKNESS - 4])
|
||||
union()
|
||||
{
|
||||
hull()
|
||||
{
|
||||
translate([2, 1.5]) square([3.5, 2.5]);
|
||||
translate([2, 2]) circle(2);
|
||||
}
|
||||
translate([5.5, 1.5]) square([4.7, 2.5]);
|
||||
}
|
||||
|
||||
translate([5.5 + 4.7, -1]) square([7+1, THICKNESS + 2]);
|
||||
}
|
||||
}
|
||||
|
||||
difference()
|
||||
{
|
||||
base_plate();
|
||||
|
||||
translate([17, DEPTH / 2 - 4, 0.01])
|
||||
rotate([90,0,180])
|
||||
belt_attach();
|
||||
|
||||
translate([WIDTH - 17, DEPTH / 2 + 4, 0.01])
|
||||
rotate([90,0,0])
|
||||
belt_attach();
|
||||
}
|
Loading…
Reference in New Issue
Block a user