summaryrefslogtreecommitdiff
path: root/testdata
diff options
context:
space:
mode:
Diffstat (limited to 'testdata')
-rw-r--r--testdata/scad/features/resize-2d-tests.scad55
-rw-r--r--testdata/scad/features/resize-tests.scad81
2 files changed, 136 insertions, 0 deletions
diff --git a/testdata/scad/features/resize-2d-tests.scad b/testdata/scad/features/resize-2d-tests.scad
new file mode 100644
index 0000000..911a4cd
--- /dev/null
+++ b/testdata/scad/features/resize-2d-tests.scad
@@ -0,0 +1,55 @@
+// red = reference
+// gold = basic resize
+// green = auto resize
+// pink = errors, wrong syntax, trying to resize in 3rd dimension, etc
+
+$fn=10;
+
+// two simple holes
+module shape(){
+ difference() {
+ square([5,5]);
+ translate([1,1]) square();
+ translate([3,3]) circle();
+ }
+}
+
+// holes that have problems (duplicate vertex)
+module shape2(){
+ difference() {
+ square([5,5]);
+ translate([1,1]) square();
+ translate([2,2]) square();
+ }
+}
+
+// one square split into two by another
+module shape3(){
+ difference() {
+ square([5,5]);
+ translate([0,2.5]) square([5,1]);
+ }
+}
+
+color("red") {
+translate([-16,0]) scale([3,3]) shape();
+translate([-16,16]) scale([3,3]) shape2();
+translate([-16,32]) scale([3,3]) shape3();
+}
+
+translate([0,0]) resize([15,15]) shape();
+translate([0,16]) resize([15,15,0]) shape2();
+translate([0,32]) resize([15,15]) shape3();
+
+color("green"){
+translate([16,0]) resize([15,0],auto=true) shape();
+translate([16,16]) resize([0,15],auto=true) shape2();
+translate([16,32]) resize([0,15],auto=[true,false]) shape3();
+}
+
+color("pink"){
+translate([32,0]) resize([0,0],auto=[false,true]) shape();
+translate([32,16]) resize([0,0,15],auto=true) shape2();
+translate([32,32]) resize([0,0,15]) shape3();
+}
+
diff --git a/testdata/scad/features/resize-tests.scad b/testdata/scad/features/resize-tests.scad
new file mode 100644
index 0000000..659848b
--- /dev/null
+++ b/testdata/scad/features/resize-tests.scad
@@ -0,0 +1,81 @@
+// bottom row (red) = reference
+// middle row (gold) = should match reference
+// top row (blue) = should be 'spherical' versions of gold row,
+// and should be inscribed in gold row in 'top' view
+// back row (green) = should be all cubes auto-scaled up
+// back top (purple) = uses 'auto' feature
+// pink = recursive resize, negative, <1, wrong syntax, etc
+
+$fn=8;
+
+color("red") {
+translate([0, 0,-10]) cube();
+translate([0,10,-10]) cube([5,1,1]);
+translate([0,20,-10]) cube([1,6,1]);
+translate([0,30,-10]) cube([1,1,7]);
+translate([0,40,-10]) cube([5,6,1]);
+translate([0,60,-10]) cube([1,6,7]);
+translate([0,50,-10]) cube([5,1,7]);
+translate([0,70,-10]) cube([8,9,1]);
+translate([0,80,-10]) cube([9,1,1]);
+translate([0,90,-10]) cube([5,6,7]);
+}
+
+translate([0, 0,0]) cube();
+translate([0,10,0]) resize([5,0,0]) cube();
+translate([0,20,0]) resize([0,6,0]) cube();
+translate([0,30,0]) resize([0,0,7]) cube();
+translate([0,40,0]) resize([5,6,0]) cube();
+translate([0,60,0]) resize([0,6,7]) cube();
+translate([0,50,0]) resize([5,0,7]) cube();
+translate([0,70,0]) resize([8,9]) cube();
+translate([0,80,0]) resize([9]) cube();
+translate([0,90,0]) resize([5,6,7]) cube();
+
+color("blue"){
+translate([0, 0,10]) cube();
+translate([2.5,10.5,10]) resize([5,0,0]) sphere(0.5);
+translate([0.5,23,10]) resize([0,6,0]) sphere(0.5);
+translate([0.5,30.5,10]) resize([0,0,7]) sphere(0.5);
+translate([2.5,43,10]) resize([5,6,0]) sphere(0.5);
+translate([2.5,50.5,10]) resize([5,0,7]) sphere(0.5);
+translate([0.5,63,10]) resize([0,6,7]) sphere(0.5);
+translate([4,74.5,10]) resize([8,9]) sphere(0.5);
+translate([4.5,80.5,10]) resize([9]) sphere(0.5);
+translate([2.5,93,10]) resize([5,6,7]) sphere(0.5);
+}
+
+color("green"){
+translate([10, 0, 0]) cube();
+translate([10,10,0]) resize([5,0,0],auto=true) cube();
+translate([10,20,0]) resize([0,6,0],auto=true) cube();
+translate([10,30,0]) resize([0,0,7],auto=true) cube();
+translate([10,40,0]) resize([5,6,0],true) cube();
+translate([10,50,0]) resize([5,0,7],true) cube();
+translate([10,60,0]) resize([0,6,7],auto=true) cube();
+translate([10,70,0]) resize([8,9],auto=true) cube();
+translate([10,80,0]) resize([9],true) cube();
+translate([10,90,0]) resize([5,6,7],auto=true) cube();
+}
+
+color("purple"){
+translate([10, 0, 10]) cube();
+translate([10,10,10]) resize([5,0,0],auto=[true,true,false]) cube();
+translate([10,20,10]) resize([6,0,0],auto=[true,true,true]) cube();
+translate([13.5,33.5,10]) resize([7,0,0],auto=[true,false,false]) sphere();
+translate([10,40,10]) resize([6,0,0],auto=[true,false,true]) cube();
+translate([10,50,10]) resize([7,0,7],auto=[false,true,true]) cube();
+translate([13.5,63.5,10]) resize([7,0,0],auto=[false,true,false]) sphere(); translate([10,70,10]) resize([8,0,0],auto=[false,false,false]) cube();
+translate([10,80,10]) resize([9,0,0],auto=[false,false,true]) cube();
+translate([10,90,10]) resize([0,0,7],auto=[true,true,false]) cube();
+}
+
+color("pink"){
+translate([10,0,-10]) resize([4,4,4]) resize([5000,100,1000]) cube();
+translate([10,10,-10]) resize([-5,0,0]) cube();
+translate([10,20,-10]) resize([-5,0,0],auto=3) cube();
+translate([10,30,-10]) resize(-5,0,0,auto=3) cube();
+translate([10,40,-10]) resize(5,0,0) cube();
+translate([10,50,-10]) resize([0.5,0,7]) cube([0.5,1,1000]);
+translate([10,60,-10]) resize([0,0,0.5]) cube([6,6,10000000000]);
+} \ No newline at end of file
contact: Jan Huwald // Impressum