$fn=64; radius = 20; module rad() { difference() { union() { difference() { translate(v = [0,0,2]) cylinder(h=4,r=radius,center=true); translate(v = [0,0,0]) cylinder(h=10,r=radius-2.5,center=true); } translate(v = [0,0,3]) cylinder(h=6,r=4,center=true); for (i=[0:3]) translate(v=[0,0,1.5]) rotate(a=[0,0,i*45]) cube(size=[2,2*radius-1.5,3],center=true); } translate(v = [0,0,0]) cylinder(h=20,r=1.5,center=true); } } module lagerscheibe() { difference() { union() { translate(v = [0,0,2.5]) cylinder(h=5,r=4,center=true); } translate(v = [0,0,0]) cylinder(h=10,r=1.75,center=true); } } module lafette() { difference() { union() { translate(v = [0,2.5,7.5]) cube(size=[40,12.5, 15],center=true); translate(v = [27.5,-10,7.5]) rotate(a=[0,0,-45]) cube(size=[27,5, 15],center=true); translate(v = [40,-17.5,7.5]) cube(size=[10,5, 15],center=true); } for (i=[-2:2]) translate(v = [i*5,0,0]) cylinder(h=50,r=1.75,center=true); translate(v = [0,12.5/2+3.5,7.5]) rotate(a=[0,90,0]) cylinder(h=50,r=3,center=true); translate(v = [-20+6,0,2.5]) rotate(a=[90,0,0]) cylinder(h=50,r=1.75,center=true); translate(v = [-20+6,0,15-2.5]) rotate(a=[90,0,0]) cylinder(h=50,r=1.75,center=true); translate(v = [20-6,0,2.5]) rotate(a=[90,0,0]) cylinder(h=50,r=1.75,center=true); translate(v = [20-6,0,15-2.5]) rotate(a=[90,0,0]) cylinder(h=50,r=1.75,center=true); translate(v = [40,-22.5,7.5]) cube(size=[20,5, 15],center=true); } } module klammer() { difference() { union() { translate(v = [0,0,2.5]) cube(size=[15,12, 5],center=true); } translate(v = [0,0,5]) rotate(a=[90,0,0]) cylinder(h=50,r=3,center=true); translate(v = [5,0,0]) cylinder(h=50,r=1.75,center=true); translate(v = [-5,0,0]) cylinder(h=50,r=1.75,center=true); } } translate(v = [-20,-10,0]) lafette(); translate(v = [-22,22,0]) rad(); translate(v = [0,35,0]) lagerscheibe(); translate(v = [22,22,0]) rad(); translate(v = [0,10,0]) lagerscheibe(); translate(v=[-22,-25,0]) klammer(); translate(v=[22,-10,0]) klammer();