eps = 0.01;
infty = 100;
-wall = 1;
+wall = 1.2;
thin_wall = 0.6;
-tube_d = 6 + 0.3;
+tube_d = 6 + 0.1;
tube_zoff = 3;
base_front = 15;
scale([x, 1, 1]) {
translate([tube_d/2, -tube_l/2, 0])
cube([wall, tube_l, tube_zoff + tube_d/2]);
+ translate([tube_d/2+wall, -wall, 0])
+ cube([wall, 2*wall, tube_zoff + tube_d/2]);
}
// upper cylinder clip
intersection() {
rotate([-90, 0, 0]) union() {
cylinder(r = tube_d/2 + wall, h = tube_l);
- translate([0, 0, tube_l/2 - wall/2])
- cylinder(r = tube_d/2 + wall + thin_wall,
- h = wall);
+ translate([0, 0, tube_l/2 - wall])
+ cylinder(r = tube_d/2 + 2*wall,
+ h = 2*wall);
}
- translate([-tube_d/2-wall, 0, 0])
- cube([tube_d + 2*wall, tube_l, tube_d]);
+ translate([-tube_d/2-2*wall, 0, 0])
+ cube([tube_d + 4*wall, tube_l, tube_d]);
}
}
// main tube
translate([0, -base_l/2-eps, tube_d/2+tube_zoff])
rotate([-90, 0, 0])
- cylinder(r = tube_d/2, h = base_l + 2*eps);
+ cylinder(r = tube_d/2, h = base_l + 2*eps, $fn = 32);
// upper clip
translate([-infty/2, -infty/2, tube_zoff + 5*tube_d/6])
cube(infty);
// front-side hole
- translate([0.6*base_front, 0, -eps])
+ translate([0.7*base_front, 0, -eps])
scale([1, base_l/base_front, 1])
- cylinder(r = base_front/4, h = thin_wall + 2*eps);
+ cylinder(r = base_front/5, h = thin_wall + 2*eps);
// rear-side hole
translate([-0.6*base_rear, 0, -eps])
scale([1, base_l/base_rear, 1])