diff options
Diffstat (limited to 'testdata')
-rw-r--r-- | testdata/scad/features/child-child-test.scad | 12 | ||||
-rw-r--r-- | testdata/scad/features/module-recursion.scad | 15 |
2 files changed, 27 insertions, 0 deletions
diff --git a/testdata/scad/features/child-child-test.scad b/testdata/scad/features/child-child-test.scad new file mode 100644 index 0000000..e5e6d93 --- /dev/null +++ b/testdata/scad/features/child-child-test.scad @@ -0,0 +1,12 @@ +module up() { + translate([0,0,1]) child(0); +} + +module red() { + color("Red") child(0); +} + +up() cylinder(r=5); +translate([5,0,0]) up() up() cylinder(r=5); +translate([10,0,0]) up() up() up() red() cylinder(r=5); +translate([15,0,0]) red() up() up() up() up() cylinder(r=5); diff --git a/testdata/scad/features/module-recursion.scad b/testdata/scad/features/module-recursion.scad new file mode 100644 index 0000000..f67a1d0 --- /dev/null +++ b/testdata/scad/features/module-recursion.scad @@ -0,0 +1,15 @@ +module tree(currentScale, levels) +{ + h = currentScale; + w = currentScale/5; + childScale = currentScale * 0.7; + + if (levels > 0) { + cylinder(r=w, h=h); + translate([0,0,h]) for (i = [1:2]) { + rotate([40, 0, i * 180]) tree(childScale, levels-1); + } + } +} + +tree(1, 4); |