From: Jan "Yenya" Kasprzak Date: Thu, 20 Jun 2019 11:56:10 +0000 (+0200) Subject: modified Kaze parts X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?p=things.git;a=commitdiff_plain;h=f5ab60cef70b2fbbb70ac48eaf0e11b2bceaf720 modified Kaze parts --- diff --git a/kaze-firewall.scad b/kaze-firewall.scad new file mode 100644 index 0000000..39aa84e --- /dev/null +++ b/kaze-firewall.scad @@ -0,0 +1,94 @@ +eps = 0.01; +infty = 100; + +body_w = 32; // outer parameter, incl. foam +body_h = 32; +foam_w = 3; + +screw_d1 = 19; +screw_d2 = 16; +screw_hole = 3.5; +base_wall = 1.5; + +center_hole_d = 9; + +insert_h = 10; + +wall = 1; + +// base plate +difference() { + translate([-body_w/2, -body_h/2, 0]) + cube([body_w, body_h, base_wall]); + // center hole + translate([0, 0, -eps]) + cylinder(r = center_hole_d/2, h = base_wall + 2*eps); + // screw_d2 screw holes + for (y = [-1, 1]) scale([1, y, 1]) + translate([0, screw_d2/2, -eps]) { + cylinder(r = screw_hole/2, h = base_wall + 2*eps, $fn=6); + translate([0, 0, base_wall/2]) + cylinder(r1 = screw_hole/2, + r2 = screw_hole/2 + base_wall/2, + h = base_wall/2 + 2*eps, $fn = 6); + } + // screw_d1 screw holes + for (x = [-1, 1]) scale([x, 1, 1]) + translate([screw_d1/2, 0, -eps]) { + cylinder(r = screw_hole/2, h = base_wall + 2*eps, $fn=6); + translate([0, 0, base_wall/2]) + cylinder(r1 = screw_hole/2, + r2 = screw_hole/2 + base_wall/2, + h = base_wall/2 + 2*eps, $fn = 6); + } + // cable hole + translate([-body_w/2+foam_w+wall, -body_h/2+foam_w+wall, -eps]) + cube([8, 6, base_wall + 2*eps]); +} + +motor_angle_right = 3; +motor_angle_down = 3; + +base_angle = 10; +angle_r = base_angle + motor_angle_right; +angle_l = base_angle - motor_angle_right; +angle_t = base_angle - motor_angle_down; +angle_d = base_angle + motor_angle_down; + +// +x axis is to the right +// +y axis is to the top +module cone(l, r, t, d, h) { + intersection() { + // top + translate([0, t, 0]) + rotate([-angle_t, 0, 0]) translate([-infty/2, -infty, -infty/2]) cube(infty); + // bottom + translate([0, -d, 0]) + rotate([angle_d, 0, 0]) translate([-infty/2, 0, -infty/2]) cube(infty); + // right + translate([r, 0, 0]) + rotate([0, angle_r, 0]) translate([-infty, -infty/2, -infty/2]) cube(infty); + // left + translate([-l, 0, 0]) + rotate([0, -angle_l, 0]) translate([0, -infty/2, -infty/2]) cube(infty); + // front + translate([-infty/2, -infty/2, 0]) cube(infty); + // rear + translate([-infty/2, -infty/2, h-infty]) cube(infty); + } +} + +difference() { + cone(body_w/2-foam_w, + body_w/2-foam_w, + body_h/2-foam_w, + body_h/2-foam_w, + insert_h); + translate([0, 0, -eps]) + cone(body_w/2 - foam_w - wall/cos(angle_l), + body_w/2 - foam_w - wall/cos(angle_r), + body_h/2 - foam_w - wall/cos(angle_t), + body_h/2 - foam_w - wall/cos(angle_d), + insert_h + 2*eps); +} + diff --git a/kaze-fuselage-holder.scad b/kaze-fuselage-holder.scad index c7bcd7f..bf3cb9a 100644 --- a/kaze-fuselage-holder.scad +++ b/kaze-fuselage-holder.scad @@ -2,21 +2,16 @@ eps = 0.01; infty = 200; tube_d = 8.0 + 0.5; -tube_slot = 6; +tube_slot = 6.5; wall = 1.2; -fuse_w = 45; -fuse_h = 40; - -body_h = 15; -side_w = 8; +side_w = 7; corner_d = 10; thin_wall = 0.6; -supp_xoff = 0.75 * side_w; -supp_zoff = 0.75 * body_h; +supp_xoff = 0.85 * side_w; -module body() { +module body(fuse_w, fuse_h, body_h) { // base_plate translate([-fuse_w/2, -fuse_h/2, 0]) cube([fuse_w, fuse_h, thin_wall]); @@ -34,6 +29,7 @@ module body() { cube([fuse_w, thin_wall, body_h]); // side wall supports + supp_zoff = body_h-thin_wall; for (x = [-1, 1]) scale([x, 1, 1]) hull() { translate([fuse_w/2-supp_xoff, -fuse_h/2, 0]) @@ -50,22 +46,27 @@ module body() { } } -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); +module main(fuse_w, fuse_h, body_h) { + difference() { + body(fuse_w, fuse_h, body_h); + // 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]); } - // 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]); } +main(42, 37, 12); + +translate([45, 0, 0]) main(30, 25, 8); diff --git a/wing-tube-clip-front.scad b/wing-tube-clip-front.scad index 9746a40..dcdc758 100644 --- a/wing-tube-clip-front.scad +++ b/wing-tube-clip-front.scad @@ -5,15 +5,15 @@ wall = 1.5; tube_d = 8.0 + 0.5; tube2_d = 6.0 + 0.5; -tube2_xoff = tube_d/2 + tube2_d/2 + 9; +tube2_xoff = tube_d/2 + tube2_d/2 + 11; clip_w = tube2_d + 2*wall; slot_w = 5; slot_angle = 180; -wing_slot = 0.75*tube2_d; -wing_top_wall = 3; +wing_slot = 0.85*tube2_d; +wing_top_wall = 3.5; difference() { hull() {