include <yenyalib.scad>
-sens_h = 42.5 + 10;
+sens_h = 68;
sens_l = 15;
sens_w = 15;
bottom_d = 5;
base_d = 50;
base_h = 3;
-wall = 1.5;
+wall = 2;
clip_angle = 30;
$fn = 128;
intersection() {
difference() {
cylinder(r = 3*wall, h = base_h);
- Tz(-eps) Sx(2) cylinder(r = wall, h = base_h+2*eps);
+ Tz(-eps) cylinder(r = 2*wall, h = base_h+2*eps);
}
Tx(-wall) Ty(-infty) cube(infty);
}
}
+// base_plate
difference() {
cylinder(r = base_d/2-3*wall, h = base_h);
Tz(wall) cylinder(r = base_d/2-4*wall, h = base_h);
sens_side = 15;
My() {
Tx(-sens_side/2) Ty(sens_l/2) {
- cube([sens_side, wall, sens_h+wall]);
- Tz(sens_h/2+wall) Ry(90) Sx(2)
- cylinder(r=wall/2, h = sens_side);
+ cube([sens_side, wall, sens_h]); // sensor side
+ Tz(sens_h/2+wall) Ry(90) Sx(2)
+ cylinder(r=wall/2, h = sens_side); // middle strut
}
}
-translate([-sens_side/2, -sens_l/2-wall, sens_h+wall])
+translate([-sens_side/2, -sens_l/2-wall, sens_h-wall])
cube([sens_side, sens_l+2*wall, wall]);
$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
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
// 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);
}