kugellager
This commit is contained in:
55
kugellager.scad
Normal file
55
kugellager.scad
Normal file
@@ -0,0 +1,55 @@
|
||||
$fn = 50;
|
||||
|
||||
module torus(r1=1, r2=2, angle=360, $fn=$fn){
|
||||
rotate_extrude(convexity=10, $fn=$fn)
|
||||
translate([r2, 0, 0])
|
||||
circle(r=r1, $fn=$fn);
|
||||
}
|
||||
|
||||
module rounded_cube(size, r=0, center=false, $fn=$fn){
|
||||
translate([r, r, r]) minkowski(){
|
||||
cube([size[0]-r*2, size[1]-r*2, size[2]-r*2]);
|
||||
sphere(r, $fn=$fn);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
boden_h = 1;
|
||||
sphere_d = 3;
|
||||
sphere_spiel = 0.5;
|
||||
sphere_ueberstand = 0.5;
|
||||
torus_d = 20;
|
||||
befestigung_d = 3;
|
||||
screw_hole_d = 3;
|
||||
|
||||
gesamt_h = sphere_d + boden_h - sphere_ueberstand;
|
||||
gesamt_r = torus_d / 2 + sphere_d;
|
||||
torus_inner_r = (sphere_d + sphere_spiel) / 2;
|
||||
|
||||
difference() {
|
||||
difference() {
|
||||
union () {
|
||||
cylinder(r=gesamt_r, h=gesamt_h);
|
||||
translate([-befestigung_d, -(gesamt_r + gesamt_h),0]) {
|
||||
cube([befestigung_d, (gesamt_r + gesamt_h) * 2, gesamt_h], r=0.25);
|
||||
}
|
||||
}
|
||||
translate([0,0,torus_inner_r + boden_h]) {
|
||||
torus(r1=torus_inner_r, r2=torus_d / 2);
|
||||
}
|
||||
}
|
||||
|
||||
// Boden
|
||||
translate([0,-gesamt_r,0])
|
||||
cube([gesamt_r, gesamt_r*2, sphere_d + boden_h]);
|
||||
|
||||
// Screw holes
|
||||
translate([-befestigung_d,-(gesamt_r + gesamt_h / 2),gesamt_h / 2]) {
|
||||
rotate(a = [0, 90, 0])
|
||||
cylinder(d=screw_hole_d, h=befestigung_d);
|
||||
}
|
||||
translate([-befestigung_d,(gesamt_r + gesamt_h / 2),gesamt_h / 2]) {
|
||||
rotate(a = [0, 90, 0])
|
||||
cylinder(d=screw_hole_d, h=befestigung_d);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user