DIY_3D_Printer/Motorhalter.scad

72 lines
2.0 KiB
OpenSCAD
Raw Normal View History

$fn = 50;
2020-12-30 17:14:05 +00:00
motorheight = 42.1;
motorwidth = 40.5;
wanddickemotor = 3;
wanddickelinks = 5.5;
2020-12-30 17:14:05 +00:00
cylinderdiameter = 22.2;
2020-12-30 17:14:05 +00:00
motorholedistance = (motorheight - 31) / 2;
leftholedist = 7;
M3HoleDiam = 3.4;
M3HeadDiam = 5.8;
2020-12-30 17:14:05 +00:00
Motorhalter();
module Motorhalter() {
render() difference() {
mainbody();
translate([motorwidth, wanddickelinks, 0]) motorholes();
leftholes();
}
2020-12-30 17:14:05 +00:00
}
2020-12-30 17:14:05 +00:00
//modules
module mainbody() {
cube([motorwidth + wanddickemotor, wanddickelinks, motorheight]);
2020-12-30 17:14:05 +00:00
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]]);
2020-12-30 17:14:05 +00:00
}
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();
2020-12-30 17:14:05 +00:00
}
module leftholes() {
// bottom left
translate([leftholedist, 0, leftholedist]) LeftM3Hole();
2020-12-30 17:14:05 +00:00
//bottom right
translate([motorwidth - leftholedist, 0, leftholedist]) LeftM3Hole();
2020-12-30 17:14:05 +00:00
// upper left
translate([leftholedist, 0, motorwidth - leftholedist]) LeftM3Hole();
2020-12-30 17:14:05 +00:00
// upper right
translate([motorwidth - leftholedist, 0, motorwidth - leftholedist]) LeftM3Hole();
2020-12-30 17:14:05 +00:00
}
module MotorM3Hole() {
rotate([0, 90, 0])cylinder(h = wanddickemotor, d = M3HoleDiam);
2020-12-30 17:14:05 +00:00
}
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);
2020-12-30 17:14:05 +00:00
}