diff options
Diffstat (limited to 'testdata/scad/features')
| -rw-r--r-- | testdata/scad/features/child-child-test.scad | 12 | ||||
| -rw-r--r-- | testdata/scad/features/module-recursion.scad | 15 | ||||
| -rw-r--r-- | testdata/scad/features/modulevariables.scad | 7 | 
3 files changed, 34 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); diff --git a/testdata/scad/features/modulevariables.scad b/testdata/scad/features/modulevariables.scad new file mode 100644 index 0000000..fc7a183 --- /dev/null +++ b/testdata/scad/features/modulevariables.scad @@ -0,0 +1,7 @@ +module mymodule(modparam) { +  inner_variable = 23; +  inner_variable2 = modparam * 2; +  cylinder(r1=inner_variable, r2=inner_variable2, h=10); +} + +mymodule(5); | 
