eps = 0.01; infty = 100; tube_d = 12; body_h = 18; wall = 2.5; spring_r = 1; n_spring = 5; difference() { cylinder(r = tube_d/2 + spring_r + wall, h = body_h); translate([0, 0, wall]) difference() { cylinder(r = tube_d/2 + spring_r, h = body_h); for (a = [0:360/n_spring:360]) rotate([0, 0, a]) translate([tube_d/2 + spring_r, 0, 0]) scale([1, 2, 1]) cylinder(r = spring_r, h = body_h + eps, $fn = 8); } }