3
1
Back

Main shape. [mm] knob_radius_bottom = 14; // [1:1:84] working_increment = working_height / (8+tolerance/3); // generally-useful spacing amount for vertical columns of stuff col_left = thickness * 1; h_wall(h=4, l=right_rib_x); } module knurled_cyl(chg, cod, cwd, csh, cdp, fsh, smt) { cord=(cod+cdp+cdp*smt/100)/2; cird=cord-cdp; cfn=round(2*cird*PI/cwd); clf=360/cfn; crn=ceil(chg/csh); echo("knurled cylinder max diameter: ", 2*cird); if( fsh < 0 shape(fsh, cird+cdp*smt/100, cord, cfn*4, chg); module shape(hsh, ird, ord, fn4, hg) { x0= 0; x1 = hsh > 0 ? Ord : ird; y0=-0.1; y1=0; y2=abs(hsh); y3=hg-abs(hsh); y4=hg; y5=hg+0.1; if ( hsh >= 0 module knurled_finish(ord, ird, lf, sh, fn, rn [ ord*cos(lf2), ord*sin(lf2), h0], [ ird*cos(lf0), ird*sin(lf0), h1], [ ird*cos(lf2), ird*sin(lf2), h1], [ ird*cos(lf2), ird*sin(lf2), h1], [ ird*cos(lf2), ird*sin(lf2), h1], [ 0,0,h2], [ ord*cos(lf0), ord*sin(lf0), h0], [ ord*cos(lf2), ord*sin(lf2), h2] ], triangles=[ [0,1,2],[2,3,0], [1,0,4],[4,0,7],[7,8,4], [8,7,9],[10,9,7], [10,7,6],[6,7,0],[3,6,0], [2,1,4],[3,2,6],[10,6,9],[8,9,4], [4,5,2],[2,5,6],[6,5,9],[9,5,4] ], convexity=5.

New Pull Request