Rev Author Line No. Line
3897 vinchi9 1 r = 35;
2 h = 20;
3 thickness = 2;
4  
5  
6 shield_part();
7  
8  
9 module shield_part(){
10 difference(){
11 difference(){
12 translate([0,0,0.01]){scale(0.999){part(r,h);}}
13 resize([2*r-thickness*2,2*r-thickness*2,0]){part(r,h);}
14 }
15 union(){
16 translate([0,0,1.15*h]){cube([2*r/1.5,thickness,0.3*h],center=true);
17 cube([thickness,2*r/1.5,0.3*h],center=true);}
18 }
19 }
20  
21 difference(){
22 difference(){
23 intersection(){
24 union(){
25 difference(){
26 translate([thickness-r,-thickness/2,0]){cube([2*r-thickness*2,thickness,h]);}
27 translate([-r,0,h/3+h/2]){cube([r,r,h],center=true);}
28 }
29 translate([-thickness/2,thickness-r,0]){cube([thickness,2*r-thickness*2,h]);}
30 }
31 resize([2*r-thickness*2,2*r-thickness*2,0]){part(r,h);}
32 }
33 translate([0,0,-0.1]){cylinder(h=h,r=r/1.6-thickness,$fn=100);}
34 }
35 cylinder(h=h*2,r1=r/1.6-2*thickness,r2=r*0.8,$fn=100);
36 }
37 rotate([0,0,45]){
38 translate([0,0,h/6]){
39 difference(){
40 cube([sqrt(2*pow(r/1.6,2)),sqrt(2*pow(r/1.6,2)),h/3],center=true);
41 cube([sqrt(2*pow(r/1.6,2))-thickness*2,sqrt(2*pow(r/1.6,2))-thickness*2,h/2],center=true);
42 }
43 }
44 }
45 }
46  
47 module part(r,h){
48 difference(){
49 intersection(){
50 translate([-r,-r,0]){cube([2*r,2*r,h]);}
51 cylinder(h=h, r=r,$fn=100);
52 }
53 translate([0,0,h/5]){
54 difference(){
55 translate([-r,-r,0]){cube([r*2,r*2,h+1]);}
56 resize([0,0,h*5/3]){sphere(r=r,$fn=100);}
57 }
58 }
59 }
60 cylinder(h=1.3*h,r=r/1.5,$fn=100);
61 }