DIY_3D_Printer/Motorhalter.scad
2020-12-30 22:48:54 +01:00

65 lines
1.8 KiB
OpenSCAD

$fn=50;
motorheight=42.1;
motorwidth=40.5;
wanddickemotor=3;
wanddickelinks=5.5;
cylinderdiameter=22.2;
motorholedistance=(motorheight-31) /2;
leftholedist=7;
M3HoleDiam=3.4;
M3HeadDiam=5.8;
difference() {
mainbody();
translate([motorwidth,wanddickelinks,0]) motorholes();
leftholes();
}
//modules
module mainbody(){
cube([motorwidth + wanddickemotor, wanddickelinks ,motorheight]);
translate([motorwidth,wanddickelinks,0])cube([wanddickemotor, motorheight, motorheight]);
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]]);
}
module motorholes(){
translate([0,motorheight/2,motorheight/2])rotate([0,90,0])cylinder(h=wanddickemotor, d=cylinderdiameter, $fn=130);
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);
}