summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--testdata/scad/features/difference-2d-tests.scad6
-rw-r--r--testdata/scad/features/difference-tests.scad17
-rw-r--r--tests/regression/cgalpngtest/difference-2d-tests-expected.pngbin9041 -> 9219 bytes
-rw-r--r--tests/regression/cgalpngtest/difference-tests-expected.pngbin10217 -> 9653 bytes
-rw-r--r--tests/regression/dumptest/difference-2d-tests-expected.csg6
-rw-r--r--tests/regression/dumptest/difference-tests-expected.csg14
-rw-r--r--tests/regression/opencsgtest/difference-2d-tests-expected.pngbin10458 -> 10956 bytes
-rw-r--r--tests/regression/opencsgtest/difference-tests-expected.pngbin11344 -> 11035 bytes
-rw-r--r--tests/regression/throwntogethertest/difference-2d-tests-expected.pngbin10966 -> 12369 bytes
-rw-r--r--tests/regression/throwntogethertest/difference-tests-expected.pngbin10924 -> 11511 bytes
10 files changed, 30 insertions, 13 deletions
diff --git a/testdata/scad/features/difference-2d-tests.scad b/testdata/scad/features/difference-2d-tests.scad
index af74b50..bb798c2 100644
--- a/testdata/scad/features/difference-2d-tests.scad
+++ b/testdata/scad/features/difference-2d-tests.scad
@@ -21,3 +21,9 @@ translate([0,12]) difference() {
square(10, center=true);
circle(r=4);
}
+
+// Subtract 3D from 2D
+translate([24,0]) difference() {
+ square(10, center=true);
+ sphere(r=4);
+}
diff --git a/testdata/scad/features/difference-tests.scad b/testdata/scad/features/difference-tests.scad
index 4e4b218..0751213 100644
--- a/testdata/scad/features/difference-tests.scad
+++ b/testdata/scad/features/difference-tests.scad
@@ -3,27 +3,26 @@ difference();
// No children
difference() { }
+// Basic
difference() {
cube([10,10,10], center=true);
cylinder(r=4, h=20, center=true);
}
-translate([12,0,0]) difference() {
- cube([10,10,10], center=true);
- cylinder(r=4, h=10.5, center=true);
-}
-
+// Two negative objects
translate([0,12,0]) difference() {
cube([10,10,10], center=true);
cylinder(r=4, h=11, center=true);
rotate([0,90,0]) cylinder(r=4, h=11, center=true);
}
+// Not intersecting
translate([12,12,0]) difference() {
cube([10,10,10], center=true);
translate([0,0,7.01]) cylinder(r=4, h=4, center=true);
}
+// Barely intersecting
translate([24,0,0]) difference() {
cube([10,10,10], center=true);
translate([0,0,6.99]) cylinder(r=4, h=4, center=true);
@@ -36,8 +35,14 @@ translate([24,12,0]) difference() {
}
// Non-geometry (echo) statement as first child should be ignored
-translate([0,-12,0]) difference() {
+translate([24,-12,0]) difference() {
echo("difference-tests");
cube([10,10,10], center=true);
cylinder(r=4, h=20, center=true);
}
+
+// Subtracting 2D from 3D
+translate([12,0,0]) difference() {
+ cube([10,10,10], center=true);
+ circle(r=6);
+}
diff --git a/tests/regression/cgalpngtest/difference-2d-tests-expected.png b/tests/regression/cgalpngtest/difference-2d-tests-expected.png
index 51134f8..1476953 100644
--- a/tests/regression/cgalpngtest/difference-2d-tests-expected.png
+++ b/tests/regression/cgalpngtest/difference-2d-tests-expected.png
Binary files differ
diff --git a/tests/regression/cgalpngtest/difference-tests-expected.png b/tests/regression/cgalpngtest/difference-tests-expected.png
index 1338bc1..bd27d89 100644
--- a/tests/regression/cgalpngtest/difference-tests-expected.png
+++ b/tests/regression/cgalpngtest/difference-tests-expected.png
Binary files differ
diff --git a/tests/regression/dumptest/difference-2d-tests-expected.csg b/tests/regression/dumptest/difference-2d-tests-expected.csg
index 193b35b..7bc257d 100644
--- a/tests/regression/dumptest/difference-2d-tests-expected.csg
+++ b/tests/regression/dumptest/difference-2d-tests-expected.csg
@@ -27,4 +27,10 @@ group() {
circle($fn = 0, $fa = 12, $fs = 2, r = 4);
}
}
+ multmatrix([[1, 0, 0, 24], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) {
+ difference() {
+ square(size = [10, 10], center = true);
+ sphere($fn = 0, $fa = 12, $fs = 2, r = 4);
+ }
+ }
}
diff --git a/tests/regression/dumptest/difference-tests-expected.csg b/tests/regression/dumptest/difference-tests-expected.csg
index 472d4d4..8ff8a24 100644
--- a/tests/regression/dumptest/difference-tests-expected.csg
+++ b/tests/regression/dumptest/difference-tests-expected.csg
@@ -5,12 +5,6 @@ group() {
cube(size = [10, 10, 10], center = true);
cylinder($fn = 0, $fa = 12, $fs = 2, h = 20, r1 = 4, r2 = 4, center = true);
}
- multmatrix([[1, 0, 0, 12], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) {
- difference() {
- cube(size = [10, 10, 10], center = true);
- cylinder($fn = 0, $fa = 12, $fs = 2, h = 10.5, r1 = 4, r2 = 4, center = true);
- }
- }
multmatrix([[1, 0, 0, 0], [0, 1, 0, 12], [0, 0, 1, 0], [0, 0, 0, 1]]) {
difference() {
cube(size = [10, 10, 10], center = true);
@@ -42,11 +36,17 @@ group() {
cylinder($fn = 0, $fa = 12, $fs = 2, h = 20, r1 = 4, r2 = 4, center = true);
}
}
- multmatrix([[1, 0, 0, 0], [0, 1, 0, -12], [0, 0, 1, 0], [0, 0, 0, 1]]) {
+ multmatrix([[1, 0, 0, 24], [0, 1, 0, -12], [0, 0, 1, 0], [0, 0, 0, 1]]) {
difference() {
group();
cube(size = [10, 10, 10], center = true);
cylinder($fn = 0, $fa = 12, $fs = 2, h = 20, r1 = 4, r2 = 4, center = true);
}
}
+ multmatrix([[1, 0, 0, 12], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) {
+ difference() {
+ cube(size = [10, 10, 10], center = true);
+ circle($fn = 0, $fa = 12, $fs = 2, r = 6);
+ }
+ }
}
diff --git a/tests/regression/opencsgtest/difference-2d-tests-expected.png b/tests/regression/opencsgtest/difference-2d-tests-expected.png
index b3b6710..ec45e77 100644
--- a/tests/regression/opencsgtest/difference-2d-tests-expected.png
+++ b/tests/regression/opencsgtest/difference-2d-tests-expected.png
Binary files differ
diff --git a/tests/regression/opencsgtest/difference-tests-expected.png b/tests/regression/opencsgtest/difference-tests-expected.png
index 1cc87af..69a4ac2 100644
--- a/tests/regression/opencsgtest/difference-tests-expected.png
+++ b/tests/regression/opencsgtest/difference-tests-expected.png
Binary files differ
diff --git a/tests/regression/throwntogethertest/difference-2d-tests-expected.png b/tests/regression/throwntogethertest/difference-2d-tests-expected.png
index 0c4ba44..4aae3be 100644
--- a/tests/regression/throwntogethertest/difference-2d-tests-expected.png
+++ b/tests/regression/throwntogethertest/difference-2d-tests-expected.png
Binary files differ
diff --git a/tests/regression/throwntogethertest/difference-tests-expected.png b/tests/regression/throwntogethertest/difference-tests-expected.png
index c478c87..0227306 100644
--- a/tests/regression/throwntogethertest/difference-tests-expected.png
+++ b/tests/regression/throwntogethertest/difference-tests-expected.png
Binary files differ
contact: Jan Huwald // Impressum