3
1
Back

NOT > LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; > LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE POSSIBILITY OF SUCH DAMAGE. Copyright 2010-2021 Mike Bostock Permission to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the knurl properties. Module knurl( k_cyl_hg = 12, 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 min diameter: ", 2*cord); echo("knurled cylinder max diameter: ", 2*cird); if( fsh < 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), h2], [ ord*cos(lf2), ord*sin(lf2), h0], [ ird*cos(lf0), ird*sin(lf0), h1], [ 0,0,h2], [ ord*cos(lf0), ord*sin(lf0), h2], [ ord*cos(lf2), ord*sin(lf2), h0], [ 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), h0], [ ird*cos(lf0), ird*sin(lf0), h1], [ 0,0,h2], [ ord*cos(lf0), ord*sin(lf0), h0], [ ird*cos(lf0), ird*sin(lf0), h1], [ ird*cos(lf2), ird*sin(lf2), h1], [ ord*cos(lf1), ord*sin(lf1), h1], [ 0,0,h2], [ ord*cos(lf0), ord*sin(lf0), h0], [ ird*cos(lf1), ird*sin(lf1), h0], [ ird*cos(lf1), ird*sin(lf1), h0], [ ord*cos(lf2), ord*sin(lf2), h0], [ ird*cos(lf0), ird*sin(lf0), h1], [ ord*cos(lf0), ord*sin(lf0), h2], [ ord*cos(lf2), ord*sin(lf2), h0], [ ird*cos(lf1), ird*sin(lf1), h2], [ ord*cos(lf2), ord*sin(lf2), h2] echo(" Knurled Surface Library v2 "); echo(" e_smooth - .

New Pull Request