3
1
Back

Round outlines by specifying ≥30 faces. Quality == "final rendering") ? 1 : quality == "preview") ? 0.5 : quality == "fast preview") ? 2 : 2; // surface("FireballSpellSmall.png", center=true, invert=false); } 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 min diameter: ", 2*cord); echo("knurled cylinder min diameter: ", 2*cord); echo("knurled cylinder max diameter: ", 2*cird); if( fsh < 0 shape(fsh, cird+cdp*smt/100, cord, cfn*4, chg); knurled_finish(cord, cird, clf, csh, cfn, crn); else if ( hsh >= 0 module knurled_finish(ord, ird, lf, sh, fn, rn [ ord*cos(lf0), ord*sin(lf0), h0], [ ird*cos(lf1), ird*sin(lf1), h0], [ ird*cos(lf0), ird*sin(lf0), h1], [ ord*cos(lf1), ord*sin(lf1), h1], [ ord*cos(lf1), ord*sin(lf1), h1], [ ird*cos(lf2), ird*sin(lf2), h1], [ ird*cos(lf2), ird*sin(lf2), h1], [ ord*cos(lf1), ord*sin(lf1), h1], [ ird*cos(lf2), ird*sin(lf2), h1], [ ord*cos(lf0), ord*sin(lf0), h2], [ ord*cos(lf2), ord*sin(lf2), h0], [ ord*cos(lf2), ord*sin(lf2), h0], [ ird*cos(lf1), ird*sin(lf1), h2], [ ird*cos(lf1), ird*sin(lf1), h2], [ ord*cos(lf2), ord*sin(lf2), h2] echo(" Knurled Surface Library v2 "); echo(" values may be used with a full circle. NOT IMPLEMENTED YET. Quality = "preview"; // ["fast preview", "preview", "rendering", "final rendering"] // Top.

New Pull Request