]> www.fi.muni.cz Git - things.git/blobdiff - radiacni-stit.scad
radiacni stit v2
[things.git] / radiacni-stit.scad
index 9e20d74fba0d1ab3d947bd5b92859a530f78862e..ff9934c159bc04042c852ff71327e71056910457 100644 (file)
@@ -2,35 +2,45 @@ include <yenyalib.scad>
 
 $fn = 128;
 infty = 500;
-inner_d = 80;
-outer_d = 95;
-cone_h = 20;
+inner_d = 64;
+outer_d = 75;
+shield_r1 = inner_d/2 - 3;
+cone_h = 12;
 wall = 1.5;
-base_wall = 3;
+base_wall = 1.2;
 cone_angle = atan((outer_d-inner_d)/(2*cone_h));
-shield_h = 80;
-shield_twist = 30;
-blade_wall = 2.5;
+shield_h = 70;
+shield_twist = -45;
+blade_wall = 1;
 blades = 12;
-blade_w = 4*inner_d/blades;
+blade_w = 5.5*inner_d/blades;
 blade1_w = 4;
-blade_rot = 16;
-shield_r1 = inner_d/2 - blade_w/2*sin(blade_rot) - 1.5*wall;
-shield_r2 = 1.1*shield_r1;
+blade_rot = 9;
+shield_r2 = 1.3*shield_r1;
 
 beam_w = 10;
-beam_h = 15;
-beam_l = inner_d/2 + 60;
+beam_h = 11;
+beam_l = 70;
 beam_end_l = 20;
-beam_end_h = 0.35*beam_h;
+beam_end_h = 0.45*beam_h;
 
 for (angle = [0:30:360]) Rz(angle) {
        // main blades
        linear_extrude(height = shield_h, twist = shield_twist,
                center=false, scale=shield_r2/shield_r1) {
-                       Ty(shield_r1) Rz(blade_rot) {
-                               Sx(blade_w/blade_wall) circle(r=blade_wall/2);
-                               Tx(-blade_w/3) Ty(blade_wall/2) Sx(0.5) circle(r=blade_wall/2);
+                       Ty(shield_r1) Rz(-blade_rot) {
+                               Ty(-shield_r1)
+                               intersection() {
+                                       difference() {
+                                               circle(r = shield_r1 + blade_wall/2);
+                                               circle(r = shield_r1 - blade_wall/2);
+                                       }
+                                       Tx(-blade_w/2)
+                                               square([blade_w, shield_r1+blade_wall]);
+                               }
+                               // square([blade_w, blade_wall], center=true);
+                               // Sx(blade_w/blade_wall) circle(r=blade_wall/2);
+                               // Tx(-blade_w/3) Ty(blade_wall/2) Sx(0.5) circle(r=blade_wall/2);
                        }
                }
        // counter-direction struts
@@ -45,7 +55,7 @@ difference() {
        union() {
                cylinder(r1 = inner_d/2, r2 = outer_d/2, h = cone_h);
                // beam
-               Tz(beam_w/3) Ry(90) Sx(3*beam_h/(2*beam_w))
+               Tx(inner_d/2) Tz(beam_w/3) Ry(90) Sx(3*beam_h/(2*beam_w))
                         cylinder(r = beam_w/2, h = beam_l);
                // beam_end
                
@@ -56,10 +66,10 @@ difference() {
        // z negative
        translate([-infty/2, -infty/2, -infty]) cube(infty);
        // beam end
-       translate([beam_l-beam_end_l, -beam_w/2, beam_end_h])
+       translate([inner_d/2+beam_l-beam_end_l, -beam_w/2, beam_end_h])
                cube([beam_end_l+eps, beam_w, beam_h]);
        // beam screw hole
-       Tx(beam_l-beam_w/2) Tz(-eps) cylinder(r=2.5, h = beam_end_h + 2*eps);
+       Tx(inner_d/2+beam_l-beam_w/2) Tz(-eps) cylinder(r=2.5, h = beam_end_h + 2*eps);
        
 }