summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--testdata/scad/bugs/issue591.scad25
-rw-r--r--tests/CMakeLists.txt1
-rw-r--r--tests/regression/cgalpngtest/issue591-expected.pngbin0 -> 8778 bytes
-rw-r--r--tests/regression/opencsgtest/issue591-expected.pngbin0 -> 8778 bytes
4 files changed, 26 insertions, 0 deletions
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
--- /dev/null
+++ b/tests/regression/cgalpngtest/issue591-expected.png
Binary files differ
diff --git a/tests/regression/opencsgtest/issue591-expected.png b/tests/regression/opencsgtest/issue591-expected.png
new file mode 100644
index 0000000..07e1559
--- /dev/null
+++ b/tests/regression/opencsgtest/issue591-expected.png
Binary files differ
contact: Jan Huwald // Impressum