]> www.fi.muni.cz Git - things.git/blobdiff - madstab-joiner-end.scad
switch holder.scad
[things.git] / madstab-joiner-end.scad
index e72d989ec84a829d276ebb918b33a9ef8f48d27f..9cabbd3929f49c0080cb76c065d68b250ac2739c 100644 (file)
@@ -1,13 +1,13 @@
 eps = 0.01;
 infty = 200;
 
-wall = 1.5;
+wall = 2.0;
 thin_wall = 0.6;
 
 stab_tube_d = 2.0 + 0.5;
-stab_tube_d2 = stab_tube_d;
-stab_tube_l = 20;
-stab_tube_wall = 1;
+stab_tube_l = 24;
+stab_tube_wall = 1.5;
+stab_tube_xoff = 2;
 
 fuse_tube_d = 8.0;
 fuse_tube_l = 12;
@@ -17,6 +17,8 @@ slot_w = 3.5;
 base_d = 15;
 base_h = 0.6;
 
+fiber_hole_d = 1.2;
+
 module body() {
        // fuse tube
        hull() {
@@ -26,13 +28,12 @@ module body() {
                rotate([90, 0, 0])
                        cylinder(r = fuse_tube_d/2 + wall, h = fuse_tube_l);
        }
-       // stab tube
+       // stab tube + support
        hull() {
-               translate([-fuse_tube_d/2-wall, fuse_tube_l/2-eps, 0])
-                       cube([stab_tube_l, stab_tube_d2+2*eps, eps]);
-               translate([-fuse_tube_d/2-wall, fuse_tube_l/2+stab_tube_d2/2, stab_tube_d2/2+stab_tube_wall])
-               rotate([0, 90, 0])
-                       cylinder(r = stab_tube_d2/2+stab_tube_wall+eps, h = stab_tube_l);
+               translate([-fuse_tube_d/2-stab_tube_xoff-wall, fuse_tube_l/2-wall, 0])
+                       cube([stab_tube_l, stab_tube_d/2+wall, stab_tube_d + 2*stab_tube_wall]);
+               translate([-fuse_tube_d/2 - wall, -fuse_tube_l/2, 0])
+                       cube([fuse_tube_d + wall, eps, thin_wall]);
        }
 }
 
@@ -47,13 +48,27 @@ difference() {
                cube([slot_w, fuse_tube_l + 2*eps, fuse_tube_d/2+wall+eps]);
 
        // stab tube
-       translate([-fuse_tube_d/2-wall-eps, fuse_tube_l/2 + stab_tube_d2/2, stab_tube_d2/2 +stab_tube_wall])
+       translate([-fuse_tube_d/2-stab_tube_xoff-wall-eps, fuse_tube_l/2 + stab_tube_d/2, stab_tube_d/2 +stab_tube_wall])
        rotate([0, 90, 0])
-               cylinder(r = stab_tube_d2/2, h = stab_tube_l + 2*eps, $fn = 6);
+               cylinder(r = stab_tube_d/2, h = stab_tube_l + 2*eps, $fn = 6);
+
+       // right fiber hole
+       translate([-fuse_tube_d/2-wall-fiber_hole_d/2, fuse_tube_l/2-wall-fiber_hole_d/2, -eps])
+               cylinder(r = fiber_hole_d/2, h = stab_tube_d + 2*stab_tube_wall + 2*eps, $fn = 6);
+       // right fiber slot
+       translate([-fuse_tube_d/2-wall-fiber_hole_d/2, fuse_tube_l/2+stab_tube_d/2, -eps])
+               cylinder(r = fiber_hole_d/2, h = stab_tube_d + 2*stab_tube_wall + 2*eps, $fn = 6);
+       // left fiber hole
+       translate([stab_tube_l-fuse_tube_d/2-stab_tube_xoff-2*wall-fiber_hole_d/2, fuse_tube_l/2-wall-fiber_hole_d/2, -eps])
+               cylinder(r = fiber_hole_d/2, h = stab_tube_d + 2*stab_tube_wall + 2*eps, $fn = 6);
+       // left fiber slot
+       translate([stab_tube_l-fuse_tube_d/2-stab_tube_xoff-2*wall-fiber_hole_d/2, fuse_tube_l/2+stab_tube_d/2, -eps])
+               cylinder(r = fiber_hole_d/2, h = stab_tube_d + 2*stab_tube_wall + 2*eps, $fn = 6);
 }
 
 // endpoint stopper
 
+/*
 translate([0, 2*fuse_tube_l, 0])
 difference() {
        union() {
@@ -64,4 +79,5 @@ difference() {
        translate([0, 0, -eps])
                cylinder(r = stab_tube_d/2, h = 2*wall + 2*eps);
 }
+*/