From: Ian Jackson Date: Wed, 11 Feb 2015 22:51:05 +0000 (+0000) Subject: screw-recess-test: recursion for test location X-Git-Tag: filamentspool-v2-release~198 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=reprap-play.git;a=commitdiff_plain;h=e9e5f81a2977c2d4b8b0814fe4ef345e3fbc6f5c screw-recess-test: recursion for test location --- diff --git a/screw-recess-test.scad b/screw-recess-test.scad index 2e6a96e..3219a84 100644 --- a/screw-recess-test.scad +++ b/screw-recess-test.scad @@ -1,9 +1,5 @@ // -*- C -*- -cubez = 12; - -shaftz = cubez; - module RecessScrewCutout_RecessCylinder(recessdia,zbelow, h){ translate([0,0,-zbelow]) cylinder(r=recessdia/2, h=h+1, $fn=40); } @@ -39,20 +35,11 @@ module RecessedScrewCutout(shaftdia, recessdia, shaftlen, } // shaftdia recessdia -tests = [[2 + 0.5, 4 + 1.0, 4, -4 ], - [3 + 0.5, 6 + 1.0, 0, 10 ], - [4 + 0.5, 8 + 1.0, 0, 25 ], - [5 + 0.5, 10 + 1.0, 17, 4 ], - [6 + 0.5, 12 + 1.0, 17, 20 ]]; - -last_test = tests[len(tests)-1]; - -blockminx = -5; -blockminy = -5; -blockmaxx = 25; -blockmaxy = 20; - -cubexy = 20; +tests = [[2 + 0.5, 4 + 1.0, 0 ], + [3 + 0.5, 6 + 1.0, 12 ], + [4 + 0.5, 8 + 1.0, 28 ], + [5 + 0.5, 10 + 1.0, 38 ], + [6 + 0.5, 12 + 1.0, 48 ]]; module OneTest(t){ blocksz = t[1] + 7; @@ -64,10 +51,15 @@ module OneTest(t){ } } +function Test_x(i) = i<=0 ? 0 : + Test_x(i-1) + tests[i-1][1]*0.5 + tests[i][1]*0.5 + 4.5; + module Tests(){ - for (t = tests) - translate([t[2], t[3], 0]) - OneTest(t); + for (i = [0:len(tests)-1]) { + echo(i, Test_x(i)); + translate([Test_x(i), 0, 0]) + OneTest(tests[i]); + } } //OneTest(tests[1]);