]> www.fi.muni.cz Git - things.git/commitdiff
modified Kaze parts
authorJan "Yenya" Kasprzak <kas@fi.muni.cz>
Thu, 20 Jun 2019 11:56:10 +0000 (13:56 +0200)
committerJan "Yenya" Kasprzak <kas@fi.muni.cz>
Thu, 20 Jun 2019 11:56:10 +0000 (13:56 +0200)
kaze-firewall.scad [new file with mode: 0644]
kaze-fuselage-holder.scad
wing-tube-clip-front.scad

diff --git a/kaze-firewall.scad b/kaze-firewall.scad
new file mode 100644 (file)
index 0000000..39aa84e
--- /dev/null
@@ -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);
+}
+
index c7bcd7f43a8944160c1d44797806adf06c79ff80..bf3cb9ab09c4c8f1b1ceade611e1797842c5d647 100644 (file)
@@ -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);
index 9746a4014f623c2632564107161596b8efc9f579..dcdc7587a1f64ad627f4053da4d0bad2316cf1c1 100644 (file)
@@ -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() {