]> www.fi.muni.cz Git - things.git/commitdiff
kaze fuselage holder
authorJan "Yenya" Kasprzak <kas@fi.muni.cz>
Wed, 19 Jun 2019 15:42:46 +0000 (17:42 +0200)
committerJan "Yenya" Kasprzak <kas@fi.muni.cz>
Wed, 19 Jun 2019 15:42:46 +0000 (17:42 +0200)
kaze-fuselage-holder.scad [new file with mode: 0644]

diff --git a/kaze-fuselage-holder.scad b/kaze-fuselage-holder.scad
new file mode 100644 (file)
index 0000000..c7bcd7f
--- /dev/null
@@ -0,0 +1,71 @@
+eps = 0.01;
+infty = 200;
+
+tube_d = 8.0 + 0.5;
+tube_slot = 6;
+wall = 1.2;
+
+fuse_w = 45;
+fuse_h = 40;
+
+body_h = 15;
+side_w = 8;
+corner_d = 10;
+
+thin_wall = 0.6;
+supp_xoff = 0.75 * side_w;
+supp_zoff = 0.75 * body_h;
+
+module body() {
+       // base_plate
+       translate([-fuse_w/2, -fuse_h/2, 0])
+               cube([fuse_w, fuse_h, thin_wall]);
+
+       // fuse tube
+       translate([0, fuse_h/2-tube_d/2-wall, 0])
+               cylinder(r = tube_d/2+wall, h = body_h);
+
+       // side walls
+       for (x = [-1, 1]) scale([x, 1, 1])
+       translate([fuse_w/2-thin_wall, -fuse_h/2, 0])
+               cube([thin_wall, fuse_h, body_h]);
+       for (y = [-1, 1]) scale([1, y, 1])
+       translate([-fuse_w/2, fuse_h/2-thin_wall, 0])
+               cube([fuse_w, thin_wall, body_h]);
+
+       // side wall supports
+       for (x = [-1, 1]) scale([x, 1, 1])
+       hull() {
+               translate([fuse_w/2-supp_xoff, -fuse_h/2, 0])
+                       cube([thin_wall, fuse_h, thin_wall]);
+               translate([fuse_w/2-thin_wall, -fuse_h/2, supp_zoff])
+                       cube([thin_wall, fuse_h, thin_wall]);
+       }
+       for (y = [-1, 1]) scale([1, y, 1])
+       hull() {
+               translate([-fuse_w/2, fuse_h/2-supp_xoff, 0])
+                       cube([fuse_w, thin_wall, thin_wall]);
+               translate([-fuse_w/2, fuse_h/2-thin_wall, supp_zoff])
+                       cube([fuse_w, thin_wall, thin_wall]);
+       }
+}
+
+difference() {
+       body();
+       // hole in base plate
+       hull() {
+               for (x = [-1, 1])
+               for (y = [-1, 1])
+               scale([x, y, 1])
+               translate([-fuse_w/2+side_w+corner_d/2,
+                       -fuse_h/2+side_w+corner_d/2, -eps])
+                       cylinder(r = corner_d/2, h = thin_wall + 2*eps);
+       }
+       // fuse tube
+       translate([0, fuse_h/2-tube_d/2-wall, -eps])
+               cylinder(r = tube_d/2, h = body_h + 2*eps);
+       // fuse tube slot
+       translate([-tube_slot/2, 0, -eps])
+               cube([tube_slot, fuse_h/2-tube_d/2-wall, body_h +2*eps]);
+}
+