From b395448c08152d66b12c6003a97e5ea73c93e4df Mon Sep 17 00:00:00 2001 From: jayAitch256 <46936427+jayAitch256@users.noreply.github.com> Date: Tue, 22 Mar 2022 19:59:40 +0100 Subject: [PATCH] kugellager --- kugellager.scad | 55 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 kugellager.scad diff --git a/kugellager.scad b/kugellager.scad new file mode 100644 index 0000000..762b801 --- /dev/null +++ b/kugellager.scad @@ -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); + } +}