74 lines
2.2 KiB
OpenSCAD
74 lines
2.2 KiB
OpenSCAD
use <Motorhalter.scad>;
|
|
use <helpers/Holes.scad>;
|
|
|
|
MountSize = 40;
|
|
BodyWidth = 55;
|
|
|
|
$fn = 100;
|
|
|
|
difference() {
|
|
MainBody();
|
|
M3MountHoles();
|
|
|
|
xcenter = 49;
|
|
ycenter = MountSize/2 - 10;
|
|
translate([xcenter, ycenter, -5]) #BottomZRodHoles();
|
|
YRodHoles();
|
|
|
|
translate([10, 45, 0]) rotate([0, 0, -90]) #motorholes(6);
|
|
}
|
|
|
|
module M3MountHoles(){
|
|
edgeDistance = (MountSize-20)/2;
|
|
|
|
translate([0, edgeDistance, edgeDistance]) #M3Hole(6);
|
|
translate([0, MountSize-edgeDistance, edgeDistance]) #M3Hole(6);
|
|
translate([0, edgeDistance, MountSize-edgeDistance]) #M3Hole(6);
|
|
translate([0, MountSize-edgeDistance, MountSize-edgeDistance]) #M3Hole(6);
|
|
}
|
|
|
|
module BottomZRodHoles(){
|
|
holedistance = 10.6;
|
|
|
|
translate([holedistance/2, holedistance/2, 0]) rotate([0,270,0]) M3Hole(6);
|
|
translate([-holedistance/2, holedistance/2, 0]) rotate([0,270,0]) M3Hole(6);
|
|
translate([holedistance/2, -holedistance/2, 0]) rotate([0,270,0]) M3Hole(6);
|
|
translate([-holedistance/2, -holedistance/2, 0]) rotate([0,270,0]) M3Hole(6);
|
|
|
|
// center hole
|
|
cylinder(h = 6, d = 10.3);
|
|
}
|
|
|
|
module YRodHoles(){
|
|
translate([55, 30, 52.5]) rotate([0, 90, 0]) #cylinder(h = 6, d = 8);
|
|
translate([55, 30, -12.5]) rotate([0, 90, 0]) #cylinder(h = 6, d = 8);
|
|
|
|
translate([55, 25, 10]) #union() {
|
|
// create the ovale hole with the hull of two holes
|
|
hull() {
|
|
translate([0, 5, 0]) rotate([0, 90, 0]) cylinder(h = 6, d = 10);
|
|
translate([0, 5, 20]) rotate([0, 90, 0]) cylinder(h = 6, d = 10);
|
|
}
|
|
}
|
|
}
|
|
|
|
module MainBody() {
|
|
// left mount plate
|
|
translate([0,0,-5]) cube([5, MountSize, MountSize+10]);
|
|
|
|
// bottom frame plate
|
|
translate([5, 0,-5 ]) cube([BodyWidth, MountSize, 5]);
|
|
// up frame plate
|
|
translate([5, 20,40 ]) cube([BodyWidth, 20, 3]);
|
|
|
|
// motorholder plate
|
|
translate([0, MountSize,-5 ]) cube([40+20, 5, 50]);
|
|
|
|
// rod holder
|
|
translate([BodyWidth, 20,-20 ]) cube([5, 25, 80]);
|
|
|
|
// stabilizetriangle
|
|
translate([BodyWidth, MountSize, 45]) rotate([90, 0, 180]) linear_extrude(5) polygon([[0, 0], [0, 15], [20, 0]]);
|
|
translate([BodyWidth, MountSize + 5, -5]) rotate([-90, 0, 180]) linear_extrude(5) polygon([[0, 0], [0, 15], [20, 0]]);
|
|
}
|