2020-12-30 17:14:05 +00:00
|
|
|
$fn=50;
|
|
|
|
|
2020-12-30 21:48:54 +00:00
|
|
|
motorheight=42.1;
|
2020-12-30 17:14:05 +00:00
|
|
|
motorwidth=40.5;
|
|
|
|
wanddickemotor=3;
|
|
|
|
wanddickelinks=5.5;
|
|
|
|
|
|
|
|
|
|
|
|
cylinderdiameter=22.2;
|
|
|
|
|
|
|
|
motorholedistance=(motorheight-31) /2;
|
|
|
|
leftholedist=7;
|
|
|
|
M3HoleDiam=3.4;
|
|
|
|
M3HeadDiam=5.8;
|
|
|
|
|
2021-01-01 16:18:29 +00:00
|
|
|
render() difference() {
|
2020-12-30 17:14:05 +00:00
|
|
|
mainbody();
|
|
|
|
translate([motorwidth,wanddickelinks,0]) motorholes();
|
|
|
|
leftholes();
|
|
|
|
}
|
|
|
|
|
|
|
|
//modules
|
|
|
|
|
|
|
|
module mainbody(){
|
|
|
|
cube([motorwidth + wanddickemotor, wanddickelinks ,motorheight]);
|
|
|
|
|
|
|
|
translate([motorwidth,wanddickelinks,0])cube([wanddickemotor, motorheight, motorheight]);
|
2020-12-30 21:48:54 +00:00
|
|
|
|
|
|
|
translate([motorwidth + wanddickemotor,motorheight * 2 /3,motorheight]) rotate([0,0,180]) linear_extrude(3) polygon([[0,0], [0, motorheight * 2 /3], [motorwidth * 2 /3, motorheight* 2 /3]]);
|
2020-12-30 17:14:05 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
module motorholes(){
|
2020-12-30 21:48:54 +00:00
|
|
|
translate([0,motorheight/2,motorheight/2])rotate([0,90,0])cylinder(h=wanddickemotor, d=cylinderdiameter, $fn=130);
|
2020-12-30 17:14:05 +00:00
|
|
|
|
|
|
|
translate([0,motorheight - motorholedistance,motorheight - motorholedistance]) MotorM3Hole();
|
|
|
|
|
|
|
|
translate([0,motorheight - motorholedistance, motorholedistance]) MotorM3Hole();
|
|
|
|
|
|
|
|
translate([0,motorholedistance,motorheight - motorholedistance]) MotorM3Hole();
|
|
|
|
|
|
|
|
translate([0,motorholedistance, motorholedistance]) MotorM3Hole();
|
|
|
|
}
|
|
|
|
|
|
|
|
module leftholes() {
|
|
|
|
// bottom left
|
|
|
|
translate([leftholedist,0,leftholedist]) LeftM3Hole();
|
|
|
|
//bottom right
|
|
|
|
translate([motorwidth - leftholedist,0,leftholedist]) LeftM3Hole();
|
|
|
|
// upper left
|
|
|
|
translate([leftholedist,0,motorwidth - leftholedist]) LeftM3Hole();
|
|
|
|
// upper right
|
|
|
|
translate([motorwidth - leftholedist,0,motorwidth - leftholedist]) LeftM3Hole();
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
module MotorM3Hole() {
|
|
|
|
rotate([0,90,0])cylinder(h=wanddickemotor, d=M3HoleDiam);
|
|
|
|
}
|
|
|
|
|
|
|
|
module LeftM3Hole() {
|
|
|
|
rotate([270,0,0])cylinder(h=wanddickelinks, d=M3HoleDiam);
|
|
|
|
translate([0,wanddickelinks-3,0]) rotate([270,0,0])cylinder(h=3, d=M3HeadDiam);
|
|
|
|
}
|
|
|
|
|