scadstuff/L-Minion/y_motor_cage.scad

133 lines
3.3 KiB
OpenSCAD

$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();