diff options
Diffstat (limited to 'testdata/scad')
-rw-r--r-- | testdata/scad/bugs/issue591.scad | 25 |
1 files changed, 25 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); +} |