summaryrefslogtreecommitdiff
path: root/testdata/scad/features/child-tests.scad
blob: cf983b4605b36797a70478fb7aee7e44d339e2ad (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
$fn=16;

module parent(range=[0:2]) {
  for (i=range) {
    translate([2.5*i,0,0]) child(i);
  }
}

// Normal
parent() {
  sphere();
  cylinder(h=2, center=true);
  cube(2, center=true);
}

// No children
parent();

// Too few children
translate([0,3,0]) parent() { sphere(); }

// No parameter to child
module parent2() {
  child();
}

translate([2.5,3,0]) parent2() { cylinder(h=2, center=true); sphere(); }

// Negative parameter to child
module parent3() {
  child(-1);
}

translate([5,3,0]) parent3() { cube(); sphere(); }

// Leaking variables to child list is not allowed
translate([0,6,0]) parent(range=[0:1], testvar=10) { sphere(); cube(testvar, center=true);}
contact: Jan Huwald // Impressum