blinds_motorcontrol/models/motoradapter.scad

59 lines
1.3 KiB
OpenSCAD

$fn=64;
//outside
diameter=15.2+0.7;
diameterBig=17+0.7;
pushFitRadius=1;
//to motor
shaftDiameter=7+0.4;
shaftLength=13;
shaftLowerDiameter=12;
shaftLowerLength=3;
screwDiameter=2.7;
screwDiameterLoose=3.2;
screwPosition=8;
module pushFit() {
union() {
cylinder(h=35, r=diameter/2);
union() {
for (i=[0:360/6:360]) {
rotate([0,0,i]) translate([diameterBig/2-pushFitRadius,0,0]) rotate([0,-1.5,0]) cylinder(h=35, r=pushFitRadius);
}
}
}
}
module pushFit2() {
union() {
cylinder(h=35, r=diameter/2);
union() {
for (i=[0:360/6:360]) {
rotate([0,0,i]) translate([diameterBig/2-pushFitRadius,0,0]) rotate([0,-0.7,45]) cube([pushFitRadius,pushFitRadius,35]);
}
}
translate([0,0,1]) cylinder(h=1, d1=19, d2=diameter);
cylinder(h=1, d=19);
}
}
module toMotor() {
union() {
cylinder(h=shaftLowerLength, r=shaftLowerDiameter/2);
translate([0,0,shaftLowerLength-0.01]) cylinder(h=shaftLength, r=shaftDiameter/2);
translate([0,0,screwPosition]) rotate([90,0,0]) cylinder(h=10,r=screwDiameter/2); //screw hole
translate([0,0,screwPosition]) rotate([-90,0,0]) cylinder(h=10,r=screwDiameterLoose/2); //screw hole big
}
}
difference() {
pushFit2();
translate([0,0,-0.1]) toMotor();
}