From: Jan "Yenya" Kasprzak Date: Fri, 4 May 2018 09:56:49 +0000 (+0200) Subject: top joiner for the all-flying fin X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?a=commitdiff_plain;h=ba6020b1bbb0b4ec50782d7bcfd2c55046c7c7f2;p=things.git top joiner for the all-flying fin --- diff --git a/fin-joiner.scad b/fin-joiner.scad new file mode 100644 index 0000000..1e00257 --- /dev/null +++ b/fin-joiner.scad @@ -0,0 +1,60 @@ +eps = 0.01; +infty = 200; + +wall = 1.5; +thin_wall = 0.6; + +stab_tube_d = 3.0 + 0.5; +stab_tube_l = 25; + +stab_tube_off = 3; +pulley_d = 10; + +fuse_tube_d = 8.0; +fuse_tube_l = 12; + +slot_w = 3; + +base_d = 15; +base_h = 0.6; + +module body() { + // fuse tube + cylinder(r = fuse_tube_d/2 + wall, h = fuse_tube_l); + + // stab tube + hull() { + translate([fuse_tube_d/2 + wall + stab_tube_off, 0, stab_tube_d/2+wall]) + rotate([0, 90, 0]) + cylinder(r = stab_tube_d/2+wall, h = stab_tube_l); + translate([fuse_tube_d/2 + wall + stab_tube_off, -stab_tube_d/2, 0]) + cube([stab_tube_l, stab_tube_d, eps]); + } + // joiner + hull() { + // stab tube tip + translate([fuse_tube_d/2 + wall + stab_tube_off + stab_tube_l - eps, + -thin_wall/2, stab_tube_d + 1.5*wall]) + cube([eps, thin_wall, eps]); + // fuse tube tip + translate([fuse_tube_d/2 + wall/2, -thin_wall/2, fuse_tube_l - eps]) + cube([eps, thin_wall, eps]); + translate([fuse_tube_d/2 + wall/2, -3*wall/2, stab_tube_d+1.5*wall]) + cube([eps, 3*wall, eps]); + } +} + +difference() { + body(); + // fuse tube + translate([0, 0, -eps]) + cylinder(r = fuse_tube_d/2, h = fuse_tube_l + 2*eps); + // fuse slot + translate([-fuse_tube_d, -slot_w/2, -eps]) + cube([fuse_tube_d, slot_w, fuse_tube_l + 2*eps]); + // stab tube + translate([0, 0, stab_tube_d/2+wall]) + rotate([0, 90, 0]) + cylinder(r = stab_tube_d/2, h = stab_tube_l + stab_tube_off + fuse_tube_d/2 + wall + eps ); +} +