summaryrefslogtreecommitdiff
path: root/testdata
diff options
context:
space:
mode:
Diffstat (limited to 'testdata')
-rw-r--r--testdata/scad/features/polygon-tests.scad6
-rw-r--r--testdata/scad/features/projection-cut-tests.scad15
-rw-r--r--testdata/scad/features/projection-tests.scad28
-rw-r--r--testdata/scad/features/render-2d-tests.scad9
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);
+}
contact: Jan Huwald // Impressum