From fe4ed82008966def79a01d20a2109512e32c8b65 Mon Sep 17 00:00:00 2001 From: "Jan \"Yenya\" Kasprzak" Date: Wed, 19 Jun 2019 17:42:46 +0200 Subject: [PATCH] kaze fuselage holder --- kaze-fuselage-holder.scad | 71 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 kaze-fuselage-holder.scad diff --git a/kaze-fuselage-holder.scad b/kaze-fuselage-holder.scad new file mode 100644 index 0000000..c7bcd7f --- /dev/null +++ b/kaze-fuselage-holder.scad @@ -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]); +} + -- 2.43.0