From 0899abeb90f72817bfe2e8ce28d280d3b27d6efc Mon Sep 17 00:00:00 2001 From: Marius Kintel Date: Sun, 5 Jan 2014 12:44:53 -0500 Subject: Added testcase for #591 diff --git a/testdata/scad/bugs/issue591.scad b/testdata/scad/bugs/issue591.scad new file mode 100644 index 0000000..f30142f --- /dev/null +++ b/testdata/scad/bugs/issue591.scad @@ -0,0 +1,25 @@ +// Creates the same "non-manifold" object (sharing one edge) using two techniques: +// o linear_extrude of two 2D objects +// o union of two linear_extrudes +// +// Subsequently cuts away the non-manifold part: +// -> the first technique fails, the second one succeeds +// +module cutoff() { + difference() { + children(); + translate([0,0,2.5]) cube(2, center=true); + } +} + +cutoff() { + linear_extrude(height=3, scale=[0,1], convexity=2) { + translate([1,0,0]) square(1,true); + translate([-1,0,0]) square(1,true); + } +} + +translate([0,2,0]) cutoff() { + linear_extrude(height=3, scale=[0,1]) translate([1,0,0]) square(1,true); + linear_extrude(height=3, scale=[0,1]) translate([-1,0,0]) square(1,true); +} diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index ed5bdc3..a1c5cc6 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -891,6 +891,7 @@ list(APPEND BUGS_FILES ${CMAKE_SOURCE_DIR}/../testdata/scad/bugs/issue495.scad ${CMAKE_SOURCE_DIR}/../testdata/scad/bugs/issue578b.scad ${CMAKE_SOURCE_DIR}/../testdata/scad/bugs/issue582.scad ${CMAKE_SOURCE_DIR}/../testdata/scad/bugs/issue584.scad + ${CMAKE_SOURCE_DIR}/../testdata/scad/bugs/issue591.scad ${CMAKE_SOURCE_DIR}/../testdata/scad/bugs/issue585.scad) list(APPEND OPENCSGTEST_FILES ${BUGS_FILES}) diff --git a/tests/regression/cgalpngtest/issue591-expected.png b/tests/regression/cgalpngtest/issue591-expected.png new file mode 100644 index 0000000..07e1559 Binary files /dev/null and b/tests/regression/cgalpngtest/issue591-expected.png differ diff --git a/tests/regression/opencsgtest/issue591-expected.png b/tests/regression/opencsgtest/issue591-expected.png new file mode 100644 index 0000000..07e1559 Binary files /dev/null and b/tests/regression/opencsgtest/issue591-expected.png differ -- cgit v0.10.1