From 10d17d5a826595a2d04ae4448cb6a74bb6383ea5 Mon Sep 17 00:00:00 2001 From: Vitaliy Filippov Date: Sun, 27 Dec 2015 19:33:38 +0000 Subject: [PATCH] Lego damper with ball ends --- ball_amort.scad | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 ball_amort.scad diff --git a/ball_amort.scad b/ball_amort.scad new file mode 100644 index 0000000..f65182a --- /dev/null +++ b/ball_amort.scad @@ -0,0 +1,48 @@ +$fn = 50; + +difference() { union() { + +difference() { + cylinder(r=4, h=4*8); + ball_end_n(); + translate([0, 0, 6]) cylinder(r=3.2, h=4*8); + translate([-5, -0.5, 4*8-6]) cube(size=[10, 1, 3], center=false); +} + +color([1, 0.5, 0.5]) +translate([0, 0, 6*8]) rotate([180, 0, 0]) { + difference() { + union() { + cylinder(r=3, h=3*8); + cylinder(r=4, h=8); + } + translate([-5, -0.7, 14-3]) cube(size=[10, 1.4, 8+3], center=false); + ball_end_n(); + } +} + +color([0.5, 0.5, 1]) +translate([-4, -0.5, 4*8-6]) cube(size=[8, 1, 3], center=false); + +} +//translate([0, -50, -1]) cube(size=[10, 100, 50]); +} + +module ball_end() { + difference() { + ball_end_p(); + ball_end_n(); + } +} + +module ball_end_p() { + union() { + translate([0, 0, 1.7+3.2+1-4]) difference() { sphere(r=4); translate([-5, -5, -6]) cube(size=[10,10,5]); } + cylinder(r=4, h=2); + } +} + +module ball_end_n() { + translate([0, 0, 1.7]) sphere(r=3.2); + translate([0, 0, -0.1]) cylinder(r=2.9, h=2); +}