$fn=180;

D_Aussen=99;
D_Spiegel=43;
D_Linse=90;
Dicke=1.5;

difference() {
  union(){
    difference() {
      union(){
        cylinder(d=D_Aussen+4, h=16);
      }
      union(){
        translate([0,0,Dicke]) cylinder(d=D_Aussen, h=20);
        cylinder(d=D_Spiegel-5, h=20, center=true);
        for(i=[0:360/3:359]) 
          rotate([0,0,i]) translate([(D_Linse+D_Spiegel)/4,0,0]) 
            cylinder(d1=(D_Linse-D_Spiegel)/2, d2=3/2*Dicke+(D_Linse-D_Spiegel)/2, h=Dicke);
      }
    }
    translate([0,0,13.5+Dicke]) difference() {
      cylinder(d=D_Aussen, h=2, center=true);
      cylinder(d1=D_Aussen-4, d2=D_Aussen, h=2, center=true);
      cylinder(d2=D_Aussen-4, d1=D_Aussen, h=2, center=true);
    }
  }
  rotate([0,0,60]) translate([0,0,7]) for(i=[0:360/3:359]) rotate([0,0,i]) union() {
    for(j=[-40:360/$fn:+40]) rotate([0,0,j]) hull() {
      rotate([0,0,+360/$fn/2]) cube([60,0.001,20]);
      rotate([0,0,-360/$fn/2]) cube([60,0.001,20]);
    }
  }
}


