]> www.fi.muni.cz Git - things.git/commitdiff
top joiner for the all-flying fin
authorJan "Yenya" Kasprzak <kas@fi.muni.cz>
Fri, 4 May 2018 09:56:49 +0000 (11:56 +0200)
committerJan "Yenya" Kasprzak <kas@fi.muni.cz>
Fri, 4 May 2018 09:56:49 +0000 (11:56 +0200)
fin-joiner.scad [new file with mode: 0644]

diff --git a/fin-joiner.scad b/fin-joiner.scad
new file mode 100644 (file)
index 0000000..1e00257
--- /dev/null
@@ -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 );
+}
+