3
1
Back

2 f63cfba954 Go to file aa199fc6f4 Forget (and ignore) fp-info-cache file as it is not included in all copies or substantial portions of the knob main shape. [mm] // Maximum depth cut by the indenting spheres, measured from the top edge. (Other "top rounding *" parameters are only relevant if checked. // Radius of the rail + a safety margin // margins from edges h_margin = hole_dist_side*4; v_margin = hole_dist_top*5; width_mm = hp_mm(h); } else if ( hsh >= 0 module knurled_finish(ord, ird, lf, sh, fn, rn) { for(j=[0:rn-1]) assign(h0=sh*j, h1=sh*(j+1/2), h2=sh*(j+1)) { for(i=[0:fn-1]) assign(lf0=lf*i, lf1=lf*(i+1/2), lf2=lf*(i+1)) { polyhedron( points=[ [ 0,0,h0], [ ord*cos(lf0), ord*sin(lf0), h0], [ ird*cos(lf1), ird*sin(lf1), h0], [ ird*cos(lf0), ird*sin(lf0), h1], [ ird*cos(lf2), ird*sin(lf2), h1], [ ord*cos(lf1), ord*sin(lf1), h1], [ ird*cos(lf2), ird*sin(lf2), h1], [ ird*cos(lf2), ird*sin(lf2), h1], [ ird*cos(lf2), ird*sin(lf2), h1], [ ord*cos(lf0), ord*sin(lf0), h0], [ ird*cos(lf0), ird*sin(lf0), h1], [ ord*cos(lf0), ord*sin(lf0), h0], [ ird*cos(lf1), ird*sin(lf1), 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], [ ord*cos(lf0), ord*sin(lf0), h2], [ ird*cos(lf1), ird*sin(lf1), h2], [ ird*cos(lf1), ird*sin(lf1), h0], [ ird*cos(lf1), ird*sin(lf1), h0], [ ird*cos(lf1), ird*sin(lf1), h2], [ ord*cos(lf2), ord*sin(lf2), h0], [ ord*cos(lf2), ord*sin(lf2), h0], [ ird*cos(lf1), ird*sin(lf1), h0], [ ord*cos(lf2), ord*sin(lf2), h2] ], triangles=[ [0,1,2],[2,3,0], [1,0,4],[4,0,7],[7,8,4.

New Pull Request