diff options
author | Marius Kintel <marius@kintel.net> | 2013-03-28 03:55:51 (GMT) |
---|---|---|
committer | Marius Kintel <marius@kintel.net> | 2013-03-28 03:55:51 (GMT) |
commit | eefcd6d0b271642d470cd55bc47d1579d943938e (patch) | |
tree | 48f9e4db455879025adb9317b740bfa4b72c2d66 /testdata/scad/features | |
parent | f70578f362c8c2c78036c9de846c20802ac7aa81 (diff) | |
parent | beff2b1f4811b7f9d2b58bfc6a469a363bc9bfd0 (diff) |
Merge branch 'master' into epec-kernel
Conflicts:
src/PolySetCGALEvaluator.cc
Diffstat (limited to 'testdata/scad/features')
-rw-r--r-- | testdata/scad/features/resize-2d-tests.scad | 55 | ||||
-rw-r--r-- | testdata/scad/features/resize-tests.scad | 81 | ||||
-rw-r--r-- | testdata/scad/features/scale2D-tests.scad | 10 | ||||
-rw-r--r-- | testdata/scad/features/scale3D-tests.scad | 11 |
4 files changed, 157 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 diff --git a/testdata/scad/features/scale2D-tests.scad b/testdata/scad/features/scale2D-tests.scad new file mode 100644 index 0000000..87b2278 --- /dev/null +++ b/testdata/scad/features/scale2D-tests.scad @@ -0,0 +1,10 @@ +module obj2D() square([2,3], center=true); + +// 3 variants of 3D scale of 2D object +scale([2,4/3,2]) obj2D(); +translate([5,0,0]) scale([2,4/3]) obj2D(); +translate([10,0,0]) scale(2) obj2D(); + +// Scale by zero; 2D object +linear_extrude() scale([0,0]) obj2D(); +linear_extrude() scale([0,1]) obj2D(); diff --git a/testdata/scad/features/scale3D-tests.scad b/testdata/scad/features/scale3D-tests.scad new file mode 100644 index 0000000..c46aae6 --- /dev/null +++ b/testdata/scad/features/scale3D-tests.scad @@ -0,0 +1,11 @@ +module obj3D() cylinder(r=1, center=true, $fn=8); + +// 3 variants of 3D scale of 3D object +translate([0,0,0]) scale([1,2,3]) obj3D(); +translate([5,0,0]) scale([2,1]) obj3D(); +translate([10,0,0]) scale(2) obj3D(); + +// Scale by zero; 3D object +linear_extrude() scale([0,0,0]) obj3D(); +linear_extrude() scale([0,1,0]) obj3D(); +linear_extrude() scale([1,1,0]) obj3D(); |