hd=8; // hole diameter wr=hd+1; // wand radius xw=0.4; // extrude radius tk=2; // thickness pl=2; // prong length; pa=10; // prong angle; wl=40; // wand length; function pp(px) = [px,sin(pa/2)*px]; function npp(px) = [px,-sin(pa/2)*px]; difference(){ cylinder(r=hd/2+pl+tk, h=tk, $fn=40); translate([0,0,-xw/2]) cylinder(r=hd/2+pl, h=tk+xw, $fn=40); translate([0,0,tk/4]) cylinder(r=hd/2+pl*2.5,h=tk/2); } for(i = [0:20:359]){ linear_extrude(height=tk){ rotate([0,0,i]) polygon([pp(hd/2+xw/2),pp(hd/2+pl*3), npp(hd/2+pl*3),npp(hd/2+xw/2)]); } } translate([hd/2+pl*2,-tk/8,0]) linear_extrude(height=tk) minkowski(){ square([wl-tk,tk/4]); circle(r=tk/2, $fn=20); } difference(){ cylinder(r=hd/2+pl*3+xw,h=tk); translate([0,0,-xw/2]) cylinder(r=hd/2+pl*3-xw,h=tk+xw); }