diff options
author | Marius Kintel <marius@kintel.net> | 2011-04-28 21:37:07 (GMT) |
---|---|---|
committer | Marius Kintel <marius@kintel.net> | 2011-04-28 21:37:07 (GMT) |
commit | c66f8c7b35f5e1799376f52c9fbbc0ad377b4d0b (patch) | |
tree | 6c52056f538991610c5e57b84fe353d244aad5be | |
parent | 2f740380dc407a51cff74273810104f9e21025fe (diff) | |
parent | 9ca6f0dedf65ba917319088fdd7708957e87c30c (diff) |
Merge branch 'master' into visitor
-rw-r--r-- | testdata/scad/convex_hull.scad | 44 | ||||
-rw-r--r-- | testdata/scad/minkowski.scad | 68 |
2 files changed, 108 insertions, 4 deletions
diff --git a/testdata/scad/convex_hull.scad b/testdata/scad/convex_hull.scad index 8255417..3114ac5 100644 --- a/testdata/scad/convex_hull.scad +++ b/testdata/scad/convex_hull.scad @@ -1,5 +1,43 @@ -hull() { - translate([15,10,0]) - circle(10); +// Works correctly +module convex2dSimple() { + hull() { + translate([15,10]) circle(10); circle(10); + } +} + +// Works correctly +module convex2dHole() { + hull() { + translate([15,10,0]) circle(10); + difference() { + circle(10); + circle(5); + } + } +} + +// 3d not currently implemented +module convex3dSimple() { + hull() { + translate([15,10]) cylinder(r=10); + cylinder(r=10); + } +} + +// 3d not currently implemented +module convex3dHole() { + hull() { + translate([15,10,0]) cylinder(10); + difference() { + cylinder(10); + cylinder(5); + } + } } + + +convex2dHole(); +translate([40,0,0]) convex2dSimple(); +translate([0,40,0]) convex3dHole(); +translate([40,40,0]) convex3dSimple(); diff --git a/testdata/scad/minkowski.scad b/testdata/scad/minkowski.scad index 26cd972..6d0dade 100644 --- a/testdata/scad/minkowski.scad +++ b/testdata/scad/minkowski.scad @@ -1 +1,67 @@ -minkowski(); + +// 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(); |