infty = 200;
wall = 1.5;
+thin_wall = 0.6;
stab_tube_d = 3.0 + 0.5;
-stab_tube_l = 30;
+stab_tube_d2 = stab_tube_d + 1;
+stab_tube_l = 20;
fuse_tube_d = 8.0;
-fuse_tube_l = 15;
+fuse_tube_l = 12;
slot_w = 3;
-base_d = 17;
+base_d = 15;
base_h = 0.6;
module body() {
- translate([fuse_tube_d/2 + stab_tube_d/2 + wall, 0, 0]) {
+ translate([fuse_tube_d/2 + stab_tube_d/2 + thin_wall, 0, 0]) {
cylinder(r = stab_tube_d/2 + wall, h = stab_tube_l);
- cylinder(r = base_d/2, h = base_h);
+ // cylinder(r1 = base_d/2, r2 = stab_tube_d/2 + wall, h = base_h);
}
hull() {
translate([-fuse_tube_d/2-wall, -fuse_tube_l/2, 0])
cube([fuse_tube_d + 2*wall, fuse_tube_l, fuse_tube_d + 2*wall]);
- translate([fuse_tube_d/2 + stab_tube_d/2 + wall, 0, 0])
+ translate([fuse_tube_d/2 + stab_tube_d/2 + thin_wall, 0, 0])
cylinder(r = stab_tube_d/2 + wall, h = fuse_tube_d + 2*wall);
}
}
difference() {
body();
- translate([fuse_tube_d/2 + stab_tube_d/2 + wall, 0, -eps])
+ translate([fuse_tube_d/2 + stab_tube_d/2 + thin_wall, 0, -eps])
cylinder(r = stab_tube_d/2, h = stab_tube_l + 2*eps);
+ translate([fuse_tube_d/2 + stab_tube_d/2 + wall, 0, wall])
+ cylinder(r = stab_tube_d2/2, h = stab_tube_l - 2*wall);
translate([0, fuse_tube_l/2+eps, fuse_tube_d/2+wall])
rotate([90, 0, 0])
cylinder(r = fuse_tube_d/2, h = fuse_tube_l + 2*eps);
translate([-slot_w/2, -fuse_tube_l/2-eps, fuse_tube_d/2+wall])
cube([slot_w, fuse_tube_l + 2*eps, fuse_tube_d/2+wall+eps]);
}
-
+
+// endpoint
+
+translate([0, fuse_tube_l, 0])
+difference() {
+ union() {
+ cylinder(r = stab_tube_d/2 + wall, h = wall);
+ translate([0, 0, wall-eps])
+ cylinder(r1 = stab_tube_d/2 + wall, r2 = stab_tube_d/2+thin_wall, h = wall);
+ }
+ translate([0, 0, -eps])
+ cylinder(r = stab_tube_d/2, h = 2*wall + 2*eps);
+}
+