56 lines
1.5 KiB
OpenSCAD
56 lines
1.5 KiB
OpenSCAD
M3HoleDiam = 3.4;
|
|
|
|
MountSize = 40;
|
|
BodyWidth = 60;
|
|
|
|
$fn = 100;
|
|
|
|
difference() {
|
|
MainBody();
|
|
M3MountHoles();
|
|
BottomZRodHoles();
|
|
}
|
|
|
|
module M3MountHoles(){
|
|
edgeDistance = (MountSize-20)/2;
|
|
|
|
translate([0, edgeDistance, edgeDistance]) M3Hole(40);
|
|
translate([0, MountSize-edgeDistance, edgeDistance]) M3Hole(40);
|
|
translate([0, edgeDistance, MountSize-edgeDistance]) M3Hole(40);
|
|
translate([0, MountSize-edgeDistance, MountSize-edgeDistance]) M3Hole(40);
|
|
}
|
|
|
|
module BottomZRodHoles(){
|
|
xcenter = 49;
|
|
ycenter = MountSize/2 - 10;
|
|
holedistance = 10.6;
|
|
|
|
translate([xcenter + holedistance/2, ycenter + holedistance/2, 0]) rotate([0,270,0]) M3Hole(5);
|
|
translate([xcenter - holedistance/2, ycenter + holedistance/2, 0]) rotate([0,270,0]) M3Hole(5);
|
|
translate([xcenter + holedistance/2, ycenter - holedistance/2, 0]) rotate([0,270,0]) M3Hole(5);
|
|
translate([xcenter - holedistance/2, ycenter - holedistance/2, 0]) rotate([0,270,0]) M3Hole(5);
|
|
|
|
// center hole
|
|
translate([xcenter, ycenter, 0]) rotate([0,0,0]) cylinder(h = 5, d = 10.1);
|
|
}
|
|
|
|
module M3Hole(thickness) {
|
|
rotate([0, 90, 0])cylinder(h = thickness, d = M3HoleDiam);
|
|
}
|
|
|
|
module MainBody() {
|
|
// left mount plate
|
|
cube([5, MountSize, MountSize]);
|
|
|
|
// bottom frame plate
|
|
translate([5, 0,0 ]) cube([BodyWidth, MountSize, 5]);
|
|
|
|
// motorholder plate
|
|
translate([0, MountSize,0 ]) cube([40+5, 5, 40]);
|
|
|
|
// top rod holde
|
|
translate([BodyWidth, 10,5 ]) cube([5, 20, 30]);
|
|
|
|
translate([BodyWidth, 10, -35 ]) cube([5, 20, 35]);
|
|
}
|