summaryrefslogtreecommitdiff
path: root/testdata/scad/features/minkowski-tests.scad
diff options
context:
space:
mode:
Diffstat (limited to 'testdata/scad/features/minkowski-tests.scad')
-rw-r--r--testdata/scad/features/minkowski-tests.scad67
1 files changed, 67 insertions, 0 deletions
diff --git a/testdata/scad/features/minkowski-tests.scad b/testdata/scad/features/minkowski-tests.scad
new file mode 100644
index 0000000..6d0dade
--- /dev/null
+++ b/testdata/scad/features/minkowski-tests.scad
@@ -0,0 +1,67 @@
+
+// Rounded box using 3d minkowski
+module roundedBox3dSimple() {
+ minkowski() {
+ cube([10,10,5]);
+ cylinder(r=5, h=5);
+ }
+}
+
+// Currently segfaults
+module roundedBox3dCut() {
+ minkowski() {
+ difference() {
+ cube([10,10,5]);
+ cube([5,5,5]);
+ }
+ cylinder(r=5, h=5);
+ }
+}
+
+// Currently segfaults
+module roundedBox3dHole() {
+ minkowski() {
+ difference() {
+ cube([10,10,5]);
+ translate([2,2,-2]) cube([6,6,10]);
+ }
+ cylinder(r=2);
+ }
+}
+
+// Works correctly
+module roundedBox2dSimple() {
+ minkowski() {
+ square([10,10]);
+ circle(r=5);
+ }
+}
+
+// Works correctly
+module roundedBox2dCut() {
+ minkowski() {
+ difference() {
+ square([10,10]);
+ square([5,5]);
+ }
+ circle(r=5);
+ }
+}
+
+// Not quite correct, result does not contain a hole, since the impl currently returns the outer boundary of the polygon_with_holes.
+module roundedBox2dHole() {
+ minkowski() {
+ difference() {
+ square([10,10]);
+ translate([2,2]) square([6,6]);
+ }
+ circle(r=2);
+ }
+}
+
+translate([-25,0,0]) roundedBox2dHole();
+translate([0,0,0]) roundedBox2dCut();
+translate([25,0,0]) roundedBox2dSimple();
+translate([-25,25,0]) roundedBox3dHole();
+translate([0,25,0]) roundedBox3dCut();
+translate([25,25,0]) roundedBox3dSimple();
contact: Jan Huwald // Impressum