]> www.fi.muni.cz Git - things.git/commitdiff
wing tube support: stronger mid section
authorJan "Yenya" Kasprzak <kas@fi.muni.cz>
Tue, 12 Mar 2019 10:41:49 +0000 (11:41 +0100)
committerJan "Yenya" Kasprzak <kas@fi.muni.cz>
Tue, 12 Mar 2019 10:41:49 +0000 (11:41 +0100)
wing-tube-support.scad

index 908a7b2c230b54ea01bfeb9b0a8db60443d53de4..0c438f783cc4f606b0e79555e60c6f2e37ca3b0f 100644 (file)
@@ -1,10 +1,10 @@
 eps = 0.01;
 infty = 100;
 
-wall = 1.5;
+wall = 1;
 thin_wall = 0.6;
 
-tube_d = 6;
+tube_d = 6 + 0.3;
 tube_zoff = 3;
 
 base_front = 15;
@@ -15,7 +15,7 @@ base_l = 15;
 tube_l = base_l/2;
 base_overhang = 0.9; // factor of base_front, base_r, base_l
 
-module body() {
+module body(tube_zoff) {
        // base
        // scale([1, base_l/base_w, 1])
        // cylinder(r = base_w/2, h = thin_wall);
@@ -52,35 +52,51 @@ module body() {
        for (x = [-1,1])
        scale([x, 1, 1]) {
                translate([tube_d/2, -tube_l/2, 0])
-                       cube([thin_wall, tube_l, tube_zoff + tube_d/2]);
+                       cube([wall, tube_l, tube_zoff + tube_d/2]);
        }
 
        // upper cylinder clip
        translate([0, -tube_l/2, tube_d/2 + tube_zoff])
        intersection() {
-               rotate([-90, 0, 0])
-                       cylinder(r = tube_d/2 + thin_wall, h = tube_l);
-               translate([-tube_d/2-thin_wall, 0, 0])
-                       cube([tube_d + 2*thin_wall, tube_l, tube_d]);
+               rotate([-90, 0, 0]) union() {
+                       cylinder(r = tube_d/2 + wall, h = tube_l);
+                       translate([0, 0, tube_l/2 - wall/2])
+                               cylinder(r = tube_d/2 + wall + thin_wall,
+                                       h = wall);
+               }
+               translate([-tube_d/2-wall, 0, 0])
+                       cube([tube_d + 2*wall, tube_l, tube_d]);
        }
 }
 
-difference() {
-       body();
-       // main tube
-       translate([0, -base_l/2-eps, tube_d/2+tube_zoff])
-       rotate([-90, 0, 0])
-               cylinder(r = tube_d/2, h = base_l + 2*eps);
-       // upper clip
-       translate([-infty/2, -infty/2, tube_zoff + 5*tube_d/6])
-               cube(infty);
+module wing_tube_support(tube_zoff) {
+       difference() {
+               body(tube_zoff);
+               // main tube
+               translate([0, -base_l/2-eps, tube_d/2+tube_zoff])
+               rotate([-90, 0, 0])
+                       cylinder(r = tube_d/2, h = base_l + 2*eps);
+               // upper clip
+               translate([-infty/2, -infty/2, tube_zoff + 5*tube_d/6])
+                       cube(infty);
+
+               // front-side hole
+               translate([0.6*base_front, 0, -eps])
+                       scale([1, base_l/base_front, 1])
+                       cylinder(r = base_front/4, h = thin_wall + 2*eps);
+               // rear-side hole
+               translate([-0.6*base_rear, 0, -eps])
+                       scale([1, base_l/base_rear, 1])
+                       cylinder(r = base_rear/4, h = thin_wall + 2*eps);
+       }
+}
 
-       // front-side hole
-       translate([0.6*base_front, 0, -eps])
-               scale([1, base_l/base_front, 1])
-               cylinder(r = base_front/4, h = thin_wall + 2*eps);
-       // rear-side hole
-       translate([-0.6*base_rear, 0, -eps])
-               scale([1, base_l/base_rear, 1])
-               cylinder(r = base_rear/4, h = thin_wall + 2*eps);
+for (q = [-1,1]) {
+       scale([q, 1, 1]) translate([-base_front - 5, 0, 0]) {
+                       wing_tube_support(1.7);
+               translate([0, -base_l -5, 0])
+                       wing_tube_support(2.8);
+               translate([0, base_l + 5, 0])
+                       wing_tube_support(0.6);
+       }
 }