diff --git a/examples/Advanced/children_indexed.scad b/examples/Advanced/children_indexed.scad index cea2c660..108a9e54 100644 --- a/examples/Advanced/children_indexed.scad +++ b/examples/Advanced/children_indexed.scad @@ -37,7 +37,8 @@ module align_in_grid_and_add_text() text("Nothing...", 6, halign = "center"); } else { t = $children == 1 ? "one object" : str($children, " objects "); - text(t, 6, halign = "center"); + linear_extrude(height = 1, center = true) + text(t, 6, halign = "center"); for (y = [0 : $children - 1]) for (x = [0 : $children - 1]) diff --git a/examples/Advanced/module_recursion.scad b/examples/Advanced/module_recursion.scad index 62e0ad30..af3429c5 100644 --- a/examples/Advanced/module_recursion.scad +++ b/examples/Advanced/module_recursion.scad @@ -1,5 +1,3 @@ -echo(version=version()); - // Recursive calls of modules can generate complex geometry, especially // fractal style objects. // The example uses a recursive module to generate a random tree as @@ -28,10 +26,9 @@ function mt(x, y) = [ [ 1, 0, 0, x ], [ 0, 1, 0, y ], [ 0, 0, 1, 0 ], [ 0, 0, 0, function mr(a) = [ [ cos(a), -sin(a), 0, 0 ], [ sin(a), cos(a), 0, 0 ], [ 0, 0, 1, 0 ], [ 0, 0, 0, 1 ] ]; module tree(length, thickness, count, m = identity, r = 1) { - echo(r); color([0, 1 - (0.8 / levels * count), 0]) multmatrix(m) - cube([thickness, length, thickness]); + square([thickness, length]); if (count > 0) { tree(rnd(0.6, 0.8, r) * length, 0.8 * thickness, count - 1, m * mt(0, length) * mr(rnd(20, 35, r + 1)), 8 * r); @@ -41,8 +38,7 @@ module tree(length, thickness, count, m = identity, r = 1) { tree(len, thickness, levels); - - +echo(version=version()); // Written in 2015 by Torsten Paul // // To the extent possible under law, the author(s) have dedicated all diff --git a/examples/Functions/recursion.scad b/examples/Functions/recursion.scad index d8105dac..47ce21ee 100644 --- a/examples/Functions/recursion.scad +++ b/examples/Functions/recursion.scad @@ -10,9 +10,7 @@ // some time when OpenSCAD detects the endless recursive call. function factorial(n) = n == 0 ? 1 : factorial(n - 1) * n; -color("cyan") - linear_extrude(height = 1) - text(str("6! = ", factorial(6)), halign = "center"); +color("cyan") text(str("6! = ", factorial(6)), halign = "center"); echo(version=version()); // Written in 2015 by Torsten Paul diff --git a/examples/Old/example001.scad b/examples/Old/example001.scad new file mode 100644 index 00000000..d974ea34 --- /dev/null +++ b/examples/Old/example001.scad @@ -0,0 +1,38 @@ +module example001() +{ + function r_from_dia(d) = d / 2; + + module rotcy(rot, r, h) { + rotate(90, rot) + cylinder(r = r, h = h, center = true); + } + + difference() { + sphere(r = r_from_dia(size)); + rotcy([0, 0, 0], cy_r, cy_h); + rotcy([1, 0, 0], cy_r, cy_h); + rotcy([0, 1, 0], cy_r, cy_h); + } + + size = 50; + hole = 25; + + cy_r = r_from_dia(hole); + cy_h = r_from_dia(size * 2.5); +} + +echo(version=version()); + +example001(); + +// Written by Clifford Wolf and Marius +// Kintel +// +// To the extent possible under law, the author(s) have dedicated all +// copyright and related and neighboring rights to this software to the +// public domain worldwide. This software is distributed without any +// warranty. +// +// You should have received a copy of the CC0 Public Domain +// Dedication along with this software. +// If not, see . diff --git a/examples/Old/example002.scad b/examples/Old/example002.scad new file mode 100644 index 00000000..e8a0f752 --- /dev/null +++ b/examples/Old/example002.scad @@ -0,0 +1,36 @@ + +module example002() +{ + intersection() { + difference() { + union() { + cube([30, 30, 30], center = true); + translate([0, 0, -25]) + cube([15, 15, 50], center = true); + } + union() { + cube([50, 10, 10], center = true); + cube([10, 50, 10], center = true); + cube([10, 10, 50], center = true); + } + } + translate([0, 0, 5]) + cylinder(h = 50, r1 = 20, r2 = 5, center = true); + } +} + +echo(version=version()); + +example002(); + +// Written by Clifford Wolf and Marius +// Kintel +// +// To the extent possible under law, the author(s) have dedicated all +// copyright and related and neighboring rights to this software to the +// public domain worldwide. This software is distributed without any +// warranty. +// +// You should have received a copy of the CC0 Public Domain +// Dedication along with this software. +// If not, see . diff --git a/examples/Old/example003.scad b/examples/Old/example003.scad new file mode 100644 index 00000000..20420ad1 --- /dev/null +++ b/examples/Old/example003.scad @@ -0,0 +1,33 @@ + +module example003() +{ + difference() { + union() { + cube([30, 30, 30], center = true); + cube([40, 15, 15], center = true); + cube([15, 40, 15], center = true); + cube([15, 15, 40], center = true); + } + union() { + cube([50, 10, 10], center = true); + cube([10, 50, 10], center = true); + cube([10, 10, 50], center = true); + } + } +} + +echo(version=version()); + +example003(); + +// Written by Clifford Wolf and Marius +// Kintel +// +// To the extent possible under law, the author(s) have dedicated all +// copyright and related and neighboring rights to this software to the +// public domain worldwide. This software is distributed without any +// warranty. +// +// You should have received a copy of the CC0 Public Domain +// Dedication along with this software. +// If not, see . diff --git a/examples/Old/example004.scad b/examples/Old/example004.scad new file mode 100644 index 00000000..012c72db --- /dev/null +++ b/examples/Old/example004.scad @@ -0,0 +1,24 @@ + +module example004() +{ + difference() { + cube(30, center = true); + sphere(20); + } +} + +echo(version=version()); + +example004(); + +// Written by Clifford Wolf and Marius +// Kintel +// +// To the extent possible under law, the author(s) have dedicated all +// copyright and related and neighboring rights to this software to the +// public domain worldwide. This software is distributed without any +// warranty. +// +// You should have received a copy of the CC0 Public Domain +// Dedication along with this software. +// If not, see . diff --git a/examples/Old/example005.scad b/examples/Old/example005.scad new file mode 100644 index 00000000..0d896cb5 --- /dev/null +++ b/examples/Old/example005.scad @@ -0,0 +1,34 @@ + +module example005() +{ + translate([0, 0, -120]) { + difference() { + cylinder(h = 50, r = 100); + translate([0, 0, 10]) cylinder(h = 50, r = 80); + translate([100, 0, 35]) cube(50, center = true); + } + for (i = [0:5]) { + echo(360*i/6, sin(360*i/6)*80, cos(360*i/6)*80); + translate([sin(360*i/6)*80, cos(360*i/6)*80, 0 ]) + cylinder(h = 200, r=10); + } + translate([0, 0, 200]) + cylinder(h = 80, r1 = 120, r2 = 0); + } +} + +echo(version=version()); + +example005(); + +// Written by Clifford Wolf and Marius +// Kintel +// +// To the extent possible under law, the author(s) have dedicated all +// copyright and related and neighboring rights to this software to the +// public domain worldwide. This software is distributed without any +// warranty. +// +// You should have received a copy of the CC0 Public Domain +// Dedication along with this software. +// If not, see . diff --git a/examples/Advanced/iteration.scad b/examples/Old/example006.scad similarity index 99% rename from examples/Advanced/iteration.scad rename to examples/Old/example006.scad index 3895ffe7..a98b5ac3 100644 --- a/examples/Advanced/iteration.scad +++ b/examples/Old/example006.scad @@ -1,4 +1,3 @@ -echo(version=version()); module example006() { @@ -41,6 +40,8 @@ module example006() } } +echo(version=version()); + example006(); // Written by Clifford Wolf and Marius diff --git a/examples/Extrusion/cut_view.dxf b/examples/Old/example007.dxf similarity index 100% rename from examples/Extrusion/cut_view.dxf rename to examples/Old/example007.dxf diff --git a/examples/Extrusion/cut_view.scad b/examples/Old/example007.scad similarity index 88% rename from examples/Extrusion/cut_view.scad rename to examples/Old/example007.scad index 07a558b0..2503407d 100644 --- a/examples/Extrusion/cut_view.scad +++ b/examples/Old/example007.scad @@ -1,4 +1,3 @@ -echo(version=version()); module cutout() { @@ -7,13 +6,13 @@ module cutout() rotate(90, [1, 0, 0]) translate([0, 0, -50]) linear_extrude(height = 100, convexity = 1) - import(file = "cut_view.dxf", layer = "cutout1"); + import(file = "example007.dxf", layer = "cutout1"); rotate(90, [0, 0, 1]) rotate(90, [1, 0, 0]) translate([0, 0, -50]) linear_extrude(height = 100, convexity = 2) - import(file = "cut_view.dxf", layer = "cutout2"); + import(file = "example007.dxf", layer = "cutout2"); } } @@ -23,8 +22,10 @@ module clip() // NB! We have to use the deprecated module here since the "dorn" // layer contains an open polyline, which is not yet supported // by the import() module. - rotate_extrude(convexity = 3) - import(file = "cut_view.dxf", layer="dorn"); + rotate_extrude( + file = "example007.dxf", + layer="dorn", + convexity = 3); for (r = [0, 90]) rotate(r, [0, 0, 1]) cutout(); @@ -59,6 +60,8 @@ module cutview() } } +echo(version=version()); + translate([0, 0, -10]) clip(); diff --git a/examples/Extrusion/text.dxf b/examples/Old/example008.dxf similarity index 100% rename from examples/Extrusion/text.dxf rename to examples/Old/example008.dxf diff --git a/examples/Extrusion/text.scad b/examples/Old/example008.scad similarity index 80% rename from examples/Extrusion/text.scad rename to examples/Old/example008.scad index 838f70d7..d0798fbc 100644 --- a/examples/Extrusion/text.scad +++ b/examples/Old/example008.scad @@ -6,29 +6,29 @@ difference() { translate([ -25, -25, -25]) linear_extrude(height = 50, convexity = 3) - import(file = "text.dxf", layer = "G"); + import(file = "example008.dxf", layer = "G"); rotate(90, [1, 0, 0]) translate([ -25, -125, -25]) linear_extrude(height = 50, convexity = 3) - import(file = "text.dxf", layer = "E"); + import(file = "example008.dxf", layer = "E"); rotate(90, [0, 1, 0]) translate([ -125, -125, -25]) linear_extrude(height = 50, convexity = 3) - import(file = "text.dxf", layer = "B"); + import(file = "example008.dxf", layer = "B"); } intersection() { translate([ -125, -25, -26]) linear_extrude(height = 52, convexity = 1) - import(file = "text.dxf", layer = "X"); + import(file = "example008.dxf", layer = "X"); rotate(90, [0, 1, 0]) translate([ -125, -25, -26]) linear_extrude(height = 52, convexity = 1) - import(file = "text.dxf", layer = "X"); + import(file = "example008.dxf", layer = "X"); } } diff --git a/examples/Extrusion/fan_view.dxf b/examples/Old/example009.dxf similarity index 100% rename from examples/Extrusion/fan_view.dxf rename to examples/Old/example009.dxf diff --git a/examples/Extrusion/fan_view.scad b/examples/Old/example009.scad similarity index 63% rename from examples/Extrusion/fan_view.scad rename to examples/Old/example009.scad index 37bcb1d5..4b753a91 100644 --- a/examples/Extrusion/fan_view.scad +++ b/examples/Old/example009.scad @@ -1,32 +1,32 @@ echo(version=version()); -bodywidth = dxf_dim(file = "fan_view.dxf", name = "bodywidth"); -fanwidth = dxf_dim(file = "fan_view.dxf", name = "fanwidth"); -platewidth = dxf_dim(file = "fan_view.dxf", name = "platewidth"); -fan_side_center = dxf_cross(file = "fan_view.dxf", layer = "fan_side_center"); -fanrot = dxf_dim(file = "fan_view.dxf", name = "fanrot"); +bodywidth = dxf_dim(file = "example009.dxf", name = "bodywidth"); +fanwidth = dxf_dim(file = "example009.dxf", name = "fanwidth"); +platewidth = dxf_dim(file = "example009.dxf", name = "platewidth"); +fan_side_center = dxf_cross(file = "example009.dxf", layer = "fan_side_center"); +fanrot = dxf_dim(file = "example009.dxf", name = "fanrot"); % linear_extrude(height = bodywidth, center = true, convexity = 10) - import(file = "fan_view.dxf", layer = "body"); + import(file = "example009.dxf", layer = "body"); % for (z = [+(bodywidth/2 + platewidth/2), -(bodywidth/2 + platewidth/2)]) { translate([0, 0, z]) linear_extrude(height = platewidth, center = true, convexity = 10) - import(file = "fan_view.dxf", layer = "plate"); + import(file = "example009.dxf", layer = "plate"); } intersection() { linear_extrude(height = fanwidth, center = true, convexity = 10, twist = -fanrot) - import(file = "fan_view.dxf", layer = "fan_top"); + import(file = "example009.dxf", layer = "fan_top"); // NB! We have to use the deprecated module here since the "fan_side" // layer contains an open polyline, which is not yet supported // by the import() module. - rotate_extrude(convexity = 10) - import(file = "fan_view.dxf", layer = "fan_side", origin = fan_side_center); + rotate_extrude(file = "example009.dxf", layer = "fan_side", + origin = fan_side_center, convexity = 10); } // Written by Clifford Wolf and Marius diff --git a/examples/Basics/surface.dat b/examples/Old/example010.dat similarity index 100% rename from examples/Basics/surface.dat rename to examples/Old/example010.dat diff --git a/examples/Basics/surface.scad b/examples/Old/example010.scad similarity index 77% rename from examples/Basics/surface.scad rename to examples/Old/example010.scad index e49605e2..7dca894e 100644 --- a/examples/Basics/surface.scad +++ b/examples/Old/example010.scad @@ -1,23 +1,20 @@ -// surface.scad - Example for surface() usage in OpenSCAD -// -// surface.dat generated using octave: + +// example010.dat generated using octave: // d = (sin(1:0.2:10)' * cos(1:0.2:10)) * 10; -// save("surface.dat", "d"); +// save("example010.dat", "d"); echo(version=version()); intersection() { - surface(file = "surface.dat", + surface(file = "example010.dat", center = true, convexity = 5); rotate(45, [0, 0, 1]) - surface(file = "surface.dat", + surface(file = "example010.dat", center = true, convexity = 5); } - - // Written by Clifford Wolf and Marius // Kintel // diff --git a/examples/Shapes/polyhedron.scad b/examples/Old/example011.scad similarity index 97% rename from examples/Shapes/polyhedron.scad rename to examples/Old/example011.scad index c0947f98..48aabc81 100644 --- a/examples/Shapes/polyhedron.scad +++ b/examples/Old/example011.scad @@ -8,7 +8,7 @@ polyhedron( [0, -10, 0], [0, 0, 10] ], - faces = [ + triangles = [ [0, 1, 2, 3], [4, 1, 0], [4, 2, 1], diff --git a/examples/Shapes/sphere.scad b/examples/Old/example012.scad similarity index 77% rename from examples/Shapes/sphere.scad rename to examples/Old/example012.scad index 37cf3d4a..b44b2946 100644 --- a/examples/Shapes/sphere.scad +++ b/examples/Old/example012.scad @@ -1,4 +1,4 @@ -// M.stl is generated from Basics/LetterBlock.scad +// example012.stl is generated from Basics/LetterBlock.scad echo(version=version()); @@ -6,8 +6,8 @@ difference() { sphere(20); - translate([ 0, 0.5, +20 ]) rotate([180, 0, 180]) - import("M.stl", convexity = 5); + translate([ -2.92, 0.5, +20 ]) rotate([180, 0, 180]) + import("example012.stl", convexity = 5); } // Written by Clifford Wolf and Marius diff --git a/examples/Shapes/sphere.stl b/examples/Old/example012.stl similarity index 97% rename from examples/Shapes/sphere.stl rename to examples/Old/example012.stl index 9c5c2316..c88d133e 100644 --- a/examples/Shapes/sphere.stl +++ b/examples/Old/example012.stl @@ -1,450 +1,450 @@ -solid ascii - facet normal 0.000000e+000 -0.000000e+000 1.000000e+000 - outer loop - vertex 3.422440e+000 -1.067730e+001 5.000000e+000 - vertex 6.347434e+000 -1.067730e+001 5.000000e+000 - vertex 3.422440e+000 8.281660e+000 5.000000e+000 - endloop - endfacet - facet normal -0.000000e+000 0.000000e+000 1.000000e+000 - outer loop - vertex 3.422440e+000 8.281660e+000 5.000000e+000 - vertex 6.347434e+000 -1.067730e+001 5.000000e+000 - vertex 6.347434e+000 1.133150e+001 5.000000e+000 - endloop - endfacet - facet normal -0.000000e+000 0.000000e+000 1.000000e+000 - outer loop - vertex 2.280978e+000 1.133150e+001 5.000000e+000 - vertex 3.422440e+000 8.281660e+000 5.000000e+000 - vertex 6.347434e+000 1.133150e+001 5.000000e+000 - endloop - endfacet - facet normal -0.000000e+000 0.000000e+000 1.000000e+000 - outer loop - vertex 2.280978e+000 1.133150e+001 5.000000e+000 - vertex -3.033951e+000 -9.213713e-001 5.000000e+000 - vertex 3.422440e+000 8.281660e+000 5.000000e+000 - endloop - endfacet - facet normal 0.000000e+000 0.000000e+000 1.000000e+000 - outer loop - vertex 3.422440e+000 8.281660e+000 5.000000e+000 - vertex -3.033951e+000 -9.213713e-001 5.000000e+000 - vertex -2.320538e+000 -4.613285e+000 5.000000e+000 - endloop - endfacet - facet normal 0.000000e+000 0.000000e+000 1.000000e+000 - outer loop - vertex -2.320538e+000 -4.613285e+000 5.000000e+000 - vertex -3.033951e+000 -9.213713e-001 5.000000e+000 - vertex -4.104071e+000 -4.613285e+000 5.000000e+000 - endloop - endfacet - facet normal 0.000000e+000 -0.000000e+000 1.000000e+000 - outer loop - vertex -4.104071e+000 -4.613285e+000 5.000000e+000 - vertex -3.033951e+000 -9.213713e-001 5.000000e+000 - vertex -9.793542e+000 8.281660e+000 5.000000e+000 - endloop - endfacet - facet normal -0.000000e+000 -0.000000e+000 1.000000e+000 - outer loop - vertex -9.793542e+000 8.281660e+000 5.000000e+000 - vertex -3.033951e+000 -9.213713e-001 5.000000e+000 - vertex -8.527233e+000 1.133150e+001 5.000000e+000 - endloop - endfacet - facet normal -0.000000e+000 0.000000e+000 1.000000e+000 - outer loop - vertex -1.252235e+001 1.133150e+001 5.000000e+000 - vertex -9.793542e+000 8.281660e+000 5.000000e+000 - vertex -8.527233e+000 1.133150e+001 5.000000e+000 - endloop - endfacet - facet normal -0.000000e+000 0.000000e+000 1.000000e+000 - outer loop - vertex -1.252235e+001 1.133150e+001 5.000000e+000 - vertex -1.252235e+001 -1.067730e+001 5.000000e+000 - vertex -9.793542e+000 8.281660e+000 5.000000e+000 - endloop - endfacet - facet normal -0.000000e+000 0.000000e+000 1.000000e+000 - outer loop - vertex -9.793542e+000 8.281660e+000 5.000000e+000 - vertex -1.252235e+001 -1.067730e+001 5.000000e+000 - vertex -9.793542e+000 -1.067730e+001 5.000000e+000 - endloop - endfacet - facet normal 0.000000e+000 -1.000000e+000 0.000000e+000 - outer loop - vertex -1.252235e+001 1.133150e+001 1.500000e+001 - vertex -1.252235e+001 1.133150e+001 5.000000e+000 - vertex -8.527233e+000 1.133150e+001 1.500000e+001 - endloop - endfacet - facet normal 0.000000e+000 -1.000000e+000 -0.000000e+000 - outer loop - vertex -8.527233e+000 1.133150e+001 1.500000e+001 - vertex -1.252235e+001 1.133150e+001 5.000000e+000 - vertex -8.527233e+000 1.133150e+001 5.000000e+000 - endloop - endfacet - facet normal -9.124922e-001 -4.090940e-001 -0.000000e+000 - outer loop - vertex -8.527233e+000 1.133150e+001 1.500000e+001 - vertex -8.527233e+000 1.133150e+001 5.000000e+000 - vertex -3.033951e+000 -9.213713e-001 1.500000e+001 - endloop - endfacet - facet normal -9.124922e-001 -4.090940e-001 0.000000e+000 - outer loop - vertex -3.033951e+000 -9.213713e-001 1.500000e+001 - vertex -8.527233e+000 1.133150e+001 5.000000e+000 - vertex -3.033951e+000 -9.213713e-001 5.000000e+000 - endloop - endfacet - facet normal 9.174094e-001 -3.979447e-001 0.000000e+000 - outer loop - vertex -3.033951e+000 -9.213713e-001 1.500000e+001 - vertex -3.033951e+000 -9.213713e-001 5.000000e+000 - vertex 2.280978e+000 1.133150e+001 1.500000e+001 - endloop - endfacet - facet normal 9.174094e-001 -3.979447e-001 0.000000e+000 - outer loop - vertex 2.280978e+000 1.133150e+001 1.500000e+001 - vertex -3.033951e+000 -9.213713e-001 5.000000e+000 - vertex 2.280978e+000 1.133150e+001 5.000000e+000 - endloop - endfacet - facet normal 0.000000e+000 -1.000000e+000 0.000000e+000 - outer loop - vertex 2.280978e+000 1.133150e+001 1.500000e+001 - vertex 2.280978e+000 1.133150e+001 5.000000e+000 - vertex 6.347434e+000 1.133150e+001 1.500000e+001 - endloop - endfacet - facet normal 0.000000e+000 -1.000000e+000 -0.000000e+000 - outer loop - vertex 6.347434e+000 1.133150e+001 1.500000e+001 - vertex 2.280978e+000 1.133150e+001 5.000000e+000 - vertex 6.347434e+000 1.133150e+001 5.000000e+000 - endloop - endfacet - facet normal -1.000000e+000 -0.000000e+000 -0.000000e+000 - outer loop - vertex 6.347434e+000 1.133150e+001 1.500000e+001 - vertex 6.347434e+000 1.133150e+001 5.000000e+000 - vertex 6.347434e+000 -1.067730e+001 1.500000e+001 - endloop - endfacet - facet normal -1.000000e+000 -0.000000e+000 -0.000000e+000 - outer loop - vertex 6.347434e+000 -1.067730e+001 1.500000e+001 - vertex 6.347434e+000 1.133150e+001 5.000000e+000 - vertex 6.347434e+000 -1.067730e+001 5.000000e+000 - endloop - endfacet - facet normal 0.000000e+000 1.000000e+000 0.000000e+000 - outer loop - vertex 6.347434e+000 -1.067730e+001 1.500000e+001 - vertex 6.347434e+000 -1.067730e+001 5.000000e+000 - vertex 3.422440e+000 -1.067730e+001 1.500000e+001 - endloop - endfacet - facet normal 0.000000e+000 1.000000e+000 0.000000e+000 - outer loop - vertex 3.422440e+000 -1.067730e+001 1.500000e+001 - vertex 6.347434e+000 -1.067730e+001 5.000000e+000 - vertex 3.422440e+000 -1.067730e+001 5.000000e+000 - endloop - endfacet - facet normal 1.000000e+000 -0.000000e+000 0.000000e+000 - outer loop - vertex 3.422440e+000 -1.067730e+001 1.500000e+001 - vertex 3.422440e+000 -1.067730e+001 5.000000e+000 - vertex 3.422440e+000 8.281660e+000 1.500000e+001 - endloop - endfacet - facet normal 1.000000e+000 -0.000000e+000 0.000000e+000 - outer loop - vertex 3.422440e+000 8.281660e+000 1.500000e+001 - vertex 3.422440e+000 -1.067730e+001 5.000000e+000 - vertex 3.422440e+000 8.281660e+000 5.000000e+000 - endloop - endfacet - facet normal -9.134987e-001 4.068417e-001 0.000000e+000 - outer loop - vertex 3.422440e+000 8.281660e+000 1.500000e+001 - vertex 3.422440e+000 8.281660e+000 5.000000e+000 - vertex -2.320538e+000 -4.613285e+000 1.500000e+001 - endloop - endfacet - facet normal -9.134987e-001 4.068417e-001 0.000000e+000 - outer loop - vertex -2.320538e+000 -4.613285e+000 1.500000e+001 - vertex 3.422440e+000 8.281660e+000 5.000000e+000 - vertex -2.320538e+000 -4.613285e+000 5.000000e+000 - endloop - endfacet - facet normal -4.979881e-016 1.000000e+000 0.000000e+000 - outer loop - vertex -2.320538e+000 -4.613285e+000 1.500000e+001 - vertex -2.320538e+000 -4.613285e+000 5.000000e+000 - vertex -4.104071e+000 -4.613285e+000 1.500000e+001 - endloop - endfacet - facet normal -4.979881e-016 1.000000e+000 0.000000e+000 - outer loop - vertex -4.104071e+000 -4.613285e+000 1.500000e+001 - vertex -2.320538e+000 -4.613285e+000 5.000000e+000 - vertex -4.104071e+000 -4.613285e+000 5.000000e+000 - endloop - endfacet - facet normal 9.149041e-001 4.036714e-001 0.000000e+000 - outer loop - vertex -4.104071e+000 -4.613285e+000 1.500000e+001 - vertex -4.104071e+000 -4.613285e+000 5.000000e+000 - vertex -9.793542e+000 8.281660e+000 1.500000e+001 - endloop - endfacet - facet normal 9.149041e-001 4.036714e-001 0.000000e+000 - outer loop - vertex -9.793542e+000 8.281660e+000 1.500000e+001 - vertex -4.104071e+000 -4.613285e+000 5.000000e+000 - vertex -9.793542e+000 8.281660e+000 5.000000e+000 - endloop - endfacet - facet normal -1.000000e+000 -0.000000e+000 -0.000000e+000 - outer loop - vertex -9.793542e+000 8.281660e+000 1.500000e+001 - vertex -9.793542e+000 8.281660e+000 5.000000e+000 - vertex -9.793542e+000 -1.067730e+001 1.500000e+001 - endloop - endfacet - facet normal -1.000000e+000 -0.000000e+000 -0.000000e+000 - outer loop - vertex -9.793542e+000 -1.067730e+001 1.500000e+001 - vertex -9.793542e+000 8.281660e+000 5.000000e+000 - vertex -9.793542e+000 -1.067730e+001 5.000000e+000 - endloop - endfacet - facet normal 0.000000e+000 1.000000e+000 0.000000e+000 - outer loop - vertex -9.793542e+000 -1.067730e+001 1.500000e+001 - vertex -9.793542e+000 -1.067730e+001 5.000000e+000 - vertex -1.252235e+001 -1.067730e+001 1.500000e+001 - endloop - endfacet - facet normal 0.000000e+000 1.000000e+000 0.000000e+000 - outer loop - vertex -1.252235e+001 -1.067730e+001 1.500000e+001 - vertex -9.793542e+000 -1.067730e+001 5.000000e+000 - vertex -1.252235e+001 -1.067730e+001 5.000000e+000 - endloop - endfacet - facet normal 1.000000e+000 -0.000000e+000 0.000000e+000 - outer loop - vertex -1.252235e+001 -1.067730e+001 1.500000e+001 - vertex -1.252235e+001 -1.067730e+001 5.000000e+000 - vertex -1.252235e+001 1.133150e+001 1.500000e+001 - endloop - endfacet - facet normal 1.000000e+000 -0.000000e+000 0.000000e+000 - outer loop - vertex -1.252235e+001 1.133150e+001 1.500000e+001 - vertex -1.252235e+001 -1.067730e+001 5.000000e+000 - vertex -1.252235e+001 1.133150e+001 5.000000e+000 - endloop - endfacet - facet normal 1.000000e+000 -0.000000e+000 0.000000e+000 - outer loop - vertex 1.156780e+001 -1.469280e+001 1.500000e+001 - vertex 1.156780e+001 -1.469280e+001 0.000000e+000 - vertex 1.156780e+001 1.530720e+001 1.500000e+001 - endloop - endfacet - facet normal 1.000000e+000 -0.000000e+000 0.000000e+000 - outer loop - vertex 1.156780e+001 1.530720e+001 1.500000e+001 - vertex 1.156780e+001 -1.469280e+001 0.000000e+000 - vertex 1.156780e+001 1.530720e+001 0.000000e+000 - endloop - endfacet - facet normal 1.184238e-016 -1.000000e+000 0.000000e+000 - outer loop - vertex -1.843220e+001 -1.469280e+001 1.500000e+001 - vertex -1.843220e+001 -1.469280e+001 0.000000e+000 - vertex 1.156780e+001 -1.469280e+001 1.500000e+001 - endloop - endfacet - facet normal 1.184238e-016 -1.000000e+000 0.000000e+000 - outer loop - vertex 1.156780e+001 -1.469280e+001 1.500000e+001 - vertex -1.843220e+001 -1.469280e+001 0.000000e+000 - vertex 1.156780e+001 -1.469280e+001 0.000000e+000 - endloop - endfacet - facet normal -1.000000e+000 -1.184238e-016 -0.000000e+000 - outer loop - vertex -1.843220e+001 1.530720e+001 1.500000e+001 - vertex -1.843220e+001 1.530720e+001 0.000000e+000 - vertex -1.843220e+001 -1.469280e+001 1.500000e+001 - endloop - endfacet - facet normal -1.000000e+000 -1.184238e-016 0.000000e+000 - outer loop - vertex -1.843220e+001 -1.469280e+001 1.500000e+001 - vertex -1.843220e+001 1.530720e+001 0.000000e+000 - vertex -1.843220e+001 -1.469280e+001 0.000000e+000 - endloop - endfacet - facet normal 0.000000e+000 1.000000e+000 0.000000e+000 - outer loop - vertex 1.156780e+001 1.530720e+001 1.500000e+001 - vertex 1.156780e+001 1.530720e+001 0.000000e+000 - vertex -1.843220e+001 1.530720e+001 1.500000e+001 - endloop - endfacet - facet normal 0.000000e+000 1.000000e+000 0.000000e+000 - outer loop - vertex -1.843220e+001 1.530720e+001 1.500000e+001 - vertex 1.156780e+001 1.530720e+001 0.000000e+000 - vertex -1.843220e+001 1.530720e+001 0.000000e+000 - endloop - endfacet - facet normal 0.000000e+000 -0.000000e+000 1.000000e+000 - outer loop - vertex -1.252235e+001 -1.067730e+001 1.500000e+001 - vertex -1.252235e+001 1.133150e+001 1.500000e+001 - vertex -1.843220e+001 1.530720e+001 1.500000e+001 - endloop - endfacet - facet normal 0.000000e+000 -0.000000e+000 1.000000e+000 - outer loop - vertex -1.843220e+001 -1.469280e+001 1.500000e+001 - vertex -1.252235e+001 -1.067730e+001 1.500000e+001 - vertex -1.843220e+001 1.530720e+001 1.500000e+001 - endloop - endfacet - facet normal 0.000000e+000 -0.000000e+000 1.000000e+000 - outer loop - vertex -1.843220e+001 -1.469280e+001 1.500000e+001 - vertex -9.793542e+000 -1.067730e+001 1.500000e+001 - vertex -1.252235e+001 -1.067730e+001 1.500000e+001 - endloop - endfacet - facet normal 0.000000e+000 -0.000000e+000 1.000000e+000 - outer loop - vertex -1.843220e+001 -1.469280e+001 1.500000e+001 - vertex 1.156780e+001 -1.469280e+001 1.500000e+001 - vertex -9.793542e+000 -1.067730e+001 1.500000e+001 - endloop - endfacet - facet normal -0.000000e+000 -0.000000e+000 1.000000e+000 - outer loop - vertex -9.793542e+000 -1.067730e+001 1.500000e+001 - vertex 1.156780e+001 -1.469280e+001 1.500000e+001 - vertex 3.422440e+000 -1.067730e+001 1.500000e+001 - endloop - endfacet - facet normal -0.000000e+000 0.000000e+000 1.000000e+000 - outer loop - vertex -2.320538e+000 -4.613285e+000 1.500000e+001 - vertex 3.422440e+000 -1.067730e+001 1.500000e+001 - vertex 3.422440e+000 8.281660e+000 1.500000e+001 - endloop - endfacet - facet normal -0.000000e+000 0.000000e+000 1.000000e+000 - outer loop - vertex -2.320538e+000 -4.613285e+000 1.500000e+001 - vertex -9.793542e+000 -1.067730e+001 1.500000e+001 - vertex 3.422440e+000 -1.067730e+001 1.500000e+001 - endloop - endfacet - facet normal 0.000000e+000 0.000000e+000 1.000000e+000 - outer loop - vertex -2.320538e+000 -4.613285e+000 1.500000e+001 - vertex -4.104071e+000 -4.613285e+000 1.500000e+001 - vertex -9.793542e+000 -1.067730e+001 1.500000e+001 - endloop - endfacet - facet normal 0.000000e+000 -0.000000e+000 1.000000e+000 - outer loop - vertex -9.793542e+000 -1.067730e+001 1.500000e+001 - vertex -4.104071e+000 -4.613285e+000 1.500000e+001 - vertex -9.793542e+000 8.281660e+000 1.500000e+001 - endloop - endfacet - facet normal 0.000000e+000 -0.000000e+000 1.000000e+000 - outer loop - vertex -3.033951e+000 -9.213713e-001 1.500000e+001 - vertex 2.280978e+000 1.133150e+001 1.500000e+001 - vertex -8.527233e+000 1.133150e+001 1.500000e+001 - endloop - endfacet - facet normal 0.000000e+000 0.000000e+000 1.000000e+000 - outer loop - vertex -8.527233e+000 1.133150e+001 1.500000e+001 - vertex 2.280978e+000 1.133150e+001 1.500000e+001 - vertex 1.156780e+001 1.530720e+001 1.500000e+001 - endloop - endfacet - facet normal -0.000000e+000 0.000000e+000 1.000000e+000 - outer loop - vertex -1.843220e+001 1.530720e+001 1.500000e+001 - vertex -8.527233e+000 1.133150e+001 1.500000e+001 - vertex 1.156780e+001 1.530720e+001 1.500000e+001 - endloop - endfacet - facet normal -0.000000e+000 0.000000e+000 1.000000e+000 - outer loop - vertex -1.843220e+001 1.530720e+001 1.500000e+001 - vertex -1.252235e+001 1.133150e+001 1.500000e+001 - vertex -8.527233e+000 1.133150e+001 1.500000e+001 - endloop - endfacet - facet normal 0.000000e+000 0.000000e+000 1.000000e+000 - outer loop - vertex 2.280978e+000 1.133150e+001 1.500000e+001 - vertex 6.347434e+000 1.133150e+001 1.500000e+001 - vertex 1.156780e+001 1.530720e+001 1.500000e+001 - endloop - endfacet - facet normal 0.000000e+000 0.000000e+000 1.000000e+000 - outer loop - vertex 1.156780e+001 1.530720e+001 1.500000e+001 - vertex 6.347434e+000 1.133150e+001 1.500000e+001 - vertex 6.347434e+000 -1.067730e+001 1.500000e+001 - endloop - endfacet - facet normal 0.000000e+000 0.000000e+000 1.000000e+000 - outer loop - vertex 1.156780e+001 -1.469280e+001 1.500000e+001 - vertex 6.347434e+000 -1.067730e+001 1.500000e+001 - vertex 3.422440e+000 -1.067730e+001 1.500000e+001 - endloop - endfacet - facet normal 0.000000e+000 -0.000000e+000 1.000000e+000 - outer loop - vertex 1.156780e+001 -1.469280e+001 1.500000e+001 - vertex 1.156780e+001 1.530720e+001 1.500000e+001 - vertex 6.347434e+000 -1.067730e+001 1.500000e+001 - endloop - endfacet - facet normal 0.000000e+000 -0.000000e+000 -1.000000e+000 - outer loop - vertex -1.843220e+001 1.530720e+001 0.000000e+000 - vertex 1.156780e+001 1.530720e+001 0.000000e+000 - vertex -1.843220e+001 -1.469280e+001 0.000000e+000 - endloop - endfacet - facet normal 0.000000e+000 0.000000e+000 -1.000000e+000 - outer loop - vertex -1.843220e+001 -1.469280e+001 0.000000e+000 - vertex 1.156780e+001 1.530720e+001 0.000000e+000 - vertex 1.156780e+001 -1.469280e+001 0.000000e+000 - endloop - endfacet +solid ascii + facet normal 0.000000e+000 -0.000000e+000 1.000000e+000 + outer loop + vertex 3.422440e+000 -1.067730e+001 5.000000e+000 + vertex 6.347434e+000 -1.067730e+001 5.000000e+000 + vertex 3.422440e+000 8.281660e+000 5.000000e+000 + endloop + endfacet + facet normal -0.000000e+000 0.000000e+000 1.000000e+000 + outer loop + vertex 3.422440e+000 8.281660e+000 5.000000e+000 + vertex 6.347434e+000 -1.067730e+001 5.000000e+000 + vertex 6.347434e+000 1.133150e+001 5.000000e+000 + endloop + endfacet + facet normal -0.000000e+000 0.000000e+000 1.000000e+000 + outer loop + vertex 2.280978e+000 1.133150e+001 5.000000e+000 + vertex 3.422440e+000 8.281660e+000 5.000000e+000 + vertex 6.347434e+000 1.133150e+001 5.000000e+000 + endloop + endfacet + facet normal -0.000000e+000 0.000000e+000 1.000000e+000 + outer loop + vertex 2.280978e+000 1.133150e+001 5.000000e+000 + vertex -3.033951e+000 -9.213713e-001 5.000000e+000 + vertex 3.422440e+000 8.281660e+000 5.000000e+000 + endloop + endfacet + facet normal 0.000000e+000 0.000000e+000 1.000000e+000 + outer loop + vertex 3.422440e+000 8.281660e+000 5.000000e+000 + vertex -3.033951e+000 -9.213713e-001 5.000000e+000 + vertex -2.320538e+000 -4.613285e+000 5.000000e+000 + endloop + endfacet + facet normal 0.000000e+000 0.000000e+000 1.000000e+000 + outer loop + vertex -2.320538e+000 -4.613285e+000 5.000000e+000 + vertex -3.033951e+000 -9.213713e-001 5.000000e+000 + vertex -4.104071e+000 -4.613285e+000 5.000000e+000 + endloop + endfacet + facet normal 0.000000e+000 -0.000000e+000 1.000000e+000 + outer loop + vertex -4.104071e+000 -4.613285e+000 5.000000e+000 + vertex -3.033951e+000 -9.213713e-001 5.000000e+000 + vertex -9.793542e+000 8.281660e+000 5.000000e+000 + endloop + endfacet + facet normal -0.000000e+000 -0.000000e+000 1.000000e+000 + outer loop + vertex -9.793542e+000 8.281660e+000 5.000000e+000 + vertex -3.033951e+000 -9.213713e-001 5.000000e+000 + vertex -8.527233e+000 1.133150e+001 5.000000e+000 + endloop + endfacet + facet normal -0.000000e+000 0.000000e+000 1.000000e+000 + outer loop + vertex -1.252235e+001 1.133150e+001 5.000000e+000 + vertex -9.793542e+000 8.281660e+000 5.000000e+000 + vertex -8.527233e+000 1.133150e+001 5.000000e+000 + endloop + endfacet + facet normal -0.000000e+000 0.000000e+000 1.000000e+000 + outer loop + vertex -1.252235e+001 1.133150e+001 5.000000e+000 + vertex -1.252235e+001 -1.067730e+001 5.000000e+000 + vertex -9.793542e+000 8.281660e+000 5.000000e+000 + endloop + endfacet + facet normal -0.000000e+000 0.000000e+000 1.000000e+000 + outer loop + vertex -9.793542e+000 8.281660e+000 5.000000e+000 + vertex -1.252235e+001 -1.067730e+001 5.000000e+000 + vertex -9.793542e+000 -1.067730e+001 5.000000e+000 + endloop + endfacet + facet normal 0.000000e+000 -1.000000e+000 0.000000e+000 + outer loop + vertex -1.252235e+001 1.133150e+001 1.500000e+001 + vertex -1.252235e+001 1.133150e+001 5.000000e+000 + vertex -8.527233e+000 1.133150e+001 1.500000e+001 + endloop + endfacet + facet normal 0.000000e+000 -1.000000e+000 -0.000000e+000 + outer loop + vertex -8.527233e+000 1.133150e+001 1.500000e+001 + vertex -1.252235e+001 1.133150e+001 5.000000e+000 + vertex -8.527233e+000 1.133150e+001 5.000000e+000 + endloop + endfacet + facet normal -9.124922e-001 -4.090940e-001 -0.000000e+000 + outer loop + vertex -8.527233e+000 1.133150e+001 1.500000e+001 + vertex -8.527233e+000 1.133150e+001 5.000000e+000 + vertex -3.033951e+000 -9.213713e-001 1.500000e+001 + endloop + endfacet + facet normal -9.124922e-001 -4.090940e-001 0.000000e+000 + outer loop + vertex -3.033951e+000 -9.213713e-001 1.500000e+001 + vertex -8.527233e+000 1.133150e+001 5.000000e+000 + vertex -3.033951e+000 -9.213713e-001 5.000000e+000 + endloop + endfacet + facet normal 9.174094e-001 -3.979447e-001 0.000000e+000 + outer loop + vertex -3.033951e+000 -9.213713e-001 1.500000e+001 + vertex -3.033951e+000 -9.213713e-001 5.000000e+000 + vertex 2.280978e+000 1.133150e+001 1.500000e+001 + endloop + endfacet + facet normal 9.174094e-001 -3.979447e-001 0.000000e+000 + outer loop + vertex 2.280978e+000 1.133150e+001 1.500000e+001 + vertex -3.033951e+000 -9.213713e-001 5.000000e+000 + vertex 2.280978e+000 1.133150e+001 5.000000e+000 + endloop + endfacet + facet normal 0.000000e+000 -1.000000e+000 0.000000e+000 + outer loop + vertex 2.280978e+000 1.133150e+001 1.500000e+001 + vertex 2.280978e+000 1.133150e+001 5.000000e+000 + vertex 6.347434e+000 1.133150e+001 1.500000e+001 + endloop + endfacet + facet normal 0.000000e+000 -1.000000e+000 -0.000000e+000 + outer loop + vertex 6.347434e+000 1.133150e+001 1.500000e+001 + vertex 2.280978e+000 1.133150e+001 5.000000e+000 + vertex 6.347434e+000 1.133150e+001 5.000000e+000 + endloop + endfacet + facet normal -1.000000e+000 -0.000000e+000 -0.000000e+000 + outer loop + vertex 6.347434e+000 1.133150e+001 1.500000e+001 + vertex 6.347434e+000 1.133150e+001 5.000000e+000 + vertex 6.347434e+000 -1.067730e+001 1.500000e+001 + endloop + endfacet + facet normal -1.000000e+000 -0.000000e+000 -0.000000e+000 + outer loop + vertex 6.347434e+000 -1.067730e+001 1.500000e+001 + vertex 6.347434e+000 1.133150e+001 5.000000e+000 + vertex 6.347434e+000 -1.067730e+001 5.000000e+000 + endloop + endfacet + facet normal 0.000000e+000 1.000000e+000 0.000000e+000 + outer loop + vertex 6.347434e+000 -1.067730e+001 1.500000e+001 + vertex 6.347434e+000 -1.067730e+001 5.000000e+000 + vertex 3.422440e+000 -1.067730e+001 1.500000e+001 + endloop + endfacet + facet normal 0.000000e+000 1.000000e+000 0.000000e+000 + outer loop + vertex 3.422440e+000 -1.067730e+001 1.500000e+001 + vertex 6.347434e+000 -1.067730e+001 5.000000e+000 + vertex 3.422440e+000 -1.067730e+001 5.000000e+000 + endloop + endfacet + facet normal 1.000000e+000 -0.000000e+000 0.000000e+000 + outer loop + vertex 3.422440e+000 -1.067730e+001 1.500000e+001 + vertex 3.422440e+000 -1.067730e+001 5.000000e+000 + vertex 3.422440e+000 8.281660e+000 1.500000e+001 + endloop + endfacet + facet normal 1.000000e+000 -0.000000e+000 0.000000e+000 + outer loop + vertex 3.422440e+000 8.281660e+000 1.500000e+001 + vertex 3.422440e+000 -1.067730e+001 5.000000e+000 + vertex 3.422440e+000 8.281660e+000 5.000000e+000 + endloop + endfacet + facet normal -9.134987e-001 4.068417e-001 0.000000e+000 + outer loop + vertex 3.422440e+000 8.281660e+000 1.500000e+001 + vertex 3.422440e+000 8.281660e+000 5.000000e+000 + vertex -2.320538e+000 -4.613285e+000 1.500000e+001 + endloop + endfacet + facet normal -9.134987e-001 4.068417e-001 0.000000e+000 + outer loop + vertex -2.320538e+000 -4.613285e+000 1.500000e+001 + vertex 3.422440e+000 8.281660e+000 5.000000e+000 + vertex -2.320538e+000 -4.613285e+000 5.000000e+000 + endloop + endfacet + facet normal -4.979881e-016 1.000000e+000 0.000000e+000 + outer loop + vertex -2.320538e+000 -4.613285e+000 1.500000e+001 + vertex -2.320538e+000 -4.613285e+000 5.000000e+000 + vertex -4.104071e+000 -4.613285e+000 1.500000e+001 + endloop + endfacet + facet normal -4.979881e-016 1.000000e+000 0.000000e+000 + outer loop + vertex -4.104071e+000 -4.613285e+000 1.500000e+001 + vertex -2.320538e+000 -4.613285e+000 5.000000e+000 + vertex -4.104071e+000 -4.613285e+000 5.000000e+000 + endloop + endfacet + facet normal 9.149041e-001 4.036714e-001 0.000000e+000 + outer loop + vertex -4.104071e+000 -4.613285e+000 1.500000e+001 + vertex -4.104071e+000 -4.613285e+000 5.000000e+000 + vertex -9.793542e+000 8.281660e+000 1.500000e+001 + endloop + endfacet + facet normal 9.149041e-001 4.036714e-001 0.000000e+000 + outer loop + vertex -9.793542e+000 8.281660e+000 1.500000e+001 + vertex -4.104071e+000 -4.613285e+000 5.000000e+000 + vertex -9.793542e+000 8.281660e+000 5.000000e+000 + endloop + endfacet + facet normal -1.000000e+000 -0.000000e+000 -0.000000e+000 + outer loop + vertex -9.793542e+000 8.281660e+000 1.500000e+001 + vertex -9.793542e+000 8.281660e+000 5.000000e+000 + vertex -9.793542e+000 -1.067730e+001 1.500000e+001 + endloop + endfacet + facet normal -1.000000e+000 -0.000000e+000 -0.000000e+000 + outer loop + vertex -9.793542e+000 -1.067730e+001 1.500000e+001 + vertex -9.793542e+000 8.281660e+000 5.000000e+000 + vertex -9.793542e+000 -1.067730e+001 5.000000e+000 + endloop + endfacet + facet normal 0.000000e+000 1.000000e+000 0.000000e+000 + outer loop + vertex -9.793542e+000 -1.067730e+001 1.500000e+001 + vertex -9.793542e+000 -1.067730e+001 5.000000e+000 + vertex -1.252235e+001 -1.067730e+001 1.500000e+001 + endloop + endfacet + facet normal 0.000000e+000 1.000000e+000 0.000000e+000 + outer loop + vertex -1.252235e+001 -1.067730e+001 1.500000e+001 + vertex -9.793542e+000 -1.067730e+001 5.000000e+000 + vertex -1.252235e+001 -1.067730e+001 5.000000e+000 + endloop + endfacet + facet normal 1.000000e+000 -0.000000e+000 0.000000e+000 + outer loop + vertex -1.252235e+001 -1.067730e+001 1.500000e+001 + vertex -1.252235e+001 -1.067730e+001 5.000000e+000 + vertex -1.252235e+001 1.133150e+001 1.500000e+001 + endloop + endfacet + facet normal 1.000000e+000 -0.000000e+000 0.000000e+000 + outer loop + vertex -1.252235e+001 1.133150e+001 1.500000e+001 + vertex -1.252235e+001 -1.067730e+001 5.000000e+000 + vertex -1.252235e+001 1.133150e+001 5.000000e+000 + endloop + endfacet + facet normal 1.000000e+000 -0.000000e+000 0.000000e+000 + outer loop + vertex 1.156780e+001 -1.469280e+001 1.500000e+001 + vertex 1.156780e+001 -1.469280e+001 0.000000e+000 + vertex 1.156780e+001 1.530720e+001 1.500000e+001 + endloop + endfacet + facet normal 1.000000e+000 -0.000000e+000 0.000000e+000 + outer loop + vertex 1.156780e+001 1.530720e+001 1.500000e+001 + vertex 1.156780e+001 -1.469280e+001 0.000000e+000 + vertex 1.156780e+001 1.530720e+001 0.000000e+000 + endloop + endfacet + facet normal 1.184238e-016 -1.000000e+000 0.000000e+000 + outer loop + vertex -1.843220e+001 -1.469280e+001 1.500000e+001 + vertex -1.843220e+001 -1.469280e+001 0.000000e+000 + vertex 1.156780e+001 -1.469280e+001 1.500000e+001 + endloop + endfacet + facet normal 1.184238e-016 -1.000000e+000 0.000000e+000 + outer loop + vertex 1.156780e+001 -1.469280e+001 1.500000e+001 + vertex -1.843220e+001 -1.469280e+001 0.000000e+000 + vertex 1.156780e+001 -1.469280e+001 0.000000e+000 + endloop + endfacet + facet normal -1.000000e+000 -1.184238e-016 -0.000000e+000 + outer loop + vertex -1.843220e+001 1.530720e+001 1.500000e+001 + vertex -1.843220e+001 1.530720e+001 0.000000e+000 + vertex -1.843220e+001 -1.469280e+001 1.500000e+001 + endloop + endfacet + facet normal -1.000000e+000 -1.184238e-016 0.000000e+000 + outer loop + vertex -1.843220e+001 -1.469280e+001 1.500000e+001 + vertex -1.843220e+001 1.530720e+001 0.000000e+000 + vertex -1.843220e+001 -1.469280e+001 0.000000e+000 + endloop + endfacet + facet normal 0.000000e+000 1.000000e+000 0.000000e+000 + outer loop + vertex 1.156780e+001 1.530720e+001 1.500000e+001 + vertex 1.156780e+001 1.530720e+001 0.000000e+000 + vertex -1.843220e+001 1.530720e+001 1.500000e+001 + endloop + endfacet + facet normal 0.000000e+000 1.000000e+000 0.000000e+000 + outer loop + vertex -1.843220e+001 1.530720e+001 1.500000e+001 + vertex 1.156780e+001 1.530720e+001 0.000000e+000 + vertex -1.843220e+001 1.530720e+001 0.000000e+000 + endloop + endfacet + facet normal 0.000000e+000 -0.000000e+000 1.000000e+000 + outer loop + vertex -1.252235e+001 -1.067730e+001 1.500000e+001 + vertex -1.252235e+001 1.133150e+001 1.500000e+001 + vertex -1.843220e+001 1.530720e+001 1.500000e+001 + endloop + endfacet + facet normal 0.000000e+000 -0.000000e+000 1.000000e+000 + outer loop + vertex -1.843220e+001 -1.469280e+001 1.500000e+001 + vertex -1.252235e+001 -1.067730e+001 1.500000e+001 + vertex -1.843220e+001 1.530720e+001 1.500000e+001 + endloop + endfacet + facet normal 0.000000e+000 -0.000000e+000 1.000000e+000 + outer loop + vertex -1.843220e+001 -1.469280e+001 1.500000e+001 + vertex -9.793542e+000 -1.067730e+001 1.500000e+001 + vertex -1.252235e+001 -1.067730e+001 1.500000e+001 + endloop + endfacet + facet normal 0.000000e+000 -0.000000e+000 1.000000e+000 + outer loop + vertex -1.843220e+001 -1.469280e+001 1.500000e+001 + vertex 1.156780e+001 -1.469280e+001 1.500000e+001 + vertex -9.793542e+000 -1.067730e+001 1.500000e+001 + endloop + endfacet + facet normal -0.000000e+000 -0.000000e+000 1.000000e+000 + outer loop + vertex -9.793542e+000 -1.067730e+001 1.500000e+001 + vertex 1.156780e+001 -1.469280e+001 1.500000e+001 + vertex 3.422440e+000 -1.067730e+001 1.500000e+001 + endloop + endfacet + facet normal -0.000000e+000 0.000000e+000 1.000000e+000 + outer loop + vertex -2.320538e+000 -4.613285e+000 1.500000e+001 + vertex 3.422440e+000 -1.067730e+001 1.500000e+001 + vertex 3.422440e+000 8.281660e+000 1.500000e+001 + endloop + endfacet + facet normal -0.000000e+000 0.000000e+000 1.000000e+000 + outer loop + vertex -2.320538e+000 -4.613285e+000 1.500000e+001 + vertex -9.793542e+000 -1.067730e+001 1.500000e+001 + vertex 3.422440e+000 -1.067730e+001 1.500000e+001 + endloop + endfacet + facet normal 0.000000e+000 0.000000e+000 1.000000e+000 + outer loop + vertex -2.320538e+000 -4.613285e+000 1.500000e+001 + vertex -4.104071e+000 -4.613285e+000 1.500000e+001 + vertex -9.793542e+000 -1.067730e+001 1.500000e+001 + endloop + endfacet + facet normal 0.000000e+000 -0.000000e+000 1.000000e+000 + outer loop + vertex -9.793542e+000 -1.067730e+001 1.500000e+001 + vertex -4.104071e+000 -4.613285e+000 1.500000e+001 + vertex -9.793542e+000 8.281660e+000 1.500000e+001 + endloop + endfacet + facet normal 0.000000e+000 -0.000000e+000 1.000000e+000 + outer loop + vertex -3.033951e+000 -9.213713e-001 1.500000e+001 + vertex 2.280978e+000 1.133150e+001 1.500000e+001 + vertex -8.527233e+000 1.133150e+001 1.500000e+001 + endloop + endfacet + facet normal 0.000000e+000 0.000000e+000 1.000000e+000 + outer loop + vertex -8.527233e+000 1.133150e+001 1.500000e+001 + vertex 2.280978e+000 1.133150e+001 1.500000e+001 + vertex 1.156780e+001 1.530720e+001 1.500000e+001 + endloop + endfacet + facet normal -0.000000e+000 0.000000e+000 1.000000e+000 + outer loop + vertex -1.843220e+001 1.530720e+001 1.500000e+001 + vertex -8.527233e+000 1.133150e+001 1.500000e+001 + vertex 1.156780e+001 1.530720e+001 1.500000e+001 + endloop + endfacet + facet normal -0.000000e+000 0.000000e+000 1.000000e+000 + outer loop + vertex -1.843220e+001 1.530720e+001 1.500000e+001 + vertex -1.252235e+001 1.133150e+001 1.500000e+001 + vertex -8.527233e+000 1.133150e+001 1.500000e+001 + endloop + endfacet + facet normal 0.000000e+000 0.000000e+000 1.000000e+000 + outer loop + vertex 2.280978e+000 1.133150e+001 1.500000e+001 + vertex 6.347434e+000 1.133150e+001 1.500000e+001 + vertex 1.156780e+001 1.530720e+001 1.500000e+001 + endloop + endfacet + facet normal 0.000000e+000 0.000000e+000 1.000000e+000 + outer loop + vertex 1.156780e+001 1.530720e+001 1.500000e+001 + vertex 6.347434e+000 1.133150e+001 1.500000e+001 + vertex 6.347434e+000 -1.067730e+001 1.500000e+001 + endloop + endfacet + facet normal 0.000000e+000 0.000000e+000 1.000000e+000 + outer loop + vertex 1.156780e+001 -1.469280e+001 1.500000e+001 + vertex 6.347434e+000 -1.067730e+001 1.500000e+001 + vertex 3.422440e+000 -1.067730e+001 1.500000e+001 + endloop + endfacet + facet normal 0.000000e+000 -0.000000e+000 1.000000e+000 + outer loop + vertex 1.156780e+001 -1.469280e+001 1.500000e+001 + vertex 1.156780e+001 1.530720e+001 1.500000e+001 + vertex 6.347434e+000 -1.067730e+001 1.500000e+001 + endloop + endfacet + facet normal 0.000000e+000 -0.000000e+000 -1.000000e+000 + outer loop + vertex -1.843220e+001 1.530720e+001 0.000000e+000 + vertex 1.156780e+001 1.530720e+001 0.000000e+000 + vertex -1.843220e+001 -1.469280e+001 0.000000e+000 + endloop + endfacet + facet normal 0.000000e+000 0.000000e+000 -1.000000e+000 + outer loop + vertex -1.843220e+001 -1.469280e+001 0.000000e+000 + vertex 1.156780e+001 1.530720e+001 0.000000e+000 + vertex 1.156780e+001 -1.469280e+001 0.000000e+000 + endloop + endfacet endsolid \ No newline at end of file diff --git a/examples/Advanced/advance_intersection.dxf b/examples/Old/example013.dxf similarity index 100% rename from examples/Advanced/advance_intersection.dxf rename to examples/Old/example013.dxf diff --git a/examples/Advanced/advance_intersection.scad b/examples/Old/example013.scad similarity index 84% rename from examples/Advanced/advance_intersection.scad rename to examples/Old/example013.scad index 11ea6337..a3ba6f75 100644 --- a/examples/Advanced/advance_intersection.scad +++ b/examples/Old/example013.scad @@ -3,13 +3,13 @@ echo(version=version()); intersection() { linear_extrude(height = 100, center = true, convexity= 3) - import(file = "advance_intersection.dxf"); + import(file = "example013.dxf"); rotate([0, 90, 0]) linear_extrude(height = 100, center = true, convexity= 3) - import(file = "advance_intersection.dxf"); + import(file = "example013.dxf"); rotate([90, 0, 0]) linear_extrude(height = 100, center = true, convexity= 3) - import(file = "advance_intersection.dxf"); + import(file = "example013.dxf"); } // Written by Clifford Wolf and Marius diff --git a/examples/Advanced/intersecting.scad b/examples/Old/example014.scad similarity index 100% rename from examples/Advanced/intersecting.scad rename to examples/Old/example014.scad diff --git a/examples/Shapes/flat_body.scad b/examples/Old/example015.scad similarity index 94% rename from examples/Shapes/flat_body.scad rename to examples/Old/example015.scad index 135d8fbc..5f6084e8 100644 --- a/examples/Shapes/flat_body.scad +++ b/examples/Old/example015.scad @@ -1,4 +1,3 @@ -echo(version=version()); module shape() { @@ -20,10 +19,12 @@ module shape() rotate(-45) scale([ 0.7, 1.3 ]) circle(5); } - import(file = "flat_body.dxf", layer = "body", + import(file = "example009.dxf", layer = "body", convexity = 6, scale=2); } +echo(version=version()); + // linear_extrude(convexity = 10, center = true) shape(); diff --git a/examples/Shapes/chopped_blocks.scad b/examples/Old/example016.scad similarity index 95% rename from examples/Shapes/chopped_blocks.scad rename to examples/Old/example016.scad index 30e24bc4..81a1d026 100644 --- a/examples/Shapes/chopped_blocks.scad +++ b/examples/Old/example016.scad @@ -1,8 +1,6 @@ // chopped_blocks.stl is derived from Basics/LetterBlock.scad // The exported STL was converted to binary using MeshLab -echo(version=version()); - module blk1() { cube([ 65, 28, 28 ], center = true); } @@ -17,9 +15,11 @@ module blk2() { module chop() { translate([ -18, 0, 0 ]) - import(file = "chopped_blocks.stl", convexity = 12); + import(file = "example016.stl", convexity = 12); } +echo(version=version()); + difference() { blk1(); for (alpha = [0, 90, 180, 270]) { diff --git a/examples/Shapes/chopped_blocks.stl b/examples/Old/example016.stl similarity index 100% rename from examples/Shapes/chopped_blocks.stl rename to examples/Old/example016.stl diff --git a/examples/Shapes/tripod.scad b/examples/Old/example017.scad similarity index 98% rename from examples/Shapes/tripod.scad rename to examples/Old/example017.scad index bedc0f57..072385f0 100644 --- a/examples/Shapes/tripod.scad +++ b/examples/Old/example017.scad @@ -1,5 +1,6 @@ + // To render the DXF file from the command line: -// openscad -o tripod.dxf -D'mode="parts"' example017.scad +// openscad -o example017.dxf -D'mode="parts"' example017.scad // mode = "parts"; // mode = "exploded"; @@ -13,8 +14,6 @@ midhole = 10; inner1_to_inner2 = 50; total_height = 80; -echo(version=version()); - module shape_tripod() { x1 = 0; @@ -147,6 +146,8 @@ module assembled() % translate([ 0, 0, thickness*2]) bottle(); } +echo(version=version()); + if (mode == "parts") parts(); diff --git a/examples/Advanced/translation.scad b/examples/Old/example018.scad similarity index 99% rename from examples/Advanced/translation.scad rename to examples/Old/example018.scad index aaecd2ff..7ae5a20f 100644 --- a/examples/Advanced/translation.scad +++ b/examples/Old/example018.scad @@ -1,4 +1,3 @@ -echo(version=version()); module step(len, mod) { @@ -6,6 +5,8 @@ module step(len, mod) translate([ len*(i - ($children-1)/2), 0, 0 ]) children((i+mod) % $children); } +echo(version=version()); + for (i = [1:4]) { translate([0, -250+i*100, 0]) step(100, i) diff --git a/examples/Shapes/fence.scad b/examples/Old/example019.scad similarity index 100% rename from examples/Shapes/fence.scad rename to examples/Old/example019.scad index 015f3933..3cbe299a 100644 --- a/examples/Shapes/fence.scad +++ b/examples/Old/example019.scad @@ -1,4 +1,3 @@ -echo(version=version()); function get_cylinder_h(p) = lookup(p, [ [ -200, 5 ], @@ -8,6 +7,7 @@ function get_cylinder_h(p) = lookup(p, [ [ +150, 2 ] ]); +echo(version=version()); for (i = [-100:5:+100]) { // echo(i, get_cylinder_h(i)); translate([ i, 0, -30 ]) cylinder(r1 = 6, r2 = 2, h = get_cylinder_h(i)*3); diff --git a/examples/Advanced/difference.scad b/examples/Old/example020.scad similarity index 100% rename from examples/Advanced/difference.scad rename to examples/Old/example020.scad index 5cf6da7f..1daf8500 100644 --- a/examples/Advanced/difference.scad +++ b/examples/Old/example020.scad @@ -1,4 +1,3 @@ -echo(version=version()); module screw(type = 2, r1 = 15, r2 = 20, n = 7, h = 100, t = 8) { @@ -68,6 +67,7 @@ module spring(r1 = 100, r2 = 10, h = 100, hr = 12) } } +echo(version=version()); translate([ -30, 0, 0 ]) screw(); diff --git a/examples/Advanced/demo_cut.scad b/examples/Old/example021.scad similarity index 100% rename from examples/Advanced/demo_cut.scad rename to examples/Old/example021.scad index a63a76ed..b11d051a 100644 --- a/examples/Advanced/demo_cut.scad +++ b/examples/Old/example021.scad @@ -1,4 +1,3 @@ -echo(version=version()); module thing() { @@ -29,6 +28,7 @@ module demo_cut() % thing(); } +echo(version=version()); translate([ -30, 0, 0 ]) demo_proj(); translate([ +30, 0, 0 ]) demo_cut(); diff --git a/examples/Shapes/rounded_box.scad b/examples/Old/example022.scad similarity index 99% rename from examples/Shapes/rounded_box.scad rename to examples/Old/example022.scad index 48b1e5f6..f7ad5dc1 100644 --- a/examples/Shapes/rounded_box.scad +++ b/examples/Old/example022.scad @@ -1,5 +1,3 @@ -echo(version=version()); - // size is a vector [w, h, d] module roundedBox(size, radius, sidesonly) { @@ -33,6 +31,7 @@ module roundedBox(size, radius, sidesonly) } } +echo(version=version()); translate([-15,0,0])roundedBox([20,30,40], 5, true); translate([15,0,0]) roundedBox([20,30,40], 5, false); diff --git a/examples/Advanced/search.scad b/examples/Old/example023.scad similarity index 92% rename from examples/Advanced/search.scad rename to examples/Old/example023.scad index dff02254..16b0619c 100644 --- a/examples/Advanced/search.scad +++ b/examples/Old/example023.scad @@ -21,8 +21,7 @@ module clock_hour_words(word_offset=20.0,word_height=2.0) { clock_hour_words(word_offset=16.0,word_height=5.0); -// Written by Clifford Wolf and Marius -// Kintel +// Written by Andrew Plumb // // To the extent possible under law, the author(s) have dedicated all // copyright and related and neighboring rights to this software to the diff --git a/examples/Advanced/fractal.scad b/examples/Old/example024.scad similarity index 100% rename from examples/Advanced/fractal.scad rename to examples/Old/example024.scad diff --git a/examples/Shapes/M.stl b/examples/Shapes/M.stl deleted file mode 100644 index 699a7e0c..00000000 --- a/examples/Shapes/M.stl +++ /dev/null @@ -1,450 +0,0 @@ -solid OpenSCAD_Model - facet normal -1 0 0 - outer loop - vertex -15 15 0 - vertex -15 -15 0 - vertex -15 -15 15 - endloop - endfacet - facet normal -1 -0 -0 - outer loop - vertex -15 15 15 - vertex -15 15 0 - vertex -15 -15 15 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 6.88264 -10.8438 15 - vertex -6.49335 -10.8438 15 - vertex 15 -15 15 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -9.24535 11.3642 15 - vertex -15 15 15 - vertex -9.24535 -10.8438 15 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 5.72964 11.3642 15 - vertex -5.22034 11.3642 15 - vertex 0.351639 -0.977737 15 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -15 15 15 - vertex -15 -15 15 - vertex -9.24535 -10.8438 15 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -5.22034 11.3642 15 - vertex -15 15 15 - vertex -9.24535 11.3642 15 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 15 15 15 - vertex -15 15 15 - vertex -5.22034 11.3642 15 - endloop - endfacet - facet normal 0 -0 1 - outer loop - vertex 9.82664 11.3642 15 - vertex 15 15 15 - vertex 5.72964 11.3642 15 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 15 15 15 - vertex -5.22034 11.3642 15 - vertex 5.72964 11.3642 15 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 9.82664 -10.8438 15 - vertex 15 15 15 - vertex 9.82664 11.3642 15 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 15 -15 15 - vertex 9.82664 -10.8438 15 - vertex 6.88264 -10.8438 15 - endloop - endfacet - facet normal 0 -0 1 - outer loop - vertex 15 -15 15 - vertex 15 15 15 - vertex 9.82664 -10.8438 15 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -15 -15 15 - vertex 15 -15 15 - vertex -6.49335 -10.8438 15 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -6.49335 -10.8438 15 - vertex 1.07065 -4.69974 15 - vertex -0.726349 -4.69974 15 - endloop - endfacet - facet normal 0 -0 1 - outer loop - vertex 6.88264 -10.8438 15 - vertex 6.88264 8.29724 15 - vertex 1.07065 -4.69974 15 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -15 -15 15 - vertex -6.49335 -10.8438 15 - vertex -9.24535 -10.8438 15 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 6.88264 -10.8438 15 - vertex 1.07065 -4.69974 15 - vertex -6.49335 -10.8438 15 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -6.49335 8.29724 15 - vertex -6.49335 -10.8438 15 - vertex -0.726349 -4.69974 15 - endloop - endfacet - facet normal 1 0 0 - outer loop - vertex 15 -15 15 - vertex 15 -15 0 - vertex 15 15 0 - endloop - endfacet - facet normal 1 0 0 - outer loop - vertex 15 15 15 - vertex 15 -15 15 - vertex 15 15 0 - endloop - endfacet - facet normal 0 1 0 - outer loop - vertex 15 15 0 - vertex -15 15 0 - vertex -15 15 15 - endloop - endfacet - facet normal 0 1 0 - outer loop - vertex 15 15 15 - vertex 15 15 0 - vertex -15 15 15 - endloop - endfacet - facet normal 0 0 -1 - outer loop - vertex 15 -15 0 - vertex -15 -15 0 - vertex -15 15 0 - endloop - endfacet - facet normal -0 -0 -1 - outer loop - vertex 15 15 0 - vertex 15 -15 0 - vertex -15 15 0 - endloop - endfacet - facet normal 0 -1 0 - outer loop - vertex -15 -15 15 - vertex -15 -15 0 - vertex 15 -15 0 - endloop - endfacet - facet normal -0 -1 -0 - outer loop - vertex 15 -15 15 - vertex -15 -15 15 - vertex 15 -15 0 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -6.49335 8.29724 5 - vertex -9.24535 -10.8438 5 - vertex -6.49335 -10.8438 5 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -6.49335 8.29724 5 - vertex -9.24535 11.3642 5 - vertex -9.24535 -10.8438 5 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 1.07065 -4.69974 5 - vertex 0.351639 -0.977737 5 - vertex -0.726349 -4.69974 5 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 0.351639 -0.977737 5 - vertex -6.49335 8.29724 5 - vertex -0.726349 -4.69974 5 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex -5.22034 11.3642 5 - vertex -9.24535 11.3642 5 - vertex -6.49335 8.29724 5 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 9.82664 -10.8438 5 - vertex 6.88264 8.29724 5 - vertex 6.88264 -10.8438 5 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 9.82664 11.3642 5 - vertex 6.88264 8.29724 5 - vertex 9.82664 -10.8438 5 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 9.82664 11.3642 5 - vertex 5.72964 11.3642 5 - vertex 6.88264 8.29724 5 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 6.88264 8.29724 5 - vertex 0.351639 -0.977737 5 - vertex 1.07065 -4.69974 5 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 5.72964 11.3642 5 - vertex 0.351639 -0.977737 5 - vertex 6.88264 8.29724 5 - endloop - endfacet - facet normal 0 0 1 - outer loop - vertex 0.351639 -0.977737 5 - vertex -5.22034 11.3642 5 - vertex -6.49335 8.29724 5 - endloop - endfacet - facet normal 0.914058 0.405584 0 - outer loop - vertex -0.726349 -4.69974 5 - vertex -6.49335 8.29724 5 - vertex -6.49335 8.29724 15 - endloop - endfacet - facet normal 0.914058 0.405584 0 - outer loop - vertex -0.726349 -4.69974 15 - vertex -0.726349 -4.69974 5 - vertex -6.49335 8.29724 15 - endloop - endfacet - facet normal 0 1 0 - outer loop - vertex 1.07065 -4.69974 5 - vertex -0.726349 -4.69974 5 - vertex -0.726349 -4.69974 15 - endloop - endfacet - facet normal 0 1 0 - outer loop - vertex 1.07065 -4.69974 15 - vertex 1.07065 -4.69974 5 - vertex -0.726349 -4.69974 15 - endloop - endfacet - facet normal -0.912882 0.408223 0 - outer loop - vertex 6.88264 8.29724 5 - vertex 1.07065 -4.69974 5 - vertex 1.07065 -4.69974 15 - endloop - endfacet - facet normal -0.912882 0.408223 0 - outer loop - vertex 6.88264 8.29724 15 - vertex 6.88264 8.29724 5 - vertex 1.07065 -4.69974 15 - endloop - endfacet - facet normal 1 0 0 - outer loop - vertex 6.88264 -10.8438 15 - vertex 6.88264 -10.8438 5 - vertex 6.88264 8.29724 5 - endloop - endfacet - facet normal 1 0 0 - outer loop - vertex 6.88264 8.29724 15 - vertex 6.88264 -10.8438 15 - vertex 6.88264 8.29724 5 - endloop - endfacet - facet normal 0 1 0 - outer loop - vertex 9.82664 -10.8438 5 - vertex 6.88264 -10.8438 5 - vertex 6.88264 -10.8438 15 - endloop - endfacet - facet normal 0 1 0 - outer loop - vertex 9.82664 -10.8438 15 - vertex 9.82664 -10.8438 5 - vertex 6.88264 -10.8438 15 - endloop - endfacet - facet normal -1 0 0 - outer loop - vertex 9.82664 11.3642 5 - vertex 9.82664 -10.8438 5 - vertex 9.82664 -10.8438 15 - endloop - endfacet - facet normal -1 -0 -0 - outer loop - vertex 9.82664 11.3642 15 - vertex 9.82664 11.3642 5 - vertex 9.82664 -10.8438 15 - endloop - endfacet - facet normal 0 -1 0 - outer loop - vertex 5.72964 11.3642 15 - vertex 5.72964 11.3642 5 - vertex 9.82664 11.3642 5 - endloop - endfacet - facet normal -0 -1 -0 - outer loop - vertex 9.82664 11.3642 15 - vertex 5.72964 11.3642 15 - vertex 9.82664 11.3642 5 - endloop - endfacet - facet normal 0.916746 -0.399471 0 - outer loop - vertex 0.351639 -0.977737 15 - vertex 0.351639 -0.977737 5 - vertex 5.72964 11.3642 5 - endloop - endfacet - facet normal 0.916746 -0.399471 0 - outer loop - vertex 5.72964 11.3642 15 - vertex 0.351639 -0.977737 15 - vertex 5.72964 11.3642 5 - endloop - endfacet - facet normal -0.911421 -0.411475 -0 - outer loop - vertex -5.22034 11.3642 15 - vertex -5.22034 11.3642 5 - vertex 0.351639 -0.977737 5 - endloop - endfacet - facet normal -0.911421 -0.411475 -0 - outer loop - vertex 0.351639 -0.977737 15 - vertex -5.22034 11.3642 15 - vertex 0.351639 -0.977737 5 - endloop - endfacet - facet normal 0 -1 0 - outer loop - vertex -9.24535 11.3642 15 - vertex -9.24535 11.3642 5 - vertex -5.22034 11.3642 5 - endloop - endfacet - facet normal -0 -1 -0 - outer loop - vertex -5.22034 11.3642 15 - vertex -9.24535 11.3642 15 - vertex -5.22034 11.3642 5 - endloop - endfacet - facet normal 1 0 0 - outer loop - vertex -9.24535 -10.8438 15 - vertex -9.24535 -10.8438 5 - vertex -9.24535 11.3642 5 - endloop - endfacet - facet normal 1 0 0 - outer loop - vertex -9.24535 11.3642 15 - vertex -9.24535 -10.8438 15 - vertex -9.24535 11.3642 5 - endloop - endfacet - facet normal 0 1 0 - outer loop - vertex -6.49335 -10.8438 5 - vertex -9.24535 -10.8438 5 - vertex -9.24535 -10.8438 15 - endloop - endfacet - facet normal 0 1 0 - outer loop - vertex -6.49335 -10.8438 15 - vertex -6.49335 -10.8438 5 - vertex -9.24535 -10.8438 15 - endloop - endfacet - facet normal -1 0 0 - outer loop - vertex -6.49335 8.29724 5 - vertex -6.49335 -10.8438 5 - vertex -6.49335 -10.8438 15 - endloop - endfacet - facet normal -1 -0 -0 - outer loop - vertex -6.49335 8.29724 15 - vertex -6.49335 8.29724 5 - vertex -6.49335 -10.8438 15 - endloop - endfacet -endsolid OpenSCAD_Model diff --git a/examples/Shapes/flat_body.dxf b/examples/Shapes/flat_body.dxf deleted file mode 100644 index c9719d15..00000000 --- a/examples/Shapes/flat_body.dxf +++ /dev/null @@ -1,3894 +0,0 @@ -999 -dxflib 2.0.4.8 - 0 -SECTION - 2 -HEADER - 9 -$ACADVER - 1 -AC1015 - 9 -$HANDSEED - 5 -FFFF - 9 -$DIMASZ - 40 -2.5 - 9 -$DIMGAP - 40 -0.625 - 9 -$DIMEXO - 40 -0.625 - 9 -$INSUNITS - 70 -4 - 9 -$DIMTXT - 40 -2.5 - 9 -$DIMSTYLE - 2 -Standard - 9 -$PLIMMAX - 10 -210.0 - 20 -297.0 - 9 -$PLIMMIN - 10 -0.0 - 20 -0.0 - 9 -$DIMEXE - 40 -1.25 - 0 -ENDSEC - 0 -SECTION - 2 -TABLES - 0 -TABLE - 2 -VPORT - 5 -8 -100 -AcDbSymbolTable - 70 -1 - 0 -VPORT - 5 -30 -100 -AcDbSymbolTableRecord -100 -AcDbViewportTableRecord - 2 -*Active - 70 -0 - 10 -0.0 - 20 -0.0 - 11 -1.0 - 21 -1.0 - 12 -286.3055555555554861 - 22 -148.5 - 13 -0.0 - 23 -0.0 - 14 -10.0 - 24 -10.0 - 15 -10.0 - 25 -10.0 - 16 -0.0 - 26 -0.0 - 36 -1.0 - 17 -0.0 - 27 -0.0 - 37 -0.0 - 40 -297.0 - 41 -1.92798353909465 - 42 -50.0 - 43 -0.0 - 44 -0.0 - 50 -0.0 - 51 -0.0 - 71 -0 - 72 -100 - 73 -1 - 74 -3 - 75 -1 - 76 -1 - 77 -0 - 78 -0 -281 -0 - 65 -1 -110 -0.0 -120 -0.0 -130 -0.0 -111 -1.0 -121 -0.0 -131 -0.0 -112 -0.0 -122 -1.0 -132 -0.0 - 79 -0 -146 -0.0 - 0 -ENDTAB - 0 -TABLE - 2 -LTYPE - 5 -5 -100 -AcDbSymbolTable - 70 -21 - 0 -LTYPE - 5 -14 -100 -AcDbSymbolTableRecord -100 -AcDbLinetypeTableRecord - 2 -ByBlock - 70 -0 - 3 - - 72 -65 - 73 -0 - 40 -0.0 - 0 -LTYPE - 5 -15 -100 -AcDbSymbolTableRecord -100 -AcDbLinetypeTableRecord - 2 -ByLayer - 70 -0 - 3 - - 72 -65 - 73 -0 - 40 -0.0 - 0 -LTYPE - 5 -16 -100 -AcDbSymbolTableRecord -100 -AcDbLinetypeTableRecord - 2 -CONTINUOUS - 70 -0 - 3 -Solid line - 72 -65 - 73 -0 - 40 -0.0 - 0 -LTYPE - 5 -31 -100 -AcDbSymbolTableRecord -100 -AcDbLinetypeTableRecord - 2 -DOT - 70 -0 - 3 -Dot . . . . . . . . . . . . . . . . . . . . . . - 72 -65 - 73 -2 - 40 -6.3499999999999996 - 49 -0.0 - 74 -0 - 49 --6.3499999999999996 - 74 -0 - 0 -LTYPE - 5 -32 -100 -AcDbSymbolTableRecord -100 -AcDbLinetypeTableRecord - 2 -DOT2 - 70 -0 - 3 -Dot (.5x) ..................................... - 72 -65 - 73 -2 - 40 -3.1749999999999998 - 49 -0.0 - 74 -0 - 49 --3.1749999999999998 - 74 -0 - 0 -LTYPE - 5 -33 -100 -AcDbSymbolTableRecord -100 -AcDbLinetypeTableRecord - 2 -DOTX2 - 70 -0 - 3 -Dot (2x) . . . . . . . . . . . . . - 72 -65 - 73 -2 - 40 -12.6999999999999993 - 49 -0.0 - 74 -0 - 49 --12.6999999999999993 - 74 -0 - 0 -LTYPE - 5 -34 -100 -AcDbSymbolTableRecord -100 -AcDbLinetypeTableRecord - 2 -DASHED - 70 -0 - 3 -Dashed __ __ __ __ __ __ __ __ __ __ __ __ __ _ - 72 -65 - 73 -2 - 40 -19.0500000000000007 - 49 -12.6999999999999993 - 74 -0 - 49 --6.3499999999999996 - 74 -0 - 0 -LTYPE - 5 -35 -100 -AcDbSymbolTableRecord -100 -AcDbLinetypeTableRecord - 2 -DASHED2 - 70 -0 - 3 -Dashed (.5x) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ - 72 -65 - 73 -2 - 40 -9.5250000000000004 - 49 -6.3499999999999996 - 74 -0 - 49 --3.1749999999999998 - 74 -0 - 0 -LTYPE - 5 -36 -100 -AcDbSymbolTableRecord -100 -AcDbLinetypeTableRecord - 2 -DASHEDX2 - 70 -0 - 3 -Dashed (2x) ____ ____ ____ ____ ____ ___ - 72 -65 - 73 -2 - 40 -38.1000000000000014 - 49 -25.3999999999999986 - 74 -0 - 49 --12.6999999999999993 - 74 -0 - 0 -LTYPE - 5 -37 -100 -AcDbSymbolTableRecord -100 -AcDbLinetypeTableRecord - 2 -DASHDOT - 70 -0 - 3 -Dash dot __ . __ . __ . __ . __ . __ . __ . __ - 72 -65 - 73 -4 - 40 -25.3999999999999986 - 49 -12.6999999999999993 - 74 -0 - 49 --6.3499999999999996 - 74 -0 - 49 -0.0 - 74 -0 - 49 --6.3499999999999996 - 74 -0 - 0 -LTYPE - 5 -38 -100 -AcDbSymbolTableRecord -100 -AcDbLinetypeTableRecord - 2 -DASHDOT2 - 70 -0 - 3 -Dash dot (.5x) _._._._._._._._._._._._._._._. - 72 -65 - 73 -4 - 40 -12.6999999999999993 - 49 -6.3499999999999996 - 74 -0 - 49 --3.1749999999999998 - 74 -0 - 49 -0.0 - 74 -0 - 49 --3.1749999999999998 - 74 -0 - 0 -LTYPE - 5 -39 -100 -AcDbSymbolTableRecord -100 -AcDbLinetypeTableRecord - 2 -DASHDOTX2 - 70 -0 - 3 -Dash dot (2x) ____ . ____ . ____ . ___ - 72 -65 - 73 -4 - 40 -50.7999999999999972 - 49 -25.3999999999999986 - 74 -0 - 49 --12.6999999999999993 - 74 -0 - 49 -0.0 - 74 -0 - 49 --12.6999999999999993 - 74 -0 - 0 -LTYPE - 5 -3A -100 -AcDbSymbolTableRecord -100 -AcDbLinetypeTableRecord - 2 -DIVIDE - 70 -0 - 3 -Divide ____ . . ____ . . ____ . . ____ . . ____ - 72 -65 - 73 -6 - 40 -31.75 - 49 -12.6999999999999993 - 74 -0 - 49 --6.3499999999999996 - 74 -0 - 49 -0.0 - 74 -0 - 49 --6.3499999999999996 - 74 -0 - 49 -0.0 - 74 -0 - 49 --6.3499999999999996 - 74 -0 - 0 -LTYPE - 5 -3B -100 -AcDbSymbolTableRecord -100 -AcDbLinetypeTableRecord - 2 -DIVIDE2 - 70 -0 - 3 -Divide (.5x) __..__..__..__..__..__..__..__.._ - 72 -65 - 73 -6 - 40 -15.875 - 49 -6.3499999999999996 - 74 -0 - 49 --3.1749999999999998 - 74 -0 - 49 -0.0 - 74 -0 - 49 --3.1749999999999998 - 74 -0 - 49 -0.0 - 74 -0 - 49 --3.1749999999999998 - 74 -0 - 0 -LTYPE - 5 -3C -100 -AcDbSymbolTableRecord -100 -AcDbLinetypeTableRecord - 2 -DIVIDEX2 - 70 -0 - 3 -Divide (2x) ________ . . ________ . . _ - 72 -65 - 73 -6 - 40 -63.5 - 49 -25.3999999999999986 - 74 -0 - 49 --12.6999999999999993 - 74 -0 - 49 -0.0 - 74 -0 - 49 --12.6999999999999993 - 74 -0 - 49 -0.0 - 74 -0 - 49 --12.6999999999999993 - 74 -0 - 0 -LTYPE - 5 -3D -100 -AcDbSymbolTableRecord -100 -AcDbLinetypeTableRecord - 2 -CENTER - 70 -0 - 3 -Center ____ _ ____ _ ____ _ ____ _ ____ _ ____ - 72 -65 - 73 -4 - 40 -50.7999999999999972 - 49 -31.75 - 74 -0 - 49 --6.3499999999999996 - 74 -0 - 49 -6.3499999999999996 - 74 -0 - 49 --6.3499999999999996 - 74 -0 - 0 -LTYPE - 5 -3E -100 -AcDbSymbolTableRecord -100 -AcDbLinetypeTableRecord - 2 -CENTER2 - 70 -0 - 3 -Center (.5x) ___ _ ___ _ ___ _ ___ _ ___ _ ___ - 72 -65 - 73 -4 - 40 -28.5749999999999993 - 49 -19.0500000000000007 - 74 -0 - 49 --3.1749999999999998 - 74 -0 - 49 -3.1749999999999998 - 74 -0 - 49 --3.1749999999999998 - 74 -0 - 0 -LTYPE - 5 -3F -100 -AcDbSymbolTableRecord -100 -AcDbLinetypeTableRecord - 2 -CENTERX2 - 70 -0 - 3 -Center (2x) ________ __ ________ __ _____ - 72 -65 - 73 -4 - 40 -101.5999999999999943 - 49 -63.5 - 74 -0 - 49 --12.6999999999999993 - 74 -0 - 49 -12.6999999999999993 - 74 -0 - 49 --12.6999999999999993 - 74 -0 - 0 -LTYPE - 5 -40 -100 -AcDbSymbolTableRecord -100 -AcDbLinetypeTableRecord - 2 -BORDER - 70 -0 - 3 -Border __ __ . __ __ . __ __ . __ __ . __ __ . - 72 -65 - 73 -6 - 40 -44.4500000000000028 - 49 -12.6999999999999993 - 74 -0 - 49 --6.3499999999999996 - 74 -0 - 49 -12.6999999999999993 - 74 -0 - 49 --6.3499999999999996 - 74 -0 - 49 -0.0 - 74 -0 - 49 --6.3499999999999996 - 74 -0 - 0 -LTYPE - 5 -41 -100 -AcDbSymbolTableRecord -100 -AcDbLinetypeTableRecord - 2 -BORDER2 - 70 -0 - 3 -Border (.5x) __.__.__.__.__.__.__.__.__.__.__. - 72 -65 - 73 -6 - 40 -22.2250000000000014 - 49 -6.3499999999999996 - 74 -0 - 49 --3.1749999999999998 - 74 -0 - 49 -6.3499999999999996 - 74 -0 - 49 --3.1749999999999998 - 74 -0 - 49 -0.0 - 74 -0 - 49 --3.1749999999999998 - 74 -0 - 0 -LTYPE - 5 -42 -100 -AcDbSymbolTableRecord -100 -AcDbLinetypeTableRecord - 2 -BORDERX2 - 70 -0 - 3 -Border (2x) ____ ____ . ____ ____ . ___ - 72 -65 - 73 -6 - 40 -88.9000000000000057 - 49 -25.3999999999999986 - 74 -0 - 49 --12.6999999999999993 - 74 -0 - 49 -25.3999999999999986 - 74 -0 - 49 --12.6999999999999993 - 74 -0 - 49 -0.0 - 74 -0 - 49 --12.6999999999999993 - 74 -0 - 0 -ENDTAB - 0 -TABLE - 2 -LAYER - 5 -2 -100 -AcDbSymbolTable - 70 -7 - 0 -LAYER - 5 -10 -100 -AcDbSymbolTableRecord -100 -AcDbLayerTableRecord - 2 -0 - 70 -0 - 62 -7 - 6 -CONTINUOUS -370 -0 -390 -F - 0 -LAYER - 5 -43 -100 -AcDbSymbolTableRecord -100 -AcDbLayerTableRecord - 2 -plate - 70 -0 - 62 -7 - 6 -CONTINUOUS -370 -0 -390 -F - 0 -LAYER - 5 -44 -100 -AcDbSymbolTableRecord -100 -AcDbLayerTableRecord - 2 -body - 70 -0 - 62 -3 - 6 -CONTINUOUS -370 -0 -390 -F - 0 -LAYER - 5 -45 -100 -AcDbSymbolTableRecord -100 -AcDbLayerTableRecord - 2 -fan_top - 70 -0 - 62 -1 - 6 -CONTINUOUS -370 -0 -390 -F - 0 -LAYER - 5 -46 -100 -AcDbSymbolTableRecord -100 -AcDbLayerTableRecord - 2 -fan_side - 70 -0 - 62 -1 - 6 -CONTINUOUS -370 -0 -390 -F - 0 -LAYER - 5 -47 -100 -AcDbSymbolTableRecord -100 -AcDbLayerTableRecord - 2 -fan_side_center - 70 -0 - 62 -2 - 6 -CONTINUOUS -370 -0 -390 -F - 0 -LAYER - 5 -48 -100 -AcDbSymbolTableRecord -100 -AcDbLayerTableRecord - 2 -dim - 70 -0 - 62 -2 - 6 -CONTINUOUS -370 -0 -390 -F - 0 -ENDTAB - 0 -TABLE - 2 -STYLE - 5 -3 -100 -AcDbSymbolTable - 70 -1 - 0 -STYLE - 5 -11 -100 -AcDbSymbolTableRecord -100 -AcDbTextStyleTableRecord - 2 -Standard - 70 -0 - 40 -0.0 - 41 -0.75 - 50 -0.0 - 71 -0 - 42 -2.5 - 3 -txt - 4 - - 0 -ENDTAB - 0 -TABLE - 2 -VIEW - 5 -6 -100 -AcDbSymbolTable - 70 -0 - 0 -ENDTAB - 0 -TABLE - 2 -UCS - 5 -7 -100 -AcDbSymbolTable - 70 -0 - 0 -ENDTAB - 0 -TABLE - 2 -APPID - 5 -9 -100 -AcDbSymbolTable - 70 -1 - 0 -APPID - 5 -12 -100 -AcDbSymbolTableRecord -100 -AcDbRegAppTableRecord - 2 -ACAD - 70 -0 - 0 -ENDTAB - 0 -TABLE - 2 -DIMSTYLE - 5 -A -100 -AcDbSymbolTable - 70 -1 -100 -AcDbDimStyleTable - 71 -0 - 0 -DIMSTYLE -105 -27 -100 -AcDbSymbolTableRecord -100 -AcDbDimStyleTableRecord - 2 -Standard - 41 -2.5 - 42 -0.625 - 43 -3.75 - 44 -1.25 - 70 -0 - 73 -0 - 74 -0 - 77 -1 - 78 -8 -140 -2.5 -141 -2.5 -143 -0.03937007874016 -147 -0.625 -171 -3 -172 -1 -271 -2 -272 -2 -274 -3 -278 -44 -283 -0 -284 -8 -340 -11 - 0 -ENDTAB - 0 -TABLE - 2 -BLOCK_RECORD - 5 -1 -100 -AcDbSymbolTable - 70 -1 - 0 -BLOCK_RECORD - 5 -1F -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord - 2 -*Model_Space -340 -22 - 0 -BLOCK_RECORD - 5 -1B -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord - 2 -*Paper_Space -340 -1E - 0 -BLOCK_RECORD - 5 -23 -100 -AcDbSymbolTableRecord -100 -AcDbBlockTableRecord - 2 -*Paper_Space0 -340 -26 - 0 -ENDTAB - 0 -ENDSEC - 0 -SECTION - 2 -BLOCKS - 0 -BLOCK - 5 -20 -100 -AcDbEntity - 8 -0 -100 -AcDbBlockBegin - 2 -*Model_Space - 70 -0 - 10 -0.0 - 20 -0.0 - 30 -0.0 - 3 -*Model_Space - 1 - - 0 -ENDBLK - 5 -21 -100 -AcDbEntity - 8 -0 -100 -AcDbBlockEnd - 0 -BLOCK - 5 -1C -100 -AcDbEntity - 67 -1 - 8 -0 -100 -AcDbBlockBegin - 2 -*Paper_Space - 70 -0 - 10 -0.0 - 20 -0.0 - 30 -0.0 - 3 -*Paper_Space - 1 - - 0 -ENDBLK - 5 -1D -100 -AcDbEntity - 67 -1 - 8 -0 -100 -AcDbBlockEnd - 0 -BLOCK - 5 -24 -100 -AcDbEntity - 8 -0 -100 -AcDbBlockBegin - 2 -*Paper_Space0 - 70 -0 - 10 -0.0 - 20 -0.0 - 30 -0.0 - 3 -*Paper_Space0 - 1 - - 0 -ENDBLK - 5 -25 -100 -AcDbEntity - 8 -0 -100 -AcDbBlockEnd - 0 -ENDSEC - 0 -SECTION - 2 -ENTITIES - 0 -LINE - 5 -49 -100 -AcDbEntity -100 -AcDbLine - 8 -plate - 62 -256 -370 --1 - 6 -ByLayer - 10 --20.0 - 20 -20.0 - 30 -0.0 - 11 -20.0 - 21 -20.0 - 31 -0.0 - 0 -LINE - 5 -4A -100 -AcDbEntity -100 -AcDbLine - 8 -plate - 62 -256 -370 --1 - 6 -ByLayer - 10 --20.0 - 20 --20.0 - 30 -0.0 - 11 --20.0 - 21 -20.0 - 31 -0.0 - 0 -LINE - 5 -4B -100 -AcDbEntity -100 -AcDbLine - 8 -plate - 62 -256 -370 --1 - 6 -ByLayer - 10 -20.0 - 20 -20.0 - 30 -0.0 - 11 -20.0 - 21 --20.0 - 31 -0.0 - 0 -LINE - 5 -4C -100 -AcDbEntity -100 -AcDbLine - 8 -plate - 62 -256 -370 --1 - 6 -ByLayer - 10 -20.0 - 20 --20.0 - 30 -0.0 - 11 --20.0 - 21 --20.0 - 31 -0.0 - 0 -CIRCLE - 5 -4D -100 -AcDbEntity -100 -AcDbCircle - 8 -body - 62 -256 -370 --1 - 6 -ByLayer - 10 -0.0 - 20 -0.0 - 30 -0.0 - 40 -18.0 - 0 -CIRCLE - 5 -4E -100 -AcDbEntity -100 -AcDbCircle - 8 -plate - 62 -256 -370 --1 - 6 -ByLayer - 10 --16.0 - 20 -16.0 - 30 -0.0 - 40 -3.0 - 0 -CIRCLE - 5 -4F -100 -AcDbEntity -100 -AcDbCircle - 8 -plate - 62 -256 -370 --1 - 6 -ByLayer - 10 -16.0 - 20 -16.0 - 30 -0.0 - 40 -3.0 - 0 -CIRCLE - 5 -50 -100 -AcDbEntity -100 -AcDbCircle - 8 -plate - 62 -256 -370 --1 - 6 -ByLayer - 10 -16.0 - 20 --16.0 - 30 -0.0 - 40 -3.0 - 0 -CIRCLE - 5 -51 -100 -AcDbEntity -100 -AcDbCircle - 8 -plate - 62 -256 -370 --1 - 6 -ByLayer - 10 --16.0 - 20 --16.0 - 30 -0.0 - 40 -3.0 - 0 -CIRCLE - 5 -52 -100 -AcDbEntity -100 -AcDbCircle - 8 -body - 62 -256 -370 --1 - 6 -ByLayer - 10 --16.0 - 20 -16.0 - 30 -0.0 - 40 -3.0 - 0 -CIRCLE - 5 -53 -100 -AcDbEntity -100 -AcDbCircle - 8 -body - 62 -256 -370 --1 - 6 -ByLayer - 10 -16.0 - 20 -16.0 - 30 -0.0 - 40 -3.0 - 0 -CIRCLE - 5 -54 -100 -AcDbEntity -100 -AcDbCircle - 8 -body - 62 -256 -370 --1 - 6 -ByLayer - 10 -16.0 - 20 --16.0 - 30 -0.0 - 40 -3.0 - 0 -CIRCLE - 5 -55 -100 -AcDbEntity -100 -AcDbCircle - 8 -body - 62 -256 -370 --1 - 6 -ByLayer - 10 --16.0 - 20 --16.0 - 30 -0.0 - 40 -3.0 - 0 -ARC - 5 -56 -100 -AcDbEntity - 8 -body - 62 -256 -370 --1 - 6 -ByLayer -100 -AcDbCircle - 10 -16.0 - 20 -16.0 - 30 -0.0 - 40 -4.0 -100 -AcDbArc - 50 -270.0 - 51 -180.0 - 0 -ARC - 5 -57 -100 -AcDbEntity - 8 -body - 62 -256 -370 --1 - 6 -ByLayer -100 -AcDbCircle - 10 -0.0 - 20 -0.0 - 30 -0.0 - 40 -20.0 -100 -AcDbArc - 50 -53.1301023541559729 - 51 -126.8698976458440342 - 0 -ARC - 5 -58 -100 -AcDbEntity - 8 -body - 62 -256 -370 --1 - 6 -ByLayer -100 -AcDbCircle - 10 --16.0 - 20 -16.0 - 30 -0.0 - 40 -4.0 -100 -AcDbArc - 50 -360.0 - 51 -270.0 - 0 -ARC - 5 -59 -100 -AcDbEntity - 8 -body - 62 -256 -370 --1 - 6 -ByLayer -100 -AcDbCircle - 10 -0.0 - 20 -0.0 - 30 -0.0 - 40 -20.0 -100 -AcDbArc - 50 -323.1301023541560085 - 51 -36.8698976458440058 - 0 -ARC - 5 -5A -100 -AcDbEntity - 8 -body - 62 -256 -370 --1 - 6 -ByLayer -100 -AcDbCircle - 10 -16.0 - 20 --16.0 - 30 -0.0 - 40 -4.0 -100 -AcDbArc - 50 -180.0 - 51 -90.0000000000000568 - 0 -ARC - 5 -5B -100 -AcDbEntity - 8 -body - 62 -256 -370 --1 - 6 -ByLayer -100 -AcDbCircle - 10 -0.0 - 20 -0.0 - 30 -0.0 - 40 -20.0 -100 -AcDbArc - 50 -233.13010235415598 - 51 -306.8698976458439915 - 0 -ARC - 5 -5C -100 -AcDbEntity - 8 -body - 62 -256 -370 --1 - 6 -ByLayer -100 -AcDbCircle - 10 -0.0 - 20 -0.0 - 30 -0.0 - 40 -20.0 -100 -AcDbArc - 50 -143.1301023541560085 - 51 -216.8698976458439915 - 0 -ARC - 5 -5D -100 -AcDbEntity - 8 -body - 62 -256 -370 --1 - 6 -ByLayer -100 -AcDbCircle - 10 --16.0 - 20 --16.0 - 30 -0.0 - 40 -4.0 -100 -AcDbArc - 50 -90.0 - 51 -0.0 - 0 -LINE - 5 -5E -100 -AcDbEntity -100 -AcDbLine - 8 -plate - 62 -256 -370 --1 - 6 -ByLayer - 10 -1.0000000000000002 - 20 -4.8989794855663567 - 30 -0.0 - 11 -1.0000000000000011 - 21 -17.9722007556114285 - 31 -0.0 - 0 -ARC - 5 -5F -100 -AcDbEntity - 8 -plate - 62 -256 -370 --1 - 6 -ByLayer -100 -AcDbCircle - 10 -0.0 - 20 -0.0 - 30 -0.0 - 40 -5.0 -100 -AcDbArc - 50 -341.5369590328155027 - 51 -78.4630409671845115 - 0 -ARC - 5 -60 -100 -AcDbEntity - 8 -plate - 62 -256 -370 --1 - 6 -ByLayer -100 -AcDbCircle - 10 -0.0 - 20 -0.0 - 30 -0.0 - 40 -18.0 -100 -AcDbArc - 50 -333.1847385367203742 - 51 -86.8152614632795974 - 0 -LINE - 5 -61 -100 -AcDbEntity -100 -AcDbLine - 8 -plate - 62 -256 -370 --1 - 6 -ByLayer - 10 -4.7426406871192839 - 20 --1.5834643389987413 - 30 -0.0 - 11 -16.064382416273375 - 21 --8.1200749740212839 - 31 -0.0 - 0 -LINE - 5 -62 -100 -AcDbEntity -100 -AcDbLine - 8 -plate - 62 -256 -370 --1 - 6 -ByLayer - 10 --0.9999999999999997 - 20 -4.8989794855663558 - 30 -0.0 - 11 --0.9999999999999989 - 21 -17.9722007556114249 - 31 -0.0 - 0 -ARC - 5 -63 -100 -AcDbEntity - 8 -plate - 62 -256 -370 --1 - 6 -ByLayer -100 -AcDbCircle - 10 -0.0 - 20 -0.0 - 30 -0.0 - 40 -5.0 -100 -AcDbArc - 50 -101.5369590328154885 - 51 -198.4630409671844973 - 0 -ARC - 5 -64 -100 -AcDbEntity - 8 -plate - 62 -256 -370 --1 - 6 -ByLayer -100 -AcDbCircle - 10 -0.0 - 20 -0.0 - 30 -0.0 - 40 -18.0 -100 -AcDbArc - 50 -93.1847385367204026 - 51 -206.8152614632795689 - 0 -LINE - 5 -65 -100 -AcDbEntity -100 -AcDbLine - 8 -plate - 62 -256 -370 --1 - 6 -ByLayer - 10 --4.7426406871192857 - 20 --1.583464338998738 - 30 -0.0 - 11 --16.0643824162733821 - 21 --8.1200749740212697 - 31 -0.0 - 0 -ARC - 5 -66 -100 -AcDbEntity - 8 -plate - 62 -256 -370 --1 - 6 -ByLayer -100 -AcDbCircle - 10 -0.0 - 20 -0.0 - 30 -0.0 - 40 -5.0 -100 -AcDbArc - 50 -221.5369590328154459 - 51 -318.4630409671844973 - 0 -LINE - 5 -67 -100 -AcDbEntity -100 -AcDbLine - 8 -plate - 62 -256 -370 --1 - 6 -ByLayer - 10 -3.742640687119283 - 20 --3.3155151465676189 - 30 -0.0 - 11 -15.064382416273375 - 21 --9.8521257815901606 - 31 -0.0 - 0 -ARC - 5 -68 -100 -AcDbEntity - 8 -plate - 62 -256 -370 --1 - 6 -ByLayer -100 -AcDbCircle - 10 -0.0 - 20 -0.0 - 30 -0.0 - 40 -18.0 -100 -AcDbArc - 50 -213.1847385367203742 - 51 -326.8152614632795121 - 0 -LINE - 5 -69 -100 -AcDbEntity -100 -AcDbLine - 8 -plate - 62 -256 -370 --1 - 6 -ByLayer - 10 --3.7426406871192861 - 20 --3.3155151465676154 - 30 -0.0 - 11 --15.0643824162733804 - 21 --9.8521257815901464 - 31 -0.0 - 0 -CIRCLE - 5 -6A -100 -AcDbEntity -100 -AcDbCircle - 8 -plate - 62 -256 -370 --1 - 6 -ByLayer - 10 -0.0 - 20 -0.0 - 30 -0.0 - 40 -2.0 - 0 -ARC - 5 -6B -100 -AcDbEntity - 8 -fan_top - 62 -256 -370 --1 - 6 -ByLayer -100 -AcDbCircle - 10 -0.0 - 20 -0.0 - 30 -0.0 - 40 -17.1172427686236901 -100 -AcDbArc - 50 -83.290163192243071 - 51 -96.7098368077569432 - 0 -LINE - 5 -6C -100 -AcDbEntity -100 -AcDbLine - 8 -fan_top - 62 -256 -370 --1 - 6 -ByLayer - 10 -2.0 - 20 -17.0 - 30 -0.0 - 11 -2.0 - 21 -6.0827625302982185 - 31 -0.0 - 0 -ARC - 5 -6D -100 -AcDbEntity - 8 -fan_top - 62 -256 -370 --1 - 6 -ByLayer -100 -AcDbCircle - 10 -0.0 - 20 -0.0 - 30 -0.0 - 40 -6.4031242374328485 -100 -AcDbArc - 50 -18.2007602645333293 - 51 -71.7992397354666707 - 0 -LINE - 5 -6E -100 -AcDbEntity -100 -AcDbLine - 8 -fan_top - 62 -256 -370 --1 - 6 -ByLayer - 10 -6.0827625302982193 - 20 -2.0 - 30 -0.0 - 11 -17.0 - 21 -2.0 - 31 -0.0 - 0 -ARC - 5 -6F -100 -AcDbEntity - 8 -fan_top - 62 -256 -370 --1 - 6 -ByLayer -100 -AcDbCircle - 10 -0.0 - 20 -0.0 - 30 -0.0 - 40 -17.1172427686236901 -100 -AcDbArc - 50 -353.2901631922430852 - 51 -6.7098368077569503 - 0 -LINE - 5 -70 -100 -AcDbEntity -100 -AcDbLine - 8 -fan_top - 62 -256 -370 --1 - 6 -ByLayer - 10 -6.0827625302982193 - 20 --2.0 - 30 -0.0 - 11 -17.0 - 21 --2.0 - 31 -0.0 - 0 -ARC - 5 -71 -100 -AcDbEntity - 8 -fan_top - 62 -256 -370 --1 - 6 -ByLayer -100 -AcDbCircle - 10 -0.0 - 20 -0.0 - 30 -0.0 - 40 -6.4031242374328485 -100 -AcDbArc - 50 -288.2007602645333577 - 51 -341.7992397354666423 - 0 -ARC - 5 -72 -100 -AcDbEntity - 8 -fan_top - 62 -256 -370 --1 - 6 -ByLayer -100 -AcDbCircle - 10 -0.0 - 20 -0.0 - 30 -0.0 - 40 -6.4031242374328485 -100 -AcDbArc - 50 -198.2007602645333009 - 51 -251.7992397354666707 - 0 -LINE - 5 -73 -100 -AcDbEntity -100 -AcDbLine - 8 -fan_top - 62 -256 -370 --1 - 6 -ByLayer - 10 -2.0 - 20 --6.0827625302982193 - 30 -0.0 - 11 -2.0 - 21 --17.0 - 31 -0.0 - 0 -LINE - 5 -74 -100 -AcDbEntity -100 -AcDbLine - 8 -fan_top - 62 -256 -370 --1 - 6 -ByLayer - 10 --2.0 - 20 --6.0827625302982193 - 30 -0.0 - 11 --2.0 - 21 --17.0 - 31 -0.0 - 0 -ARC - 5 -75 -100 -AcDbEntity - 8 -fan_top - 62 -256 -370 --1 - 6 -ByLayer -100 -AcDbCircle - 10 -0.0 - 20 -0.0 - 30 -0.0 - 40 -17.1172427686236901 -100 -AcDbArc - 50 -263.2901631922430852 - 51 -276.7098368077569148 - 0 -LINE - 5 -76 -100 -AcDbEntity -100 -AcDbLine - 8 -fan_top - 62 -256 -370 --1 - 6 -ByLayer - 10 --2.0 - 20 -6.0827625302982193 - 30 -0.0 - 11 --2.0 - 21 -17.0 - 31 -0.0 - 0 -ARC - 5 -77 -100 -AcDbEntity - 8 -fan_top - 62 -256 -370 --1 - 6 -ByLayer -100 -AcDbCircle - 10 -0.0 - 20 -0.0 - 30 -0.0 - 40 -6.4031242374328485 -100 -AcDbArc - 50 -108.2007602645333293 - 51 -161.7992397354666991 - 0 -LINE - 5 -78 -100 -AcDbEntity -100 -AcDbLine - 8 -fan_top - 62 -256 -370 --1 - 6 -ByLayer - 10 --6.0827625302982193 - 20 --2.0 - 30 -0.0 - 11 --17.0 - 21 --2.0 - 31 -0.0 - 0 -LINE - 5 -79 -100 -AcDbEntity -100 -AcDbLine - 8 -fan_top - 62 -256 -370 --1 - 6 -ByLayer - 10 --6.0827625302982193 - 20 -2.0 - 30 -0.0 - 11 --17.0 - 21 -2.0 - 31 -0.0 - 0 -ARC - 5 -7A -100 -AcDbEntity - 8 -fan_top - 62 -256 -370 --1 - 6 -ByLayer -100 -AcDbCircle - 10 -0.0 - 20 -0.0 - 30 -0.0 - 40 -17.1172427686236901 -100 -AcDbArc - 50 -173.2901631922430568 - 51 -186.7098368077569432 - 0 -LINE - 5 -7B -100 -AcDbEntity -100 -AcDbLine - 8 -fan_side - 62 -256 -370 --1 - 6 -ByLayer - 10 -0.0 - 20 --30.0 - 30 -0.0 - 11 -6.0 - 21 --30.0 - 31 -0.0 - 0 -LINE - 5 -7C -100 -AcDbEntity -100 -AcDbLine - 8 -fan_side - 62 -256 -370 --1 - 6 -ByLayer - 10 -6.0 - 20 --30.0 - 30 -0.0 - 11 -6.0 - 21 --35.0 - 31 -0.0 - 0 -LINE - 5 -7D -100 -AcDbEntity -100 -AcDbLine - 8 -fan_side - 62 -256 -370 --1 - 6 -ByLayer - 10 -0.0 - 20 --50.0 - 30 -0.0 - 11 -6.0 - 21 --50.0 - 31 -0.0 - 0 -LINE - 5 -7E -100 -AcDbEntity -100 -AcDbLine - 8 -fan_side - 62 -256 -370 --1 - 6 -ByLayer - 10 -6.0 - 20 --50.0 - 30 -0.0 - 11 -6.0 - 21 --45.0 - 31 -0.0 - 0 -CIRCLE - 5 -7F -100 -AcDbEntity -100 -AcDbCircle - 8 -fan_side_center - 62 -256 -370 --1 - 6 -ByLayer - 10 -0.0 - 20 --40.0 - 30 -0.0 - 40 -3.0 - 0 -LINE - 5 -80 -100 -AcDbEntity -100 -AcDbLine - 8 -fan_side_center - 62 -256 -370 --1 - 6 -ByLayer - 10 --3.0 - 20 --37.0 - 30 -0.0 - 11 -3.0 - 21 --43.0 - 31 -0.0 - 0 -LINE - 5 -81 -100 -AcDbEntity -100 -AcDbLine - 8 -fan_side_center - 62 -256 -370 --1 - 6 -ByLayer - 10 --3.0 - 20 --43.0 - 30 -0.0 - 11 -3.0 - 21 --37.0 - 31 -0.0 - 0 -DIMENSION - 5 -82 -100 -AcDbEntity - 8 -dim - 62 -256 -370 --1 - 6 -ByLayer -100 -AcDbDimension - 10 --10.0 - 20 --51.0 - 30 -0.0 - 11 --11.875 - 21 --40.0 - 31 -0.0 - 70 -0 - 71 -5 - 72 -1 - 41 -1.0 - 42 -0.0 - 1 -bodywidth - 3 -Standard -100 -AcDbAlignedDimension - 13 -0.0 - 23 --29.0 - 33 -0.0 - 14 -0.0 - 24 --51.0 - 34 -0.0 - 50 -90.0 -100 -AcDbRotatedDimension - 0 -DIMENSION - 5 -83 -100 -AcDbEntity - 8 -dim - 62 -256 -370 --1 - 6 -ByLayer -100 -AcDbDimension - 10 --15.0 - 20 --27.0 - 30 -0.0 - 11 --17.0 - 21 --48.0 - 31 -0.0 - 70 -0 - 71 -5 - 72 -1 - 41 -1.0 - 42 -0.0 - 1 -platewidth - 3 -Standard -100 -AcDbAlignedDimension - 13 -0.0 - 23 --29.0 - 33 -0.0 - 14 -0.0 - 24 --27.0 - 34 -0.0 - 50 -90.0 -100 -AcDbRotatedDimension - 0 -CIRCLE - 5 -84 -100 -AcDbEntity -100 -AcDbCircle - 8 -fan_top - 62 -256 -370 --1 - 6 -ByLayer - 10 -0.0000000000000005 - 20 -0.0 - 30 -0.0 - 40 -1.5 - 0 -LINE - 5 -85 -100 -AcDbEntity -100 -AcDbLine - 8 -dim - 62 -256 -370 --1 - 6 -ByLayer - 10 -6.0 - 20 --4.0 - 30 -0.0 - 11 -6.0 - 21 --29.0 - 31 -0.0 - 0 -ARC - 5 -86 -100 -AcDbEntity - 8 -fan_side - 62 -256 -370 --1 - 6 -ByLayer -100 -AcDbCircle - 10 -13.0238095238095237 - 20 --37.4333333333333371 - 30 -0.0 - 40 -7.4333714650801985 -100 -AcDbArc - 50 -339.8005183485309999 - 51 -160.8918335353623945 - 0 -ARC - 5 -87 -100 -AcDbEntity - 8 -fan_side - 62 -256 -370 --1 - 6 -ByLayer -100 -AcDbCircle - 10 -13.0238095238095237 - 20 --42.5666666666666629 - 30 -0.0 - 40 -7.4333714650801985 -100 -AcDbArc - 50 -199.1081664646376055 - 51 -20.1994816514690321 - 0 -LINE - 5 -88 -100 -AcDbEntity -100 -AcDbLine - 8 -dim - 62 -256 -370 --1 - 6 -ByLayer - 10 -17.0 - 20 --3.0 - 30 -0.0 - 11 -17.0 - 21 --30.0 - 31 -0.0 - 0 -DIMENSION - 5 -89 -100 -AcDbEntity - 8 -dim - 62 -256 -370 --1 - 6 -ByLayer -100 -AcDbDimension - 10 --5.0 - 20 --50.0 - 30 -0.0 - 11 --6.875 - 21 --40.0 - 31 -0.0 - 70 -0 - 71 -5 - 72 -1 - 41 -1.0 - 42 -0.0 - 1 -fanwidth - 3 -Standard -100 -AcDbAlignedDimension - 13 -0.0 - 23 --30.0 - 33 -0.0 - 14 -0.0 - 24 --50.0 - 34 -0.0 - 50 -90.0 -100 -AcDbRotatedDimension - 0 -DIMENSION - 5 -8A -100 -AcDbEntity - 8 -dim - 62 -256 -370 --1 - 6 -ByLayer -100 -AcDbDimension - 10 -18.0 - 20 -0.0 - 30 -0.0 - 11 -0.0 - 21 -0.0 - 31 -0.0 - 70 -2 - 71 -5 - 72 -1 - 41 -1.0 - 42 -0.0 - 1 -fanrot - 3 -Standard -100 -AcDb2LineAngularDimension - 13 -2.6843774609657962 - 23 -4.2183074386605375 - 33 -0.0 - 14 -9.6637588594768662 - 24 -15.1859067791779339 - 34 -0.0 - 15 -5.0 - 25 -0.0 - 35 -0.0 - 16 -26.0 - 26 -15.0 - 36 -0.0 - 0 -ENDSEC - 0 -SECTION - 2 -OBJECTS - 0 -DICTIONARY - 5 -C -100 -AcDbDictionary -280 -0 -281 -1 - 3 -ACAD_GROUP -350 -D - 3 -ACAD_LAYOUT -350 -1A - 3 -ACAD_MLINESTYLE -350 -17 - 3 -ACAD_PLOTSETTINGS -350 -19 - 3 -ACAD_PLOTSTYLENAME -350 -E - 3 -AcDbVariableDictionary -350 -8B - 0 -DICTIONARY - 5 -D -100 -AcDbDictionary -280 -0 -281 -1 - 0 -ACDBDICTIONARYWDFLT - 5 -E -100 -AcDbDictionary -281 -1 - 3 -Normal -350 -F -100 -AcDbDictionaryWithDefault -340 -F - 0 -ACDBPLACEHOLDER - 5 -F - 0 -DICTIONARY - 5 -17 -100 -AcDbDictionary -280 -0 -281 -1 - 3 -Standard -350 -18 - 0 -MLINESTYLE - 5 -18 -100 -AcDbMlineStyle - 2 -STANDARD - 70 -0 - 3 - - 62 -256 - 51 -90.0 - 52 -90.0 - 71 -2 - 49 -0.5 - 62 -256 - 6 -BYLAYER - 49 --0.5 - 62 -256 - 6 -BYLAYER - 0 -DICTIONARY - 5 -19 -100 -AcDbDictionary -280 -0 -281 -1 - 0 -DICTIONARY - 5 -1A -100 -AcDbDictionary -281 -1 - 3 -Layout1 -350 -1E - 3 -Layout2 -350 -26 - 3 -Model -350 -22 - 0 -LAYOUT - 5 -1E -100 -AcDbPlotSettings - 1 - - 2 -C:\Program Files\AutoCAD 2002\plotters\DWF ePlot (optimized for plotting).pc3 - 4 - - 6 - - 40 -0.0 - 41 -0.0 - 42 -0.0 - 43 -0.0 - 44 -0.0 - 45 -0.0 - 46 -0.0 - 47 -0.0 - 48 -0.0 - 49 -0.0 -140 -0.0 -141 -0.0 -142 -1.0 -143 -1.0 - 70 -688 - 72 -0 - 73 -0 - 74 -5 - 7 - - 75 -16 -147 -1.0 -148 -0.0 -149 -0.0 -100 -AcDbLayout - 1 -Layout1 - 70 -1 - 71 -1 - 10 -0.0 - 20 -0.0 - 11 -420.0 - 21 -297.0 - 12 -0.0 - 22 -0.0 - 32 -0.0 - 14 -100000000000000000000.0 - 24 -100000000000000000000.0 - 34 -100000000000000000000.0 - 15 --100000000000000000000.0 - 25 --100000000000000000000.0 - 35 --100000000000000000000.0 -146 -0.0 - 13 -0.0 - 23 -0.0 - 33 -0.0 - 16 -1.0 - 26 -0.0 - 36 -0.0 - 17 -0.0 - 27 -1.0 - 37 -0.0 - 76 -0 -330 -1B - 0 -LAYOUT - 5 -22 -100 -AcDbPlotSettings - 1 - - 2 -C:\Program Files\AutoCAD 2002\plotters\DWF ePlot (optimized for plotting).pc3 - 4 - - 6 - - 40 -0.0 - 41 -0.0 - 42 -0.0 - 43 -0.0 - 44 -0.0 - 45 -0.0 - 46 -0.0 - 47 -0.0 - 48 -0.0 - 49 -0.0 -140 -0.0 -141 -0.0 -142 -1.0 -143 -1.0 - 70 -1712 - 72 -0 - 73 -0 - 74 -0 - 7 - - 75 -0 -147 -1.0 -148 -0.0 -149 -0.0 -100 -AcDbLayout - 1 -Model - 70 -1 - 71 -0 - 10 -0.0 - 20 -0.0 - 11 -12.0 - 21 -9.0 - 12 -0.0 - 22 -0.0 - 32 -0.0 - 14 -0.0 - 24 -0.0 - 34 -0.0 - 15 -0.0 - 25 -0.0 - 35 -0.0 -146 -0.0 - 13 -0.0 - 23 -0.0 - 33 -0.0 - 16 -1.0 - 26 -0.0 - 36 -0.0 - 17 -0.0 - 27 -1.0 - 37 -0.0 - 76 -0 -330 -1F - 0 -LAYOUT - 5 -26 -100 -AcDbPlotSettings - 1 - - 2 -C:\Program Files\AutoCAD 2002\plotters\DWF ePlot (optimized for plotting).pc3 - 4 - - 6 - - 40 -0.0 - 41 -0.0 - 42 -0.0 - 43 -0.0 - 44 -0.0 - 45 -0.0 - 46 -0.0 - 47 -0.0 - 48 -0.0 - 49 -0.0 -140 -0.0 -141 -0.0 -142 -1.0 -143 -1.0 - 70 -688 - 72 -0 - 73 -0 - 74 -5 - 7 - - 75 -16 -147 -1.0 -148 -0.0 -149 -0.0 -100 -AcDbLayout - 1 -Layout2 - 70 -1 - 71 -2 - 10 -0.0 - 20 -0.0 - 11 -12.0 - 21 -9.0 - 12 -0.0 - 22 -0.0 - 32 -0.0 - 14 -0.0 - 24 -0.0 - 34 -0.0 - 15 -0.0 - 25 -0.0 - 35 -0.0 -146 -0.0 - 13 -0.0 - 23 -0.0 - 33 -0.0 - 16 -1.0 - 26 -0.0 - 36 -0.0 - 17 -0.0 - 27 -1.0 - 37 -0.0 - 76 -0 -330 -23 - 0 -DICTIONARY - 5 -8B -100 -AcDbDictionary -281 -1 - 3 -DIMASSOC -350 -8D - 3 -HIDETEXT -350 -8C - 0 -DICTIONARYVAR - 5 -8C -100 -DictionaryVariables -280 -0 - 1 -2 - 0 -DICTIONARYVAR - 5 -8D -100 -DictionaryVariables -280 -0 - 1 -1 - 0 -ENDSEC - 0 -EOF diff --git a/examples/examples.json b/examples/examples.json index cbf3e622..5b316375 100644 --- a/examples/examples.json +++ b/examples/examples.json @@ -1,15 +1,14 @@ { "Basics": [ - "logo.scad", - "LetterBlock.scad", "CSG.scad", "CSG-modules.scad", + "logo.scad", + "LetterBlock.scad", "logo_and_text.scad", "linear_extrude.scad", "rotate_extrude.scad", "text_on_cube.scad", - "projection.scad", - "surface.scad" + "projection.scad" ], "Functions": [ "functions.scad", @@ -18,34 +17,42 @@ "polygon_areas.scad" ], "Shapes": [ - "chopped_blocks.scad", - "fence.scad", - "flat_body.scad", - "polyhedron.scad", - "rounded_box.scad", - "sphere.scad", - "tripod.scad" ], "Extrusion": [ - "cut_view.scad", - "fan_view.scad", - "text.scad" ], "Advanced": [ + "offset.scad", "surface_image.scad", "children.scad", "children_indexed.scad", - "advance_intersection.scad", - "animation.scad", - "demo_cut.scad", - "difference.scad", - "fractal.scad", "GEB.scad", - "intersecting.scad", - "iteration.scad", - "module_recursion.scad", - "offset.scad", - "search.scad", - "translation.scad" + "animation.scad", + "module_recursion.scad" + ], + "Old": [ + "example001.scad", + "example002.scad", + "example003.scad", + "example004.scad", + "example005.scad", + "example006.scad", + "example007.scad", + "example008.scad", + "example009.scad", + "example010.scad", + "example011.scad", + "example012.scad", + "example013.scad", + "example014.scad", + "example015.scad", + "example016.scad", + "example017.scad", + "example018.scad", + "example019.scad", + "example020.scad", + "example021.scad", + "example022.scad", + "example023.scad", + "example024.scad" ] } diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 4a18348d..0a2be020 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -1049,8 +1049,19 @@ file(GLOB SCAD_DXF_FILES ${CMAKE_SOURCE_DIR}/../testdata/scad/dxf/*.scad) file(GLOB FUNCTION_FILES ${CMAKE_SOURCE_DIR}/../testdata/scad/functions/*.scad) file(GLOB_RECURSE EXAMPLE_3D_FILES ${CMAKE_SOURCE_DIR}/../examples/*.scad) -list(REMOVE_ITEM EXAMPLE_3D_FILES ${CMAKE_SOURCE_DIR}/../examples/Shapes/flat_body.scad) -list(APPEND EXAMPLE_2D_FILES ${CMAKE_SOURCE_DIR}/../examples/Shapes/flat_body.scad) +list(REMOVE_ITEM EXAMPLE_3D_FILES + ${CMAKE_SOURCE_DIR}/../examples/Old/example015.scad + ${CMAKE_SOURCE_DIR}/../examples/Advanced/module_recursion.scad + ${CMAKE_SOURCE_DIR}/../examples/Functions/list_comprehensions.scad + ${CMAKE_SOURCE_DIR}/../examples/Functions/polygon_areas.scad + ${CMAKE_SOURCE_DIR}/../examples/Functions/recursion.scad) + +list(APPEND EXAMPLE_2D_FILES + ${CMAKE_SOURCE_DIR}/../examples/Old/example015.scad + ${CMAKE_SOURCE_DIR}/../examples/Advanced/module_recursion.scad + ${CMAKE_SOURCE_DIR}/../examples/Functions/list_comprehensions.scad + ${CMAKE_SOURCE_DIR}/../examples/Functions/polygon_areas.scad + ${CMAKE_SOURCE_DIR}/../examples/Functions/recursion.scad) list(APPEND EXAMPLE_FILES ${EXAMPLE_3D_FILES} ${EXAMPLE_2D_FILES}) @@ -1135,7 +1146,6 @@ set_test_config(Bugs dxfpngtest_text-font-direction-tests csgpngtest_text-font-direction-tests throwntogethertest_text-font-direction-tests) -list(APPEND EXPORT3D_CGALCGAL_TEST_FILES ${EXAMPLE_3D_FILES}) list(APPEND EXPORT3D_CGALCGAL_TEST_FILES ${CMAKE_SOURCE_DIR}/../testdata/scad/3D/features/polyhedron-nonplanar-tests.scad ${CMAKE_SOURCE_DIR}/../testdata/scad/3D/features/rotate_extrude-tests.scad ${CMAKE_SOURCE_DIR}/../testdata/scad/3D/features/union-coincident-test.scad @@ -1342,6 +1352,10 @@ foreach(FILE ${EXAMPLE_FILES}) get_test_fullname(offcgalpngtest ${FILE} TEST_FULLNAME) set_test_config(Examples ${TEST_FULLNAME}) endforeach() +foreach(FILE ${EXAMPLE_2D_FILES}) + get_test_fullname(dxfpngtest ${FILE} TEST_FULLNAME) + set_test_config(Examples ${TEST_FULLNAME}) +endforeach() # Workaround Gallium bugs if ( ${CMAKE_SYSTEM_PROCESSOR} MATCHES "ppc") diff --git a/tests/regression/cgalpngtest/CSG-expected.png b/tests/regression/cgalpngtest/CSG-expected.png new file mode 100644 index 00000000..d0717a23 Binary files /dev/null and b/tests/regression/cgalpngtest/CSG-expected.png differ diff --git a/tests/regression/cgalpngtest/CSG-modules-expected.png b/tests/regression/cgalpngtest/CSG-modules-expected.png new file mode 100644 index 00000000..cde083b4 Binary files /dev/null and b/tests/regression/cgalpngtest/CSG-modules-expected.png differ diff --git a/tests/regression/cgalpngtest/GEB-expected.png b/tests/regression/cgalpngtest/GEB-expected.png new file mode 100644 index 00000000..4de8190d Binary files /dev/null and b/tests/regression/cgalpngtest/GEB-expected.png differ diff --git a/tests/regression/cgalpngtest/animation-expected.png b/tests/regression/cgalpngtest/animation-expected.png new file mode 100644 index 00000000..4799f368 Binary files /dev/null and b/tests/regression/cgalpngtest/animation-expected.png differ diff --git a/tests/regression/cgalpngtest/children-expected.png b/tests/regression/cgalpngtest/children-expected.png new file mode 100644 index 00000000..cb4cc103 Binary files /dev/null and b/tests/regression/cgalpngtest/children-expected.png differ diff --git a/tests/regression/cgalpngtest/example001-expected.png b/tests/regression/cgalpngtest/example001-expected.png new file mode 100644 index 00000000..12b3deaa Binary files /dev/null and b/tests/regression/cgalpngtest/example001-expected.png differ diff --git a/tests/regression/cgalpngtest/example002-expected.png b/tests/regression/cgalpngtest/example002-expected.png new file mode 100644 index 00000000..491477da Binary files /dev/null and b/tests/regression/cgalpngtest/example002-expected.png differ diff --git a/tests/regression/cgalpngtest/example003-expected.png b/tests/regression/cgalpngtest/example003-expected.png new file mode 100644 index 00000000..429b64b6 Binary files /dev/null and b/tests/regression/cgalpngtest/example003-expected.png differ diff --git a/tests/regression/cgalpngtest/example004-expected.png b/tests/regression/cgalpngtest/example004-expected.png new file mode 100644 index 00000000..b0a91fd8 Binary files /dev/null and b/tests/regression/cgalpngtest/example004-expected.png differ diff --git a/tests/regression/cgalpngtest/example005-expected.png b/tests/regression/cgalpngtest/example005-expected.png new file mode 100644 index 00000000..8727800b Binary files /dev/null and b/tests/regression/cgalpngtest/example005-expected.png differ diff --git a/tests/regression/cgalpngtest/example006-expected.png b/tests/regression/cgalpngtest/example006-expected.png new file mode 100644 index 00000000..c2fd5c1e Binary files /dev/null and b/tests/regression/cgalpngtest/example006-expected.png differ diff --git a/tests/regression/cgalpngtest/example007-expected.png b/tests/regression/cgalpngtest/example007-expected.png new file mode 100644 index 00000000..0ec829fb Binary files /dev/null and b/tests/regression/cgalpngtest/example007-expected.png differ diff --git a/tests/regression/cgalpngtest/example008-expected.png b/tests/regression/cgalpngtest/example008-expected.png new file mode 100644 index 00000000..54cd35d6 Binary files /dev/null and b/tests/regression/cgalpngtest/example008-expected.png differ diff --git a/tests/regression/cgalpngtest/example009-expected.png b/tests/regression/cgalpngtest/example009-expected.png new file mode 100644 index 00000000..bbdc1921 Binary files /dev/null and b/tests/regression/cgalpngtest/example009-expected.png differ diff --git a/tests/regression/cgalpngtest/example010-expected.png b/tests/regression/cgalpngtest/example010-expected.png new file mode 100644 index 00000000..68ecc9e0 Binary files /dev/null and b/tests/regression/cgalpngtest/example010-expected.png differ diff --git a/tests/regression/cgalpngtest/example011-expected.png b/tests/regression/cgalpngtest/example011-expected.png new file mode 100644 index 00000000..88c8299d Binary files /dev/null and b/tests/regression/cgalpngtest/example011-expected.png differ diff --git a/tests/regression/cgalpngtest/example012-expected.png b/tests/regression/cgalpngtest/example012-expected.png new file mode 100644 index 00000000..8065e9c4 Binary files /dev/null and b/tests/regression/cgalpngtest/example012-expected.png differ diff --git a/tests/regression/cgalpngtest/example013-expected.png b/tests/regression/cgalpngtest/example013-expected.png new file mode 100644 index 00000000..331fa170 Binary files /dev/null and b/tests/regression/cgalpngtest/example013-expected.png differ diff --git a/tests/regression/cgalpngtest/example014-expected.png b/tests/regression/cgalpngtest/example014-expected.png new file mode 100644 index 00000000..73453a25 Binary files /dev/null and b/tests/regression/cgalpngtest/example014-expected.png differ diff --git a/tests/regression/cgalpngtest/example015-expected.png b/tests/regression/cgalpngtest/example015-expected.png new file mode 100644 index 00000000..d7816204 Binary files /dev/null and b/tests/regression/cgalpngtest/example015-expected.png differ diff --git a/tests/regression/cgalpngtest/example016-expected.png b/tests/regression/cgalpngtest/example016-expected.png new file mode 100644 index 00000000..95678da2 Binary files /dev/null and b/tests/regression/cgalpngtest/example016-expected.png differ diff --git a/tests/regression/cgalpngtest/example017-expected.png b/tests/regression/cgalpngtest/example017-expected.png new file mode 100644 index 00000000..05f429b5 Binary files /dev/null and b/tests/regression/cgalpngtest/example017-expected.png differ diff --git a/tests/regression/cgalpngtest/example018-expected.png b/tests/regression/cgalpngtest/example018-expected.png new file mode 100644 index 00000000..5ea05af4 Binary files /dev/null and b/tests/regression/cgalpngtest/example018-expected.png differ diff --git a/tests/regression/cgalpngtest/example019-expected.png b/tests/regression/cgalpngtest/example019-expected.png new file mode 100644 index 00000000..42a356a4 Binary files /dev/null and b/tests/regression/cgalpngtest/example019-expected.png differ diff --git a/tests/regression/cgalpngtest/example020-expected.png b/tests/regression/cgalpngtest/example020-expected.png new file mode 100644 index 00000000..9698b4ff Binary files /dev/null and b/tests/regression/cgalpngtest/example020-expected.png differ diff --git a/tests/regression/cgalpngtest/example021-expected.png b/tests/regression/cgalpngtest/example021-expected.png new file mode 100644 index 00000000..d657b0d3 Binary files /dev/null and b/tests/regression/cgalpngtest/example021-expected.png differ diff --git a/tests/regression/cgalpngtest/example022-expected.png b/tests/regression/cgalpngtest/example022-expected.png new file mode 100644 index 00000000..b8b8fbd2 Binary files /dev/null and b/tests/regression/cgalpngtest/example022-expected.png differ diff --git a/tests/regression/cgalpngtest/example023-expected.png b/tests/regression/cgalpngtest/example023-expected.png new file mode 100644 index 00000000..c528b904 Binary files /dev/null and b/tests/regression/cgalpngtest/example023-expected.png differ diff --git a/tests/regression/cgalpngtest/example024-expected.png b/tests/regression/cgalpngtest/example024-expected.png new file mode 100644 index 00000000..8e698084 Binary files /dev/null and b/tests/regression/cgalpngtest/example024-expected.png differ diff --git a/tests/regression/cgalpngtest/example025-expected.png b/tests/regression/cgalpngtest/example025-expected.png new file mode 100644 index 00000000..d9658234 Binary files /dev/null and b/tests/regression/cgalpngtest/example025-expected.png differ diff --git a/tests/regression/cgalpngtest/functions-expected.png b/tests/regression/cgalpngtest/functions-expected.png new file mode 100644 index 00000000..c76d6044 Binary files /dev/null and b/tests/regression/cgalpngtest/functions-expected.png differ diff --git a/tests/regression/cgalpngtest/linear_extrude-expected.png b/tests/regression/cgalpngtest/linear_extrude-expected.png new file mode 100644 index 00000000..330fce31 Binary files /dev/null and b/tests/regression/cgalpngtest/linear_extrude-expected.png differ diff --git a/tests/regression/cgalpngtest/list_comprehensions-expected.png b/tests/regression/cgalpngtest/list_comprehensions-expected.png new file mode 100644 index 00000000..f8e19385 Binary files /dev/null and b/tests/regression/cgalpngtest/list_comprehensions-expected.png differ diff --git a/tests/regression/cgalpngtest/logo-expected.png b/tests/regression/cgalpngtest/logo-expected.png new file mode 100644 index 00000000..01800581 Binary files /dev/null and b/tests/regression/cgalpngtest/logo-expected.png differ diff --git a/tests/regression/cgalpngtest/logo_and_text-expected.png b/tests/regression/cgalpngtest/logo_and_text-expected.png index 8a86d22d..6ff1b067 100644 Binary files a/tests/regression/cgalpngtest/logo_and_text-expected.png and b/tests/regression/cgalpngtest/logo_and_text-expected.png differ diff --git a/tests/regression/cgalpngtest/module_recursion-expected.png b/tests/regression/cgalpngtest/module_recursion-expected.png new file mode 100644 index 00000000..9b9b1b75 Binary files /dev/null and b/tests/regression/cgalpngtest/module_recursion-expected.png differ diff --git a/tests/regression/cgalpngtest/polygon_areas-expected.png b/tests/regression/cgalpngtest/polygon_areas-expected.png new file mode 100644 index 00000000..246407c9 Binary files /dev/null and b/tests/regression/cgalpngtest/polygon_areas-expected.png differ diff --git a/tests/regression/cgalpngtest/projection-expected.png b/tests/regression/cgalpngtest/projection-expected.png new file mode 100644 index 00000000..1f9987e9 Binary files /dev/null and b/tests/regression/cgalpngtest/projection-expected.png differ diff --git a/tests/regression/cgalpngtest/recursion-expected.png b/tests/regression/cgalpngtest/recursion-expected.png new file mode 100644 index 00000000..44b0976b Binary files /dev/null and b/tests/regression/cgalpngtest/recursion-expected.png differ diff --git a/tests/regression/cgalpngtest/rotate_extrude-expected.png b/tests/regression/cgalpngtest/rotate_extrude-expected.png new file mode 100644 index 00000000..e6298c43 Binary files /dev/null and b/tests/regression/cgalpngtest/rotate_extrude-expected.png differ diff --git a/tests/regression/cgalpngtest/surface_image-expected.png b/tests/regression/cgalpngtest/surface_image-expected.png new file mode 100644 index 00000000..bc4a6108 Binary files /dev/null and b/tests/regression/cgalpngtest/surface_image-expected.png differ diff --git a/tests/regression/cgalpngtest/text_on_cube-expected.png b/tests/regression/cgalpngtest/text_on_cube-expected.png index cf5d7ec2..e9429575 100644 Binary files a/tests/regression/cgalpngtest/text_on_cube-expected.png and b/tests/regression/cgalpngtest/text_on_cube-expected.png differ diff --git a/tests/regression/dumptest-examples/example001-expected.csg b/tests/regression/dumptest-examples/example001-expected.csg new file mode 100644 index 00000000..4c888eee --- /dev/null +++ b/tests/regression/dumptest-examples/example001-expected.csg @@ -0,0 +1,23 @@ +group() { + group(); + group() { + difference() { + sphere($fn = 0, $fa = 12, $fs = 2, r = 25); + group() { + multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { + cylinder($fn = 0, $fa = 12, $fs = 2, h = 62.5, r1 = 12.5, r2 = 12.5, center = true); + } + } + group() { + multmatrix([[1, 0, 0, 0], [0, 0, -1, 0], [0, 1, 0, 0], [0, 0, 0, 1]]) { + cylinder($fn = 0, $fa = 12, $fs = 2, h = 62.5, r1 = 12.5, r2 = 12.5, center = true); + } + } + group() { + multmatrix([[0, 0, 1, 0], [0, 1, 0, 0], [-1, 0, 0, 0], [0, 0, 0, 1]]) { + cylinder($fn = 0, $fa = 12, $fs = 2, h = 62.5, r1 = 12.5, r2 = 12.5, center = true); + } + } + } + } +} diff --git a/tests/regression/dumptest-examples/intersection-expected.csg b/tests/regression/dumptest-examples/example002-expected.csg similarity index 100% rename from tests/regression/dumptest-examples/intersection-expected.csg rename to tests/regression/dumptest-examples/example002-expected.csg diff --git a/tests/regression/dumptest-examples/example003-expected.csg b/tests/regression/dumptest-examples/example003-expected.csg new file mode 100644 index 00000000..b6a669b5 --- /dev/null +++ b/tests/regression/dumptest-examples/example003-expected.csg @@ -0,0 +1,18 @@ +group() { + group(); + group() { + difference() { + union() { + cube(size = [30, 30, 30], center = true); + cube(size = [40, 15, 15], center = true); + cube(size = [15, 40, 15], center = true); + cube(size = [15, 15, 40], center = true); + } + union() { + cube(size = [50, 10, 10], center = true); + cube(size = [10, 50, 10], center = true); + cube(size = [10, 10, 50], center = true); + } + } + } +} diff --git a/tests/regression/dumptest-examples/example004-expected.csg b/tests/regression/dumptest-examples/example004-expected.csg new file mode 100644 index 00000000..a48e51e9 --- /dev/null +++ b/tests/regression/dumptest-examples/example004-expected.csg @@ -0,0 +1,9 @@ +group() { + group(); + group() { + difference() { + cube(size = [30, 30, 30], center = true); + sphere($fn = 0, $fa = 12, $fs = 2, r = 20); + } + } +} diff --git a/tests/regression/dumptest-examples/example005-expected.csg b/tests/regression/dumptest-examples/example005-expected.csg new file mode 100644 index 00000000..03c22dfc --- /dev/null +++ b/tests/regression/dumptest-examples/example005-expected.csg @@ -0,0 +1,45 @@ +group() { + group(); + group() { + multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, -120], [0, 0, 0, 1]]) { + difference() { + cylinder($fn = 0, $fa = 12, $fs = 2, h = 50, r1 = 100, r2 = 100, center = false); + multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 10], [0, 0, 0, 1]]) { + cylinder($fn = 0, $fa = 12, $fs = 2, h = 50, r1 = 80, r2 = 80, center = false); + } + multmatrix([[1, 0, 0, 100], [0, 1, 0, 0], [0, 0, 1, 35], [0, 0, 0, 1]]) { + cube(size = [50, 50, 50], center = true); + } + } + group() { + group(); + multmatrix([[1, 0, 0, 0], [0, 1, 0, 80], [0, 0, 1, 0], [0, 0, 0, 1]]) { + cylinder($fn = 0, $fa = 12, $fs = 2, h = 200, r1 = 10, r2 = 10, center = false); + } + group(); + multmatrix([[1, 0, 0, 69.28203230275], [0, 1, 0, 40], [0, 0, 1, 0], [0, 0, 0, 1]]) { + cylinder($fn = 0, $fa = 12, $fs = 2, h = 200, r1 = 10, r2 = 10, center = false); + } + group(); + multmatrix([[1, 0, 0, 69.28203230275], [0, 1, 0, -40], [0, 0, 1, 0], [0, 0, 0, 1]]) { + cylinder($fn = 0, $fa = 12, $fs = 2, h = 200, r1 = 10, r2 = 10, center = false); + } + group(); + multmatrix([[1, 0, 0, 0], [0, 1, 0, -80], [0, 0, 1, 0], [0, 0, 0, 1]]) { + cylinder($fn = 0, $fa = 12, $fs = 2, h = 200, r1 = 10, r2 = 10, center = false); + } + group(); + multmatrix([[1, 0, 0, -69.28203230275], [0, 1, 0, -40], [0, 0, 1, 0], [0, 0, 0, 1]]) { + cylinder($fn = 0, $fa = 12, $fs = 2, h = 200, r1 = 10, r2 = 10, center = false); + } + group(); + multmatrix([[1, 0, 0, -69.28203230275], [0, 1, 0, 40], [0, 0, 1, 0], [0, 0, 0, 1]]) { + cylinder($fn = 0, $fa = 12, $fs = 2, h = 200, r1 = 10, r2 = 10, center = false); + } + } + multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 200], [0, 0, 0, 1]]) { + cylinder($fn = 0, $fa = 12, $fs = 2, h = 80, r1 = 120, r2 = 0, center = false); + } + } + } +} diff --git a/tests/regression/dumptest-examples/iteration-expected.csg b/tests/regression/dumptest-examples/example006-expected.csg similarity index 100% rename from tests/regression/dumptest-examples/iteration-expected.csg rename to tests/regression/dumptest-examples/example006-expected.csg diff --git a/tests/regression/dumptest-examples/cut_view-expected.csg b/tests/regression/dumptest-examples/example007-expected.csg similarity index 72% rename from tests/regression/dumptest-examples/cut_view-expected.csg rename to tests/regression/dumptest-examples/example007-expected.csg index 2c84f3cf..310cc643 100644 --- a/tests/regression/dumptest-examples/cut_view-expected.csg +++ b/tests/regression/dumptest-examples/example007-expected.csg @@ -3,9 +3,7 @@ group() { multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, -10], [0, 0, 0, 1]]) { group() { difference() { - rotate_extrude(convexity = 3, $fn = 0, $fa = 12, $fs = 2) { - import(file = "cut_view.dxf", layer = "dorn", origin = [0, 0], scale = 1, convexity = 1, $fn = 0, $fa = 12, $fs = 2); - } + rotate_extrude(file = "example007.dxf", layer = "dorn", origin = [0, 0], scale = 1, convexity = 3, $fn = 0, $fa = 12, $fs = 2); group() { multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { group() { @@ -13,7 +11,7 @@ group() { multmatrix([[1, 0, 0, 0], [0, 0, -1, 0], [0, 1, 0, 0], [0, 0, 0, 1]]) { multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, -50], [0, 0, 0, 1]]) { linear_extrude(height = 100, center = false, convexity = 1, scale = [1, 1], $fn = 0, $fa = 12, $fs = 2) { - import(file = "cut_view.dxf", layer = "cutout1", origin = [0, 0], scale = 1, convexity = 1, $fn = 0, $fa = 12, $fs = 2); + import(file = "example007.dxf", layer = "cutout1", origin = [0, 0], scale = 1, convexity = 1, $fn = 0, $fa = 12, $fs = 2); } } } @@ -21,7 +19,7 @@ group() { multmatrix([[1, 0, 0, 0], [0, 0, -1, 0], [0, 1, 0, 0], [0, 0, 0, 1]]) { multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, -50], [0, 0, 0, 1]]) { linear_extrude(height = 100, center = false, convexity = 2, scale = [1, 1], $fn = 0, $fa = 12, $fs = 2) { - import(file = "cut_view.dxf", layer = "cutout2", origin = [0, 0], scale = 1, convexity = 1, $fn = 0, $fa = 12, $fs = 2); + import(file = "example007.dxf", layer = "cutout2", origin = [0, 0], scale = 1, convexity = 1, $fn = 0, $fa = 12, $fs = 2); } } } @@ -35,7 +33,7 @@ group() { multmatrix([[1, 0, 0, 0], [0, 0, -1, 0], [0, 1, 0, 0], [0, 0, 0, 1]]) { multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, -50], [0, 0, 0, 1]]) { linear_extrude(height = 100, center = false, convexity = 1, scale = [1, 1], $fn = 0, $fa = 12, $fs = 2) { - import(file = "cut_view.dxf", layer = "cutout1", origin = [0, 0], scale = 1, convexity = 1, $fn = 0, $fa = 12, $fs = 2); + import(file = "example007.dxf", layer = "cutout1", origin = [0, 0], scale = 1, convexity = 1, $fn = 0, $fa = 12, $fs = 2); } } } @@ -43,7 +41,7 @@ group() { multmatrix([[1, 0, 0, 0], [0, 0, -1, 0], [0, 1, 0, 0], [0, 0, 0, 1]]) { multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, -50], [0, 0, 0, 1]]) { linear_extrude(height = 100, center = false, convexity = 2, scale = [1, 1], $fn = 0, $fa = 12, $fs = 2) { - import(file = "cut_view.dxf", layer = "cutout2", origin = [0, 0], scale = 1, convexity = 1, $fn = 0, $fa = 12, $fs = 2); + import(file = "example007.dxf", layer = "cutout2", origin = [0, 0], scale = 1, convexity = 1, $fn = 0, $fa = 12, $fs = 2); } } } diff --git a/tests/regression/dumptest-examples/text-expected.csg b/tests/regression/dumptest-examples/example008-expected.csg similarity index 68% rename from tests/regression/dumptest-examples/text-expected.csg rename to tests/regression/dumptest-examples/example008-expected.csg index e2a19e28..0af2322a 100644 --- a/tests/regression/dumptest-examples/text-expected.csg +++ b/tests/regression/dumptest-examples/example008-expected.csg @@ -4,20 +4,20 @@ group() { intersection() { multmatrix([[1, 0, 0, -25], [0, 1, 0, -25], [0, 0, 1, -25], [0, 0, 0, 1]]) { linear_extrude(height = 50, center = false, convexity = 3, scale = [1, 1], $fn = 0, $fa = 12, $fs = 2) { - import(file = "text.dxf", layer = "G", origin = [0, 0], scale = 1, convexity = 1, $fn = 0, $fa = 12, $fs = 2); + import(file = "example008.dxf", layer = "G", origin = [0, 0], scale = 1, convexity = 1, $fn = 0, $fa = 12, $fs = 2); } } multmatrix([[1, 0, 0, 0], [0, 0, -1, 0], [0, 1, 0, 0], [0, 0, 0, 1]]) { multmatrix([[1, 0, 0, -25], [0, 1, 0, -125], [0, 0, 1, -25], [0, 0, 0, 1]]) { linear_extrude(height = 50, center = false, convexity = 3, scale = [1, 1], $fn = 0, $fa = 12, $fs = 2) { - import(file = "text.dxf", layer = "E", origin = [0, 0], scale = 1, convexity = 1, $fn = 0, $fa = 12, $fs = 2); + import(file = "example008.dxf", layer = "E", origin = [0, 0], scale = 1, convexity = 1, $fn = 0, $fa = 12, $fs = 2); } } } multmatrix([[0, 0, 1, 0], [0, 1, 0, 0], [-1, 0, 0, 0], [0, 0, 0, 1]]) { multmatrix([[1, 0, 0, -125], [0, 1, 0, -125], [0, 0, 1, -25], [0, 0, 0, 1]]) { linear_extrude(height = 50, center = false, convexity = 3, scale = [1, 1], $fn = 0, $fa = 12, $fs = 2) { - import(file = "text.dxf", layer = "B", origin = [0, 0], scale = 1, convexity = 1, $fn = 0, $fa = 12, $fs = 2); + import(file = "example008.dxf", layer = "B", origin = [0, 0], scale = 1, convexity = 1, $fn = 0, $fa = 12, $fs = 2); } } } @@ -25,13 +25,13 @@ group() { intersection() { multmatrix([[1, 0, 0, -125], [0, 1, 0, -25], [0, 0, 1, -26], [0, 0, 0, 1]]) { linear_extrude(height = 52, center = false, convexity = 1, scale = [1, 1], $fn = 0, $fa = 12, $fs = 2) { - import(file = "text.dxf", layer = "X", origin = [0, 0], scale = 1, convexity = 1, $fn = 0, $fa = 12, $fs = 2); + import(file = "example008.dxf", layer = "X", origin = [0, 0], scale = 1, convexity = 1, $fn = 0, $fa = 12, $fs = 2); } } multmatrix([[0, 0, 1, 0], [0, 1, 0, 0], [-1, 0, 0, 0], [0, 0, 0, 1]]) { multmatrix([[1, 0, 0, -125], [0, 1, 0, -25], [0, 0, 1, -26], [0, 0, 0, 1]]) { linear_extrude(height = 52, center = false, convexity = 1, scale = [1, 1], $fn = 0, $fa = 12, $fs = 2) { - import(file = "text.dxf", layer = "X", origin = [0, 0], scale = 1, convexity = 1, $fn = 0, $fa = 12, $fs = 2); + import(file = "example008.dxf", layer = "X", origin = [0, 0], scale = 1, convexity = 1, $fn = 0, $fa = 12, $fs = 2); } } } diff --git a/tests/regression/dumptest-examples/fan_view-expected.csg b/tests/regression/dumptest-examples/example009-expected.csg similarity index 50% rename from tests/regression/dumptest-examples/fan_view-expected.csg rename to tests/regression/dumptest-examples/example009-expected.csg index 327eb08b..0dc906a1 100644 --- a/tests/regression/dumptest-examples/fan_view-expected.csg +++ b/tests/regression/dumptest-examples/example009-expected.csg @@ -1,26 +1,24 @@ group() { group(); % linear_extrude(height = 22, center = true, convexity = 10, scale = [1, 1], $fn = 0, $fa = 12, $fs = 2) { - import(file = "fan_view.dxf", layer = "body", origin = [0, 0], scale = 1, convexity = 1, $fn = 0, $fa = 12, $fs = 2); + import(file = "example009.dxf", layer = "body", origin = [0, 0], scale = 1, convexity = 1, $fn = 0, $fa = 12, $fs = 2); } % group() { multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 12], [0, 0, 0, 1]]) { linear_extrude(height = 2, center = true, convexity = 10, scale = [1, 1], $fn = 0, $fa = 12, $fs = 2) { - import(file = "fan_view.dxf", layer = "plate", origin = [0, 0], scale = 1, convexity = 1, $fn = 0, $fa = 12, $fs = 2); + import(file = "example009.dxf", layer = "plate", origin = [0, 0], scale = 1, convexity = 1, $fn = 0, $fa = 12, $fs = 2); } } multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, -12], [0, 0, 0, 1]]) { linear_extrude(height = 2, center = true, convexity = 10, scale = [1, 1], $fn = 0, $fa = 12, $fs = 2) { - import(file = "fan_view.dxf", layer = "plate", origin = [0, 0], scale = 1, convexity = 1, $fn = 0, $fa = 12, $fs = 2); + import(file = "example009.dxf", layer = "plate", origin = [0, 0], scale = 1, convexity = 1, $fn = 0, $fa = 12, $fs = 2); } } } intersection() { linear_extrude(height = 20, center = true, convexity = 10, twist = -57.5288, slices = 4, scale = [1, 1], $fn = 0, $fa = 12, $fs = 2) { - import(file = "fan_view.dxf", layer = "fan_top", origin = [0, 0], scale = 1, convexity = 1, $fn = 0, $fa = 12, $fs = 2); - } - rotate_extrude(convexity = 10, $fn = 0, $fa = 12, $fs = 2) { - import(file = "fan_view.dxf", layer = "fan_side", origin = [0, -40], scale = 1, convexity = 1, $fn = 0, $fa = 12, $fs = 2); + import(file = "example009.dxf", layer = "fan_top", origin = [0, 0], scale = 1, convexity = 1, $fn = 0, $fa = 12, $fs = 2); } + rotate_extrude(file = "example009.dxf", layer = "fan_side", origin = [0, -40], scale = 1, convexity = 10, $fn = 0, $fa = 12, $fs = 2); } } diff --git a/tests/regression/dumptest-examples/example010-expected.csg b/tests/regression/dumptest-examples/example010-expected.csg new file mode 100644 index 00000000..05958ec8 --- /dev/null +++ b/tests/regression/dumptest-examples/example010-expected.csg @@ -0,0 +1,9 @@ +group() { + group(); + intersection() { + surface(file = "example010.dat", center = true, invert = false); + multmatrix([[0.70710678118, -0.70710678118, 0, 0], [0.70710678118, 0.70710678118, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { + surface(file = "example010.dat", center = true, invert = false); + } + } +} diff --git a/tests/regression/dumptest-examples/polyhedron-expected.csg b/tests/regression/dumptest-examples/example011-expected.csg similarity index 100% rename from tests/regression/dumptest-examples/polyhedron-expected.csg rename to tests/regression/dumptest-examples/example011-expected.csg diff --git a/tests/regression/dumptest-examples/example012-expected.csg b/tests/regression/dumptest-examples/example012-expected.csg new file mode 100644 index 00000000..190bc5c4 --- /dev/null +++ b/tests/regression/dumptest-examples/example012-expected.csg @@ -0,0 +1,11 @@ +group() { + group(); + difference() { + sphere($fn = 0, $fa = 12, $fs = 2, r = 20); + multmatrix([[1, 0, 0, -2.92], [0, 1, 0, 0.5], [0, 0, 1, 20], [0, 0, 0, 1]]) { + multmatrix([[-1, 0, 0, 0], [0, 1, 0, 0], [0, 0, -1, 0], [0, 0, 0, 1]]) { + import(file = "example012.stl", layer = "", origin = [0, 0], scale = 1, convexity = 5, $fn = 0, $fa = 12, $fs = 2); + } + } + } +} diff --git a/tests/regression/dumptest-examples/advance_intersection-expected.csg b/tests/regression/dumptest-examples/example013-expected.csg similarity index 57% rename from tests/regression/dumptest-examples/advance_intersection-expected.csg rename to tests/regression/dumptest-examples/example013-expected.csg index 6d66a736..8a5a59d4 100644 --- a/tests/regression/dumptest-examples/advance_intersection-expected.csg +++ b/tests/regression/dumptest-examples/example013-expected.csg @@ -2,16 +2,16 @@ group() { group(); intersection() { linear_extrude(height = 100, center = true, convexity = 3, scale = [1, 1], $fn = 0, $fa = 12, $fs = 2) { - import(file = "advance_intersection.dxf", layer = "", origin = [0, 0], scale = 1, convexity = 1, $fn = 0, $fa = 12, $fs = 2); + import(file = "example013.dxf", layer = "", origin = [0, 0], scale = 1, convexity = 1, $fn = 0, $fa = 12, $fs = 2); } multmatrix([[0, 0, 1, 0], [0, 1, 0, 0], [-1, 0, 0, 0], [0, 0, 0, 1]]) { linear_extrude(height = 100, center = true, convexity = 3, scale = [1, 1], $fn = 0, $fa = 12, $fs = 2) { - import(file = "advance_intersection.dxf", layer = "", origin = [0, 0], scale = 1, convexity = 1, $fn = 0, $fa = 12, $fs = 2); + import(file = "example013.dxf", layer = "", origin = [0, 0], scale = 1, convexity = 1, $fn = 0, $fa = 12, $fs = 2); } } multmatrix([[1, 0, 0, 0], [0, 0, -1, 0], [0, 1, 0, 0], [0, 0, 0, 1]]) { linear_extrude(height = 100, center = true, convexity = 3, scale = [1, 1], $fn = 0, $fa = 12, $fs = 2) { - import(file = "advance_intersection.dxf", layer = "", origin = [0, 0], scale = 1, convexity = 1, $fn = 0, $fa = 12, $fs = 2); + import(file = "example013.dxf", layer = "", origin = [0, 0], scale = 1, convexity = 1, $fn = 0, $fa = 12, $fs = 2); } } } diff --git a/tests/regression/dumptest-examples/example014-expected.csg b/tests/regression/dumptest-examples/example014-expected.csg new file mode 100644 index 00000000..d118fdd9 --- /dev/null +++ b/tests/regression/dumptest-examples/example014-expected.csg @@ -0,0 +1,17 @@ +group() { + group(); + intersection() { + multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { + cube(size = [100, 20, 20], center = true); + } + multmatrix([[0.46984631039, 0.88256411925, 0.01802831123, 0], [-0.81379768134, 0.44096961053, -0.37852230637, 0], [-0.34202014332, 0.16317591116, 0.92541657839, 0], [0, 0, 0, 1]]) { + cube(size = [100, 20, 20], center = true); + } + multmatrix([[0.41721770627, 0.66835566162, -0.61581660836, 0], [0.64245892818, -0.69617191219, -0.32029860173, 0], [-0.64278760968, -0.26200263022, -0.71984631039, 0], [0, 0, 0, 1]]) { + cube(size = [100, 20, 20], center = true); + } + multmatrix([[0.0190076282, -0.60192849838, 0.7983237394, 0], [0.02926918072, 0.79846077351, 0.60133493846, 0], [-0.99939082701, 0.01193633086, 0.03279479952, 0], [0, 0, 0, 1]]) { + cube(size = [100, 20, 20], center = true); + } + } +} diff --git a/tests/regression/dumptest-examples/flat_body-expected.csg b/tests/regression/dumptest-examples/example015-expected.csg similarity index 88% rename from tests/regression/dumptest-examples/flat_body-expected.csg rename to tests/regression/dumptest-examples/example015-expected.csg index 734016b1..5cf28c17 100644 --- a/tests/regression/dumptest-examples/flat_body-expected.csg +++ b/tests/regression/dumptest-examples/example015-expected.csg @@ -26,6 +26,6 @@ group() { } } } - import(file = "flat_body.dxf", layer = "body", origin = [0, 0], scale = 2, convexity = 6, $fn = 0, $fa = 12, $fs = 2); + import(file = "example009.dxf", layer = "body", origin = [0, 0], scale = 2, convexity = 6, $fn = 0, $fa = 12, $fs = 2); } } diff --git a/tests/regression/dumptest-examples/chopped_blocks-expected.csg b/tests/regression/dumptest-examples/example016-expected.csg similarity index 70% rename from tests/regression/dumptest-examples/chopped_blocks-expected.csg rename to tests/regression/dumptest-examples/example016-expected.csg index 93410a7b..7941e010 100644 --- a/tests/regression/dumptest-examples/chopped_blocks-expected.csg +++ b/tests/regression/dumptest-examples/example016-expected.csg @@ -17,8 +17,8 @@ group() { } } group() { - multmatrix([[1, 0, 0, -18], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { - import(file = "chopped_blocks.stl", layer = "", origin = [0, 0], scale = 1, convexity = 12, $fn = 0, $fa = 12, $fs = 2); + multmatrix([[1, 0, 0, -14], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { + import(file = "example016.stl", layer = "", origin = [0, 0], scale = 1, convexity = 12, $fn = 0, $fa = 12, $fs = 2); } } } @@ -36,8 +36,8 @@ group() { } } group() { - multmatrix([[1, 0, 0, -18], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { - import(file = "chopped_blocks.stl", layer = "", origin = [0, 0], scale = 1, convexity = 12, $fn = 0, $fa = 12, $fs = 2); + multmatrix([[1, 0, 0, -14], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { + import(file = "example016.stl", layer = "", origin = [0, 0], scale = 1, convexity = 12, $fn = 0, $fa = 12, $fs = 2); } } } @@ -55,8 +55,8 @@ group() { } } group() { - multmatrix([[1, 0, 0, -18], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { - import(file = "chopped_blocks.stl", layer = "", origin = [0, 0], scale = 1, convexity = 12, $fn = 0, $fa = 12, $fs = 2); + multmatrix([[1, 0, 0, -14], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { + import(file = "example016.stl", layer = "", origin = [0, 0], scale = 1, convexity = 12, $fn = 0, $fa = 12, $fs = 2); } } } @@ -74,8 +74,8 @@ group() { } } group() { - multmatrix([[1, 0, 0, -18], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { - import(file = "chopped_blocks.stl", layer = "", origin = [0, 0], scale = 1, convexity = 12, $fn = 0, $fa = 12, $fs = 2); + multmatrix([[1, 0, 0, -14], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { + import(file = "example016.stl", layer = "", origin = [0, 0], scale = 1, convexity = 12, $fn = 0, $fa = 12, $fs = 2); } } } diff --git a/tests/regression/dumptest-examples/tripod-expected.csg b/tests/regression/dumptest-examples/example017-expected.csg similarity index 100% rename from tests/regression/dumptest-examples/tripod-expected.csg rename to tests/regression/dumptest-examples/example017-expected.csg diff --git a/tests/regression/dumptest-examples/translation-expected.csg b/tests/regression/dumptest-examples/example018-expected.csg similarity index 100% rename from tests/regression/dumptest-examples/translation-expected.csg rename to tests/regression/dumptest-examples/example018-expected.csg diff --git a/tests/regression/dumptest-examples/fence-expected.csg b/tests/regression/dumptest-examples/example019-expected.csg similarity index 100% rename from tests/regression/dumptest-examples/fence-expected.csg rename to tests/regression/dumptest-examples/example019-expected.csg diff --git a/tests/regression/dumptest-examples/difference-expected.csg b/tests/regression/dumptest-examples/example020-expected.csg similarity index 100% rename from tests/regression/dumptest-examples/difference-expected.csg rename to tests/regression/dumptest-examples/example020-expected.csg diff --git a/tests/regression/dumptest-examples/demo_cut-expected.csg b/tests/regression/dumptest-examples/example021-expected.csg similarity index 100% rename from tests/regression/dumptest-examples/demo_cut-expected.csg rename to tests/regression/dumptest-examples/example021-expected.csg diff --git a/tests/regression/dumptest-examples/rounded_box-expected.csg b/tests/regression/dumptest-examples/example022-expected.csg similarity index 100% rename from tests/regression/dumptest-examples/rounded_box-expected.csg rename to tests/regression/dumptest-examples/example022-expected.csg diff --git a/tests/regression/dumptest-examples/search-expected.csg b/tests/regression/dumptest-examples/example023-expected.csg similarity index 100% rename from tests/regression/dumptest-examples/search-expected.csg rename to tests/regression/dumptest-examples/example023-expected.csg diff --git a/tests/regression/dumptest-examples/fractal-expected.csg b/tests/regression/dumptest-examples/example024-expected.csg similarity index 100% rename from tests/regression/dumptest-examples/fractal-expected.csg rename to tests/regression/dumptest-examples/example024-expected.csg diff --git a/tests/regression/dumptest-examples/example025-expected.csg b/tests/regression/dumptest-examples/example025-expected.csg new file mode 100644 index 00000000..138e5688 --- /dev/null +++ b/tests/regression/dumptest-examples/example025-expected.csg @@ -0,0 +1,29 @@ +group() { + linear_extrude(height = 20, center = false, convexity = 1, scale = [0.5, 0.5], $fn = 40, $fa = 12, $fs = 2) { + offset(delta = 10, join_type = round, miter_limit = 2, $fn = 40, $fa = 12, $fs = 2) { + square(size = [50, 50], center = true); + } + } + multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 20], [0, 0, 0, 1]]) { + linear_extrude(height = 20, center = false, convexity = 1, scale = [1, 1], $fn = 40, $fa = 12, $fs = 2) { + group() { + difference() { + offset(delta = 1, join_type = miter, miter_limit = 2, $fn = 40, $fa = 12, $fs = 2) { + group() { + circle($fn = 40, $fa = 12, $fs = 2, r = 15); + } + } + offset(delta = -1, join_type = miter, miter_limit = 2, $fn = 40, $fa = 12, $fs = 2) { + group() { + circle($fn = 40, $fa = 12, $fs = 2, r = 15); + } + } + } + } + } + } +% cylinder($fn = 40, $fa = 12, $fs = 2, h = 100, r1 = 14, r2 = 14, center = false); +% multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 100], [0, 0, 0, 1]]) { + sphere($fn = 40, $fa = 12, $fs = 2, r = 30); + } +} diff --git a/tests/regression/dumptest-examples/sphere-expected.csg b/tests/regression/dumptest-examples/sphere-expected.csg deleted file mode 100644 index 688301ea..00000000 --- a/tests/regression/dumptest-examples/sphere-expected.csg +++ /dev/null @@ -1,11 +0,0 @@ -group() { - group(); - difference() { - sphere($fn = 0, $fa = 12, $fs = 2, r = 20); - multmatrix([[1, 0, 0, 0], [0, 1, 0, 0.5], [0, 0, 1, 20], [0, 0, 0, 1]]) { - multmatrix([[-1, 0, 0, 0], [0, 1, 0, 0], [0, 0, -1, 0], [0, 0, 0, 1]]) { - import(file = "M.stl", layer = "", origin = [0, 0], scale = 1, convexity = 5, $fn = 0, $fa = 12, $fs = 2); - } - } - } -} diff --git a/tests/regression/opencsgtest/CSG-expected.png b/tests/regression/opencsgtest/CSG-expected.png new file mode 100644 index 00000000..e4042d4f Binary files /dev/null and b/tests/regression/opencsgtest/CSG-expected.png differ diff --git a/tests/regression/opencsgtest/CSG-modules-expected.png b/tests/regression/opencsgtest/CSG-modules-expected.png new file mode 100644 index 00000000..e229c94f Binary files /dev/null and b/tests/regression/opencsgtest/CSG-modules-expected.png differ diff --git a/tests/regression/opencsgtest/GEB-expected.png b/tests/regression/opencsgtest/GEB-expected.png new file mode 100644 index 00000000..3b87acfd Binary files /dev/null and b/tests/regression/opencsgtest/GEB-expected.png differ diff --git a/tests/regression/opencsgtest/animation-expected.png b/tests/regression/opencsgtest/animation-expected.png new file mode 100644 index 00000000..a6763c22 Binary files /dev/null and b/tests/regression/opencsgtest/animation-expected.png differ diff --git a/tests/regression/opencsgtest/children-expected.png b/tests/regression/opencsgtest/children-expected.png new file mode 100644 index 00000000..47b646a9 Binary files /dev/null and b/tests/regression/opencsgtest/children-expected.png differ diff --git a/tests/regression/opencsgtest/children_indexed-expected.png b/tests/regression/opencsgtest/children_indexed-expected.png new file mode 100644 index 00000000..a40e79bd Binary files /dev/null and b/tests/regression/opencsgtest/children_indexed-expected.png differ diff --git a/tests/regression/opencsgtest/example001-expected.png b/tests/regression/opencsgtest/example001-expected.png new file mode 100644 index 00000000..ff2da6bc Binary files /dev/null and b/tests/regression/opencsgtest/example001-expected.png differ diff --git a/tests/regression/opencsgtest/example002-expected.png b/tests/regression/opencsgtest/example002-expected.png new file mode 100644 index 00000000..554dc133 Binary files /dev/null and b/tests/regression/opencsgtest/example002-expected.png differ diff --git a/tests/regression/opencsgtest/example003-expected.png b/tests/regression/opencsgtest/example003-expected.png new file mode 100644 index 00000000..1faa4a6d Binary files /dev/null and b/tests/regression/opencsgtest/example003-expected.png differ diff --git a/tests/regression/opencsgtest/example004-expected.png b/tests/regression/opencsgtest/example004-expected.png new file mode 100644 index 00000000..beb549cc Binary files /dev/null and b/tests/regression/opencsgtest/example004-expected.png differ diff --git a/tests/regression/opencsgtest/example005-expected.png b/tests/regression/opencsgtest/example005-expected.png new file mode 100644 index 00000000..0bb2fefc Binary files /dev/null and b/tests/regression/opencsgtest/example005-expected.png differ diff --git a/tests/regression/opencsgtest/example006-expected.png b/tests/regression/opencsgtest/example006-expected.png new file mode 100644 index 00000000..ff0fe35d Binary files /dev/null and b/tests/regression/opencsgtest/example006-expected.png differ diff --git a/tests/regression/opencsgtest/example007-expected.png b/tests/regression/opencsgtest/example007-expected.png new file mode 100644 index 00000000..b212b123 Binary files /dev/null and b/tests/regression/opencsgtest/example007-expected.png differ diff --git a/tests/regression/opencsgtest/example008-expected.png b/tests/regression/opencsgtest/example008-expected.png new file mode 100644 index 00000000..0e4241f0 Binary files /dev/null and b/tests/regression/opencsgtest/example008-expected.png differ diff --git a/tests/regression/opencsgtest/example009-expected.png b/tests/regression/opencsgtest/example009-expected.png new file mode 100644 index 00000000..253724f3 Binary files /dev/null and b/tests/regression/opencsgtest/example009-expected.png differ diff --git a/tests/regression/opencsgtest/example010-expected.png b/tests/regression/opencsgtest/example010-expected.png new file mode 100644 index 00000000..0616f87b Binary files /dev/null and b/tests/regression/opencsgtest/example010-expected.png differ diff --git a/tests/regression/opencsgtest/example011-expected.png b/tests/regression/opencsgtest/example011-expected.png new file mode 100644 index 00000000..13164c3e Binary files /dev/null and b/tests/regression/opencsgtest/example011-expected.png differ diff --git a/tests/regression/opencsgtest/example012-expected.png b/tests/regression/opencsgtest/example012-expected.png new file mode 100644 index 00000000..c705bc77 Binary files /dev/null and b/tests/regression/opencsgtest/example012-expected.png differ diff --git a/tests/regression/opencsgtest/example013-expected.png b/tests/regression/opencsgtest/example013-expected.png new file mode 100644 index 00000000..5917382e Binary files /dev/null and b/tests/regression/opencsgtest/example013-expected.png differ diff --git a/tests/regression/opencsgtest/example014-expected.png b/tests/regression/opencsgtest/example014-expected.png new file mode 100644 index 00000000..7f39f612 Binary files /dev/null and b/tests/regression/opencsgtest/example014-expected.png differ diff --git a/tests/regression/opencsgtest/example015-expected.png b/tests/regression/opencsgtest/example015-expected.png new file mode 100644 index 00000000..1cf9d6a3 Binary files /dev/null and b/tests/regression/opencsgtest/example015-expected.png differ diff --git a/tests/regression/opencsgtest/example016-expected.png b/tests/regression/opencsgtest/example016-expected.png new file mode 100644 index 00000000..9f8fe721 Binary files /dev/null and b/tests/regression/opencsgtest/example016-expected.png differ diff --git a/tests/regression/opencsgtest/example017-expected.png b/tests/regression/opencsgtest/example017-expected.png new file mode 100644 index 00000000..39dbc1ad Binary files /dev/null and b/tests/regression/opencsgtest/example017-expected.png differ diff --git a/tests/regression/opencsgtest/example018-expected.png b/tests/regression/opencsgtest/example018-expected.png new file mode 100644 index 00000000..033a1365 Binary files /dev/null and b/tests/regression/opencsgtest/example018-expected.png differ diff --git a/tests/regression/opencsgtest/example019-expected.png b/tests/regression/opencsgtest/example019-expected.png new file mode 100644 index 00000000..306c0fb7 Binary files /dev/null and b/tests/regression/opencsgtest/example019-expected.png differ diff --git a/tests/regression/opencsgtest/example020-expected.png b/tests/regression/opencsgtest/example020-expected.png new file mode 100644 index 00000000..7f2fa595 Binary files /dev/null and b/tests/regression/opencsgtest/example020-expected.png differ diff --git a/tests/regression/opencsgtest/example021-expected.png b/tests/regression/opencsgtest/example021-expected.png new file mode 100644 index 00000000..ba1c9c67 Binary files /dev/null and b/tests/regression/opencsgtest/example021-expected.png differ diff --git a/tests/regression/opencsgtest/example022-expected.png b/tests/regression/opencsgtest/example022-expected.png new file mode 100644 index 00000000..66738e0b Binary files /dev/null and b/tests/regression/opencsgtest/example022-expected.png differ diff --git a/tests/regression/opencsgtest/example023-expected.png b/tests/regression/opencsgtest/example023-expected.png new file mode 100644 index 00000000..a097d998 Binary files /dev/null and b/tests/regression/opencsgtest/example023-expected.png differ diff --git a/tests/regression/opencsgtest/example024-expected.png b/tests/regression/opencsgtest/example024-expected.png new file mode 100644 index 00000000..dfbe8473 Binary files /dev/null and b/tests/regression/opencsgtest/example024-expected.png differ diff --git a/tests/regression/opencsgtest/example025-expected.png b/tests/regression/opencsgtest/example025-expected.png new file mode 100644 index 00000000..4fde5b9e Binary files /dev/null and b/tests/regression/opencsgtest/example025-expected.png differ diff --git a/tests/regression/opencsgtest/functions-expected.png b/tests/regression/opencsgtest/functions-expected.png new file mode 100644 index 00000000..d61c62a7 Binary files /dev/null and b/tests/regression/opencsgtest/functions-expected.png differ diff --git a/tests/regression/opencsgtest/linear_extrude-expected.png b/tests/regression/opencsgtest/linear_extrude-expected.png new file mode 100644 index 00000000..62b92175 Binary files /dev/null and b/tests/regression/opencsgtest/linear_extrude-expected.png differ diff --git a/tests/regression/opencsgtest/list_comprehensions-expected.png b/tests/regression/opencsgtest/list_comprehensions-expected.png new file mode 100644 index 00000000..bcfedc08 Binary files /dev/null and b/tests/regression/opencsgtest/list_comprehensions-expected.png differ diff --git a/tests/regression/opencsgtest/logo-expected.png b/tests/regression/opencsgtest/logo-expected.png new file mode 100644 index 00000000..82f857ad Binary files /dev/null and b/tests/regression/opencsgtest/logo-expected.png differ diff --git a/tests/regression/opencsgtest/logo_and_text-expected.png b/tests/regression/opencsgtest/logo_and_text-expected.png index 420e576b..5c5732b7 100644 Binary files a/tests/regression/opencsgtest/logo_and_text-expected.png and b/tests/regression/opencsgtest/logo_and_text-expected.png differ diff --git a/tests/regression/opencsgtest/module_recursion-expected.png b/tests/regression/opencsgtest/module_recursion-expected.png new file mode 100644 index 00000000..bcc103e6 Binary files /dev/null and b/tests/regression/opencsgtest/module_recursion-expected.png differ diff --git a/tests/regression/opencsgtest/polygon_areas-expected.png b/tests/regression/opencsgtest/polygon_areas-expected.png new file mode 100644 index 00000000..84a11c72 Binary files /dev/null and b/tests/regression/opencsgtest/polygon_areas-expected.png differ diff --git a/tests/regression/opencsgtest/projection-expected.png b/tests/regression/opencsgtest/projection-expected.png new file mode 100644 index 00000000..7ee9c0a4 Binary files /dev/null and b/tests/regression/opencsgtest/projection-expected.png differ diff --git a/tests/regression/opencsgtest/recursion-expected.png b/tests/regression/opencsgtest/recursion-expected.png new file mode 100644 index 00000000..923768b2 Binary files /dev/null and b/tests/regression/opencsgtest/recursion-expected.png differ diff --git a/tests/regression/opencsgtest/rotate_extrude-expected.png b/tests/regression/opencsgtest/rotate_extrude-expected.png new file mode 100644 index 00000000..000c2e6d Binary files /dev/null and b/tests/regression/opencsgtest/rotate_extrude-expected.png differ diff --git a/tests/regression/opencsgtest/surface_image-expected.png b/tests/regression/opencsgtest/surface_image-expected.png new file mode 100644 index 00000000..dddbfaf6 Binary files /dev/null and b/tests/regression/opencsgtest/surface_image-expected.png differ diff --git a/tests/regression/opencsgtest/text_on_cube-expected.png b/tests/regression/opencsgtest/text_on_cube-expected.png index f2cb5648..67630500 100644 Binary files a/tests/regression/opencsgtest/text_on_cube-expected.png and b/tests/regression/opencsgtest/text_on_cube-expected.png differ diff --git a/tests/regression/throwntogethertest/CSG-expected.png b/tests/regression/throwntogethertest/CSG-expected.png new file mode 100644 index 00000000..0838d395 Binary files /dev/null and b/tests/regression/throwntogethertest/CSG-expected.png differ diff --git a/tests/regression/throwntogethertest/CSG-modules-expected.png b/tests/regression/throwntogethertest/CSG-modules-expected.png new file mode 100644 index 00000000..e0dbafd9 Binary files /dev/null and b/tests/regression/throwntogethertest/CSG-modules-expected.png differ diff --git a/tests/regression/throwntogethertest/GEB-expected.png b/tests/regression/throwntogethertest/GEB-expected.png new file mode 100644 index 00000000..30d1c0ec Binary files /dev/null and b/tests/regression/throwntogethertest/GEB-expected.png differ diff --git a/tests/regression/throwntogethertest/animation-expected.png b/tests/regression/throwntogethertest/animation-expected.png new file mode 100644 index 00000000..7b7e572a Binary files /dev/null and b/tests/regression/throwntogethertest/animation-expected.png differ diff --git a/tests/regression/throwntogethertest/children-expected.png b/tests/regression/throwntogethertest/children-expected.png new file mode 100644 index 00000000..8a5f5f2d Binary files /dev/null and b/tests/regression/throwntogethertest/children-expected.png differ diff --git a/tests/regression/throwntogethertest/children_indexed-expected.png b/tests/regression/throwntogethertest/children_indexed-expected.png new file mode 100644 index 00000000..a40e79bd Binary files /dev/null and b/tests/regression/throwntogethertest/children_indexed-expected.png differ diff --git a/tests/regression/throwntogethertest/example001-expected.png b/tests/regression/throwntogethertest/example001-expected.png new file mode 100644 index 00000000..a0ea588e Binary files /dev/null and b/tests/regression/throwntogethertest/example001-expected.png differ diff --git a/tests/regression/throwntogethertest/example002-expected.png b/tests/regression/throwntogethertest/example002-expected.png new file mode 100644 index 00000000..27e3c4ec Binary files /dev/null and b/tests/regression/throwntogethertest/example002-expected.png differ diff --git a/tests/regression/throwntogethertest/example003-expected.png b/tests/regression/throwntogethertest/example003-expected.png new file mode 100644 index 00000000..f27d17ce Binary files /dev/null and b/tests/regression/throwntogethertest/example003-expected.png differ diff --git a/tests/regression/throwntogethertest/example004-expected.png b/tests/regression/throwntogethertest/example004-expected.png new file mode 100644 index 00000000..0d2f1baf Binary files /dev/null and b/tests/regression/throwntogethertest/example004-expected.png differ diff --git a/tests/regression/throwntogethertest/example005-expected.png b/tests/regression/throwntogethertest/example005-expected.png new file mode 100644 index 00000000..4c401dad Binary files /dev/null and b/tests/regression/throwntogethertest/example005-expected.png differ diff --git a/tests/regression/throwntogethertest/example006-expected.png b/tests/regression/throwntogethertest/example006-expected.png new file mode 100644 index 00000000..66441bfd Binary files /dev/null and b/tests/regression/throwntogethertest/example006-expected.png differ diff --git a/tests/regression/throwntogethertest/example007-expected.png b/tests/regression/throwntogethertest/example007-expected.png new file mode 100644 index 00000000..ea17570c Binary files /dev/null and b/tests/regression/throwntogethertest/example007-expected.png differ diff --git a/tests/regression/throwntogethertest/example008-expected.png b/tests/regression/throwntogethertest/example008-expected.png new file mode 100644 index 00000000..f8250475 Binary files /dev/null and b/tests/regression/throwntogethertest/example008-expected.png differ diff --git a/tests/regression/throwntogethertest/example009-expected.png b/tests/regression/throwntogethertest/example009-expected.png new file mode 100644 index 00000000..29701763 Binary files /dev/null and b/tests/regression/throwntogethertest/example009-expected.png differ diff --git a/tests/regression/throwntogethertest/example010-expected.png b/tests/regression/throwntogethertest/example010-expected.png new file mode 100644 index 00000000..87271ebc Binary files /dev/null and b/tests/regression/throwntogethertest/example010-expected.png differ diff --git a/tests/regression/throwntogethertest/example011-expected.png b/tests/regression/throwntogethertest/example011-expected.png new file mode 100644 index 00000000..13164c3e Binary files /dev/null and b/tests/regression/throwntogethertest/example011-expected.png differ diff --git a/tests/regression/throwntogethertest/example012-expected.png b/tests/regression/throwntogethertest/example012-expected.png new file mode 100644 index 00000000..360d6eb5 Binary files /dev/null and b/tests/regression/throwntogethertest/example012-expected.png differ diff --git a/tests/regression/throwntogethertest/example013-expected.png b/tests/regression/throwntogethertest/example013-expected.png new file mode 100644 index 00000000..d22b68f0 Binary files /dev/null and b/tests/regression/throwntogethertest/example013-expected.png differ diff --git a/tests/regression/throwntogethertest/example014-expected.png b/tests/regression/throwntogethertest/example014-expected.png new file mode 100644 index 00000000..47216639 Binary files /dev/null and b/tests/regression/throwntogethertest/example014-expected.png differ diff --git a/tests/regression/throwntogethertest/example015-expected.png b/tests/regression/throwntogethertest/example015-expected.png new file mode 100644 index 00000000..cf1aa8ae Binary files /dev/null and b/tests/regression/throwntogethertest/example015-expected.png differ diff --git a/tests/regression/throwntogethertest/example016-expected.png b/tests/regression/throwntogethertest/example016-expected.png new file mode 100644 index 00000000..11e0cbdb Binary files /dev/null and b/tests/regression/throwntogethertest/example016-expected.png differ diff --git a/tests/regression/throwntogethertest/example017-expected.png b/tests/regression/throwntogethertest/example017-expected.png new file mode 100644 index 00000000..b0b2f8a3 Binary files /dev/null and b/tests/regression/throwntogethertest/example017-expected.png differ diff --git a/tests/regression/throwntogethertest/example018-expected.png b/tests/regression/throwntogethertest/example018-expected.png new file mode 100644 index 00000000..033a1365 Binary files /dev/null and b/tests/regression/throwntogethertest/example018-expected.png differ diff --git a/tests/regression/throwntogethertest/example019-expected.png b/tests/regression/throwntogethertest/example019-expected.png new file mode 100644 index 00000000..306c0fb7 Binary files /dev/null and b/tests/regression/throwntogethertest/example019-expected.png differ diff --git a/tests/regression/throwntogethertest/example020-expected.png b/tests/regression/throwntogethertest/example020-expected.png new file mode 100644 index 00000000..e85e702e Binary files /dev/null and b/tests/regression/throwntogethertest/example020-expected.png differ diff --git a/tests/regression/throwntogethertest/example021-expected.png b/tests/regression/throwntogethertest/example021-expected.png new file mode 100644 index 00000000..cfe303a2 Binary files /dev/null and b/tests/regression/throwntogethertest/example021-expected.png differ diff --git a/tests/regression/throwntogethertest/example022-expected.png b/tests/regression/throwntogethertest/example022-expected.png new file mode 100644 index 00000000..66738e0b Binary files /dev/null and b/tests/regression/throwntogethertest/example022-expected.png differ diff --git a/tests/regression/throwntogethertest/example023-expected.png b/tests/regression/throwntogethertest/example023-expected.png new file mode 100644 index 00000000..a097d998 Binary files /dev/null and b/tests/regression/throwntogethertest/example023-expected.png differ diff --git a/tests/regression/throwntogethertest/example024-expected.png b/tests/regression/throwntogethertest/example024-expected.png new file mode 100644 index 00000000..ffa23608 Binary files /dev/null and b/tests/regression/throwntogethertest/example024-expected.png differ diff --git a/tests/regression/throwntogethertest/example025-expected.png b/tests/regression/throwntogethertest/example025-expected.png new file mode 100644 index 00000000..4fde5b9e Binary files /dev/null and b/tests/regression/throwntogethertest/example025-expected.png differ diff --git a/tests/regression/throwntogethertest/functions-expected.png b/tests/regression/throwntogethertest/functions-expected.png new file mode 100644 index 00000000..d61c62a7 Binary files /dev/null and b/tests/regression/throwntogethertest/functions-expected.png differ diff --git a/tests/regression/throwntogethertest/linear_extrude-expected.png b/tests/regression/throwntogethertest/linear_extrude-expected.png new file mode 100644 index 00000000..aa401302 Binary files /dev/null and b/tests/regression/throwntogethertest/linear_extrude-expected.png differ diff --git a/tests/regression/throwntogethertest/list_comprehensions-expected.png b/tests/regression/throwntogethertest/list_comprehensions-expected.png new file mode 100644 index 00000000..bcfedc08 Binary files /dev/null and b/tests/regression/throwntogethertest/list_comprehensions-expected.png differ diff --git a/tests/regression/throwntogethertest/logo-expected.png b/tests/regression/throwntogethertest/logo-expected.png new file mode 100644 index 00000000..31c220a3 Binary files /dev/null and b/tests/regression/throwntogethertest/logo-expected.png differ diff --git a/tests/regression/throwntogethertest/logo_and_text-expected.png b/tests/regression/throwntogethertest/logo_and_text-expected.png index cb13d2a2..5b61228f 100644 Binary files a/tests/regression/throwntogethertest/logo_and_text-expected.png and b/tests/regression/throwntogethertest/logo_and_text-expected.png differ diff --git a/tests/regression/throwntogethertest/module_recursion-expected.png b/tests/regression/throwntogethertest/module_recursion-expected.png new file mode 100644 index 00000000..bcc103e6 Binary files /dev/null and b/tests/regression/throwntogethertest/module_recursion-expected.png differ diff --git a/tests/regression/throwntogethertest/polygon_areas-expected.png b/tests/regression/throwntogethertest/polygon_areas-expected.png new file mode 100644 index 00000000..84a11c72 Binary files /dev/null and b/tests/regression/throwntogethertest/polygon_areas-expected.png differ diff --git a/tests/regression/throwntogethertest/projection-expected.png b/tests/regression/throwntogethertest/projection-expected.png new file mode 100644 index 00000000..c227ae1c Binary files /dev/null and b/tests/regression/throwntogethertest/projection-expected.png differ diff --git a/tests/regression/throwntogethertest/recursion-expected.png b/tests/regression/throwntogethertest/recursion-expected.png new file mode 100644 index 00000000..923768b2 Binary files /dev/null and b/tests/regression/throwntogethertest/recursion-expected.png differ diff --git a/tests/regression/throwntogethertest/rotate_extrude-expected.png b/tests/regression/throwntogethertest/rotate_extrude-expected.png new file mode 100644 index 00000000..83f4c3f5 Binary files /dev/null and b/tests/regression/throwntogethertest/rotate_extrude-expected.png differ diff --git a/tests/regression/throwntogethertest/surface_image-expected.png b/tests/regression/throwntogethertest/surface_image-expected.png new file mode 100644 index 00000000..0f9f943a Binary files /dev/null and b/tests/regression/throwntogethertest/surface_image-expected.png differ