1 include <yenyalib.scad>
7 shield_r1 = inner_d/2 - 3;
11 cone_angle = atan((outer_d-inner_d)/(2*cone_h));
16 blade_w = 5.5*inner_d/blades;
19 shield_r2 = 1.3*shield_r1;
25 beam_end_h = 0.45*beam_h;
27 for (angle = [0:30:360]) Rz(angle) {
29 linear_extrude(height = shield_h, twist = shield_twist,
30 center=false, scale=shield_r2/shield_r1) {
31 Ty(shield_r1) Rz(-blade_rot) {
35 circle(r = shield_r1 + blade_wall/2);
36 circle(r = shield_r1 - blade_wall/2);
39 square([blade_w, shield_r1+blade_wall]);
41 // square([blade_w, blade_wall], center=true);
42 // Sx(blade_w/blade_wall) circle(r=blade_wall/2);
43 // Tx(-blade_w/3) Ty(blade_wall/2) Sx(0.5) circle(r=blade_wall/2);
46 // counter-direction struts
47 linear_extrude(height = shield_h, twist = -shield_twist,
48 center=false, scale=shield_r2/shield_r1)
50 Sx(blade1_w/blade_wall) circle(r=blade_wall/2);
56 cylinder(r1 = inner_d/2, r2 = outer_d/2, h = cone_h);
58 Tx(inner_d/2) Tz(beam_w/3) Ry(90) Sx(3*beam_h/(2*beam_w))
59 cylinder(r = beam_w/2, h = beam_l);
63 Tz(-eps) cylinder(r1 = inner_d/2 - wall/cos(cone_angle),
64 r2 = outer_d/2 - wall/cos(cone_angle),
67 translate([-infty/2, -infty/2, -infty]) cube(infty);
69 translate([inner_d/2+beam_l-beam_end_l, -beam_w/2, beam_end_h])
70 cube([beam_end_l+eps, beam_w, beam_h]);
72 Tx(inner_d/2+beam_l-beam_w/2) Tz(-eps) cylinder(r=2.5, h = beam_end_h + 2*eps);
77 cylinder(r = inner_d/2, h = base_wall);
86 for (angle = [0:120:360]) Rz(angle) difference() {
88 Tx(clip_d/2) Sy(clip_r2/clip_r1)
89 cylinder(r = clip_r1, h = clip_h + wall);
90 Tx(clip_d/2) Ty(clip_r2-clip_end_r) difference() {
91 cylinder(r = clip_end_r, h = clip_h + wall);
92 translate([0, -2*clip_end_r, -eps])
93 cube([4*clip_end_r, 4*clip_end_r, clip_h + wall +2*eps]);
96 Tz(-eps) difference() {
97 cylinder(r = clip_d/2, h = clip_h+eps);
98 Ty(clip_r2-clip_end_r) Tz(-eps)
99 cube([clip_d, clip_d, clip_h+3*eps]);