//Resolution res=200; $fn=res; //Wheel Diameter wd=25.4; //Tooth Length tl=5; //Wheel Thickness t=5; //Radius with Tooth tr=wd/2+tl; //Grinder Shaft Radius sr=wd/2-tl; //Number of Wheels nw=1; //Number of Teeth nt=3; a=360/nt; b=360/(nw-1); //Translate Distance trans=tr+sr; //Last modified 4.85 for TEETH module First_Teeth(){ union(){ cylinder(4.85,wd/2,wd/2); for (i=[1:1:nt]) rotate([0,0,360-(a*i)])linear_extrude(4.85)polygon(points=[[wd/2,0],[tr,wd*.04],[wd/2.85,-wd/2.85],[tr*.95,-wd*.04]],paths=[[1,0,2,3]],convexity=10); } } //Last Modified 5.1 module Stack(){ union(){ translate([0,0,4.85])cylinder(5.1,sr*.97,sr*.97); First_Teeth(); }} module Multiply(){ Stack(); for (i=[1:1:nw-1]) rotate([0,0,b*i])translate([0,0,(t+t*1.1)*i])Stack();} module hexagon() { $fn=6; cylinder(11,5*1.03,5*1.03);} module final(){ difference(){ Multiply(); hexagon();}} final(); module hexagon2(){ $fn=6; translate([0,0,0])cylinder(50*.97,5*.97,5*.97);} module shaftfinal(){ union(){ hexagon2(); translate([0,0,50*.97])cylinder(25,3*.97,3*.97); translate([0,0,-25])cylinder(25,3*.97,3*.97);}} // translate([0,0,25])shaftfinal();