diff options
Diffstat (limited to 'testdata')
| -rw-r--r-- | testdata/scad/features/polygon-tests.scad | 6 | ||||
| -rw-r--r-- | testdata/scad/features/projection-cut-tests.scad | 15 | ||||
| -rw-r--r-- | testdata/scad/features/projection-tests.scad | 28 | ||||
| -rw-r--r-- | testdata/scad/features/render-2d-tests.scad | 9 | 
4 files changed, 46 insertions, 12 deletions
| diff --git a/testdata/scad/features/polygon-tests.scad b/testdata/scad/features/polygon-tests.scad index b4e92b6..0cd259f 100644 --- a/testdata/scad/features/polygon-tests.scad +++ b/testdata/scad/features/polygon-tests.scad @@ -15,4 +15,10 @@ translate([-2,0,0]) polygon(points);  translate([-2,-2,0]) polygon(points=points, paths=[[0,1,2,3], [4,5,6,7]]);  translate([2,-4,0]) polygon([[0,0], [1,0], [1,1], [0,0]]); +// With hole +translate([-2,-4,0]) +  polygon(points=[[0,0], [1,0], [1,1], [0,1], [0.2,0.2], [0.8,0.2], [0.8,0.8], [0.2,0.8]], +          paths=[[0,1,2,3],[4,5,6,7]] +); +  // FIXME: convexity diff --git a/testdata/scad/features/projection-cut-tests.scad b/testdata/scad/features/projection-cut-tests.scad new file mode 100644 index 0000000..0409a3e --- /dev/null +++ b/testdata/scad/features/projection-cut-tests.scad @@ -0,0 +1,15 @@ +// 2D child +projection(cut=true) { square(); } + +projection(cut=true) translate([20,0,0]) cube(10, center=true); + +// Boundary case: clipping the top of a cube +translate([0,20,0]) projection(cut=true) translate([0,0,-4.999999]) cube(10, center=true); + +// holes +translate([0,-10,0]) projection(cut=true) { +  union() { +      difference() { cube(5,center=true); cube(4,center=true); } +      translate([2.1,2.1]) difference() { cube(5,center=true); cube(4,center=true); } +  } +} diff --git a/testdata/scad/features/projection-tests.scad b/testdata/scad/features/projection-tests.scad index bc2111c..27d03fe 100644 --- a/testdata/scad/features/projection-tests.scad +++ b/testdata/scad/features/projection-tests.scad @@ -3,17 +3,25 @@ projection();  // No children  projection() { }  // 2D child -projection(cut=true) { square(); } +projection() { square(); } +// Simple  projection(cut=false) cube(10); -projection(cut=true) translate([20,0,0]) cube(10, center=true); -// Boundary case: clipping the top of a cube -translate([0,20,0]) projection(cut=true) translate([0,0,-4.999999]) cube(10, center=true); -// holes -translate([0,-10,0]) projection(cut=true) { -  union() { -      difference() { cube(5,center=true); cube(4,center=true); } -      translate([2.1,2.1]) difference() { cube(5,center=true); cube(4,center=true); } -  } +// Two children +translate([-12,0]) projection(cut=false) { +    cube(10); +    difference() { +      sphere(10); +      cylinder(h=30, r=5, center=true); +    } +} + +// Holes +translate([6,-12]) projection(cut=false) { +    cube(10); +    difference() { +      sphere(10); +      cylinder(h=30, r=5, center=true); +    }  } diff --git a/testdata/scad/features/render-2d-tests.scad b/testdata/scad/features/render-2d-tests.scad index 683ffe4..f8df115 100644 --- a/testdata/scad/features/render-2d-tests.scad +++ b/testdata/scad/features/render-2d-tests.scad @@ -1,6 +1,11 @@  render() {    difference() { -    square(100, center=true); -    circle(r=30); +    square(10, center=true); +    circle(r=3);    }  } + +translate([12,0,0]) render() { +  square(10, center=true); +  circle(r=3); +} | 
