diff options
-rw-r--r-- | testdata/scad/features/difference-2d-tests.scad | 6 | ||||
-rw-r--r-- | testdata/scad/features/difference-tests.scad | 17 | ||||
-rw-r--r-- | tests/regression/cgalpngtest/difference-2d-tests-expected.png | bin | 9041 -> 9219 bytes | |||
-rw-r--r-- | tests/regression/cgalpngtest/difference-tests-expected.png | bin | 10217 -> 9653 bytes | |||
-rw-r--r-- | tests/regression/dumptest/difference-2d-tests-expected.csg | 6 | ||||
-rw-r--r-- | tests/regression/dumptest/difference-tests-expected.csg | 14 | ||||
-rw-r--r-- | tests/regression/opencsgtest/difference-2d-tests-expected.png | bin | 10458 -> 10956 bytes | |||
-rw-r--r-- | tests/regression/opencsgtest/difference-tests-expected.png | bin | 11344 -> 11035 bytes | |||
-rw-r--r-- | tests/regression/throwntogethertest/difference-2d-tests-expected.png | bin | 10966 -> 12369 bytes | |||
-rw-r--r-- | tests/regression/throwntogethertest/difference-tests-expected.png | bin | 10924 -> 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 Binary files differindex 51134f8..1476953 100644 --- a/tests/regression/cgalpngtest/difference-2d-tests-expected.png +++ b/tests/regression/cgalpngtest/difference-2d-tests-expected.png diff --git a/tests/regression/cgalpngtest/difference-tests-expected.png b/tests/regression/cgalpngtest/difference-tests-expected.png Binary files differindex 1338bc1..bd27d89 100644 --- a/tests/regression/cgalpngtest/difference-tests-expected.png +++ b/tests/regression/cgalpngtest/difference-tests-expected.png 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 Binary files differindex b3b6710..ec45e77 100644 --- a/tests/regression/opencsgtest/difference-2d-tests-expected.png +++ b/tests/regression/opencsgtest/difference-2d-tests-expected.png diff --git a/tests/regression/opencsgtest/difference-tests-expected.png b/tests/regression/opencsgtest/difference-tests-expected.png Binary files differindex 1cc87af..69a4ac2 100644 --- a/tests/regression/opencsgtest/difference-tests-expected.png +++ b/tests/regression/opencsgtest/difference-tests-expected.png diff --git a/tests/regression/throwntogethertest/difference-2d-tests-expected.png b/tests/regression/throwntogethertest/difference-2d-tests-expected.png Binary files differindex 0c4ba44..4aae3be 100644 --- a/tests/regression/throwntogethertest/difference-2d-tests-expected.png +++ b/tests/regression/throwntogethertest/difference-2d-tests-expected.png diff --git a/tests/regression/throwntogethertest/difference-tests-expected.png b/tests/regression/throwntogethertest/difference-tests-expected.png Binary files differindex c478c87..0227306 100644 --- a/tests/regression/throwntogethertest/difference-tests-expected.png +++ b/tests/regression/throwntogethertest/difference-tests-expected.png |