From b272d1f0defa8dd908217ccd43a48eb60735d2d4 Mon Sep 17 00:00:00 2001 From: Marius Kintel Date: Sat, 28 Dec 2013 17:11:56 -0500 Subject: Added mixed 2D and 3D object for difference tests 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 Binary files a/tests/regression/cgalpngtest/difference-2d-tests-expected.png and b/tests/regression/cgalpngtest/difference-2d-tests-expected.png differ diff --git a/tests/regression/cgalpngtest/difference-tests-expected.png b/tests/regression/cgalpngtest/difference-tests-expected.png index 1338bc1..bd27d89 100644 Binary files a/tests/regression/cgalpngtest/difference-tests-expected.png and b/tests/regression/cgalpngtest/difference-tests-expected.png 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 Binary files a/tests/regression/opencsgtest/difference-2d-tests-expected.png and b/tests/regression/opencsgtest/difference-2d-tests-expected.png differ diff --git a/tests/regression/opencsgtest/difference-tests-expected.png b/tests/regression/opencsgtest/difference-tests-expected.png index 1cc87af..69a4ac2 100644 Binary files a/tests/regression/opencsgtest/difference-tests-expected.png and b/tests/regression/opencsgtest/difference-tests-expected.png 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 Binary files a/tests/regression/throwntogethertest/difference-2d-tests-expected.png and b/tests/regression/throwntogethertest/difference-2d-tests-expected.png differ diff --git a/tests/regression/throwntogethertest/difference-tests-expected.png b/tests/regression/throwntogethertest/difference-tests-expected.png index c478c87..0227306 100644 Binary files a/tests/regression/throwntogethertest/difference-tests-expected.png and b/tests/regression/throwntogethertest/difference-tests-expected.png differ -- cgit v0.10.1