From: Jan "Yenya" Kasprzak Date: Fri, 4 May 2018 09:56:08 +0000 (+0200) Subject: alternative joiner for madstab at the end of tube X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?a=commitdiff_plain;h=39154d3888005c30d01222780a341a6e6c78247d;p=things.git alternative joiner for madstab at the end of tube --- diff --git a/madstab-joiner-end.scad b/madstab-joiner-end.scad new file mode 100644 index 0000000..d82285b --- /dev/null +++ b/madstab-joiner-end.scad @@ -0,0 +1,66 @@ +eps = 0.01; +infty = 200; + +wall = 1.5; +thin_wall = 0.6; + +stab_tube_d = 3.0 + 0.5; +stab_tube_d2 = stab_tube_d; +stab_tube_l = 20; + +fuse_tube_d = 8.0; +fuse_tube_l = 12; + +slot_w = 3; + +base_d = 15; +base_h = 0.6; + +module body() { + // fuse tube + hull() { + translate([-fuse_tube_d/2-wall, -fuse_tube_l/2, 0]) + cube([fuse_tube_d + wall, fuse_tube_l, eps]); + translate([0, fuse_tube_l/2, fuse_tube_d/2+wall]) + rotate([90, 0, 0]) + cylinder(r = fuse_tube_d/2 + wall, h = fuse_tube_l); + } + // stab tube + 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+wall]) + rotate([0, 90, 0]) + cylinder(r = stab_tube_d2/2+wall+eps, h = stab_tube_l); + } +} + +difference() { + body(); + // fuse tube hole + 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); + // fuse tube slot + 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]); + + // stab tube + translate([-fuse_tube_d/2-wall-eps, fuse_tube_l/2 + stab_tube_d2/2, stab_tube_d2/2 +wall]) + rotate([0, 90, 0]) + cylinder(r = stab_tube_d2/2, h = stab_tube_l + 2*eps); +} + +// endpoint stopper + +translate([0, 2*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); +} +