1
0
Fork 0
scad_models/transmission.scad

68 lines
1.6 KiB
OpenSCAD

epsilon = 0.01;
$fn=100;
module tube(h, de, di){
translate([0,0,h/2-epsilon])
difference(){
cylinder(h, d = de, center = true);
cylinder(h+epsilon, d = di, center = true);
}
}
module transmission(h, d0, d1, d2, h1, h2, p1, p2, d3, d4,l1, l2){
difference (){
cylinder(h, d=d0);
tube (h - h1, de = d0 + epsilon, di = d1);
tube(h - h2, de = d1 + epsilon, di = d2);
translate([0,0, h - p1 + epsilon]) cylinder(h= p1, d = d4);
translate([0,0,-epsilon]) cylinder(h = h - h2, d=d3);
translate([0,0,h-p2/2]){
minkowski(){
sphere(d=1);
cube([l1,l2,p2+epsilon], center=true);
}
minkowski(){
sphere(d=1);
cube([l2,l1,p2+epsilon], center=true);
}
}
};
translate([0,0,115])
mirror([0,0,1])
difference(){
translate([0,0,82.5-p2]){
translate([0,0,p2/2]){
cube([l1,l2,p2], center=true);
cube([l2,l1,p2], center=true);
}
cylinder(p2, d=d4);
}
translate([0,0,96])
difference(){
cylinder(50, d=50,center=true);
translate([0,0,-40])
minkowski(){
cylinder(50, d1=50, d2=0, center=true);
sphere(d=3);
}
}
}
}
transmission(
h=31.65,
d0=14,
d1=12.5,
d2=10.5,
h1 = 12.35,
h2 = 18.85,
p1 = 18,
p2 = 17.1,
d3 = 4,
d4 = 5.5,
l1 = 10,
l2 = 3
);