$fn=120; rotate(a=-30, v=[0,0,1]){ union (){ translate(v=[0,0,3/2]){ difference(){ cylinder(h=3,d=39,center=true); cylinder(h=3,d=37,center=true); }} translate(v=[0,0,1/2]){ difference(){ union () { difference(){ cylinder(h=1,d=41,center=true); cylinder(h=1,d=39,center=true);} } union () { rotate(a=30, v=[0,0,1]){ translate(v=[-15,17,0]){ cube([28,28,1], center=true);} } rotate(a=120+30, v=[0,0,1]){ translate(v=[-15,17,0]){ cube([28,28,1], center=true);} } rotate(a=240+30, v=[0,0,1]){ translate(v=[-15,17,0]){ cube([28,28,1], center=true);} } } }} union (){ translate(v=[39/2,0,3/2]){ cube([2,2,3], center=true);} rotate(a=120, v=[0,0,1]){ translate(v=[39/2,0,3/2]){ cube([2,2,3], center=true);}} rotate(a=240, v=[0,0,1]){ translate(v=[39/2,0,3/2]){ cube([2,2,3], center=true);}} } translate(v=[0,0,22/2]){ difference(){ cylinder(h=16,d=42,d2=28,center=true); cylinder(h=16,d=36,d2=22,center=true); }} translate(v=[0,0,39/2]){ difference(){ cylinder(h=1,d=28,center=true); cylinder(h=1,d=22,center=true); }} translate(v=[0,0,50/2]){ difference(){ cylinder(h=17,d=30,center=true); cylinder(h=17,d=26,center=true); }} translate(v=[0,0,39/2]){ difference(){ union (){ translate(v=[30/2,0,0]){ cube([8,4,28], center=true);} rotate(a=120, v=[0,0,1]){ translate(v=[30/2,0,0]){ cube([8,4,28], center=true);}} rotate(a=240, v=[0,0,1]){ translate(v=[30/2,0,0]){ cube([8,4,28], center=true);}} } union () { cylinder(h=40,d=29,center=true); translate(v=[0,0,-14]){ cylinder(h=16,d=41,d2=27,center=true);} } }} }}
Source: https://habr.com/ru/post/219827/
All Articles