$fn=180; D_Aussen=98; D_Spiegel=43; D_Linse=90; Dicke=1.5; difference() { union(){ difference() { union(){ cylinder(d=D_Aussen+4, h=20); } 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,12.5+1+Dicke]) difference() { cylinder(d=D_Aussen, h=1, center=true); cylinder(d1=D_Aussen-2, d2=D_Aussen, h=1, center=true); cylinder(d2=D_Aussen-2, d1=D_Aussen, h=1, center=true); } } #rotate([0,0,60]) translate([0,0,10]) 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]);; } } }