wall = 2;
spring_y = 23.8;
-spring_x = 7.8;
+spring_x = 8;
spring_z = 8.5;
spring_low = 1.2; // mm lower than spring_x
// clip
translate([0, -clip_w/2, 0]) cube([wall, clip_w, spring_z + clip_add_z]);
-spring_top_r = 10;
-spring_y_off = spring_y/4 - 1;
+spring_top_r = 9;
+spring_y_off = spring_y/4;
difference() {
union() {
$fn = 128);
}
// top of the spring
- translate([spring_x, -infty/2, -infty/2]) cube(infty);
+ difference() {
+ translate([spring_x, -infty/2, -infty/2]) cube(infty);
+ translate([spring_x - 1, 0, -eps]) scale([0.8, 1, 1]) cylinder(r = 2.5, h = spring_z + 2*eps, $fn = 128);
+ }
// sides
for (i = [-1, 1]) scale([1, i, 1])
cylinder(r = spring_top_r - wall, h = spring_z + 2*eps,
$fn = 128);
}
+
+// color("red") translate([23.5, 0, 0]) cylinder(r = 18, h = spring_z);