summaryrefslogtreecommitdiff
path: root/testdata
diff options
context:
space:
mode:
authorDon Bright <hugh.m.bright@gmail.com>2013-12-29 23:20:17 (GMT)
committerDon Bright <hugh.m.bright@gmail.com>2013-12-29 23:20:17 (GMT)
commit81a08c05c2d03aa8791279dfbcf7f9ca826fcf96 (patch)
tree5177fa483ea81d5b5e6bbdb354425132b4f17478 /testdata
parent316c514208bebc7e5e99aeeaf916c6011a47b5ac (diff)
parentb272d1f0defa8dd908217ccd43a48eb60735d2d4 (diff)
Merge branch 'master' of github.com:openscad/openscad into colorsfix
Diffstat (limited to 'testdata')
-rw-r--r--testdata/scad/features/difference-2d-tests.scad29
-rw-r--r--testdata/scad/features/difference-tests.scad22
-rw-r--r--testdata/scad/features/linear_extrude-tests.scad7
3 files changed, 52 insertions, 6 deletions
diff --git a/testdata/scad/features/difference-2d-tests.scad b/testdata/scad/features/difference-2d-tests.scad
new file mode 100644
index 0000000..bb798c2
--- /dev/null
+++ b/testdata/scad/features/difference-2d-tests.scad
@@ -0,0 +1,29 @@
+difference() {
+ square(10, center=true);
+ circle(r=4);
+}
+
+translate([12,0]) difference() {
+ square(10, center=true);
+ translate([2,2]) circle(r=2);
+ translate([-2,-2]) circle(r=2);
+}
+
+// Subtracting something from nothing
+translate([12,12]) difference() {
+ square([0,10], center=true);
+ # circle(r=4);
+}
+
+// Non-geometry (echo) statement as first child should be ignored
+translate([0,12]) difference() {
+ echo("difference-2d-tests");
+ square(10, center=true);
+ circle(r=4);
+}
+
+// Subtract 3D from 2D
+translate([24,0]) difference() {
+ square(10, center=true);
+ sphere(r=4);
+}
diff --git a/testdata/scad/features/difference-tests.scad b/testdata/scad/features/difference-tests.scad
index b770764..0751213 100644
--- a/testdata/scad/features/difference-tests.scad
+++ b/testdata/scad/features/difference-tests.scad
@@ -3,27 +3,26 @@ difference();
// No children
difference() { }
+// Basic
difference() {
cube([10,10,10], center=true);
cylinder(r=4, h=20, center=true);
}
-translate([12,0,0]) difference() {
- cube([10,10,10], center=true);
- cylinder(r=4, h=10.5, center=true);
-}
-
+// Two negative objects
translate([0,12,0]) difference() {
cube([10,10,10], center=true);
cylinder(r=4, h=11, center=true);
rotate([0,90,0]) cylinder(r=4, h=11, center=true);
}
+// Not intersecting
translate([12,12,0]) difference() {
cube([10,10,10], center=true);
translate([0,0,7.01]) cylinder(r=4, h=4, center=true);
}
+// Barely intersecting
translate([24,0,0]) difference() {
cube([10,10,10], center=true);
translate([0,0,6.99]) cylinder(r=4, h=4, center=true);
@@ -34,3 +33,16 @@ translate([24,12,0]) difference() {
cube([0,10,10], center=true);
# cylinder(r=4, h=20, center=true);
}
+
+// Non-geometry (echo) statement as first child should be ignored
+translate([24,-12,0]) difference() {
+ echo("difference-tests");
+ cube([10,10,10], center=true);
+ cylinder(r=4, h=20, center=true);
+}
+
+// Subtracting 2D from 3D
+translate([12,0,0]) difference() {
+ cube([10,10,10], center=true);
+ circle(r=6);
+}
diff --git a/testdata/scad/features/linear_extrude-tests.scad b/testdata/scad/features/linear_extrude-tests.scad
index 680bf53..fbd1858 100644
--- a/testdata/scad/features/linear_extrude-tests.scad
+++ b/testdata/scad/features/linear_extrude-tests.scad
@@ -9,7 +9,12 @@ linear_extrude(height=10) square([10,10]);
translate([19,5,0]) linear_extrude(height=10, center=true) difference() {circle(5); circle(3);}
translate([31.5,2.5,0]) linear_extrude(height=10, twist=-45) polygon(points = [[-5,-2.5], [5,-2.5], [0,2.5]]);
-translate([0,20,0]) linear_extrude(height=20, twist=45, slices=2) square([10,10]);
+translate([0,20,0]) linear_extrude(height=20, twist=30, slices=2) {
+ difference() {
+ square([10,10]);
+ translate([1,1]) square([8,8]);
+ }
+}
translate([19,20,0]) linear_extrude(height=20, twist=45, slices=10) square([10,10]);
translate([0,-15,0]) linear_extrude(5) square([10,10]);
contact: Jan Huwald // Impressum