{ "nodes": [ { "datums": [ { "expr": "p0.x", "name": "x0", "type": "float", "uid": 0 }, { "expr": "p0.y", "name": "y0", "type": "float", "uid": 1 }, { "expr": "var.width", "name": "width", "type": "float", "uid": 2 }, { "expr": "var.width", "name": "height", "type": "float", "uid": 3 }, { "expr": "\u0012fab.types.Shape('aa-f-0.75X-Xf0.75a-f-0.75Y-Yf0.75',float('-0.750000'),float('-0.750000'),float('-inf'),float('0.750000'),float('0.750000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ -382.00000000000006, -216.8914381488961 ], "name": "tile", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 6/11/15", "", "import fab", "", "title('Rectangle (center)')", "", "input('x0', float)", "input('y0', float)", "input('width', float)", "input('height', float)", "", "xmin, xmax = x0 - width/2, x0 + width/2", "ymin, ymax = y0 - height/2, y0 + height/2", "", "output('shape', fab.shapes.rectangle(xmin, xmax, ymin, ymax))", "", "def drag_hw(this, x, y, z):", " this.width = abs(2 * (x - this.x0))", " this.height = abs(2 * (y - this.y0))", "", "# UI", "sb.ui.wireframe(", " [(xmin, ymin, 0), (xmax, ymin, 0), (xmax, ymax, 0), (xmin, ymax, 0)],", " close=True)", "sb.ui.point(x0, y0)", "sb.ui.point(xmax, ymax, drag=drag_hw, relative=False)", "" ], "uid": 0 }, { "datums": [ { "expr": ".1", "name": "thick", "type": "float", "uid": 0 }, { "expr": "1.5", "name": "width", "type": "float", "uid": 2 }, { "expr": ".2", "name": "length", "type": "float", "uid": 1 }, { "expr": ".01", "name": "clear", "type": "float", "uid": 3 }, { "expr": "0.02", "name": "flex", "type": "float", "uid": 4 } ], "inspector": [ -370.60843274328238, -783.17931205207674 ], "name": "var", "script": [ "import fab", "", "title('variables')", "input('thick', float)", "input('width', float)", "input('length', float)", "input('clear', float)", "input('flex', float)" ], "uid": 1 }, { "datums": [ { "expr": "p0.x-var.width/2+var.length/2", "name": "x0", "type": "float", "uid": 0 }, { "expr": "p0.y", "name": "y0", "type": "float", "uid": 1 }, { "expr": "var.length", "name": "width", "type": "float", "uid": 2 }, { "expr": "var.thick+2*var.clear", "name": "height", "type": "float", "uid": 3 }, { "expr": "\u0012fab.types.Shape('aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06',float('-0.750000'),float('-0.060000'),float('-inf'),float('-0.550000'),float('0.060000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ -384.00000000000006, 33.108561851103957 ], "name": "slot", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 6/11/15", "", "import fab", "", "title('Rectangle (center)')", "", "input('x0', float)", "input('y0', float)", "input('width', float)", "input('height', float)", "", "xmin, xmax = x0 - width/2, x0 + width/2", "ymin, ymax = y0 - height/2, y0 + height/2", "", "output('shape', fab.shapes.rectangle(xmin, xmax, ymin, ymax))", "", "def drag_hw(this, x, y, z):", " this.width = abs(2 * (x - this.x0))", " this.height = abs(2 * (y - this.y0))", "", "# UI", "sb.ui.wireframe(", " [(xmin, ymin, 0), (xmax, ymin, 0), (xmax, ymax, 0), (xmin, ymax, 0)],", " close=True)", "sb.ui.point(x0, y0)", "sb.ui.point(xmax, ymax, drag=drag_hw, relative=False)", "" ], "uid": 2 }, { "datums": [ { "expr": "0", "name": "x", "type": "float", "uid": 0 }, { "expr": "0", "name": "y", "type": "float", "uid": 1 } ], "inspector": [ -375.95796404253821, -358.56005437348301 ], "name": "p0", "script": [ "import fab", "", "title('Point (2D)')", "", "input('x', float)", "input('y', float)", "", "sb.ui.point(x, y, 0)", "" ], "uid": 3 }, { "datums": [ { "expr": "\u0011[__0.__4]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__2.__4]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('aaa-f-0.75X-Xf0.75a-f-0.75Y-Yf0.75naa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06',float('-0.750000'),float('-0.750000'),float('-inf'),float('0.750000'),float('0.750000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ -71.181415826499347, -79.211049350958206 ], "name": "d0", "script": [ "import fab.types", "", "title('Difference')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a & ~b)", "" ], "uid": 4 }, { "datums": [ { "expr": "p0.x", "name": "x0", "type": "float", "uid": 0 }, { "expr": "0.0", "name": "_y", "type": "float", "uid": 1 }, { "expr": "0.0", "name": "_z", "type": "float", "uid": 2 }, { "expr": "\u0011[__2.__4]", "name": "shape", "type": "_fabtypes.Shape", "uid": 3 }, { "expr": "\u0012fab.types.Shape('m-*f2f0X__aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06',float('0.550000'),float('-0.060000'),float('-inf'),float('0.750000'),float('0.060000'),float('inf'))", "name": "reflected", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ -380.05791664505892, 305.93125413885059 ], "name": "r1", "script": [ "import fab", "", "title('Reflect (X)')", "", "input('x0', float)", "input('_y', float)", "input('_z', float)", "", "input('shape', fab.types.Shape)", "output('reflected', fab.shapes.reflect_x(shape, x0))", "", "# UI", "", "sb.ui.point(x0, _y, _z, color=sb.color.teal)", "" ], "uid": 5 }, { "datums": [ { "expr": "\u0011[__4.__2]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__5.__4]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('aaaa-f-0.75X-Xf0.75a-f-0.75Y-Yf0.75naa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06nm-*f2f0X__aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06',float('-0.750000'),float('-0.750000'),float('-inf'),float('0.750000'),float('0.750000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ -62.283738848186886, 181.36377644247673 ], "name": "d1", "script": [ "import fab.types", "", "title('Difference')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a & ~b)", "" ], "uid": 6 }, { "datums": [ { "expr": "p0.x", "name": "x0", "type": "float", "uid": 0 }, { "expr": "p0.y", "name": "y0", "type": "float", "uid": 1 }, { "expr": "0", "name": "_z", "type": "float", "uid": 2 }, { "expr": "\u0011[__2.__4]", "name": "shape", "type": "_fabtypes.Shape", "uid": 3 }, { "expr": "\u0012fab.types.Shape('m+f0-Yf0+f0-Xf0_aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06',float('-0.060000'),float('-0.750000'),float('-inf'),float('0.060000'),float('-0.550000'),float('inf'))", "name": "reflected", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ -380.05791664505892, 486.42698712747392 ], "name": "r2", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 5/31/15", "", "import fab", "", "title('Reflect (XY)')", "", "input('x0',float)", "input('y0',float)", "input('_z', float)", "", "input('shape', fab.types.Shape)", "output('reflected', fab.shapes.reflect_xy(shape, x0, y0))", "", "# UI", "", "sb.ui.point(x0, y0, _z, color=sb.color.teal)", "" ], "uid": 7 }, { "datums": [ { "expr": "\u0011[__6.__2]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__7.__4]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('aaaaa-f-0.75X-Xf0.75a-f-0.75Y-Yf0.75naa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06nm-*f2f0X__aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06nm+f0-Yf0+f0-Xf0_aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06',float('-0.750000'),float('-0.750000'),float('-inf'),float('0.750000'),float('0.750000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ -58.470448714624467, 399.99241076672484 ], "name": "d2", "script": [ "import fab.types", "", "title('Difference')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a & ~b)", "" ], "uid": 8 }, { "datums": [ { "expr": "0.0", "name": "_x", "type": "float", "uid": 0 }, { "expr": "p0.y", "name": "y0", "type": "float", "uid": 1 }, { "expr": "0.0", "name": "_z", "type": "float", "uid": 2 }, { "expr": "\u0011[__7.__4]", "name": "shape", "type": "_fabtypes.Shape", "uid": 3 }, { "expr": "\u0012fab.types.Shape('m_-*f2f0Y_m+f0-Yf0+f0-Xf0_aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06',float('-0.060000'),float('0.550000'),float('-inf'),float('0.060000'),float('0.750000'),float('inf'))", "name": "reflected", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ -381.32901335624643, 716.49549185240937 ], "name": "r3", "script": [ "import fab", "", "title('Reflect (Y)')", "", "input('_x', float)", "input('y0', float)", "input('_z', float)", "", "input('shape', fab.types.Shape)", "output('reflected', fab.shapes.reflect_y(shape, y0))", "", "# UI", "", "sb.ui.point(_x, y0, _z, color=sb.color.teal)", "", "" ], "uid": 9 }, { "datums": [ { "expr": "\u0011[__8.__2]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__9.__4]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('aaaaaa-f-0.75X-Xf0.75a-f-0.75Y-Yf0.75naa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06nm-*f2f0X__aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06nm+f0-Yf0+f0-Xf0_aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06nm_-*f2f0Y_m+f0-Yf0+f0-Xf0_aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06',float('-0.750000'),float('-0.750000'),float('-inf'),float('0.750000'),float('0.750000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ -39.403998046812092, 640.22968918115998 ], "name": "pressfit2", "script": [ "import fab.types", "", "title('Difference')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a & ~b)", "" ], "uid": 10 }, { "datums": [ { "expr": "2", "name": "x", "type": "float", "uid": 0 }, { "expr": "0.0", "name": "y", "type": "float", "uid": 1 } ], "inspector": [ 364.20704381241251, -351.94003312203768 ], "name": "p1", "script": [ "import fab", "", "title('Point (2D)')", "", "input('x', float)", "input('y', float)", "", "sb.ui.point(x, y, 0)", "" ], "uid": 11 }, { "datums": [ { "expr": "0.0", "name": "_x", "type": "float", "uid": 0 }, { "expr": "0.0", "name": "_y", "type": "float", "uid": 1 }, { "expr": "-var.thick/2", "name": "zmin", "type": "float", "uid": 2 }, { "expr": "var.thick/2", "name": "zmax", "type": "float", "uid": 3 }, { "expr": "\u0011[__13.__5]", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 }, { "expr": "\u0012fab.types.Shape('am__f1m-Xf2-Yf0-Zf0aaaaaa-f-0.75X-Xf0.75a-f-0.75Y-Yf0.75naa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06nm-*f2f0X__aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06nm+f0-Yf0+f0-Xf0_aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06nm_-*f2f0Y_m+f0-Yf0+f0-Xf0_aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06a-f-0.05Z-Zf0.05',float('1.250000'),float('-0.750000'),float('-0.050000'),float('2.750000'),float('0.750000'),float('0.050000'))", "name": "out", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 366.52806936211368, 72.120079865688524 ], "name": "pressfit3", "script": [ "import fab", "", "title('Extrude')", "", "input('_x', float)", "input('_y', float)", "input('zmin', float)", "input('zmax', float)", "", "input('shape', fab.types.Shape)", "output('out', fab.shapes.extrude_z(shape, zmin, zmax))", "", "# UI", "sb.ui.wireframe([(_x, _y, zmin), (_x, _y, zmax)], color=sb.color.green)", "sb.ui.point(_x, _y, zmin, color=sb.color.green)", "sb.ui.point(_x, _y, zmax, color=sb.color.green)", "", "" ], "uid": 12 }, { "datums": [ { "expr": "pressfit2.shape", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "p0.x", "name": "x0", "type": "float", "uid": 1 }, { "expr": "p0.y", "name": "y0", "type": "float", "uid": 2 }, { "expr": "p1.x", "name": "x1", "type": "float", "uid": 3 }, { "expr": "p1.y", "name": "y1", "type": "float", "uid": 4 }, { "expr": "\u0012fab.types.Shape('m-Xf2-Yf0-Zf0aaaaaa-f-0.75X-Xf0.75a-f-0.75Y-Yf0.75naa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06nm-*f2f0X__aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06nm+f0-Yf0+f0-Xf0_aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06nm_-*f2f0Y_m+f0-Yf0+f0-Xf0_aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06',float('1.250000'),float('-0.750000'),float('-inf'),float('2.750000'),float('0.750000'),float('inf'))", "name": "out", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 366.2833894082853, -213.52766993826322 ], "name": "s0", "script": [ "# Neil Gershenfeld 1/25/15", "# Matt Keeter 6/13/15", "", "import fab", "", "title('Set origin (XY)')", "", "input('a',fab.types.Shape)", "", "input('x0', float)", "input('y0', float)", "input('x1', float)", "input('y1', float)", "", "output('out', fab.shapes.origin_xy(a, x0, y0, x1, y1))", "", "" ], "uid": 13 }, { "datums": [ { "expr": "4", "name": "x", "type": "float", "uid": 0 }, { "expr": "0.0", "name": "y", "type": "float", "uid": 1 } ], "inspector": [ 768.92350845715475, -360.67137693421876 ], "name": "p2", "script": [ "import fab", "", "title('Point (2D)')", "", "input('x', float)", "input('y', float)", "", "sb.ui.point(x, y, 0)", "" ], "uid": 14 }, { "datums": [ { "expr": "pressfit3.out", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "p1.x", "name": "x0", "type": "float", "uid": 1 }, { "expr": "p1.y", "name": "y0", "type": "float", "uid": 2 }, { "expr": "p2.x", "name": "x1", "type": "float", "uid": 3 }, { "expr": "p2.y", "name": "y1", "type": "float", "uid": 4 }, { "expr": "\u0012fab.types.Shape('m-Xf2-Yf0-Zf0am__f1m-Xf2-Yf0-Zf0aaaaaa-f-0.75X-Xf0.75a-f-0.75Y-Yf0.75naa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06nm-*f2f0X__aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06nm+f0-Yf0+f0-Xf0_aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06nm_-*f2f0Y_m+f0-Yf0+f0-Xf0_aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06a-f-0.05Z-Zf0.05',float('3.250000'),float('-0.750000'),float('-0.050000'),float('4.750000'),float('0.750000'),float('0.050000'))", "name": "out", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 770.27420696431489, -216.08644090187283 ], "name": "s1", "script": [ "# Neil Gershenfeld 1/25/15", "# Matt Keeter 6/13/15", "", "import fab", "", "title('Set origin (XY)')", "", "input('a',fab.types.Shape)", "", "input('x0', float)", "input('y0', float)", "input('x1', float)", "input('y1', float)", "", "output('out', fab.shapes.origin_xy(a, x0, y0, x1, y1))", "", "" ], "uid": 15 }, { "datums": [ { "expr": "p2.x", "name": "x0", "type": "float", "uid": 0 }, { "expr": "0", "name": "_y", "type": "float", "uid": 1 }, { "expr": "0", "name": "z0", "type": "float", "uid": 2 }, { "expr": "\u0011[__15.__5]", "name": "shape", "type": "_fabtypes.Shape", "uid": 3 }, { "expr": "\u0012fab.types.Shape('m+f4-Zf0Y+f0-Xf4m-Xf2-Yf0-Zf0am__f1m-Xf2-Yf0-Zf0aaaaaa-f-0.75X-Xf0.75a-f-0.75Y-Yf0.75naa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06nm-*f2f0X__aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06nm+f0-Yf0+f0-Xf0_aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06nm_-*f2f0Y_m+f0-Yf0+f0-Xf0_aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06a-f-0.05Z-Zf0.05',float('3.950000'),float('-0.750000'),float('-0.750000'),float('4.050000'),float('0.750000'),float('0.750000'))", "name": "out", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 770.27420696431489, 61.012642136999375 ], "name": "r0", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 5/31/15", "", "import fab", "", "title('Reflect (XZ)')", "", "input('x0', float)", "input('_y', float)", "input('z0', float)", "", "input('shape', fab.types.Shape)", "output('out', fab.shapes.reflect_xz(shape, x0, z0))", "", "# UI", "", "sb.ui.point(x0, _y, z0, color=sb.color.teal)", "", "" ], "uid": 16 }, { "datums": [ { "expr": "\u0011[__15.__5]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__19.__5]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('im-Xf2-Yf0-Zf0am__f1m-Xf2-Yf0-Zf0aaaaaa-f-0.75X-Xf0.75a-f-0.75Y-Yf0.75naa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06nm-*f2f0X__aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06nm+f0-Yf0+f0-Xf0_aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06nm_-*f2f0Y_m+f0-Yf0+f0-Xf0_aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06a-f-0.05Z-Zf0.05m-Xf0-Yf1.1-Zf0m+f4-Zf0Y+f0-Xf4m-Xf2-Yf0-Zf0am__f1m-Xf2-Yf0-Zf0aaaaaa-f-0.75X-Xf0.75a-f-0.75Y-Yf0.75naa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06nm-*f2f0X__aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06nm+f0-Yf0+f0-Xf0_aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06nm_-*f2f0Y_m+f0-Yf0+f0-Xf0_aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06a-f-0.05Z-Zf0.05',float('3.250000'),float('-0.750000'),float('-0.750000'),float('4.750000'),float('1.850000'),float('0.750000'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 1079.1507077828742, -38.132901335624638 ], "name": "u0", "script": [ "import fab.types", "", "title('Union')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a | b)", "" ], "uid": 17 }, { "datums": [ { "expr": "\u0011[__16.__4]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "p2.x", "name": "x0", "type": "float", "uid": 1 }, { "expr": "p2.y", "name": "y0", "type": "float", "uid": 2 }, { "expr": "p2.x", "name": "x1", "type": "float", "uid": 3 }, { "expr": "p2.y+var.width-var.length*2", "name": "y1", "type": "float", "uid": 4 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf1.1-Zf0m+f4-Zf0Y+f0-Xf4m-Xf2-Yf0-Zf0am__f1m-Xf2-Yf0-Zf0aaaaaa-f-0.75X-Xf0.75a-f-0.75Y-Yf0.75naa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06nm-*f2f0X__aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06nm+f0-Yf0+f0-Xf0_aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06nm_-*f2f0Y_m+f0-Yf0+f0-Xf0_aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06a-f-0.05Z-Zf0.05',float('3.950000'),float('0.350000'),float('-0.750000'),float('4.050000'),float('1.850000'),float('0.750000'))", "name": "out", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 776.62969052025221, 264.38811592699739 ], "name": "s2", "script": [ "# Neil Gershenfeld 1/25/15", "# Matt Keeter 6/13/15", "", "import fab", "", "title('Set origin (XY)')", "", "input('a',fab.types.Shape)", "", "input('x0', float)", "input('y0', float)", "input('x1', float)", "input('y1', float)", "", "output('out', fab.shapes.origin_xy(a, x0, y0, x1, y1))", "", "" ], "uid": 19 }, { "datums": [ { "expr": "p2.x", "name": "x0", "type": "float", "uid": 0 }, { "expr": "p2.y", "name": "y0", "type": "float", "uid": 1 }, { "expr": "0", "name": "_z", "type": "float", "uid": 2 }, { "expr": "\u0011[__19.__5]", "name": "shape", "type": "_fabtypes.Shape", "uid": 3 }, { "expr": "\u0012fab.types.Shape('m+f4-Yf0+f0-Xf4_m-Xf0-Yf1.1-Zf0m+f4-Zf0Y+f0-Xf4m-Xf2-Yf0-Zf0am__f1m-Xf2-Yf0-Zf0aaaaaa-f-0.75X-Xf0.75a-f-0.75Y-Yf0.75naa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06nm-*f2f0X__aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06nm+f0-Yf0+f0-Xf0_aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06nm_-*f2f0Y_m+f0-Yf0+f0-Xf0_aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06a-f-0.05Z-Zf0.05',float('4.350000'),float('-0.050000'),float('-0.750000'),float('5.850000'),float('0.050000'),float('0.750000'))", "name": "reflected", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 768.06663873238642, 561 ], "name": "r4", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 5/31/15", "", "import fab", "", "title('Reflect (XY)')", "", "input('x0',float)", "input('y0',float)", "input('_z', float)", "", "input('shape', fab.types.Shape)", "output('reflected', fab.shapes.reflect_xy(shape, x0, y0))", "", "# UI", "", "sb.ui.point(x0, y0, _z, color=sb.color.teal)", "" ], "uid": 18 }, { "datums": [ { "expr": "\u0011[__17.__2]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__18.__4]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('iim-Xf2-Yf0-Zf0am__f1m-Xf2-Yf0-Zf0aaaaaa-f-0.75X-Xf0.75a-f-0.75Y-Yf0.75naa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06nm-*f2f0X__aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06nm+f0-Yf0+f0-Xf0_aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06nm_-*f2f0Y_m+f0-Yf0+f0-Xf0_aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06a-f-0.05Z-Zf0.05m-Xf0-Yf1.1-Zf0m+f4-Zf0Y+f0-Xf4m-Xf2-Yf0-Zf0am__f1m-Xf2-Yf0-Zf0aaaaaa-f-0.75X-Xf0.75a-f-0.75Y-Yf0.75naa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06nm-*f2f0X__aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06nm+f0-Yf0+f0-Xf0_aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06nm_-*f2f0Y_m+f0-Yf0+f0-Xf0_aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06a-f-0.05Z-Zf0.05m+f4-Yf0+f0-Xf4_m-Xf0-Yf1.1-Zf0m+f4-Zf0Y+f0-Xf4m-Xf2-Yf0-Zf0am__f1m-Xf2-Yf0-Zf0aaaaaa-f-0.75X-Xf0.75a-f-0.75Y-Yf0.75naa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06nm-*f2f0X__aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06nm+f0-Yf0+f0-Xf0_aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06nm_-*f2f0Y_m+f0-Yf0+f0-Xf0_aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06a-f-0.05Z-Zf0.05',float('3.250000'),float('-0.750000'),float('-0.750000'),float('5.850000'),float('1.850000'),float('0.750000'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 1087.0666387323863, 418 ], "name": "u1", "script": [ "import fab.types", "", "title('Union')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a | b)", "" ], "uid": 20 }, { "datums": [ { "expr": "4", "name": "x", "type": "float", "uid": 0 }, { "expr": "-3", "name": "y", "type": "float", "uid": 1 } ], "inspector": [ 775.18255527808003, 1052.1860652187825 ], "name": "q2", "script": [ "import fab", "", "title('Point (2D)')", "", "input('x', float)", "input('y', float)", "", "sb.ui.point(x, y, 0)", "" ], "uid": 21 }, { "datums": [ { "expr": "q0.x", "name": "x0", "type": "float", "uid": 0 }, { "expr": "q0.y", "name": "y0", "type": "float", "uid": 1 }, { "expr": "0", "name": "_z", "type": "float", "uid": 2 }, { "expr": "\u0011[__24.__4]", "name": "shape", "type": "_fabtypes.Shape", "uid": 3 }, { "expr": "\u0012fab.types.Shape('m+f0-Yf-3+f-3-Xf0_m-*f2f0X__im-Xf0-Yf-3-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06ni-*f-0.1-Xf-0.65*f-0.1-Yf-3i-*f0.2-Xf-0.75*f0-Yf-3.1-*f-0.1-Xf-0.75*f0.1-Yf-2.9',float('-0.100000'),float('-2.450000'),float('-inf'),float('0.100000'),float('-2.250000'),float('inf'))", "name": "reflected", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ -373.79886982413359, 1898.0133325692873 ], "name": "r5", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 5/31/15", "", "import fab", "", "title('Reflect (XY)')", "", "input('x0',float)", "input('y0',float)", "input('_z', float)", "", "input('shape', fab.types.Shape)", "output('reflected', fab.shapes.reflect_xy(shape, x0, y0))", "", "# UI", "", "sb.ui.point(x0, y0, _z, color=sb.color.teal)", "" ], "uid": 23 }, { "datums": [ { "expr": "q0.x", "name": "x0", "type": "float", "uid": 0 }, { "expr": "0.0", "name": "_y", "type": "float", "uid": 1 }, { "expr": "0.0", "name": "_z", "type": "float", "uid": 2 }, { "expr": "\u0011[__42.__2]", "name": "shape", "type": "_fabtypes.Shape", "uid": 3 }, { "expr": "\u0012fab.types.Shape('m-*f2f0X__im-Xf0-Yf-3-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06ni-*f-0.1-Xf-0.65*f-0.1-Yf-3i-*f0.2-Xf-0.75*f0-Yf-3.1-*f-0.1-Xf-0.75*f0.1-Yf-2.9',float('0.550000'),float('-3.100000'),float('-inf'),float('0.750000'),float('-2.900000'),float('inf'))", "name": "reflected", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ -373.79886982413359, 1718.7886962918515 ], "name": "r6", "script": [ "import fab", "", "title('Reflect (X)')", "", "input('x0', float)", "input('_y', float)", "input('_z', float)", "", "input('shape', fab.types.Shape)", "output('reflected', fab.shapes.reflect_x(shape, x0))", "", "# UI", "", "sb.ui.point(x0, _y, _z, color=sb.color.teal)", "" ], "uid": 24 }, { "datums": [ { "expr": "2", "name": "x", "type": "float", "uid": 0 }, { "expr": "-3", "name": "y", "type": "float", "uid": 1 } ], "inspector": [ 370.46609063333779, 1060.9174090309634 ], "name": "q1", "script": [ "import fab", "", "title('Point (2D)')", "", "input('x', float)", "input('y', float)", "", "sb.ui.point(x, y, 0)", "" ], "uid": 25 }, { "datums": [ { "expr": "\u0011[__36.__2]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__39.__4]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('aaaam-Xf0-Yf-3-Zf0aa-f-0.75X-Xf0.75a-f-0.75Y-Yf0.75nim-Xf0-Yf-3-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06ni-*f-0.1-Xf-0.65*f-0.1-Yf-3i-*f0.2-Xf-0.75*f0-Yf-3.1-*f-0.1-Xf-0.75*f0.1-Yf-2.9nm-*f2f0X__im-Xf0-Yf-3-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06ni-*f-0.1-Xf-0.65*f-0.1-Yf-3i-*f0.2-Xf-0.75*f0-Yf-3.1-*f-0.1-Xf-0.75*f0.1-Yf-2.9nm+f0-Yf-3+f-3-Xf0_m-*f2f0X__im-Xf0-Yf-3-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06ni-*f-0.1-Xf-0.65*f-0.1-Yf-3i-*f0.2-Xf-0.75*f0-Yf-3.1-*f-0.1-Xf-0.75*f0.1-Yf-2.9nm_-*f2f-3Y_m+f0-Yf-3+f-3-Xf0_m-*f2f0X__im-Xf0-Yf-3-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06ni-*f-0.1-Xf-0.65*f-0.1-Yf-3i-*f0.2-Xf-0.75*f0-Yf-3.1-*f-0.1-Xf-0.75*f0.1-Yf-2.9',float('-0.750000'),float('-3.750000'),float('-inf'),float('0.750000'),float('-2.250000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ -35.687144648261764, 2037.8339707999112 ], "name": "chamfer2", "script": [ "import fab.types", "", "title('Difference')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a & ~b)", "" ], "uid": 26 }, { "datums": [ { "expr": "chamfer3.out", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "q1.x", "name": "x0", "type": "float", "uid": 1 }, { "expr": "q1.y", "name": "y0", "type": "float", "uid": 2 }, { "expr": "q2.x", "name": "x1", "type": "float", "uid": 3 }, { "expr": "q2.y", "name": "y1", "type": "float", "uid": 4 }, { "expr": "\u0012fab.types.Shape('m-Xf2-Yf0-Zf0am__f1m-Xf2-Yf0-Zf0aaaam-Xf0-Yf-3-Zf0aa-f-0.75X-Xf0.75a-f-0.75Y-Yf0.75nim-Xf0-Yf-3-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06ni-*f-0.1-Xf-0.65*f-0.1-Yf-3i-*f0.2-Xf-0.75*f0-Yf-3.1-*f-0.1-Xf-0.75*f0.1-Yf-2.9nm-*f2f0X__im-Xf0-Yf-3-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06ni-*f-0.1-Xf-0.65*f-0.1-Yf-3i-*f0.2-Xf-0.75*f0-Yf-3.1-*f-0.1-Xf-0.75*f0.1-Yf-2.9nm+f0-Yf-3+f-3-Xf0_m-*f2f0X__im-Xf0-Yf-3-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06ni-*f-0.1-Xf-0.65*f-0.1-Yf-3i-*f0.2-Xf-0.75*f0-Yf-3.1-*f-0.1-Xf-0.75*f0.1-Yf-2.9nm_-*f2f-3Y_m+f0-Yf-3+f-3-Xf0_m-*f2f0X__im-Xf0-Yf-3-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06ni-*f-0.1-Xf-0.65*f-0.1-Yf-3i-*f0.2-Xf-0.75*f0-Yf-3.1-*f-0.1-Xf-0.75*f0.1-Yf-2.9a-f-0.05Z-Zf0.05',float('3.250000'),float('-3.750000'),float('-0.050000'),float('4.750000'),float('-2.250000'),float('0.050000'))", "name": "out", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 776.53325378524016, 1196.7710012511284 ], "name": "s3", "script": [ "# Neil Gershenfeld 1/25/15", "# Matt Keeter 6/13/15", "", "import fab", "", "title('Set origin (XY)')", "", "input('a',fab.types.Shape)", "", "input('x0', float)", "input('y0', float)", "input('x1', float)", "input('y1', float)", "", "output('out', fab.shapes.origin_xy(a, x0, y0, x1, y1))", "" ], "uid": 27 }, { "datums": [ { "expr": "\u0011[__32.__2]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__24.__4]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('aam-Xf0-Yf-3-Zf0aa-f-0.75X-Xf0.75a-f-0.75Y-Yf0.75nim-Xf0-Yf-3-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06ni-*f-0.1-Xf-0.65*f-0.1-Yf-3i-*f0.2-Xf-0.75*f0-Yf-3.1-*f-0.1-Xf-0.75*f0.1-Yf-2.9nm-*f2f0X__im-Xf0-Yf-3-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06ni-*f-0.1-Xf-0.65*f-0.1-Yf-3i-*f0.2-Xf-0.75*f0-Yf-3.1-*f-0.1-Xf-0.75*f0.1-Yf-2.9',float('-0.750000'),float('-3.750000'),float('-inf'),float('0.750000'),float('-2.250000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ -56.02469202726158, 1594.2212185954779 ], "name": "d3", "script": [ "import fab.types", "", "title('Difference')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a & ~b)", "" ], "uid": 28 }, { "datums": [ { "expr": "0.0", "name": "_x", "type": "float", "uid": 0 }, { "expr": "0.0", "name": "_y", "type": "float", "uid": 1 }, { "expr": "-var.thick/2", "name": "zmin", "type": "float", "uid": 2 }, { "expr": "var.thick/2", "name": "zmax", "type": "float", "uid": 3 }, { "expr": "\u0011[__37.__5]", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 }, { "expr": "\u0012fab.types.Shape('am__f1m-Xf2-Yf0-Zf0aaaam-Xf0-Yf-3-Zf0aa-f-0.75X-Xf0.75a-f-0.75Y-Yf0.75nim-Xf0-Yf-3-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06ni-*f-0.1-Xf-0.65*f-0.1-Yf-3i-*f0.2-Xf-0.75*f0-Yf-3.1-*f-0.1-Xf-0.75*f0.1-Yf-2.9nm-*f2f0X__im-Xf0-Yf-3-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06ni-*f-0.1-Xf-0.65*f-0.1-Yf-3i-*f0.2-Xf-0.75*f0-Yf-3.1-*f-0.1-Xf-0.75*f0.1-Yf-2.9nm+f0-Yf-3+f-3-Xf0_m-*f2f0X__im-Xf0-Yf-3-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06ni-*f-0.1-Xf-0.65*f-0.1-Yf-3i-*f0.2-Xf-0.75*f0-Yf-3.1-*f-0.1-Xf-0.75*f0.1-Yf-2.9nm_-*f2f-3Y_m+f0-Yf-3+f-3-Xf0_m-*f2f0X__im-Xf0-Yf-3-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06ni-*f-0.1-Xf-0.65*f-0.1-Yf-3i-*f0.2-Xf-0.75*f0-Yf-3.1-*f-0.1-Xf-0.75*f0.1-Yf-2.9a-f-0.05Z-Zf0.05',float('1.250000'),float('-3.750000'),float('-0.050000'),float('2.750000'),float('-2.250000'),float('0.050000'))", "name": "out", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 372.78711618303907, 1484.9775220186896 ], "name": "chamfer3", "script": [ "import fab", "", "title('Extrude')", "", "input('_x', float)", "input('_y', float)", "input('zmin', float)", "input('zmax', float)", "", "input('shape', fab.types.Shape)", "output('out', fab.shapes.extrude_z(shape, zmin, zmax))", "", "# UI", "sb.ui.wireframe([(_x, _y, zmin), (_x, _y, zmax)], color=sb.color.green)", "sb.ui.point(_x, _y, zmin, color=sb.color.green)", "sb.ui.point(_x, _y, zmax, color=sb.color.green)", "", "" ], "uid": 29 }, { "datums": [ { "expr": "\u0011[__34.__2]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__38.__4]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('iim-Xf2-Yf0-Zf0am__f1m-Xf2-Yf0-Zf0aaaam-Xf0-Yf-3-Zf0aa-f-0.75X-Xf0.75a-f-0.75Y-Yf0.75nim-Xf0-Yf-3-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06ni-*f-0.1-Xf-0.65*f-0.1-Yf-3i-*f0.2-Xf-0.75*f0-Yf-3.1-*f-0.1-Xf-0.75*f0.1-Yf-2.9nm-*f2f0X__im-Xf0-Yf-3-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06ni-*f-0.1-Xf-0.65*f-0.1-Yf-3i-*f0.2-Xf-0.75*f0-Yf-3.1-*f-0.1-Xf-0.75*f0.1-Yf-2.9nm+f0-Yf-3+f-3-Xf0_m-*f2f0X__im-Xf0-Yf-3-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06ni-*f-0.1-Xf-0.65*f-0.1-Yf-3i-*f0.2-Xf-0.75*f0-Yf-3.1-*f-0.1-Xf-0.75*f0.1-Yf-2.9nm_-*f2f-3Y_m+f0-Yf-3+f-3-Xf0_m-*f2f0X__im-Xf0-Yf-3-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06ni-*f-0.1-Xf-0.65*f-0.1-Yf-3i-*f0.2-Xf-0.75*f0-Yf-3.1-*f-0.1-Xf-0.75*f0.1-Yf-2.9a-f-0.05Z-Zf0.05m-Xf0-Yf1.1-Zf0m+f4-Zf0Y+f0-Xf4m-Xf2-Yf0-Zf0am__f1m-Xf2-Yf0-Zf0aaaam-Xf0-Yf-3-Zf0aa-f-0.75X-Xf0.75a-f-0.75Y-Yf0.75nim-Xf0-Yf-3-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06ni-*f-0.1-Xf-0.65*f-0.1-Yf-3i-*f0.2-Xf-0.75*f0-Yf-3.1-*f-0.1-Xf-0.75*f0.1-Yf-2.9nm-*f2f0X__im-Xf0-Yf-3-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06ni-*f-0.1-Xf-0.65*f-0.1-Yf-3i-*f0.2-Xf-0.75*f0-Yf-3.1-*f-0.1-Xf-0.75*f0.1-Yf-2.9nm+f0-Yf-3+f-3-Xf0_m-*f2f0X__im-Xf0-Yf-3-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06ni-*f-0.1-Xf-0.65*f-0.1-Yf-3i-*f0.2-Xf-0.75*f0-Yf-3.1-*f-0.1-Xf-0.75*f0.1-Yf-2.9nm_-*f2f-3Y_m+f0-Yf-3+f-3-Xf0_m-*f2f0X__im-Xf0-Yf-3-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06ni-*f-0.1-Xf-0.65*f-0.1-Yf-3i-*f0.2-Xf-0.75*f0-Yf-3.1-*f-0.1-Xf-0.75*f0.1-Yf-2.9a-f-0.05Z-Zf0.05m+f4-Yf-3+f-3-Xf4_m-Xf0-Yf1.1-Zf0m+f4-Zf0Y+f0-Xf4m-Xf2-Yf0-Zf0am__f1m-Xf2-Yf0-Zf0aaaam-Xf0-Yf-3-Zf0aa-f-0.75X-Xf0.75a-f-0.75Y-Yf0.75nim-Xf0-Yf-3-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06ni-*f-0.1-Xf-0.65*f-0.1-Yf-3i-*f0.2-Xf-0.75*f0-Yf-3.1-*f-0.1-Xf-0.75*f0.1-Yf-2.9nm-*f2f0X__im-Xf0-Yf-3-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06ni-*f-0.1-Xf-0.65*f-0.1-Yf-3i-*f0.2-Xf-0.75*f0-Yf-3.1-*f-0.1-Xf-0.75*f0.1-Yf-2.9nm+f0-Yf-3+f-3-Xf0_m-*f2f0X__im-Xf0-Yf-3-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06ni-*f-0.1-Xf-0.65*f-0.1-Yf-3i-*f0.2-Xf-0.75*f0-Yf-3.1-*f-0.1-Xf-0.75*f0.1-Yf-2.9nm_-*f2f-3Y_m+f0-Yf-3+f-3-Xf0_m-*f2f0X__im-Xf0-Yf-3-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06ni-*f-0.1-Xf-0.65*f-0.1-Yf-3i-*f0.2-Xf-0.75*f0-Yf-3.1-*f-0.1-Xf-0.75*f0.1-Yf-2.9a-f-0.05Z-Zf0.05',float('3.250000'),float('-3.750000'),float('-0.750000'),float('5.850000'),float('-1.150000'),float('0.750000'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 1093.3256855533116, 1830.8574421530011 ], "name": "u2", "script": [ "import fab.types", "", "title('Union')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a | b)", "" ], "uid": 30 }, { "datums": [ { "expr": "\u0011[__33.__4]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "q2.x", "name": "x0", "type": "float", "uid": 1 }, { "expr": "q2.y", "name": "y0", "type": "float", "uid": 2 }, { "expr": "q2.x", "name": "x1", "type": "float", "uid": 3 }, { "expr": "q2.y+var.width-var.length*2", "name": "y1", "type": "float", "uid": 4 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf1.1-Zf0m+f4-Zf0Y+f0-Xf4m-Xf2-Yf0-Zf0am__f1m-Xf2-Yf0-Zf0aaaam-Xf0-Yf-3-Zf0aa-f-0.75X-Xf0.75a-f-0.75Y-Yf0.75nim-Xf0-Yf-3-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06ni-*f-0.1-Xf-0.65*f-0.1-Yf-3i-*f0.2-Xf-0.75*f0-Yf-3.1-*f-0.1-Xf-0.75*f0.1-Yf-2.9nm-*f2f0X__im-Xf0-Yf-3-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06ni-*f-0.1-Xf-0.65*f-0.1-Yf-3i-*f0.2-Xf-0.75*f0-Yf-3.1-*f-0.1-Xf-0.75*f0.1-Yf-2.9nm+f0-Yf-3+f-3-Xf0_m-*f2f0X__im-Xf0-Yf-3-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06ni-*f-0.1-Xf-0.65*f-0.1-Yf-3i-*f0.2-Xf-0.75*f0-Yf-3.1-*f-0.1-Xf-0.75*f0.1-Yf-2.9nm_-*f2f-3Y_m+f0-Yf-3+f-3-Xf0_m-*f2f0X__im-Xf0-Yf-3-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06ni-*f-0.1-Xf-0.65*f-0.1-Yf-3i-*f0.2-Xf-0.75*f0-Yf-3.1-*f-0.1-Xf-0.75*f0.1-Yf-2.9a-f-0.05Z-Zf0.05',float('3.950000'),float('-2.650000'),float('-0.750000'),float('4.050000'),float('-1.150000'),float('0.750000'))", "name": "out", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 782.88873734117749, 1677.2455580799985 ], "name": "s4", "script": [ "# Neil Gershenfeld 1/25/15", "# Matt Keeter 6/13/15", "", "import fab", "", "title('Set origin (XY)')", "", "input('a',fab.types.Shape)", "", "input('x0', float)", "input('y0', float)", "input('x1', float)", "input('y1', float)", "", "output('out', fab.shapes.origin_xy(a, x0, y0, x1, y1))", "" ], "uid": 31 }, { "datums": [ { "expr": "\u0011[__22.__5]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__42.__2]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('am-Xf0-Yf-3-Zf0aa-f-0.75X-Xf0.75a-f-0.75Y-Yf0.75nim-Xf0-Yf-3-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06ni-*f-0.1-Xf-0.65*f-0.1-Yf-3i-*f0.2-Xf-0.75*f0-Yf-3.1-*f-0.1-Xf-0.75*f0.1-Yf-2.9',float('-0.750000'),float('-3.750000'),float('-inf'),float('0.750000'),float('-2.250000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ -64.922369005574041, 1333.646392802043 ], "name": "d4", "script": [ "import fab.types", "", "title('Difference')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a & ~b)", "" ], "uid": 32 }, { "datums": [ { "expr": "q2.x", "name": "x0", "type": "float", "uid": 0 }, { "expr": "0", "name": "_y", "type": "float", "uid": 1 }, { "expr": "0", "name": "z0", "type": "float", "uid": 2 }, { "expr": "\u0011[__27.__5]", "name": "shape", "type": "_fabtypes.Shape", "uid": 3 }, { "expr": "\u0012fab.types.Shape('m+f4-Zf0Y+f0-Xf4m-Xf2-Yf0-Zf0am__f1m-Xf2-Yf0-Zf0aaaam-Xf0-Yf-3-Zf0aa-f-0.75X-Xf0.75a-f-0.75Y-Yf0.75nim-Xf0-Yf-3-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06ni-*f-0.1-Xf-0.65*f-0.1-Yf-3i-*f0.2-Xf-0.75*f0-Yf-3.1-*f-0.1-Xf-0.75*f0.1-Yf-2.9nm-*f2f0X__im-Xf0-Yf-3-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06ni-*f-0.1-Xf-0.65*f-0.1-Yf-3i-*f0.2-Xf-0.75*f0-Yf-3.1-*f-0.1-Xf-0.75*f0.1-Yf-2.9nm+f0-Yf-3+f-3-Xf0_m-*f2f0X__im-Xf0-Yf-3-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06ni-*f-0.1-Xf-0.65*f-0.1-Yf-3i-*f0.2-Xf-0.75*f0-Yf-3.1-*f-0.1-Xf-0.75*f0.1-Yf-2.9nm_-*f2f-3Y_m+f0-Yf-3+f-3-Xf0_m-*f2f0X__im-Xf0-Yf-3-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06ni-*f-0.1-Xf-0.65*f-0.1-Yf-3i-*f0.2-Xf-0.75*f0-Yf-3.1-*f-0.1-Xf-0.75*f0.1-Yf-2.9a-f-0.05Z-Zf0.05',float('3.950000'),float('-3.750000'),float('-0.750000'),float('4.050000'),float('-2.250000'),float('0.750000'))", "name": "out", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 776.53325378524016, 1473.8700842900005 ], "name": "r7", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 5/31/15", "", "import fab", "", "title('Reflect (XZ)')", "", "input('x0', float)", "input('_y', float)", "input('z0', float)", "", "input('shape', fab.types.Shape)", "output('out', fab.shapes.reflect_xz(shape, x0, z0))", "", "# UI", "", "sb.ui.point(x0, _y, z0, color=sb.color.teal)", "", "" ], "uid": 33 }, { "datums": [ { "expr": "\u0011[__27.__5]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__31.__5]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('im-Xf2-Yf0-Zf0am__f1m-Xf2-Yf0-Zf0aaaam-Xf0-Yf-3-Zf0aa-f-0.75X-Xf0.75a-f-0.75Y-Yf0.75nim-Xf0-Yf-3-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06ni-*f-0.1-Xf-0.65*f-0.1-Yf-3i-*f0.2-Xf-0.75*f0-Yf-3.1-*f-0.1-Xf-0.75*f0.1-Yf-2.9nm-*f2f0X__im-Xf0-Yf-3-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06ni-*f-0.1-Xf-0.65*f-0.1-Yf-3i-*f0.2-Xf-0.75*f0-Yf-3.1-*f-0.1-Xf-0.75*f0.1-Yf-2.9nm+f0-Yf-3+f-3-Xf0_m-*f2f0X__im-Xf0-Yf-3-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06ni-*f-0.1-Xf-0.65*f-0.1-Yf-3i-*f0.2-Xf-0.75*f0-Yf-3.1-*f-0.1-Xf-0.75*f0.1-Yf-2.9nm_-*f2f-3Y_m+f0-Yf-3+f-3-Xf0_m-*f2f0X__im-Xf0-Yf-3-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06ni-*f-0.1-Xf-0.65*f-0.1-Yf-3i-*f0.2-Xf-0.75*f0-Yf-3.1-*f-0.1-Xf-0.75*f0.1-Yf-2.9a-f-0.05Z-Zf0.05m-Xf0-Yf1.1-Zf0m+f4-Zf0Y+f0-Xf4m-Xf2-Yf0-Zf0am__f1m-Xf2-Yf0-Zf0aaaam-Xf0-Yf-3-Zf0aa-f-0.75X-Xf0.75a-f-0.75Y-Yf0.75nim-Xf0-Yf-3-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06ni-*f-0.1-Xf-0.65*f-0.1-Yf-3i-*f0.2-Xf-0.75*f0-Yf-3.1-*f-0.1-Xf-0.75*f0.1-Yf-2.9nm-*f2f0X__im-Xf0-Yf-3-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06ni-*f-0.1-Xf-0.65*f-0.1-Yf-3i-*f0.2-Xf-0.75*f0-Yf-3.1-*f-0.1-Xf-0.75*f0.1-Yf-2.9nm+f0-Yf-3+f-3-Xf0_m-*f2f0X__im-Xf0-Yf-3-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06ni-*f-0.1-Xf-0.65*f-0.1-Yf-3i-*f0.2-Xf-0.75*f0-Yf-3.1-*f-0.1-Xf-0.75*f0.1-Yf-2.9nm_-*f2f-3Y_m+f0-Yf-3+f-3-Xf0_m-*f2f0X__im-Xf0-Yf-3-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06ni-*f-0.1-Xf-0.65*f-0.1-Yf-3i-*f0.2-Xf-0.75*f0-Yf-3.1-*f-0.1-Xf-0.75*f0.1-Yf-2.9a-f-0.05Z-Zf0.05',float('3.250000'),float('-3.750000'),float('-0.750000'),float('4.750000'),float('-1.150000'),float('0.750000'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 1085.4097546037995, 1374.7245408173765 ], "name": "u3", "script": [ "import fab.types", "", "title('Union')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a | b)", "" ], "uid": 34 }, { "datums": [ { "expr": "0", "name": "x", "type": "float", "uid": 0 }, { "expr": "-3", "name": "y", "type": "float", "uid": 1 } ], "inspector": [ -369.69891722161287, 1054.297387779518 ], "name": "q0", "script": [ "import fab", "", "title('Point (2D)')", "", "input('x', float)", "input('y', float)", "", "sb.ui.point(x, y, 0)", "" ], "uid": 35 }, { "datums": [ { "expr": "\u0011[__28.__2]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__23.__4]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('aaam-Xf0-Yf-3-Zf0aa-f-0.75X-Xf0.75a-f-0.75Y-Yf0.75nim-Xf0-Yf-3-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06ni-*f-0.1-Xf-0.65*f-0.1-Yf-3i-*f0.2-Xf-0.75*f0-Yf-3.1-*f-0.1-Xf-0.75*f0.1-Yf-2.9nm-*f2f0X__im-Xf0-Yf-3-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06ni-*f-0.1-Xf-0.65*f-0.1-Yf-3i-*f0.2-Xf-0.75*f0-Yf-3.1-*f-0.1-Xf-0.75*f0.1-Yf-2.9nm+f0-Yf-3+f-3-Xf0_m-*f2f0X__im-Xf0-Yf-3-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06ni-*f-0.1-Xf-0.65*f-0.1-Yf-3i-*f0.2-Xf-0.75*f0-Yf-3.1-*f-0.1-Xf-0.75*f0.1-Yf-2.9',float('-0.750000'),float('-3.750000'),float('-inf'),float('0.750000'),float('-2.250000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ -52.211401893699161, 1812.8498529197259 ], "name": "d5", "script": [ "import fab.types", "", "title('Difference')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a & ~b)", "" ], "uid": 36 }, { "datums": [ { "expr": "chamfer2.shape", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "q0.x", "name": "x0", "type": "float", "uid": 1 }, { "expr": "q0.y", "name": "y0", "type": "float", "uid": 2 }, { "expr": "q1.x", "name": "x1", "type": "float", "uid": 3 }, { "expr": "q1.y", "name": "y1", "type": "float", "uid": 4 }, { "expr": "\u0012fab.types.Shape('m-Xf2-Yf0-Zf0aaaam-Xf0-Yf-3-Zf0aa-f-0.75X-Xf0.75a-f-0.75Y-Yf0.75nim-Xf0-Yf-3-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06ni-*f-0.1-Xf-0.65*f-0.1-Yf-3i-*f0.2-Xf-0.75*f0-Yf-3.1-*f-0.1-Xf-0.75*f0.1-Yf-2.9nm-*f2f0X__im-Xf0-Yf-3-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06ni-*f-0.1-Xf-0.65*f-0.1-Yf-3i-*f0.2-Xf-0.75*f0-Yf-3.1-*f-0.1-Xf-0.75*f0.1-Yf-2.9nm+f0-Yf-3+f-3-Xf0_m-*f2f0X__im-Xf0-Yf-3-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06ni-*f-0.1-Xf-0.65*f-0.1-Yf-3i-*f0.2-Xf-0.75*f0-Yf-3.1-*f-0.1-Xf-0.75*f0.1-Yf-2.9nm_-*f2f-3Y_m+f0-Yf-3+f-3-Xf0_m-*f2f0X__im-Xf0-Yf-3-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06ni-*f-0.1-Xf-0.65*f-0.1-Yf-3i-*f0.2-Xf-0.75*f0-Yf-3.1-*f-0.1-Xf-0.75*f0.1-Yf-2.9',float('1.250000'),float('-3.750000'),float('-inf'),float('2.750000'),float('-2.250000'),float('inf'))", "name": "out", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 370.92674938001903, 1199.3297722147379 ], "name": "s5", "script": [ "# Neil Gershenfeld 1/25/15", "# Matt Keeter 6/13/15", "", "import fab", "", "title('Set origin (XY)')", "", "input('a',fab.types.Shape)", "", "input('x0', float)", "input('y0', float)", "input('x1', float)", "input('y1', float)", "", "output('out', fab.shapes.origin_xy(a, x0, y0, x1, y1))", "" ], "uid": 37 }, { "datums": [ { "expr": "q2.x", "name": "x0", "type": "float", "uid": 0 }, { "expr": "q2.y", "name": "y0", "type": "float", "uid": 1 }, { "expr": "0", "name": "_z", "type": "float", "uid": 2 }, { "expr": "\u0011[__31.__5]", "name": "shape", "type": "_fabtypes.Shape", "uid": 3 }, { "expr": "\u0012fab.types.Shape('m+f4-Yf-3+f-3-Xf4_m-Xf0-Yf1.1-Zf0m+f4-Zf0Y+f0-Xf4m-Xf2-Yf0-Zf0am__f1m-Xf2-Yf0-Zf0aaaam-Xf0-Yf-3-Zf0aa-f-0.75X-Xf0.75a-f-0.75Y-Yf0.75nim-Xf0-Yf-3-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06ni-*f-0.1-Xf-0.65*f-0.1-Yf-3i-*f0.2-Xf-0.75*f0-Yf-3.1-*f-0.1-Xf-0.75*f0.1-Yf-2.9nm-*f2f0X__im-Xf0-Yf-3-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06ni-*f-0.1-Xf-0.65*f-0.1-Yf-3i-*f0.2-Xf-0.75*f0-Yf-3.1-*f-0.1-Xf-0.75*f0.1-Yf-2.9nm+f0-Yf-3+f-3-Xf0_m-*f2f0X__im-Xf0-Yf-3-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06ni-*f-0.1-Xf-0.65*f-0.1-Yf-3i-*f0.2-Xf-0.75*f0-Yf-3.1-*f-0.1-Xf-0.75*f0.1-Yf-2.9nm_-*f2f-3Y_m+f0-Yf-3+f-3-Xf0_m-*f2f0X__im-Xf0-Yf-3-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06ni-*f-0.1-Xf-0.65*f-0.1-Yf-3i-*f0.2-Xf-0.75*f0-Yf-3.1-*f-0.1-Xf-0.75*f0.1-Yf-2.9a-f-0.05Z-Zf0.05',float('4.350000'),float('-3.050000'),float('-0.750000'),float('5.850000'),float('-2.950000'),float('0.750000'))", "name": "reflected", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 774.3256855533117, 1973.8574421530009 ], "name": "r8", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 5/31/15", "", "import fab", "", "title('Reflect (XY)')", "", "input('x0',float)", "input('y0',float)", "input('_z', float)", "", "input('shape', fab.types.Shape)", "output('reflected', fab.shapes.reflect_xy(shape, x0, y0))", "", "# UI", "", "sb.ui.point(x0, y0, _z, color=sb.color.teal)", "" ], "uid": 38 }, { "datums": [ { "expr": "0.0", "name": "_x", "type": "float", "uid": 0 }, { "expr": "q0.y", "name": "y0", "type": "float", "uid": 1 }, { "expr": "0.0", "name": "_z", "type": "float", "uid": 2 }, { "expr": "\u0011[__23.__4]", "name": "shape", "type": "_fabtypes.Shape", "uid": 3 }, { "expr": "\u0012fab.types.Shape('m_-*f2f-3Y_m+f0-Yf-3+f-3-Xf0_m-*f2f0X__im-Xf0-Yf-3-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06ni-*f-0.1-Xf-0.65*f-0.1-Yf-3i-*f0.2-Xf-0.75*f0-Yf-3.1-*f-0.1-Xf-0.75*f0.1-Yf-2.9',float('-0.100000'),float('-3.750000'),float('-inf'),float('0.100000'),float('-3.550000'),float('inf'))", "name": "reflected", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ -373.7988698241337, 2117.9130636047225 ], "name": "r9", "script": [ "import fab", "", "title('Reflect (Y)')", "", "input('_x', float)", "input('y0', float)", "input('_z', float)", "", "input('shape', fab.types.Shape)", "output('reflected', fab.shapes.reflect_y(shape, y0))", "", "# UI", "", "sb.ui.point(_x, y0, _z, color=sb.color.teal)", "", "" ], "uid": 39 }, { "datums": [ { "expr": "tile.shape", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "p0.x", "name": "x0", "type": "float", "uid": 1 }, { "expr": "p0.y", "name": "y0", "type": "float", "uid": 2 }, { "expr": "q0.x", "name": "x1", "type": "float", "uid": 3 }, { "expr": "q0.y", "name": "y1", "type": "float", "uid": 4 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf-3-Zf0aa-f-0.75X-Xf0.75a-f-0.75Y-Yf0.75',float('-0.750000'),float('-3.750000'),float('-inf'),float('0.750000'),float('-2.250000'),float('inf'))", "name": "out", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ -373, 1176 ], "name": "s6", "script": [ "# Neil Gershenfeld 1/25/15", "# Matt Keeter 6/13/15", "", "import fab", "", "title('Set origin (XY)')", "", "input('a',fab.types.Shape)", "", "input('x0', float)", "input('y0', float)", "input('x1', float)", "input('y1', float)", "", "output('out', fab.shapes.origin_xy(a, x0, y0, x1, y1))", "" ], "uid": 22 }, { "datums": [ { "expr": "slot.shape", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "p0.x", "name": "x0", "type": "float", "uid": 1 }, { "expr": "p0.y", "name": "y0", "type": "float", "uid": 2 }, { "expr": "q0.x", "name": "x1", "type": "float", "uid": 3 }, { "expr": "q0.y", "name": "y1", "type": "float", "uid": 4 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf-3-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06',float('-0.750000'),float('-3.060000'),float('-inf'),float('-0.550000'),float('-2.940000'),float('inf'))", "name": "out", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ -756.91778325842029, 1399.686263016167 ], "name": "s7", "script": [ "# Neil Gershenfeld 1/25/15", "# Matt Keeter 6/13/15", "", "import fab", "", "title('Set origin (XY)')", "", "input('a',fab.types.Shape)", "", "input('x0', float)", "input('y0', float)", "input('x1', float)", "input('y1', float)", "", "output('out', fab.shapes.origin_xy(a, x0, y0, x1, y1))", "" ], "uid": 40 }, { "datums": [ { "expr": "q0.x-var.width/2+var.thick", "name": "x0", "type": "float", "uid": 0 }, { "expr": "q0.y", "name": "y0", "type": "float", "uid": 1 }, { "expr": "q0.x-var.width/2", "name": "x1", "type": "float", "uid": 2 }, { "expr": "q0.y-var.thick", "name": "y1", "type": "float", "uid": 3 }, { "expr": "q0.x-var.width/2", "name": "x2", "type": "float", "uid": 4 }, { "expr": "q0.y+var.thick", "name": "y2", "type": "float", "uid": 5 }, { "expr": "\u0012fab.types.Shape('ni-*f-0.1-Xf-0.65*f-0.1-Yf-3i-*f0.2-Xf-0.75*f0-Yf-3.1-*f-0.1-Xf-0.75*f0.1-Yf-2.9',float('-0.750000'),float('-3.100000'),float('-inf'),float('-0.650000'),float('-2.900000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 6 } ], "inspector": [ -777.15430434144321, 1663.9178051028607 ], "name": "t0", "script": [ "import fab", "", "title('Triangle')", "", "input('x0', float)", "input('y0', float)", "input('x1', float)", "input('y1', float)", "input('x2', float)", "input('y2', float)", "", "output('shape', fab.shapes.triangle(x0, y0, x1, y1, x2, y2))", "", "# UI", "sb.ui.wireframe([(x0, y0, 0), (x1, y1, 0), (x2, y2, 0)], close=True)", "sb.ui.point(x0, y0, 0)", "sb.ui.point(x1, y1, 0)", "sb.ui.point(x2, y2, 0)", "" ], "uid": 41 }, { "datums": [ { "expr": "\u0011[__40.__5]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__41.__6]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('im-Xf0-Yf-3-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06ni-*f-0.1-Xf-0.65*f-0.1-Yf-3i-*f0.2-Xf-0.75*f0-Yf-3.1-*f-0.1-Xf-0.75*f0.1-Yf-2.9',float('-0.750000'),float('-3.100000'),float('-inf'),float('-0.550000'),float('-2.900000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ -378.83146727018169, 1491.8652198451452 ], "name": "u4", "script": [ "import fab.types", "", "title('Union')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a | b)", "" ], "uid": 42 }, { "datums": [ { "expr": "bistable2.shape", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "n0.x", "name": "x0", "type": "float", "uid": 1 }, { "expr": "n0.y", "name": "y0", "type": "float", "uid": 2 }, { "expr": "n1.x", "name": "x1", "type": "float", "uid": 3 }, { "expr": "n1.y", "name": "y1", "type": "float", "uid": 4 }, { "expr": "\u0012fab.types.Shape('m-Xf2-Yf0-Zf0aaaam-Xf0-Yf-6-Zf0aa-f-0.75X-Xf0.75a-f-0.75Y-Yf0.75niaam-Xf0-Yf-6-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975nm_-*f2f-6Y_aaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975aa-f-0.45X-Xf-0.35a-f-6.06Y-Yf-5.94nm-*f2f0X__iaam-Xf0-Yf-6-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975nm_-*f2f-6Y_aaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975aa-f-0.45X-Xf-0.35a-f-6.06Y-Yf-5.94nm+f0-Yf-6+f-6-Xf0_m-*f2f0X__iaam-Xf0-Yf-6-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975nm_-*f2f-6Y_aaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975aa-f-0.45X-Xf-0.35a-f-6.06Y-Yf-5.94nm_-*f2f-6Y_m+f0-Yf-6+f-6-Xf0_m-*f2f0X__iaam-Xf0-Yf-6-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975nm_-*f2f-6Y_aaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975aa-f-0.45X-Xf-0.35a-f-6.06Y-Yf-5.94',float('1.250000'),float('-6.750000'),float('-inf'),float('2.750000'),float('-5.250000'),float('inf'))", "name": "out", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 385.14440941272767, 2563.1986427142197 ], "name": "s8", "script": [ "# Neil Gershenfeld 1/25/15", "# Matt Keeter 6/13/15", "", "import fab", "", "title('Set origin (XY)')", "", "input('a',fab.types.Shape)", "", "input('x0', float)", "input('y0', float)", "input('x1', float)", "input('y1', float)", "", "output('out', fab.shapes.origin_xy(a, x0, y0, x1, y1))", "" ], "uid": 43 }, { "datums": [ { "expr": "n0.x", "name": "x0", "type": "float", "uid": 0 }, { "expr": "0.0", "name": "_y", "type": "float", "uid": 1 }, { "expr": "0.0", "name": "_z", "type": "float", "uid": 2 }, { "expr": "\u0011[__56.__2]", "name": "shape", "type": "_fabtypes.Shape", "uid": 3 }, { "expr": "\u0012fab.types.Shape('m-*f2f0X__iaam-Xf0-Yf-6-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975nm_-*f2f-6Y_aaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975aa-f-0.45X-Xf-0.35a-f-6.06Y-Yf-5.94',float('0.350000'),float('-6.060000'),float('-inf'),float('0.750000'),float('-5.940000'),float('inf'))", "name": "reflected", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ -359.58120979142495, 3082.6575667913326 ], "name": "r10", "script": [ "import fab", "", "title('Reflect (X)')", "", "input('x0', float)", "input('_y', float)", "input('_z', float)", "", "input('shape', fab.types.Shape)", "output('reflected', fab.shapes.reflect_x(shape, x0))", "", "# UI", "", "sb.ui.point(x0, _y, _z, color=sb.color.teal)", "" ], "uid": 44 }, { "datums": [ { "expr": "\u0011[__64.__2]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__44.__4]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('aam-Xf0-Yf-6-Zf0aa-f-0.75X-Xf0.75a-f-0.75Y-Yf0.75niaam-Xf0-Yf-6-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975nm_-*f2f-6Y_aaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975aa-f-0.45X-Xf-0.35a-f-6.06Y-Yf-5.94nm-*f2f0X__iaam-Xf0-Yf-6-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975nm_-*f2f-6Y_aaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975aa-f-0.45X-Xf-0.35a-f-6.06Y-Yf-5.94',float('-0.750000'),float('-6.750000'),float('-inf'),float('0.750000'),float('-5.250000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ -41.807031994552943, 2958.0900890949592 ], "name": "d6", "script": [ "import fab.types", "", "title('Difference')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a & ~b)", "" ], "uid": 45 }, { "datums": [ { "expr": "slot.shape", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "p0.x", "name": "x0", "type": "float", "uid": 1 }, { "expr": "p0.y", "name": "y0", "type": "float", "uid": 2 }, { "expr": "n0.x", "name": "x1", "type": "float", "uid": 3 }, { "expr": "n0.y", "name": "y1", "type": "float", "uid": 4 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf-6-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06',float('-0.750000'),float('-6.060000'),float('-inf'),float('-0.550000'),float('-5.940000'),float('inf'))", "name": "out", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ -1024.2232317190114, 2544.7978993940578 ], "name": "s9", "script": [ "# Neil Gershenfeld 1/25/15", "# Matt Keeter 6/13/15", "", "import fab", "", "title('Set origin (XY)')", "", "input('a',fab.types.Shape)", "", "input('x0', float)", "input('y0', float)", "input('x1', float)", "input('y1', float)", "", "output('out', fab.shapes.origin_xy(a, x0, y0, x1, y1))", "" ], "uid": 46 }, { "datums": [ { "expr": "0.0", "name": "_x", "type": "float", "uid": 0 }, { "expr": "n0.y", "name": "y0", "type": "float", "uid": 1 }, { "expr": "0.0", "name": "_z", "type": "float", "uid": 2 }, { "expr": "\u0011[__63.__4]", "name": "shape", "type": "_fabtypes.Shape", "uid": 3 }, { "expr": "\u0012fab.types.Shape('m_-*f2f-6Y_m+f0-Yf-6+f-6-Xf0_m-*f2f0X__iaam-Xf0-Yf-6-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975nm_-*f2f-6Y_aaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975aa-f-0.45X-Xf-0.35a-f-6.06Y-Yf-5.94',float('-0.060000'),float('-6.750000'),float('-inf'),float('0.060000'),float('-6.350000'),float('inf'))", "name": "reflected", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ -359.58120979142507, 3481.7819341042045 ], "name": "r11", "script": [ "import fab", "", "title('Reflect (Y)')", "", "input('_x', float)", "input('y0', float)", "input('_z', float)", "", "input('shape', fab.types.Shape)", "output('reflected', fab.shapes.reflect_y(shape, y0))", "", "# UI", "", "sb.ui.point(_x, y0, _z, color=sb.color.teal)", "", "" ], "uid": 47 }, { "datums": [ { "expr": "2", "name": "x", "type": "float", "uid": 0 }, { "expr": "-6", "name": "y", "type": "float", "uid": 1 } ], "inspector": [ 384.68375066604642, 2424.786279530445 ], "name": "n1", "script": [ "import fab", "", "title('Point (2D)')", "", "input('x', float)", "input('y', float)", "", "sb.ui.point(x, y, 0)", "" ], "uid": 48 }, { "datums": [ { "expr": "\u0011[__62.__4]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "n2.x", "name": "x0", "type": "float", "uid": 1 }, { "expr": "n2.y", "name": "y0", "type": "float", "uid": 2 }, { "expr": "n2.x", "name": "x1", "type": "float", "uid": 3 }, { "expr": "n2.y+var.width-var.length*2", "name": "y1", "type": "float", "uid": 4 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf1.1-Zf0m+f4-Zf0Y+f0-Xf4m-Xf2-Yf0-Zf0am__f1m-Xf2-Yf0-Zf0aaaam-Xf0-Yf-6-Zf0aa-f-0.75X-Xf0.75a-f-0.75Y-Yf0.75niaam-Xf0-Yf-6-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975nm_-*f2f-6Y_aaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975aa-f-0.45X-Xf-0.35a-f-6.06Y-Yf-5.94nm-*f2f0X__iaam-Xf0-Yf-6-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975nm_-*f2f-6Y_aaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975aa-f-0.45X-Xf-0.35a-f-6.06Y-Yf-5.94nm+f0-Yf-6+f-6-Xf0_m-*f2f0X__iaam-Xf0-Yf-6-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975nm_-*f2f-6Y_aaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975aa-f-0.45X-Xf-0.35a-f-6.06Y-Yf-5.94nm_-*f2f-6Y_m+f0-Yf-6+f-6-Xf0_m-*f2f0X__iaam-Xf0-Yf-6-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975nm_-*f2f-6Y_aaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975aa-f-0.45X-Xf-0.35a-f-6.06Y-Yf-5.94a-f-0.05Z-Zf0.05',float('3.950000'),float('-5.650000'),float('-0.750000'),float('4.050000'),float('-4.150000'),float('0.750000'))", "name": "out", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 797.10639737388635, 3041.1144285794803 ], "name": "s10", "script": [ "# Neil Gershenfeld 1/25/15", "# Matt Keeter 6/13/15", "", "import fab", "", "title('Set origin (XY)')", "", "input('a',fab.types.Shape)", "", "input('x0', float)", "input('y0', float)", "input('x1', float)", "input('y1', float)", "", "output('out', fab.shapes.origin_xy(a, x0, y0, x1, y1))", "" ], "uid": 49 }, { "datums": [ { "expr": "0.0", "name": "_x", "type": "float", "uid": 0 }, { "expr": "0.0", "name": "_y", "type": "float", "uid": 1 }, { "expr": "-var.thick/2", "name": "zmin", "type": "float", "uid": 2 }, { "expr": "var.thick/2", "name": "zmax", "type": "float", "uid": 3 }, { "expr": "\u0011[__43.__5]", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 }, { "expr": "\u0012fab.types.Shape('am__f1m-Xf2-Yf0-Zf0aaaam-Xf0-Yf-6-Zf0aa-f-0.75X-Xf0.75a-f-0.75Y-Yf0.75niaam-Xf0-Yf-6-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975nm_-*f2f-6Y_aaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975aa-f-0.45X-Xf-0.35a-f-6.06Y-Yf-5.94nm-*f2f0X__iaam-Xf0-Yf-6-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975nm_-*f2f-6Y_aaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975aa-f-0.45X-Xf-0.35a-f-6.06Y-Yf-5.94nm+f0-Yf-6+f-6-Xf0_m-*f2f0X__iaam-Xf0-Yf-6-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975nm_-*f2f-6Y_aaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975aa-f-0.45X-Xf-0.35a-f-6.06Y-Yf-5.94nm_-*f2f-6Y_m+f0-Yf-6+f-6-Xf0_m-*f2f0X__iaam-Xf0-Yf-6-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975nm_-*f2f-6Y_aaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975aa-f-0.45X-Xf-0.35a-f-6.06Y-Yf-5.94a-f-0.05Z-Zf0.05',float('1.250000'),float('-6.750000'),float('-0.050000'),float('2.750000'),float('-5.250000'),float('0.050000'))", "name": "out", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 387.00477621574771, 2848.8463925181709 ], "name": "bistable3", "script": [ "import fab", "", "title('Extrude')", "", "input('_x', float)", "input('_y', float)", "input('zmin', float)", "input('zmax', float)", "", "input('shape', fab.types.Shape)", "output('out', fab.shapes.extrude_z(shape, zmin, zmax))", "", "# UI", "sb.ui.wireframe([(_x, _y, zmin), (_x, _y, zmax)], color=sb.color.green)", "sb.ui.point(_x, _y, zmin, color=sb.color.green)", "sb.ui.point(_x, _y, zmax, color=sb.color.green)", "", "" ], "uid": 50 }, { "datums": [ { "expr": "\u0011[__60.__2]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__55.__4]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('iim-Xf2-Yf0-Zf0am__f1m-Xf2-Yf0-Zf0aaaam-Xf0-Yf-6-Zf0aa-f-0.75X-Xf0.75a-f-0.75Y-Yf0.75niaam-Xf0-Yf-6-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975nm_-*f2f-6Y_aaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975aa-f-0.45X-Xf-0.35a-f-6.06Y-Yf-5.94nm-*f2f0X__iaam-Xf0-Yf-6-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975nm_-*f2f-6Y_aaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975aa-f-0.45X-Xf-0.35a-f-6.06Y-Yf-5.94nm+f0-Yf-6+f-6-Xf0_m-*f2f0X__iaam-Xf0-Yf-6-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975nm_-*f2f-6Y_aaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975aa-f-0.45X-Xf-0.35a-f-6.06Y-Yf-5.94nm_-*f2f-6Y_m+f0-Yf-6+f-6-Xf0_m-*f2f0X__iaam-Xf0-Yf-6-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975nm_-*f2f-6Y_aaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975aa-f-0.45X-Xf-0.35a-f-6.06Y-Yf-5.94a-f-0.05Z-Zf0.05m-Xf0-Yf1.1-Zf0m+f4-Zf0Y+f0-Xf4m-Xf2-Yf0-Zf0am__f1m-Xf2-Yf0-Zf0aaaam-Xf0-Yf-6-Zf0aa-f-0.75X-Xf0.75a-f-0.75Y-Yf0.75niaam-Xf0-Yf-6-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975nm_-*f2f-6Y_aaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975aa-f-0.45X-Xf-0.35a-f-6.06Y-Yf-5.94nm-*f2f0X__iaam-Xf0-Yf-6-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975nm_-*f2f-6Y_aaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975aa-f-0.45X-Xf-0.35a-f-6.06Y-Yf-5.94nm+f0-Yf-6+f-6-Xf0_m-*f2f0X__iaam-Xf0-Yf-6-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975nm_-*f2f-6Y_aaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975aa-f-0.45X-Xf-0.35a-f-6.06Y-Yf-5.94nm_-*f2f-6Y_m+f0-Yf-6+f-6-Xf0_m-*f2f0X__iaam-Xf0-Yf-6-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975nm_-*f2f-6Y_aaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975aa-f-0.45X-Xf-0.35a-f-6.06Y-Yf-5.94a-f-0.05Z-Zf0.05m+f4-Yf-6+f-6-Xf4_m-Xf0-Yf1.1-Zf0m+f4-Zf0Y+f0-Xf4m-Xf2-Yf0-Zf0am__f1m-Xf2-Yf0-Zf0aaaam-Xf0-Yf-6-Zf0aa-f-0.75X-Xf0.75a-f-0.75Y-Yf0.75niaam-Xf0-Yf-6-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975nm_-*f2f-6Y_aaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975aa-f-0.45X-Xf-0.35a-f-6.06Y-Yf-5.94nm-*f2f0X__iaam-Xf0-Yf-6-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975nm_-*f2f-6Y_aaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975aa-f-0.45X-Xf-0.35a-f-6.06Y-Yf-5.94nm+f0-Yf-6+f-6-Xf0_m-*f2f0X__iaam-Xf0-Yf-6-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975nm_-*f2f-6Y_aaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975aa-f-0.45X-Xf-0.35a-f-6.06Y-Yf-5.94nm_-*f2f-6Y_m+f0-Yf-6+f-6-Xf0_m-*f2f0X__iaam-Xf0-Yf-6-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975nm_-*f2f-6Y_aaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975aa-f-0.45X-Xf-0.35a-f-6.06Y-Yf-5.94a-f-0.05Z-Zf0.05',float('3.250000'),float('-6.750000'),float('-0.750000'),float('5.850000'),float('-4.150000'),float('0.750000'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 1107.5433455860202, 3194.7263126524826 ], "name": "u5", "script": [ "import fab.types", "", "title('Union')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a | b)", "" ], "uid": 51 }, { "datums": [ { "expr": "bistable3.out", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "n1.x", "name": "x0", "type": "float", "uid": 1 }, { "expr": "n1.y", "name": "y0", "type": "float", "uid": 2 }, { "expr": "n2.x", "name": "x1", "type": "float", "uid": 3 }, { "expr": "n2.y", "name": "y1", "type": "float", "uid": 4 }, { "expr": "\u0012fab.types.Shape('m-Xf2-Yf0-Zf0am__f1m-Xf2-Yf0-Zf0aaaam-Xf0-Yf-6-Zf0aa-f-0.75X-Xf0.75a-f-0.75Y-Yf0.75niaam-Xf0-Yf-6-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975nm_-*f2f-6Y_aaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975aa-f-0.45X-Xf-0.35a-f-6.06Y-Yf-5.94nm-*f2f0X__iaam-Xf0-Yf-6-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975nm_-*f2f-6Y_aaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975aa-f-0.45X-Xf-0.35a-f-6.06Y-Yf-5.94nm+f0-Yf-6+f-6-Xf0_m-*f2f0X__iaam-Xf0-Yf-6-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975nm_-*f2f-6Y_aaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975aa-f-0.45X-Xf-0.35a-f-6.06Y-Yf-5.94nm_-*f2f-6Y_m+f0-Yf-6+f-6-Xf0_m-*f2f0X__iaam-Xf0-Yf-6-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975nm_-*f2f-6Y_aaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975aa-f-0.45X-Xf-0.35a-f-6.06Y-Yf-5.94a-f-0.05Z-Zf0.05',float('3.250000'),float('-6.750000'),float('-0.050000'),float('4.750000'),float('-5.250000'),float('0.050000'))", "name": "out", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 790.75091381794903, 2560.6398717506099 ], "name": "s11", "script": [ "# Neil Gershenfeld 1/25/15", "# Matt Keeter 6/13/15", "", "import fab", "", "title('Set origin (XY)')", "", "input('a',fab.types.Shape)", "", "input('x0', float)", "input('y0', float)", "input('x1', float)", "input('y1', float)", "", "output('out', fab.shapes.origin_xy(a, x0, y0, x1, y1))", "" ], "uid": 53 }, { "datums": [ { "expr": "\u0011[__45.__2]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__63.__4]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('aaam-Xf0-Yf-6-Zf0aa-f-0.75X-Xf0.75a-f-0.75Y-Yf0.75niaam-Xf0-Yf-6-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975nm_-*f2f-6Y_aaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975aa-f-0.45X-Xf-0.35a-f-6.06Y-Yf-5.94nm-*f2f0X__iaam-Xf0-Yf-6-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975nm_-*f2f-6Y_aaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975aa-f-0.45X-Xf-0.35a-f-6.06Y-Yf-5.94nm+f0-Yf-6+f-6-Xf0_m-*f2f0X__iaam-Xf0-Yf-6-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975nm_-*f2f-6Y_aaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975aa-f-0.45X-Xf-0.35a-f-6.06Y-Yf-5.94',float('-0.750000'),float('-6.750000'),float('-inf'),float('0.750000'),float('-5.250000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ -37.993741860990525, 3176.7187234192074 ], "name": "d7", "script": [ "import fab.types", "", "title('Difference')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a & ~b)", "" ], "uid": 54 }, { "datums": [ { "expr": "n2.x", "name": "x0", "type": "float", "uid": 0 }, { "expr": "n2.y", "name": "y0", "type": "float", "uid": 1 }, { "expr": "0", "name": "_z", "type": "float", "uid": 2 }, { "expr": "\u0011[__49.__5]", "name": "shape", "type": "_fabtypes.Shape", "uid": 3 }, { "expr": "\u0012fab.types.Shape('m+f4-Yf-6+f-6-Xf4_m-Xf0-Yf1.1-Zf0m+f4-Zf0Y+f0-Xf4m-Xf2-Yf0-Zf0am__f1m-Xf2-Yf0-Zf0aaaam-Xf0-Yf-6-Zf0aa-f-0.75X-Xf0.75a-f-0.75Y-Yf0.75niaam-Xf0-Yf-6-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975nm_-*f2f-6Y_aaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975aa-f-0.45X-Xf-0.35a-f-6.06Y-Yf-5.94nm-*f2f0X__iaam-Xf0-Yf-6-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975nm_-*f2f-6Y_aaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975aa-f-0.45X-Xf-0.35a-f-6.06Y-Yf-5.94nm+f0-Yf-6+f-6-Xf0_m-*f2f0X__iaam-Xf0-Yf-6-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975nm_-*f2f-6Y_aaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975aa-f-0.45X-Xf-0.35a-f-6.06Y-Yf-5.94nm_-*f2f-6Y_m+f0-Yf-6+f-6-Xf0_m-*f2f0X__iaam-Xf0-Yf-6-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975nm_-*f2f-6Y_aaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975aa-f-0.45X-Xf-0.35a-f-6.06Y-Yf-5.94a-f-0.05Z-Zf0.05',float('4.350000'),float('-6.050000'),float('-0.750000'),float('5.850000'),float('-5.950000'),float('0.750000'))", "name": "reflected", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 788.54334558602034, 3337.7263126524826 ], "name": "r12", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 5/31/15", "", "import fab", "", "title('Reflect (XY)')", "", "input('x0',float)", "input('y0',float)", "input('_z', float)", "", "input('shape', fab.types.Shape)", "output('reflected', fab.shapes.reflect_xy(shape, x0, y0))", "", "# UI", "", "sb.ui.point(x0, y0, _z, color=sb.color.teal)", "" ], "uid": 55 }, { "datums": [ { "expr": "\u0011[__68.__2]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__65.__4]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('iaam-Xf0-Yf-6-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975nm_-*f2f-6Y_aaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975aa-f-0.45X-Xf-0.35a-f-6.06Y-Yf-5.94',float('-0.750000'),float('-6.060000'),float('-inf'),float('-0.350000'),float('-5.940000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ -386.4726785668197, 2864.8419533985211 ], "name": "u6", "script": [ "import fab.types", "", "title('Union')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a | b)", "" ], "uid": 56 }, { "datums": [ { "expr": "4", "name": "x", "type": "float", "uid": 0 }, { "expr": "-6", "name": "y", "type": "float", "uid": 1 } ], "inspector": [ 789.40021531078867, 2416.054935718264 ], "name": "n2", "script": [ "import fab", "", "title('Point (2D)')", "", "input('x', float)", "input('y', float)", "", "sb.ui.point(x, y, 0)", "" ], "uid": 57 }, { "datums": [ { "expr": "tile.shape", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "p0.x", "name": "x0", "type": "float", "uid": 1 }, { "expr": "p0.y", "name": "y0", "type": "float", "uid": 2 }, { "expr": "n0.x", "name": "x1", "type": "float", "uid": 3 }, { "expr": "n0.y", "name": "y1", "type": "float", "uid": 4 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf-6-Zf0aa-f-0.75X-Xf0.75a-f-0.75Y-Yf0.75',float('-0.750000'),float('-6.750000'),float('-inf'),float('0.750000'),float('-5.250000'),float('inf'))", "name": "out", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ -358.78233996729136, 2539.8688704994815 ], "name": "s12", "script": [ "# Neil Gershenfeld 1/25/15", "# Matt Keeter 6/13/15", "", "import fab", "", "title('Set origin (XY)')", "", "input('a',fab.types.Shape)", "", "input('x0', float)", "input('y0', float)", "input('x1', float)", "input('y1', float)", "", "output('out', fab.shapes.origin_xy(a, x0, y0, x1, y1))", "" ], "uid": 58 }, { "datums": [ { "expr": "\u0011[__54.__2]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__47.__4]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('aaaam-Xf0-Yf-6-Zf0aa-f-0.75X-Xf0.75a-f-0.75Y-Yf0.75niaam-Xf0-Yf-6-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975nm_-*f2f-6Y_aaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975aa-f-0.45X-Xf-0.35a-f-6.06Y-Yf-5.94nm-*f2f0X__iaam-Xf0-Yf-6-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975nm_-*f2f-6Y_aaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975aa-f-0.45X-Xf-0.35a-f-6.06Y-Yf-5.94nm+f0-Yf-6+f-6-Xf0_m-*f2f0X__iaam-Xf0-Yf-6-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975nm_-*f2f-6Y_aaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975aa-f-0.45X-Xf-0.35a-f-6.06Y-Yf-5.94nm_-*f2f-6Y_m+f0-Yf-6+f-6-Xf0_m-*f2f0X__iaam-Xf0-Yf-6-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975nm_-*f2f-6Y_aaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975aa-f-0.45X-Xf-0.35a-f-6.06Y-Yf-5.94',float('-0.750000'),float('-6.750000'),float('-inf'),float('0.750000'),float('-5.250000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ -21.469484615553114, 3401.7028412993927 ], "name": "bistable2", "script": [ "import fab.types", "", "title('Difference')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a & ~b)", "" ], "uid": 59 }, { "datums": [ { "expr": "\u0011[__53.__5]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__49.__5]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('im-Xf2-Yf0-Zf0am__f1m-Xf2-Yf0-Zf0aaaam-Xf0-Yf-6-Zf0aa-f-0.75X-Xf0.75a-f-0.75Y-Yf0.75niaam-Xf0-Yf-6-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975nm_-*f2f-6Y_aaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975aa-f-0.45X-Xf-0.35a-f-6.06Y-Yf-5.94nm-*f2f0X__iaam-Xf0-Yf-6-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975nm_-*f2f-6Y_aaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975aa-f-0.45X-Xf-0.35a-f-6.06Y-Yf-5.94nm+f0-Yf-6+f-6-Xf0_m-*f2f0X__iaam-Xf0-Yf-6-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975nm_-*f2f-6Y_aaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975aa-f-0.45X-Xf-0.35a-f-6.06Y-Yf-5.94nm_-*f2f-6Y_m+f0-Yf-6+f-6-Xf0_m-*f2f0X__iaam-Xf0-Yf-6-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975nm_-*f2f-6Y_aaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975aa-f-0.45X-Xf-0.35a-f-6.06Y-Yf-5.94a-f-0.05Z-Zf0.05m-Xf0-Yf1.1-Zf0m+f4-Zf0Y+f0-Xf4m-Xf2-Yf0-Zf0am__f1m-Xf2-Yf0-Zf0aaaam-Xf0-Yf-6-Zf0aa-f-0.75X-Xf0.75a-f-0.75Y-Yf0.75niaam-Xf0-Yf-6-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975nm_-*f2f-6Y_aaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975aa-f-0.45X-Xf-0.35a-f-6.06Y-Yf-5.94nm-*f2f0X__iaam-Xf0-Yf-6-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975nm_-*f2f-6Y_aaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975aa-f-0.45X-Xf-0.35a-f-6.06Y-Yf-5.94nm+f0-Yf-6+f-6-Xf0_m-*f2f0X__iaam-Xf0-Yf-6-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975nm_-*f2f-6Y_aaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975aa-f-0.45X-Xf-0.35a-f-6.06Y-Yf-5.94nm_-*f2f-6Y_m+f0-Yf-6+f-6-Xf0_m-*f2f0X__iaam-Xf0-Yf-6-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975nm_-*f2f-6Y_aaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975aa-f-0.45X-Xf-0.35a-f-6.06Y-Yf-5.94a-f-0.05Z-Zf0.05',float('3.250000'),float('-6.750000'),float('-0.750000'),float('4.750000'),float('-4.150000'),float('0.750000'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 1099.6274146365081, 2738.5934113168582 ], "name": "u7", "script": [ "import fab.types", "", "title('Union')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a | b)", "" ], "uid": 60 }, { "datums": [ { "expr": "n2.x", "name": "x0", "type": "float", "uid": 0 }, { "expr": "0", "name": "_y", "type": "float", "uid": 1 }, { "expr": "0", "name": "z0", "type": "float", "uid": 2 }, { "expr": "\u0011[__53.__5]", "name": "shape", "type": "_fabtypes.Shape", "uid": 3 }, { "expr": "\u0012fab.types.Shape('m+f4-Zf0Y+f0-Xf4m-Xf2-Yf0-Zf0am__f1m-Xf2-Yf0-Zf0aaaam-Xf0-Yf-6-Zf0aa-f-0.75X-Xf0.75a-f-0.75Y-Yf0.75niaam-Xf0-Yf-6-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975nm_-*f2f-6Y_aaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975aa-f-0.45X-Xf-0.35a-f-6.06Y-Yf-5.94nm-*f2f0X__iaam-Xf0-Yf-6-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975nm_-*f2f-6Y_aaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975aa-f-0.45X-Xf-0.35a-f-6.06Y-Yf-5.94nm+f0-Yf-6+f-6-Xf0_m-*f2f0X__iaam-Xf0-Yf-6-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975nm_-*f2f-6Y_aaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975aa-f-0.45X-Xf-0.35a-f-6.06Y-Yf-5.94nm_-*f2f-6Y_m+f0-Yf-6+f-6-Xf0_m-*f2f0X__iaam-Xf0-Yf-6-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975nm_-*f2f-6Y_aaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975aa-f-0.45X-Xf-0.35a-f-6.06Y-Yf-5.94a-f-0.05Z-Zf0.05',float('3.950000'),float('-6.750000'),float('-0.750000'),float('4.050000'),float('-5.250000'),float('0.750000'))", "name": "out", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 790.75091381794903, 2837.7389547894822 ], "name": "r13", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 5/31/15", "", "import fab", "", "title('Reflect (XZ)')", "", "input('x0', float)", "input('_y', float)", "input('z0', float)", "", "input('shape', fab.types.Shape)", "output('out', fab.shapes.reflect_xz(shape, x0, z0))", "", "# UI", "", "sb.ui.point(x0, _y, z0, color=sb.color.teal)", "", "" ], "uid": 62 }, { "datums": [ { "expr": "n0.x", "name": "x0", "type": "float", "uid": 0 }, { "expr": "n0.y", "name": "y0", "type": "float", "uid": 1 }, { "expr": "0", "name": "_z", "type": "float", "uid": 2 }, { "expr": "\u0011[__44.__4]", "name": "shape", "type": "_fabtypes.Shape", "uid": 3 }, { "expr": "\u0012fab.types.Shape('m+f0-Yf-6+f-6-Xf0_m-*f2f0X__iaam-Xf0-Yf-6-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975nm_-*f2f-6Y_aaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975aa-f-0.45X-Xf-0.35a-f-6.06Y-Yf-5.94',float('-0.060000'),float('-5.650000'),float('-inf'),float('0.060000'),float('-5.250000'),float('inf'))", "name": "reflected", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ -359.58120979142495, 3261.8822030687693 ], "name": "r14", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 5/31/15", "", "import fab", "", "title('Reflect (XY)')", "", "input('x0',float)", "input('y0',float)", "input('_z', float)", "", "input('shape', fab.types.Shape)", "output('reflected', fab.shapes.reflect_xy(shape, x0, y0))", "", "# UI", "", "sb.ui.point(x0, y0, _z, color=sb.color.teal)", "" ], "uid": 63 }, { "datums": [ { "expr": "\u0011[__58.__5]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__56.__2]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('am-Xf0-Yf-6-Zf0aa-f-0.75X-Xf0.75a-f-0.75Y-Yf0.75niaam-Xf0-Yf-6-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975nm_-*f2f-6Y_aaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975aa-f-0.45X-Xf-0.35a-f-6.06Y-Yf-5.94',float('-0.750000'),float('-6.750000'),float('-inf'),float('0.750000'),float('-5.250000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ -50.704708972865404, 2697.5152633015246 ], "name": "d8", "script": [ "import fab.types", "", "title('Difference')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a & ~b)", "" ], "uid": 64 }, { "datums": [ { "expr": "0.0", "name": "x", "type": "float", "uid": 0 }, { "expr": "-6", "name": "y", "type": "float", "uid": 1 } ], "inspector": [ -347.9203686587673, 2397.1895557850148 ], "name": "n0", "script": [ "import fab", "", "title('Point (2D)')", "", "input('x', float)", "input('y', float)", "", "sb.ui.point(x, y, 0)", "" ], "uid": 52 }, { "datums": [ { "expr": "n0.x-var.width/2+2*var.length-var.thick", "name": "x0", "type": "float", "uid": 0 }, { "expr": "n0.y-var.thick/2-var.clear", "name": "y0", "type": "float", "uid": 1 }, { "expr": "n0.x-var.width/2+2*var.length", "name": "x1", "type": "float", "uid": 2 }, { "expr": "n0.y+var.thick/2+var.clear", "name": "y1", "type": "float", "uid": 3 }, { "expr": "\u0012fab.types.Shape('aa-f-0.45X-Xf-0.35a-f-6.06Y-Yf-5.94',float('-0.450000'),float('-6.060000'),float('-inf'),float('-0.350000'),float('-5.940000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ -726.46261487683796, 3161.9583520567203 ], "name": "r15", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 6/11/15", "", "import fab", "", "title('Rectangle (corner)')", "", "input('x0', float)", "input('y0', float)", "input('x1', float)", "input('y1', float)", "", "output('shape', fab.shapes.rectangle(x0, x1, y0, y1))", "", "# UI", "sb.ui.wireframe([(x0, y0, 0), (x1, y0, 0),", " (x1, y1, 0), (x0, y1, 0)], close=True)", "sb.ui.point(x0, y0)", "sb.ui.point(x1, y1)", "", "" ], "uid": 65 }, { "datums": [ { "expr": "n0.x-var.width/2", "name": "x0", "type": "float", "uid": 0 }, { "expr": "n0.y+var.thick/4", "name": "y0", "type": "float", "uid": 1 }, { "expr": "n0.x-var.width/2+var.thick", "name": "x1", "type": "float", "uid": 2 }, { "expr": "n0.y+var.thick/2+var.clear", "name": "y1", "type": "float", "uid": 3 }, { "expr": "\u0012fab.types.Shape('aa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94',float('-0.750000'),float('-5.975000'),float('-inf'),float('-0.650000'),float('-5.940000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ -1394.6502026116636, 2545.3722780978137 ], "name": "r16", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 6/11/15", "", "import fab", "", "title('Rectangle (corner)')", "", "input('x0', float)", "input('y0', float)", "input('x1', float)", "input('y1', float)", "", "output('shape', fab.shapes.rectangle(x0, x1, y0, y1))", "", "# UI", "sb.ui.wireframe([(x0, y0, 0), (x1, y0, 0),", " (x1, y1, 0), (x0, y1, 0)], close=True)", "sb.ui.point(x0, y0)", "sb.ui.point(x1, y1)", "", "" ], "uid": 61 }, { "datums": [ { "expr": "\u0011[__46.__5]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__72.__2]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('am-Xf0-Yf-6-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975',float('-0.750000'),float('-6.060000'),float('-inf'),float('-0.550000'),float('-5.940000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ -729.84490262342081, 2635.7492873042538 ], "name": "d9", "script": [ "import fab.types", "", "title('Difference')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a & ~b)", "" ], "uid": 66 }, { "datums": [ { "expr": "0.0", "name": "_x", "type": "float", "uid": 0 }, { "expr": "n0.y", "name": "y0", "type": "float", "uid": 1 }, { "expr": "0.0", "name": "_z", "type": "float", "uid": 2 }, { "expr": "\u0011[__72.__2]", "name": "shape", "type": "_fabtypes.Shape", "uid": 3 }, { "expr": "\u0012fab.types.Shape('m_-*f2f-6Y_aaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975',float('-0.750000'),float('-6.060000'),float('-inf'),float('-0.650000'),float('-6.025000'),float('inf'))", "name": "reflected", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ -1049.4866812836121, 3310.8009962587494 ], "name": "r17", "script": [ "import fab", "", "title('Reflect (Y)')", "", "input('_x', float)", "input('y0', float)", "input('_z', float)", "", "input('shape', fab.types.Shape)", "output('reflected', fab.shapes.reflect_y(shape, y0))", "", "# UI", "", "sb.ui.point(_x, y0, _z, color=sb.color.teal)", "", "" ], "uid": 67 }, { "datums": [ { "expr": "\u0011[__66.__2]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__67.__4]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('aam-Xf0-Yf-6-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975nm_-*f2f-6Y_aaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975',float('-0.750000'),float('-6.060000'),float('-inf'),float('-0.550000'),float('-5.940000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ -728.62904431155403, 2943.6613390186781 ], "name": "d10", "script": [ "import fab.types", "", "title('Difference')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a & ~b)", "" ], "uid": 68 }, { "datums": [ { "expr": "n0.x-var.width/2", "name": "x0", "type": "float", "uid": 0 }, { "expr": "n0.y+var.thick/4", "name": "y0", "type": "float", "uid": 1 }, { "expr": "n0.x-var.width/2", "name": "x1", "type": "float", "uid": 2 }, { "expr": "n0.y+var.thick/2+var.clear", "name": "y1", "type": "float", "uid": 3 }, { "expr": "n0.x-var.width/2+var.thick/4", "name": "x2", "type": "float", "uid": 4 }, { "expr": "n0.y+var.thick/4", "name": "y2", "type": "float", "uid": 5 }, { "expr": "\u0012fab.types.Shape('ni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975',float('-0.750000'),float('-5.975000'),float('-inf'),float('-0.725000'),float('-5.940000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 6 } ], "inspector": [ -1392.3751223434485, 2797.1519664243688 ], "name": "t1", "script": [ "import fab", "", "title('Triangle')", "", "input('x0', float)", "input('y0', float)", "input('x1', float)", "input('y1', float)", "input('x2', float)", "input('y2', float)", "", "output('shape', fab.shapes.triangle(x0, y0, x1, y1, x2, y2))", "", "# UI", "sb.ui.wireframe([(x0, y0, 0), (x1, y1, 0), (x2, y2, 0)], close=True)", "sb.ui.point(x0, y0, 0)", "sb.ui.point(x1, y1, 0)", "sb.ui.point(x2, y2, 0)", "" ], "uid": 69 }, { "datums": [ { "expr": "n0.x-var.width/2+var.thick", "name": "x0", "type": "float", "uid": 0 }, { "expr": "n0.y+var.thick/4", "name": "y0", "type": "float", "uid": 1 }, { "expr": "n0.x-var.width/2+var.thick", "name": "x1", "type": "float", "uid": 2 }, { "expr": "n0.y+var.thick/2+var.clear", "name": "y1", "type": "float", "uid": 3 }, { "expr": "n0.x-var.width/2+.75*var.thick", "name": "x2", "type": "float", "uid": 4 }, { "expr": "n0.y+var.thick/4", "name": "y2", "type": "float", "uid": 5 }, { "expr": "\u0012fab.types.Shape('ni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975',float('-0.675000'),float('-5.975000'),float('-inf'),float('-0.650000'),float('-5.940000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 6 } ], "inspector": [ -1393.5025515923096, 3093.6658588748369 ], "name": "t2", "script": [ "import fab", "", "title('Triangle')", "", "input('x0', float)", "input('y0', float)", "input('x1', float)", "input('y1', float)", "input('x2', float)", "input('y2', float)", "", "output('shape', fab.shapes.triangle(x0, y0, x1, y1, x2, y2))", "", "# UI", "sb.ui.wireframe([(x0, y0, 0), (x1, y1, 0), (x2, y2, 0)], close=True)", "sb.ui.point(x0, y0, 0)", "sb.ui.point(x1, y1, 0)", "sb.ui.point(x2, y2, 0)", "" ], "uid": 70 }, { "datums": [ { "expr": "\u0011[__61.__4]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__69.__6]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('aaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975',float('-0.750000'),float('-5.975000'),float('-inf'),float('-0.650000'),float('-5.940000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ -1027.0880457124547, 2782.495386189175 ], "name": "d11", "script": [ "import fab.types", "", "title('Difference')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a & ~b)", "" ], "uid": 71 }, { "datums": [ { "expr": "\u0011[__71.__2]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__70.__6]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('aaaa-f-0.75X-Xf-0.65a-f-5.975Y-Yf-5.94nni-*f0.035-Xf-0.75*f0-Yf-5.975i-*f-0.035-Xf-0.75*f0.025-Yf-5.94-*f0-Xf-0.725*f-0.025-Yf-5.975nni-*f-0.035-Xf-0.65*f0-Yf-5.94i-*f0-Xf-0.65*f-0.025-Yf-5.975-*f0.035-Xf-0.675*f0.025-Yf-5.975',float('-0.750000'),float('-5.975000'),float('-inf'),float('-0.650000'),float('-5.940000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ -1020.3234702192882, 2939.2080517808668 ], "name": "d12", "script": [ "import fab.types", "", "title('Difference')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a & ~b)", "" ], "uid": 72 }, { "datums": [ { "expr": "0.0", "name": "_x", "type": "float", "uid": 0 }, { "expr": "m0.y", "name": "y0", "type": "float", "uid": 1 }, { "expr": "0.0", "name": "_z", "type": "float", "uid": 2 }, { "expr": "\u0011[__80.__2]", "name": "shape", "type": "_fabtypes.Shape", "uid": 3 }, { "expr": "\u0012fab.types.Shape('m_-*f2f-9Y_aaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975',float('-0.750000'),float('-9.060000'),float('-inf'),float('-0.650000'),float('-9.025000'),float('inf'))", "name": "reflected", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ -1032.8504277309326, 4644.7335800183328 ], "name": "r18", "script": [ "import fab", "", "title('Reflect (Y)')", "", "input('_x', float)", "input('y0', float)", "input('_z', float)", "", "input('shape', fab.types.Shape)", "output('reflected', fab.shapes.reflect_y(shape, y0))", "", "# UI", "", "sb.ui.point(_x, y0, _z, color=sb.color.teal)", "", "" ], "uid": 73 }, { "datums": [ { "expr": "\u0011[__83.__4]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__76.__6]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('aaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975',float('-0.750000'),float('-8.975000'),float('-inf'),float('-0.650000'),float('-8.940000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ -1010.451792159775, 4116.4279699487588 ], "name": "d13", "script": [ "import fab.types", "", "title('Difference')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a & ~b)", "" ], "uid": 74 }, { "datums": [ { "expr": "\u0011[__92.__2]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__73.__4]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('aam-Xf0-Yf-9-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975nm_-*f2f-9Y_aaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975',float('-0.750000'),float('-9.060000'),float('-inf'),float('-0.550000'),float('-8.940000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ -711.99279075887455, 4277.593922778261 ], "name": "d14", "script": [ "import fab.types", "", "title('Difference')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a & ~b)", "" ], "uid": 75 }, { "datums": [ { "expr": "m0.x-var.width/2", "name": "x0", "type": "float", "uid": 0 }, { "expr": "m0.y+var.thick/4", "name": "y0", "type": "float", "uid": 1 }, { "expr": "m0.x-var.width/2", "name": "x1", "type": "float", "uid": 2 }, { "expr": "m0.y+var.thick/2+var.clear", "name": "y1", "type": "float", "uid": 3 }, { "expr": "m0.x-var.width/2+var.thick/4", "name": "x2", "type": "float", "uid": 4 }, { "expr": "m0.y+var.thick/4", "name": "y2", "type": "float", "uid": 5 }, { "expr": "\u0012fab.types.Shape('ni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975',float('-0.750000'),float('-8.975000'),float('-inf'),float('-0.725000'),float('-8.940000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 6 } ], "inspector": [ -1375.7388687907687, 4131.0845501839522 ], "name": "t3", "script": [ "import fab", "", "title('Triangle')", "", "input('x0', float)", "input('y0', float)", "input('x1', float)", "input('y1', float)", "input('x2', float)", "input('y2', float)", "", "output('shape', fab.shapes.triangle(x0, y0, x1, y1, x2, y2))", "", "# UI", "sb.ui.wireframe([(x0, y0, 0), (x1, y1, 0), (x2, y2, 0)], close=True)", "sb.ui.point(x0, y0, 0)", "sb.ui.point(x1, y1, 0)", "sb.ui.point(x2, y2, 0)", "" ], "uid": 76 }, { "datums": [ { "expr": "0.0", "name": "x", "type": "float", "uid": 0 }, { "expr": "-9", "name": "y", "type": "float", "uid": 1 } ], "inspector": [ -331.28411510608771, 3731.1221395445982 ], "name": "m0", "script": [ "import fab", "", "title('Point (2D)')", "", "input('x', float)", "input('y', float)", "", "sb.ui.point(x, y, 0)", "" ], "uid": 77 }, { "datums": [ { "expr": "m2.x", "name": "x0", "type": "float", "uid": 0 }, { "expr": "m2.y", "name": "y0", "type": "float", "uid": 1 }, { "expr": "0", "name": "_z", "type": "float", "uid": 2 }, { "expr": "\u0011[__98.__5]", "name": "shape", "type": "_fabtypes.Shape", "uid": 3 }, { "expr": "\u0012fab.types.Shape('m+f4-Yf-9+f-9-Xf4_m-Xf0-Yf1.1-Zf0m+f4-Zf0Y+f0-Xf4m-Xf2-Yf0-Zf0am__f1m-Xf2-Yf0-Zf0aaaam-Xf0-Yf-9-Zf0aa-f-0.75X-Xf0.75a-f-0.75Y-Yf0.75niaam-Xf0-Yf-9-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975nm_-*f2f-9Y_aaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975iaa-f-0.45X-Xf-0.35a-f-9.06Y-Yf-8.94iaaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92m_-*f2f-9Y_aaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92nm-*f2f0X__iaam-Xf0-Yf-9-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975nm_-*f2f-9Y_aaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975iaa-f-0.45X-Xf-0.35a-f-9.06Y-Yf-8.94iaaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92m_-*f2f-9Y_aaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92nm+f0-Yf-9+f-9-Xf0_m-*f2f0X__iaam-Xf0-Yf-9-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975nm_-*f2f-9Y_aaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975iaa-f-0.45X-Xf-0.35a-f-9.06Y-Yf-8.94iaaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92m_-*f2f-9Y_aaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92nm_-*f2f-9Y_m+f0-Yf-9+f-9-Xf0_m-*f2f0X__iaam-Xf0-Yf-9-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975nm_-*f2f-9Y_aaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975iaa-f-0.45X-Xf-0.35a-f-9.06Y-Yf-8.94iaaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92m_-*f2f-9Y_aaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92a-f-0.05Z-Zf0.05',float('4.350000'),float('-9.050000'),float('-0.750000'),float('5.850000'),float('-8.950000'),float('0.750000'))", "name": "reflected", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 805.17959913869993, 4671.6588964120665 ], "name": "r19", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 5/31/15", "", "import fab", "", "title('Reflect (XY)')", "", "input('x0',float)", "input('y0',float)", "input('_z', float)", "", "input('shape', fab.types.Shape)", "output('reflected', fab.shapes.reflect_xy(shape, x0, y0))", "", "# UI", "", "sb.ui.point(x0, y0, _z, color=sb.color.teal)", "" ], "uid": 78 }, { "datums": [ { "expr": "m0.x", "name": "x0", "type": "float", "uid": 0 }, { "expr": "0.0", "name": "_y", "type": "float", "uid": 1 }, { "expr": "0.0", "name": "_z", "type": "float", "uid": 2 }, { "expr": "\u0011[__84.__2]", "name": "shape", "type": "_fabtypes.Shape", "uid": 3 }, { "expr": "\u0012fab.types.Shape('m-*f2f0X__iaam-Xf0-Yf-9-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975nm_-*f2f-9Y_aaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975iaa-f-0.45X-Xf-0.35a-f-9.06Y-Yf-8.94iaaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92m_-*f2f-9Y_aaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92',float('0.350000'),float('-9.120000'),float('-inf'),float('0.750000'),float('-8.880000'),float('inf'))", "name": "reflected", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ -342.94495623874536, 4416.5901505509164 ], "name": "r20", "script": [ "import fab", "", "title('Reflect (X)')", "", "input('x0', float)", "input('_y', float)", "input('_z', float)", "", "input('shape', fab.types.Shape)", "output('reflected', fab.shapes.reflect_x(shape, x0))", "", "# UI", "", "sb.ui.point(x0, _y, _z, color=sb.color.teal)", "" ], "uid": 79 }, { "datums": [ { "expr": "\u0011[__74.__2]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__95.__6]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('aaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975',float('-0.750000'),float('-8.975000'),float('-inf'),float('-0.650000'),float('-8.940000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ -1003.6872166666086, 4273.1406355404497 ], "name": "d15", "script": [ "import fab.types", "", "title('Difference')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a & ~b)", "" ], "uid": 80 }, { "datums": [ { "expr": "flexure3.out", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "m1.x", "name": "x0", "type": "float", "uid": 1 }, { "expr": "m1.y", "name": "y0", "type": "float", "uid": 2 }, { "expr": "m2.x", "name": "x1", "type": "float", "uid": 3 }, { "expr": "m2.y", "name": "y1", "type": "float", "uid": 4 }, { "expr": "\u0012fab.types.Shape('m-Xf2-Yf0-Zf0am__f1m-Xf2-Yf0-Zf0aaaam-Xf0-Yf-9-Zf0aa-f-0.75X-Xf0.75a-f-0.75Y-Yf0.75niaam-Xf0-Yf-9-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975nm_-*f2f-9Y_aaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975iaa-f-0.45X-Xf-0.35a-f-9.06Y-Yf-8.94iaaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92m_-*f2f-9Y_aaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92nm-*f2f0X__iaam-Xf0-Yf-9-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975nm_-*f2f-9Y_aaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975iaa-f-0.45X-Xf-0.35a-f-9.06Y-Yf-8.94iaaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92m_-*f2f-9Y_aaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92nm+f0-Yf-9+f-9-Xf0_m-*f2f0X__iaam-Xf0-Yf-9-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975nm_-*f2f-9Y_aaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975iaa-f-0.45X-Xf-0.35a-f-9.06Y-Yf-8.94iaaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92m_-*f2f-9Y_aaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92nm_-*f2f-9Y_m+f0-Yf-9+f-9-Xf0_m-*f2f0X__iaam-Xf0-Yf-9-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975nm_-*f2f-9Y_aaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975iaa-f-0.45X-Xf-0.35a-f-9.06Y-Yf-8.94iaaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92m_-*f2f-9Y_aaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92a-f-0.05Z-Zf0.05',float('3.250000'),float('-9.750000'),float('-0.050000'),float('4.750000'),float('-8.250000'),float('0.050000'))", "name": "out", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 807.38716737062862, 3894.5724555101933 ], "name": "s13", "script": [ "# Neil Gershenfeld 1/25/15", "# Matt Keeter 6/13/15", "", "import fab", "", "title('Set origin (XY)')", "", "input('a',fab.types.Shape)", "", "input('x0', float)", "input('y0', float)", "input('x1', float)", "input('y1', float)", "", "output('out', fab.shapes.origin_xy(a, x0, y0, x1, y1))", "", "" ], "uid": 81 }, { "datums": [ { "expr": "\u0011[__85.__2]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__101.__4]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('aaam-Xf0-Yf-9-Zf0aa-f-0.75X-Xf0.75a-f-0.75Y-Yf0.75niaam-Xf0-Yf-9-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975nm_-*f2f-9Y_aaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975iaa-f-0.45X-Xf-0.35a-f-9.06Y-Yf-8.94iaaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92m_-*f2f-9Y_aaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92nm-*f2f0X__iaam-Xf0-Yf-9-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975nm_-*f2f-9Y_aaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975iaa-f-0.45X-Xf-0.35a-f-9.06Y-Yf-8.94iaaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92m_-*f2f-9Y_aaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92nm+f0-Yf-9+f-9-Xf0_m-*f2f0X__iaam-Xf0-Yf-9-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975nm_-*f2f-9Y_aaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975iaa-f-0.45X-Xf-0.35a-f-9.06Y-Yf-8.94iaaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92m_-*f2f-9Y_aaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92',float('-0.750000'),float('-9.750000'),float('-inf'),float('0.750000'),float('-8.250000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ -21.357488308310963, 4510.6513071787913 ], "name": "d16", "script": [ "import fab.types", "", "title('Difference')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a & ~b)", "" ], "uid": 82 }, { "datums": [ { "expr": "m0.x-var.width/2", "name": "x0", "type": "float", "uid": 0 }, { "expr": "m0.y+var.thick/4", "name": "y0", "type": "float", "uid": 1 }, { "expr": "m0.x-var.width/2+var.thick", "name": "x1", "type": "float", "uid": 2 }, { "expr": "m0.y+var.thick/2+var.clear", "name": "y1", "type": "float", "uid": 3 }, { "expr": "\u0012fab.types.Shape('aa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94',float('-0.750000'),float('-8.975000'),float('-inf'),float('-0.650000'),float('-8.940000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ -1378.0139490589841, 3879.3048618573966 ], "name": "r21", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 6/11/15", "", "import fab", "", "title('Rectangle (corner)')", "", "input('x0', float)", "input('y0', float)", "input('x1', float)", "input('y1', float)", "", "output('shape', fab.shapes.rectangle(x0, x1, y0, y1))", "", "# UI", "sb.ui.wireframe([(x0, y0, 0), (x1, y0, 0),", " (x1, y1, 0), (x0, y1, 0)], close=True)", "sb.ui.point(x0, y0)", "sb.ui.point(x1, y1)", "", "" ], "uid": 83 }, { "datums": [ { "expr": "\u0011[__75.__2]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__106.__2]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('iaam-Xf0-Yf-9-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975nm_-*f2f-9Y_aaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975iaa-f-0.45X-Xf-0.35a-f-9.06Y-Yf-8.94iaaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92m_-*f2f-9Y_aaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92',float('-0.750000'),float('-9.120000'),float('-inf'),float('-0.350000'),float('-8.880000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ -369.8364250141401, 4198.774537158105 ], "name": "u8", "script": [ "import fab.types", "", "title('Union')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a | b)", "" ], "uid": 84 }, { "datums": [ { "expr": "\u0011[__102.__2]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__79.__4]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('aam-Xf0-Yf-9-Zf0aa-f-0.75X-Xf0.75a-f-0.75Y-Yf0.75niaam-Xf0-Yf-9-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975nm_-*f2f-9Y_aaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975iaa-f-0.45X-Xf-0.35a-f-9.06Y-Yf-8.94iaaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92m_-*f2f-9Y_aaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92nm-*f2f0X__iaam-Xf0-Yf-9-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975nm_-*f2f-9Y_aaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975iaa-f-0.45X-Xf-0.35a-f-9.06Y-Yf-8.94iaaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92m_-*f2f-9Y_aaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92',float('-0.750000'),float('-9.750000'),float('-inf'),float('0.750000'),float('-8.250000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ -25.170778441873381, 4292.0226728545431 ], "name": "d17", "script": [ "import fab.types", "", "title('Difference')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a & ~b)", "" ], "uid": 85 }, { "datums": [ { "expr": "\u0011[__81.__5]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__98.__5]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('im-Xf2-Yf0-Zf0am__f1m-Xf2-Yf0-Zf0aaaam-Xf0-Yf-9-Zf0aa-f-0.75X-Xf0.75a-f-0.75Y-Yf0.75niaam-Xf0-Yf-9-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975nm_-*f2f-9Y_aaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975iaa-f-0.45X-Xf-0.35a-f-9.06Y-Yf-8.94iaaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92m_-*f2f-9Y_aaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92nm-*f2f0X__iaam-Xf0-Yf-9-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975nm_-*f2f-9Y_aaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975iaa-f-0.45X-Xf-0.35a-f-9.06Y-Yf-8.94iaaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92m_-*f2f-9Y_aaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92nm+f0-Yf-9+f-9-Xf0_m-*f2f0X__iaam-Xf0-Yf-9-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975nm_-*f2f-9Y_aaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975iaa-f-0.45X-Xf-0.35a-f-9.06Y-Yf-8.94iaaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92m_-*f2f-9Y_aaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92nm_-*f2f-9Y_m+f0-Yf-9+f-9-Xf0_m-*f2f0X__iaam-Xf0-Yf-9-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975nm_-*f2f-9Y_aaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975iaa-f-0.45X-Xf-0.35a-f-9.06Y-Yf-8.94iaaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92m_-*f2f-9Y_aaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92a-f-0.05Z-Zf0.05m-Xf0-Yf1.1-Zf0m+f4-Zf0Y+f0-Xf4m-Xf2-Yf0-Zf0am__f1m-Xf2-Yf0-Zf0aaaam-Xf0-Yf-9-Zf0aa-f-0.75X-Xf0.75a-f-0.75Y-Yf0.75niaam-Xf0-Yf-9-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975nm_-*f2f-9Y_aaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975iaa-f-0.45X-Xf-0.35a-f-9.06Y-Yf-8.94iaaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92m_-*f2f-9Y_aaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92nm-*f2f0X__iaam-Xf0-Yf-9-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975nm_-*f2f-9Y_aaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975iaa-f-0.45X-Xf-0.35a-f-9.06Y-Yf-8.94iaaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92m_-*f2f-9Y_aaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92nm+f0-Yf-9+f-9-Xf0_m-*f2f0X__iaam-Xf0-Yf-9-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975nm_-*f2f-9Y_aaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975iaa-f-0.45X-Xf-0.35a-f-9.06Y-Yf-8.94iaaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92m_-*f2f-9Y_aaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92nm_-*f2f-9Y_m+f0-Yf-9+f-9-Xf0_m-*f2f0X__iaam-Xf0-Yf-9-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975nm_-*f2f-9Y_aaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975iaa-f-0.45X-Xf-0.35a-f-9.06Y-Yf-8.94iaaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92m_-*f2f-9Y_aaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92a-f-0.05Z-Zf0.05',float('3.250000'),float('-9.750000'),float('-0.750000'),float('4.750000'),float('-7.150000'),float('0.750000'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 1116.2636681891877, 4072.5259950764421 ], "name": "u9", "script": [ "import fab.types", "", "title('Union')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a | b)", "" ], "uid": 86 }, { "datums": [ { "expr": "flexure2.shape", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "m0.x", "name": "x0", "type": "float", "uid": 1 }, { "expr": "m0.y", "name": "y0", "type": "float", "uid": 2 }, { "expr": "m1.x", "name": "x1", "type": "float", "uid": 3 }, { "expr": "m1.y", "name": "y1", "type": "float", "uid": 4 }, { "expr": "\u0012fab.types.Shape('m-Xf2-Yf0-Zf0aaaam-Xf0-Yf-9-Zf0aa-f-0.75X-Xf0.75a-f-0.75Y-Yf0.75niaam-Xf0-Yf-9-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975nm_-*f2f-9Y_aaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975iaa-f-0.45X-Xf-0.35a-f-9.06Y-Yf-8.94iaaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92m_-*f2f-9Y_aaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92nm-*f2f0X__iaam-Xf0-Yf-9-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975nm_-*f2f-9Y_aaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975iaa-f-0.45X-Xf-0.35a-f-9.06Y-Yf-8.94iaaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92m_-*f2f-9Y_aaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92nm+f0-Yf-9+f-9-Xf0_m-*f2f0X__iaam-Xf0-Yf-9-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975nm_-*f2f-9Y_aaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975iaa-f-0.45X-Xf-0.35a-f-9.06Y-Yf-8.94iaaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92m_-*f2f-9Y_aaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92nm_-*f2f-9Y_m+f0-Yf-9+f-9-Xf0_m-*f2f0X__iaam-Xf0-Yf-9-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975nm_-*f2f-9Y_aaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975iaa-f-0.45X-Xf-0.35a-f-9.06Y-Yf-8.94iaaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92m_-*f2f-9Y_aaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92',float('1.250000'),float('-9.750000'),float('-inf'),float('2.750000'),float('-8.250000'),float('inf'))", "name": "out", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 401.78066296540726, 3897.1312264738035 ], "name": "s14", "script": [ "# Neil Gershenfeld 1/25/15", "# Matt Keeter 6/13/15", "", "import fab", "", "title('Set origin (XY)')", "", "input('a',fab.types.Shape)", "", "input('x0', float)", "input('y0', float)", "input('x1', float)", "input('y1', float)", "", "output('out', fab.shapes.origin_xy(a, x0, y0, x1, y1))", "" ], "uid": 87 }, { "datums": [ { "expr": "slot.shape", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "p0.x", "name": "x0", "type": "float", "uid": 1 }, { "expr": "p0.y", "name": "y0", "type": "float", "uid": 2 }, { "expr": "m0.x", "name": "x1", "type": "float", "uid": 3 }, { "expr": "m0.y", "name": "y1", "type": "float", "uid": 4 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf-9-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06',float('-0.750000'),float('-9.060000'),float('-inf'),float('-0.550000'),float('-8.940000'),float('inf'))", "name": "out", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ -1007.586978166332, 3878.7304831536412 ], "name": "s15", "script": [ "# Neil Gershenfeld 1/25/15", "# Matt Keeter 6/13/15", "", "import fab", "", "title('Set origin (XY)')", "", "input('a',fab.types.Shape)", "", "input('x0', float)", "input('y0', float)", "input('x1', float)", "input('y1', float)", "", "output('out', fab.shapes.origin_xy(a, x0, y0, x1, y1))", "" ], "uid": 88 }, { "datums": [ { "expr": "2", "name": "x", "type": "float", "uid": 0 }, { "expr": "-9", "name": "y", "type": "float", "uid": 1 } ], "inspector": [ 401.32000421872601, 3758.7188632900279 ], "name": "m1", "script": [ "import fab", "", "title('Point (2D)')", "", "input('x', float)", "input('y', float)", "", "sb.ui.point(x, y, 0)", "" ], "uid": 89 }, { "datums": [ { "expr": "tile.shape", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "p0.x", "name": "x0", "type": "float", "uid": 1 }, { "expr": "p0.y", "name": "y0", "type": "float", "uid": 2 }, { "expr": "m0.x", "name": "x1", "type": "float", "uid": 3 }, { "expr": "m0.y", "name": "y1", "type": "float", "uid": 4 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf-9-Zf0aa-f-0.75X-Xf0.75a-f-0.75Y-Yf0.75',float('-0.750000'),float('-9.750000'),float('-inf'),float('0.750000'),float('-8.250000'),float('inf'))", "name": "out", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ -342.14608641461177, 3873.8014542590654 ], "name": "s16", "script": [ "# Neil Gershenfeld 1/25/15", "# Matt Keeter 6/13/15", "", "import fab", "", "title('Set origin (XY)')", "", "input('a',fab.types.Shape)", "", "input('x0', float)", "input('y0', float)", "input('x1', float)", "input('y1', float)", "", "output('out', fab.shapes.origin_xy(a, x0, y0, x1, y1))", "" ], "uid": 90 }, { "datums": [ { "expr": "\u0011[__86.__2]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__78.__4]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('iim-Xf2-Yf0-Zf0am__f1m-Xf2-Yf0-Zf0aaaam-Xf0-Yf-9-Zf0aa-f-0.75X-Xf0.75a-f-0.75Y-Yf0.75niaam-Xf0-Yf-9-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975nm_-*f2f-9Y_aaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975iaa-f-0.45X-Xf-0.35a-f-9.06Y-Yf-8.94iaaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92m_-*f2f-9Y_aaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92nm-*f2f0X__iaam-Xf0-Yf-9-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975nm_-*f2f-9Y_aaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975iaa-f-0.45X-Xf-0.35a-f-9.06Y-Yf-8.94iaaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92m_-*f2f-9Y_aaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92nm+f0-Yf-9+f-9-Xf0_m-*f2f0X__iaam-Xf0-Yf-9-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975nm_-*f2f-9Y_aaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975iaa-f-0.45X-Xf-0.35a-f-9.06Y-Yf-8.94iaaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92m_-*f2f-9Y_aaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92nm_-*f2f-9Y_m+f0-Yf-9+f-9-Xf0_m-*f2f0X__iaam-Xf0-Yf-9-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975nm_-*f2f-9Y_aaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975iaa-f-0.45X-Xf-0.35a-f-9.06Y-Yf-8.94iaaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92m_-*f2f-9Y_aaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92a-f-0.05Z-Zf0.05m-Xf0-Yf1.1-Zf0m+f4-Zf0Y+f0-Xf4m-Xf2-Yf0-Zf0am__f1m-Xf2-Yf0-Zf0aaaam-Xf0-Yf-9-Zf0aa-f-0.75X-Xf0.75a-f-0.75Y-Yf0.75niaam-Xf0-Yf-9-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975nm_-*f2f-9Y_aaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975iaa-f-0.45X-Xf-0.35a-f-9.06Y-Yf-8.94iaaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92m_-*f2f-9Y_aaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92nm-*f2f0X__iaam-Xf0-Yf-9-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975nm_-*f2f-9Y_aaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975iaa-f-0.45X-Xf-0.35a-f-9.06Y-Yf-8.94iaaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92m_-*f2f-9Y_aaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92nm+f0-Yf-9+f-9-Xf0_m-*f2f0X__iaam-Xf0-Yf-9-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975nm_-*f2f-9Y_aaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975iaa-f-0.45X-Xf-0.35a-f-9.06Y-Yf-8.94iaaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92m_-*f2f-9Y_aaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92nm_-*f2f-9Y_m+f0-Yf-9+f-9-Xf0_m-*f2f0X__iaam-Xf0-Yf-9-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975nm_-*f2f-9Y_aaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975iaa-f-0.45X-Xf-0.35a-f-9.06Y-Yf-8.94iaaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92m_-*f2f-9Y_aaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92a-f-0.05Z-Zf0.05m+f4-Yf-9+f-9-Xf4_m-Xf0-Yf1.1-Zf0m+f4-Zf0Y+f0-Xf4m-Xf2-Yf0-Zf0am__f1m-Xf2-Yf0-Zf0aaaam-Xf0-Yf-9-Zf0aa-f-0.75X-Xf0.75a-f-0.75Y-Yf0.75niaam-Xf0-Yf-9-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975nm_-*f2f-9Y_aaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975iaa-f-0.45X-Xf-0.35a-f-9.06Y-Yf-8.94iaaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92m_-*f2f-9Y_aaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92nm-*f2f0X__iaam-Xf0-Yf-9-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975nm_-*f2f-9Y_aaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975iaa-f-0.45X-Xf-0.35a-f-9.06Y-Yf-8.94iaaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92m_-*f2f-9Y_aaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92nm+f0-Yf-9+f-9-Xf0_m-*f2f0X__iaam-Xf0-Yf-9-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975nm_-*f2f-9Y_aaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975iaa-f-0.45X-Xf-0.35a-f-9.06Y-Yf-8.94iaaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92m_-*f2f-9Y_aaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92nm_-*f2f-9Y_m+f0-Yf-9+f-9-Xf0_m-*f2f0X__iaam-Xf0-Yf-9-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975nm_-*f2f-9Y_aaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975iaa-f-0.45X-Xf-0.35a-f-9.06Y-Yf-8.94iaaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92m_-*f2f-9Y_aaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92a-f-0.05Z-Zf0.05',float('3.250000'),float('-9.750000'),float('-0.750000'),float('5.850000'),float('-7.150000'),float('0.750000'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 1124.1795991386998, 4528.6588964120665 ], "name": "u10", "script": [ "import fab.types", "", "title('Union')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a | b)", "" ], "uid": 91 }, { "datums": [ { "expr": "\u0011[__88.__5]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__80.__2]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('am-Xf0-Yf-9-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975',float('-0.750000'),float('-9.060000'),float('-inf'),float('-0.550000'),float('-8.940000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ -713.20864907074122, 3969.6818710638372 ], "name": "d18", "script": [ "import fab.types", "", "title('Difference')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a & ~b)", "" ], "uid": 92 }, { "datums": [ { "expr": "4", "name": "x", "type": "float", "uid": 0 }, { "expr": "-9", "name": "y", "type": "float", "uid": 1 } ], "inspector": [ 806.03646886346826, 3749.9875194778479 ], "name": "m2", "script": [ "import fab", "", "title('Point (2D)')", "", "input('x', float)", "input('y', float)", "", "sb.ui.point(x, y, 0)", "" ], "uid": 93 }, { "datums": [ { "expr": "0.0", "name": "_x", "type": "float", "uid": 0 }, { "expr": "m0.y", "name": "y0", "type": "float", "uid": 1 }, { "expr": "0.0", "name": "_z", "type": "float", "uid": 2 }, { "expr": "\u0011[__101.__4]", "name": "shape", "type": "_fabtypes.Shape", "uid": 3 }, { "expr": "\u0012fab.types.Shape('m_-*f2f-9Y_m+f0-Yf-9+f-9-Xf0_m-*f2f0X__iaam-Xf0-Yf-9-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975nm_-*f2f-9Y_aaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975iaa-f-0.45X-Xf-0.35a-f-9.06Y-Yf-8.94iaaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92m_-*f2f-9Y_aaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92',float('-0.120000'),float('-9.750000'),float('-inf'),float('0.120000'),float('-9.350000'),float('inf'))", "name": "reflected", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ -342.94495623874548, 4815.7145178637884 ], "name": "r22", "script": [ "import fab", "", "title('Reflect (Y)')", "", "input('_x', float)", "input('y0', float)", "input('_z', float)", "", "input('shape', fab.types.Shape)", "output('reflected', fab.shapes.reflect_y(shape, y0))", "", "# UI", "", "sb.ui.point(_x, y0, _z, color=sb.color.teal)", "", "" ], "uid": 94 }, { "datums": [ { "expr": "m0.x-var.width/2+var.thick", "name": "x0", "type": "float", "uid": 0 }, { "expr": "m0.y+var.thick/4", "name": "y0", "type": "float", "uid": 1 }, { "expr": "m0.x-var.width/2+var.thick", "name": "x1", "type": "float", "uid": 2 }, { "expr": "m0.y+var.thick/2+var.clear", "name": "y1", "type": "float", "uid": 3 }, { "expr": "m0.x-var.width/2+.75*var.thick", "name": "x2", "type": "float", "uid": 4 }, { "expr": "m0.y+var.thick/4", "name": "y2", "type": "float", "uid": 5 }, { "expr": "\u0012fab.types.Shape('ni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975',float('-0.675000'),float('-8.975000'),float('-inf'),float('-0.650000'),float('-8.940000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 6 } ], "inspector": [ -1376.8662980396298, 4427.5984426344203 ], "name": "t4", "script": [ "import fab", "", "title('Triangle')", "", "input('x0', float)", "input('y0', float)", "input('x1', float)", "input('y1', float)", "input('x2', float)", "input('y2', float)", "", "output('shape', fab.shapes.triangle(x0, y0, x1, y1, x2, y2))", "", "# UI", "sb.ui.wireframe([(x0, y0, 0), (x1, y1, 0), (x2, y2, 0)], close=True)", "sb.ui.point(x0, y0, 0)", "sb.ui.point(x1, y1, 0)", "sb.ui.point(x2, y2, 0)", "" ], "uid": 95 }, { "datums": [ { "expr": "\u0011[__82.__2]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__94.__4]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('aaaam-Xf0-Yf-9-Zf0aa-f-0.75X-Xf0.75a-f-0.75Y-Yf0.75niaam-Xf0-Yf-9-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975nm_-*f2f-9Y_aaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975iaa-f-0.45X-Xf-0.35a-f-9.06Y-Yf-8.94iaaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92m_-*f2f-9Y_aaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92nm-*f2f0X__iaam-Xf0-Yf-9-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975nm_-*f2f-9Y_aaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975iaa-f-0.45X-Xf-0.35a-f-9.06Y-Yf-8.94iaaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92m_-*f2f-9Y_aaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92nm+f0-Yf-9+f-9-Xf0_m-*f2f0X__iaam-Xf0-Yf-9-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975nm_-*f2f-9Y_aaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975iaa-f-0.45X-Xf-0.35a-f-9.06Y-Yf-8.94iaaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92m_-*f2f-9Y_aaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92nm_-*f2f-9Y_m+f0-Yf-9+f-9-Xf0_m-*f2f0X__iaam-Xf0-Yf-9-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975nm_-*f2f-9Y_aaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975iaa-f-0.45X-Xf-0.35a-f-9.06Y-Yf-8.94iaaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92m_-*f2f-9Y_aaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92',float('-0.750000'),float('-9.750000'),float('-inf'),float('0.750000'),float('-8.250000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ -4.8332310628735513, 4735.6354250589766 ], "name": "flexure2", "script": [ "import fab.types", "", "title('Difference')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a & ~b)", "" ], "uid": 96 }, { "datums": [ { "expr": "0.0", "name": "_x", "type": "float", "uid": 0 }, { "expr": "0.0", "name": "_y", "type": "float", "uid": 1 }, { "expr": "-var.thick/2", "name": "zmin", "type": "float", "uid": 2 }, { "expr": "var.thick/2", "name": "zmax", "type": "float", "uid": 3 }, { "expr": "\u0011[__87.__5]", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 }, { "expr": "\u0012fab.types.Shape('am__f1m-Xf2-Yf0-Zf0aaaam-Xf0-Yf-9-Zf0aa-f-0.75X-Xf0.75a-f-0.75Y-Yf0.75niaam-Xf0-Yf-9-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975nm_-*f2f-9Y_aaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975iaa-f-0.45X-Xf-0.35a-f-9.06Y-Yf-8.94iaaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92m_-*f2f-9Y_aaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92nm-*f2f0X__iaam-Xf0-Yf-9-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975nm_-*f2f-9Y_aaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975iaa-f-0.45X-Xf-0.35a-f-9.06Y-Yf-8.94iaaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92m_-*f2f-9Y_aaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92nm+f0-Yf-9+f-9-Xf0_m-*f2f0X__iaam-Xf0-Yf-9-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975nm_-*f2f-9Y_aaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975iaa-f-0.45X-Xf-0.35a-f-9.06Y-Yf-8.94iaaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92m_-*f2f-9Y_aaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92nm_-*f2f-9Y_m+f0-Yf-9+f-9-Xf0_m-*f2f0X__iaam-Xf0-Yf-9-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975nm_-*f2f-9Y_aaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975iaa-f-0.45X-Xf-0.35a-f-9.06Y-Yf-8.94iaaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92m_-*f2f-9Y_aaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92a-f-0.05Z-Zf0.05',float('1.250000'),float('-9.750000'),float('-0.050000'),float('2.750000'),float('-8.250000'),float('0.050000'))", "name": "out", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 403.6410297684273, 4182.7789762777547 ], "name": "flexure3", "script": [ "import fab", "", "title('Extrude')", "", "input('_x', float)", "input('_y', float)", "input('zmin', float)", "input('zmax', float)", "", "input('shape', fab.types.Shape)", "output('out', fab.shapes.extrude_z(shape, zmin, zmax))", "", "# UI", "sb.ui.wireframe([(_x, _y, zmin), (_x, _y, zmax)], color=sb.color.green)", "sb.ui.point(_x, _y, zmin, color=sb.color.green)", "sb.ui.point(_x, _y, zmax, color=sb.color.green)", "", "" ], "uid": 97 }, { "datums": [ { "expr": "\u0011[__99.__4]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "m2.x", "name": "x0", "type": "float", "uid": 1 }, { "expr": "m2.y", "name": "y0", "type": "float", "uid": 2 }, { "expr": "m2.x", "name": "x1", "type": "float", "uid": 3 }, { "expr": "m2.y+var.width-var.length*2", "name": "y1", "type": "float", "uid": 4 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf1.1-Zf0m+f4-Zf0Y+f0-Xf4m-Xf2-Yf0-Zf0am__f1m-Xf2-Yf0-Zf0aaaam-Xf0-Yf-9-Zf0aa-f-0.75X-Xf0.75a-f-0.75Y-Yf0.75niaam-Xf0-Yf-9-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975nm_-*f2f-9Y_aaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975iaa-f-0.45X-Xf-0.35a-f-9.06Y-Yf-8.94iaaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92m_-*f2f-9Y_aaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92nm-*f2f0X__iaam-Xf0-Yf-9-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975nm_-*f2f-9Y_aaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975iaa-f-0.45X-Xf-0.35a-f-9.06Y-Yf-8.94iaaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92m_-*f2f-9Y_aaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92nm+f0-Yf-9+f-9-Xf0_m-*f2f0X__iaam-Xf0-Yf-9-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975nm_-*f2f-9Y_aaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975iaa-f-0.45X-Xf-0.35a-f-9.06Y-Yf-8.94iaaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92m_-*f2f-9Y_aaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92nm_-*f2f-9Y_m+f0-Yf-9+f-9-Xf0_m-*f2f0X__iaam-Xf0-Yf-9-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975nm_-*f2f-9Y_aaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975iaa-f-0.45X-Xf-0.35a-f-9.06Y-Yf-8.94iaaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92m_-*f2f-9Y_aaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92a-f-0.05Z-Zf0.05',float('3.950000'),float('-8.650000'),float('-0.750000'),float('4.050000'),float('-7.150000'),float('0.750000'))", "name": "out", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 813.74265092656594, 4375.0470123390633 ], "name": "s17", "script": [ "# Neil Gershenfeld 1/25/15", "# Matt Keeter 6/13/15", "", "import fab", "", "title('Set origin (XY)')", "", "input('a',fab.types.Shape)", "", "input('x0', float)", "input('y0', float)", "input('x1', float)", "input('y1', float)", "", "output('out', fab.shapes.origin_xy(a, x0, y0, x1, y1))", "" ], "uid": 98 }, { "datums": [ { "expr": "m2.x", "name": "x0", "type": "float", "uid": 0 }, { "expr": "0", "name": "_y", "type": "float", "uid": 1 }, { "expr": "0", "name": "z0", "type": "float", "uid": 2 }, { "expr": "\u0011[__81.__5]", "name": "shape", "type": "_fabtypes.Shape", "uid": 3 }, { "expr": "\u0012fab.types.Shape('m+f4-Zf0Y+f0-Xf4m-Xf2-Yf0-Zf0am__f1m-Xf2-Yf0-Zf0aaaam-Xf0-Yf-9-Zf0aa-f-0.75X-Xf0.75a-f-0.75Y-Yf0.75niaam-Xf0-Yf-9-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975nm_-*f2f-9Y_aaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975iaa-f-0.45X-Xf-0.35a-f-9.06Y-Yf-8.94iaaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92m_-*f2f-9Y_aaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92nm-*f2f0X__iaam-Xf0-Yf-9-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975nm_-*f2f-9Y_aaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975iaa-f-0.45X-Xf-0.35a-f-9.06Y-Yf-8.94iaaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92m_-*f2f-9Y_aaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92nm+f0-Yf-9+f-9-Xf0_m-*f2f0X__iaam-Xf0-Yf-9-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975nm_-*f2f-9Y_aaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975iaa-f-0.45X-Xf-0.35a-f-9.06Y-Yf-8.94iaaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92m_-*f2f-9Y_aaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92nm_-*f2f-9Y_m+f0-Yf-9+f-9-Xf0_m-*f2f0X__iaam-Xf0-Yf-9-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975nm_-*f2f-9Y_aaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975iaa-f-0.45X-Xf-0.35a-f-9.06Y-Yf-8.94iaaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92m_-*f2f-9Y_aaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92a-f-0.05Z-Zf0.05',float('3.950000'),float('-9.750000'),float('-0.750000'),float('4.050000'),float('-8.250000'),float('0.750000'))", "name": "out", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 807.38716737062862, 4171.6715385490652 ], "name": "r23", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 5/31/15", "", "import fab", "", "title('Reflect (XZ)')", "", "input('x0', float)", "input('_y', float)", "input('z0', float)", "", "input('shape', fab.types.Shape)", "output('out', fab.shapes.reflect_xz(shape, x0, z0))", "", "# UI", "", "sb.ui.point(x0, _y, z0, color=sb.color.teal)", "", "" ], "uid": 99 }, { "datums": [ { "expr": "m0.x-var.width/2+2*var.length-var.thick", "name": "x0", "type": "float", "uid": 0 }, { "expr": "m0.y-var.thick/2-var.clear", "name": "y0", "type": "float", "uid": 1 }, { "expr": "m0.x-var.width/2+2*var.length", "name": "x1", "type": "float", "uid": 2 }, { "expr": "m0.y+var.thick/2+var.clear", "name": "y1", "type": "float", "uid": 3 }, { "expr": "\u0012fab.types.Shape('aa-f-0.45X-Xf-0.35a-f-9.06Y-Yf-8.94',float('-0.450000'),float('-9.060000'),float('-inf'),float('-0.350000'),float('-8.940000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ -709.82636132415848, 4495.8909358163037 ], "name": "r24", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 6/11/15", "", "import fab", "", "title('Rectangle (corner)')", "", "input('x0', float)", "input('y0', float)", "input('x1', float)", "input('y1', float)", "", "output('shape', fab.shapes.rectangle(x0, x1, y0, y1))", "", "# UI", "sb.ui.wireframe([(x0, y0, 0), (x1, y0, 0),", " (x1, y1, 0), (x0, y1, 0)], close=True)", "sb.ui.point(x0, y0)", "sb.ui.point(x1, y1)", "", "" ], "uid": 100 }, { "datums": [ { "expr": "m0.x", "name": "x0", "type": "float", "uid": 0 }, { "expr": "m0.y", "name": "y0", "type": "float", "uid": 1 }, { "expr": "0", "name": "_z", "type": "float", "uid": 2 }, { "expr": "\u0011[__79.__4]", "name": "shape", "type": "_fabtypes.Shape", "uid": 3 }, { "expr": "\u0012fab.types.Shape('m+f0-Yf-9+f-9-Xf0_m-*f2f0X__iaam-Xf0-Yf-9-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975nm_-*f2f-9Y_aaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975iaa-f-0.45X-Xf-0.35a-f-9.06Y-Yf-8.94iaaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92m_-*f2f-9Y_aaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92',float('-0.120000'),float('-8.650000'),float('-inf'),float('0.120000'),float('-8.250000'),float('inf'))", "name": "reflected", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ -342.94495623874536, 4595.8147868283531 ], "name": "r25", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 5/31/15", "", "import fab", "", "title('Reflect (XY)')", "", "input('x0',float)", "input('y0',float)", "input('_z', float)", "", "input('shape', fab.types.Shape)", "output('reflected', fab.shapes.reflect_xy(shape, x0, y0))", "", "# UI", "", "sb.ui.point(x0, y0, _z, color=sb.color.teal)", "" ], "uid": 101 }, { "datums": [ { "expr": "\u0011[__90.__5]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__84.__2]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('am-Xf0-Yf-9-Zf0aa-f-0.75X-Xf0.75a-f-0.75Y-Yf0.75niaam-Xf0-Yf-9-Zf0aa-f-0.75X-Xf-0.55a-f-0.06Y-Yf0.06naaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975nm_-*f2f-9Y_aaaa-f-0.75X-Xf-0.65a-f-8.975Y-Yf-8.94nni-*f0.035-Xf-0.75*f0-Yf-8.975i-*f-0.035-Xf-0.75*f0.025-Yf-8.94-*f0-Xf-0.725*f-0.025-Yf-8.975nni-*f-0.035-Xf-0.65*f0-Yf-8.94i-*f0-Xf-0.65*f-0.025-Yf-8.975-*f0.035-Xf-0.675*f0.025-Yf-8.975iaa-f-0.45X-Xf-0.35a-f-9.06Y-Yf-8.94iaaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92m_-*f2f-9Y_aaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92',float('-0.750000'),float('-9.750000'),float('-inf'),float('0.750000'),float('-8.250000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ -34.068455420185842, 4031.4478470611075 ], "name": "d19", "script": [ "import fab.types", "", "title('Difference')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a & ~b)", "" ], "uid": 102 }, { "datums": [ { "expr": "m0.x-var.width/2", "name": "x0", "type": "float", "uid": 0 }, { "expr": "m0.y+var.thick/2+var.clear+var.flex", "name": "y0", "type": "float", "uid": 1 }, { "expr": "m0.x-var.width/2+var.length", "name": "x1", "type": "float", "uid": 2 }, { "expr": "m0.y+var.thick/2+var.clear+3*var.flex", "name": "y1", "type": "float", "uid": 3 }, { "expr": "\u0012fab.types.Shape('aa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88',float('-0.750000'),float('-8.920000'),float('-inf'),float('-0.550000'),float('-8.880000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ -1033.0082028791362, 4826.1814647434794 ], "name": "r26", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 6/11/15", "", "import fab", "", "title('Rectangle (corner)')", "", "input('x0', float)", "input('y0', float)", "input('x1', float)", "input('y1', float)", "", "output('shape', fab.shapes.rectangle(x0, x1, y0, y1))", "", "# UI", "sb.ui.wireframe([(x0, y0, 0), (x1, y0, 0),", " (x1, y1, 0), (x0, y1, 0)], close=True)", "sb.ui.point(x0, y0)", "sb.ui.point(x1, y1)", "", "" ], "uid": 103 }, { "datums": [ { "expr": "0.0", "name": "_x", "type": "float", "uid": 0 }, { "expr": "m0.y", "name": "y0", "type": "float", "uid": 1 }, { "expr": "0.0", "name": "_z", "type": "float", "uid": 2 }, { "expr": "\u0011[__108.__2]", "name": "shape", "type": "_fabtypes.Shape", "uid": 3 }, { "expr": "\u0012fab.types.Shape('m_-*f2f-9Y_aaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92',float('-0.750000'),float('-9.120000'),float('-inf'),float('-0.550000'),float('-9.080000'),float('inf'))", "name": "reflected", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ -1006.0162704473845, 5349.6563213391546 ], "name": "r27", "script": [ "import fab", "", "title('Reflect (Y)')", "", "input('_x', float)", "input('y0', float)", "input('_z', float)", "", "input('shape', fab.types.Shape)", "output('reflected', fab.shapes.reflect_y(shape, y0))", "", "# UI", "", "sb.ui.point(_x, y0, _z, color=sb.color.teal)", "", "" ], "uid": 104 }, { "datums": [ { "expr": "\u0011[__108.__2]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__104.__4]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('iaaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92m_-*f2f-9Y_aaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92',float('-0.750000'),float('-9.120000'),float('-inf'),float('-0.550000'),float('-8.880000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ -707.9373755000114, 4999.9868484201206 ], "name": "u11", "script": [ "import fab.types", "", "title('Union')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a | b)", "" ], "uid": 105 }, { "datums": [ { "expr": "\u0011[__100.__4]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__105.__2]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('iaa-f-0.45X-Xf-0.35a-f-9.06Y-Yf-8.94iaaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92m_-*f2f-9Y_aaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92',float('-0.750000'),float('-9.120000'),float('-inf'),float('-0.350000'),float('-8.880000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ -697.90587422774399, 4807.955252636717 ], "name": "u12", "script": [ "import fab.types", "", "title('Union')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a | b)", "" ], "uid": 106 }, { "datums": [ { "expr": "m0.x-var.width/2+var.length", "name": "x0", "type": "float", "uid": 0 }, { "expr": "m0.y+var.thick/2+var.clear+var.flex", "name": "y0", "type": "float", "uid": 1 }, { "expr": "m0.x-var.width/2+var.length", "name": "x1", "type": "float", "uid": 2 }, { "expr": "m0.y+var.thick/2+var.clear+2*var.flex", "name": "y1", "type": "float", "uid": 3 }, { "expr": "m0.x-var.width/2+var.length-var.flex", "name": "x2", "type": "float", "uid": 4 }, { "expr": "m0.y+var.thick/2+var.clear+var.flex", "name": "y2", "type": "float", "uid": 5 }, { "expr": "\u0012fab.types.Shape('ni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92',float('-0.570000'),float('-8.920000'),float('-inf'),float('-0.550000'),float('-8.900000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 6 } ], "inspector": [ -1368.5833878593337, 4767.8292475476464 ], "name": "t5", "script": [ "import fab", "", "title('Triangle')", "", "input('x0', float)", "input('y0', float)", "input('x1', float)", "input('y1', float)", "input('x2', float)", "input('y2', float)", "", "output('shape', fab.shapes.triangle(x0, y0, x1, y1, x2, y2))", "", "# UI", "sb.ui.wireframe([(x0, y0, 0), (x1, y1, 0), (x2, y2, 0)], close=True)", "sb.ui.point(x0, y0, 0)", "sb.ui.point(x1, y1, 0)", "sb.ui.point(x2, y2, 0)", "" ], "uid": 107 }, { "datums": [ { "expr": "\u0011[__103.__4]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__107.__6]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('aaa-f-0.75X-Xf-0.55a-f-8.92Y-Yf-8.88nni-*f-0.02-Xf-0.55*f0-Yf-8.9i-*f0-Xf-0.55*f-0.02-Yf-8.92-*f0.02-Xf-0.57*f0.02-Yf-8.92',float('-0.750000'),float('-8.920000'),float('-inf'),float('-0.550000'),float('-8.880000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ -1024.6462013815953, 5104.6010759737665 ], "name": "d20", "script": [ "import fab.types", "", "title('Difference')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a & ~b)", "" ], "uid": 108 }, { "datums": [ { "expr": "l0.x", "name": "x0", "type": "float", "uid": 0 }, { "expr": "l0.y", "name": "y0", "type": "float", "uid": 1 }, { "expr": "0", "name": "_z", "type": "float", "uid": 2 }, { "expr": "\u0011[__127.__4]", "name": "shape", "type": "_fabtypes.Shape", "uid": 3 }, { "expr": "\u0012fab.types.Shape('m+f0-Yf-12+f-12-Xf0_m-*f2f0X__iiaa-f-0.75X-Xf-0.45a-f-12.05Y-Yf-11.95ni-*f-0.1-Xf-0.65*f-0.1-Yf-12i-*f0.2-Xf-0.75*f0-Yf-12.1-*f-0.1-Xf-0.75*f0.1-Yf-11.9iaa-f-0.65X-Xf-0.55a-f-12.125Y-Yf-11.875aa-f-0.35X-Xf-0.25a-f-12.125Y-Yf-11.875',float('-0.125000'),float('-11.750000'),float('-inf'),float('0.125000'),float('-11.250000'),float('inf'))", "name": "reflected", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ -334.38953897996498, 6556.89517281183 ], "name": "r28", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 5/31/15", "", "import fab", "", "title('Reflect (XY)')", "", "input('x0',float)", "input('y0',float)", "input('_z', float)", "", "input('shape', fab.types.Shape)", "output('reflected', fab.shapes.reflect_xy(shape, x0, y0))", "", "# UI", "", "sb.ui.point(x0, y0, _z, color=sb.color.teal)", "" ], "uid": 109 }, { "datums": [ { "expr": "pin2.shape", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "l0.x", "name": "x0", "type": "float", "uid": 1 }, { "expr": "l0.y", "name": "y0", "type": "float", "uid": 2 }, { "expr": "l1.x", "name": "x1", "type": "float", "uid": 3 }, { "expr": "l1.y", "name": "y1", "type": "float", "uid": 4 }, { "expr": "\u0012fab.types.Shape('m-Xf2-Yf0-Zf0aaaam-Xf0-Yf-12-Zf0aa-f-0.75X-Xf0.75a-f-0.75Y-Yf0.75niiaa-f-0.75X-Xf-0.45a-f-12.05Y-Yf-11.95ni-*f-0.1-Xf-0.65*f-0.1-Yf-12i-*f0.2-Xf-0.75*f0-Yf-12.1-*f-0.1-Xf-0.75*f0.1-Yf-11.9iaa-f-0.65X-Xf-0.55a-f-12.125Y-Yf-11.875aa-f-0.35X-Xf-0.25a-f-12.125Y-Yf-11.875nm-*f2f0X__iiaa-f-0.75X-Xf-0.45a-f-12.05Y-Yf-11.95ni-*f-0.1-Xf-0.65*f-0.1-Yf-12i-*f0.2-Xf-0.75*f0-Yf-12.1-*f-0.1-Xf-0.75*f0.1-Yf-11.9iaa-f-0.65X-Xf-0.55a-f-12.125Y-Yf-11.875aa-f-0.35X-Xf-0.25a-f-12.125Y-Yf-11.875nm+f0-Yf-12+f-12-Xf0_m-*f2f0X__iiaa-f-0.75X-Xf-0.45a-f-12.05Y-Yf-11.95ni-*f-0.1-Xf-0.65*f-0.1-Yf-12i-*f0.2-Xf-0.75*f0-Yf-12.1-*f-0.1-Xf-0.75*f0.1-Yf-11.9iaa-f-0.65X-Xf-0.55a-f-12.125Y-Yf-11.875aa-f-0.35X-Xf-0.25a-f-12.125Y-Yf-11.875nm_-*f2f-12Y_m+f0-Yf-12+f-12-Xf0_m-*f2f0X__iiaa-f-0.75X-Xf-0.45a-f-12.05Y-Yf-11.95ni-*f-0.1-Xf-0.65*f-0.1-Yf-12i-*f0.2-Xf-0.75*f0-Yf-12.1-*f-0.1-Xf-0.75*f0.1-Yf-11.9iaa-f-0.65X-Xf-0.55a-f-12.125Y-Yf-11.875aa-f-0.35X-Xf-0.25a-f-12.125Y-Yf-11.875',float('1.250000'),float('-12.750000'),float('-inf'),float('2.750000'),float('-11.250000'),float('inf'))", "name": "out", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 410.3360802241873, 5858.2116124572804 ], "name": "s18", "script": [ "# Neil Gershenfeld 1/25/15", "# Matt Keeter 6/13/15", "", "import fab", "", "title('Set origin (XY)')", "", "input('a',fab.types.Shape)", "", "input('x0', float)", "input('y0', float)", "input('x1', float)", "input('y1', float)", "", "output('out', fab.shapes.origin_xy(a, x0, y0, x1, y1))", "" ], "uid": 110 }, { "datums": [ { "expr": "l0.x-var.width/2+var.thick", "name": "x0", "type": "float", "uid": 0 }, { "expr": "l0.y", "name": "y0", "type": "float", "uid": 1 }, { "expr": "l0.x-var.width/2", "name": "x1", "type": "float", "uid": 2 }, { "expr": "l0.y-var.thick", "name": "y1", "type": "float", "uid": 3 }, { "expr": "l0.x-var.width/2", "name": "x2", "type": "float", "uid": 4 }, { "expr": "l0.y+var.thick", "name": "y2", "type": "float", "uid": 5 }, { "expr": "\u0012fab.types.Shape('ni-*f-0.1-Xf-0.65*f-0.1-Yf-12i-*f0.2-Xf-0.75*f0-Yf-12.1-*f-0.1-Xf-0.75*f0.1-Yf-11.9',float('-0.750000'),float('-12.100000'),float('-inf'),float('-0.650000'),float('-11.900000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 6 } ], "inspector": [ -729.14654383533161, 6325.6657885660516 ], "name": "t6", "script": [ "import fab", "", "title('Triangle')", "", "input('x0', float)", "input('y0', float)", "input('x1', float)", "input('y1', float)", "input('x2', float)", "input('y2', float)", "", "output('shape', fab.shapes.triangle(x0, y0, x1, y1, x2, y2))", "", "# UI", "sb.ui.wireframe([(x0, y0, 0), (x1, y1, 0), (x2, y2, 0)], close=True)", "sb.ui.point(x0, y0, 0)", "sb.ui.point(x1, y1, 0)", "sb.ui.point(x2, y2, 0)", "" ], "uid": 111 }, { "datums": [ { "expr": "\u0011[__126.__2]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__127.__4]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('aam-Xf0-Yf-12-Zf0aa-f-0.75X-Xf0.75a-f-0.75Y-Yf0.75niiaa-f-0.75X-Xf-0.45a-f-12.05Y-Yf-11.95ni-*f-0.1-Xf-0.65*f-0.1-Yf-12i-*f0.2-Xf-0.75*f0-Yf-12.1-*f-0.1-Xf-0.75*f0.1-Yf-11.9iaa-f-0.65X-Xf-0.55a-f-12.125Y-Yf-11.875aa-f-0.35X-Xf-0.25a-f-12.125Y-Yf-11.875nm-*f2f0X__iiaa-f-0.75X-Xf-0.45a-f-12.05Y-Yf-11.95ni-*f-0.1-Xf-0.65*f-0.1-Yf-12i-*f0.2-Xf-0.75*f0-Yf-12.1-*f-0.1-Xf-0.75*f0.1-Yf-11.9iaa-f-0.65X-Xf-0.55a-f-12.125Y-Yf-11.875aa-f-0.35X-Xf-0.25a-f-12.125Y-Yf-11.875',float('-0.750000'),float('-12.750000'),float('-inf'),float('0.750000'),float('-11.250000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ -16.615361183093228, 6253.1030588380208 ], "name": "d21", "script": [ "import fab.types", "", "title('Difference')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a & ~b)", "" ], "uid": 112 }, { "datums": [ { "expr": "4", "name": "x", "type": "float", "uid": 0 }, { "expr": "-12", "name": "y", "type": "float", "uid": 1 } ], "inspector": [ 814.59188612224807, 5711.0679054613247 ], "name": "l2", "script": [ "import fab", "", "title('Point (2D)')", "", "input('x', float)", "input('y', float)", "", "sb.ui.point(x, y, 0)", "" ], "uid": 113 }, { "datums": [ { "expr": "\u0011[__116.__5]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__120.__5]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('im-Xf2-Yf0-Zf0am__f1m-Xf2-Yf0-Zf0aaaam-Xf0-Yf-12-Zf0aa-f-0.75X-Xf0.75a-f-0.75Y-Yf0.75niiaa-f-0.75X-Xf-0.45a-f-12.05Y-Yf-11.95ni-*f-0.1-Xf-0.65*f-0.1-Yf-12i-*f0.2-Xf-0.75*f0-Yf-12.1-*f-0.1-Xf-0.75*f0.1-Yf-11.9iaa-f-0.65X-Xf-0.55a-f-12.125Y-Yf-11.875aa-f-0.35X-Xf-0.25a-f-12.125Y-Yf-11.875nm-*f2f0X__iiaa-f-0.75X-Xf-0.45a-f-12.05Y-Yf-11.95ni-*f-0.1-Xf-0.65*f-0.1-Yf-12i-*f0.2-Xf-0.75*f0-Yf-12.1-*f-0.1-Xf-0.75*f0.1-Yf-11.9iaa-f-0.65X-Xf-0.55a-f-12.125Y-Yf-11.875aa-f-0.35X-Xf-0.25a-f-12.125Y-Yf-11.875nm+f0-Yf-12+f-12-Xf0_m-*f2f0X__iiaa-f-0.75X-Xf-0.45a-f-12.05Y-Yf-11.95ni-*f-0.1-Xf-0.65*f-0.1-Yf-12i-*f0.2-Xf-0.75*f0-Yf-12.1-*f-0.1-Xf-0.75*f0.1-Yf-11.9iaa-f-0.65X-Xf-0.55a-f-12.125Y-Yf-11.875aa-f-0.35X-Xf-0.25a-f-12.125Y-Yf-11.875nm_-*f2f-12Y_m+f0-Yf-12+f-12-Xf0_m-*f2f0X__iiaa-f-0.75X-Xf-0.45a-f-12.05Y-Yf-11.95ni-*f-0.1-Xf-0.65*f-0.1-Yf-12i-*f0.2-Xf-0.75*f0-Yf-12.1-*f-0.1-Xf-0.75*f0.1-Yf-11.9iaa-f-0.65X-Xf-0.55a-f-12.125Y-Yf-11.875aa-f-0.35X-Xf-0.25a-f-12.125Y-Yf-11.875a-f-0.05Z-Zf0.05m-Xf0-Yf0.9-Zf0m+f4-Zf0Y+f0-Xf4m-Xf2-Yf0-Zf0am__f1m-Xf2-Yf0-Zf0aaaam-Xf0-Yf-12-Zf0aa-f-0.75X-Xf0.75a-f-0.75Y-Yf0.75niiaa-f-0.75X-Xf-0.45a-f-12.05Y-Yf-11.95ni-*f-0.1-Xf-0.65*f-0.1-Yf-12i-*f0.2-Xf-0.75*f0-Yf-12.1-*f-0.1-Xf-0.75*f0.1-Yf-11.9iaa-f-0.65X-Xf-0.55a-f-12.125Y-Yf-11.875aa-f-0.35X-Xf-0.25a-f-12.125Y-Yf-11.875nm-*f2f0X__iiaa-f-0.75X-Xf-0.45a-f-12.05Y-Yf-11.95ni-*f-0.1-Xf-0.65*f-0.1-Yf-12i-*f0.2-Xf-0.75*f0-Yf-12.1-*f-0.1-Xf-0.75*f0.1-Yf-11.9iaa-f-0.65X-Xf-0.55a-f-12.125Y-Yf-11.875aa-f-0.35X-Xf-0.25a-f-12.125Y-Yf-11.875nm+f0-Yf-12+f-12-Xf0_m-*f2f0X__iiaa-f-0.75X-Xf-0.45a-f-12.05Y-Yf-11.95ni-*f-0.1-Xf-0.65*f-0.1-Yf-12i-*f0.2-Xf-0.75*f0-Yf-12.1-*f-0.1-Xf-0.75*f0.1-Yf-11.9iaa-f-0.65X-Xf-0.55a-f-12.125Y-Yf-11.875aa-f-0.35X-Xf-0.25a-f-12.125Y-Yf-11.875nm_-*f2f-12Y_m+f0-Yf-12+f-12-Xf0_m-*f2f0X__iiaa-f-0.75X-Xf-0.45a-f-12.05Y-Yf-11.95ni-*f-0.1-Xf-0.65*f-0.1-Yf-12i-*f0.2-Xf-0.75*f0-Yf-12.1-*f-0.1-Xf-0.75*f0.1-Yf-11.9iaa-f-0.65X-Xf-0.55a-f-12.125Y-Yf-11.875aa-f-0.35X-Xf-0.25a-f-12.125Y-Yf-11.875a-f-0.05Z-Zf0.05',float('3.250000'),float('-12.750000'),float('-0.750000'),float('4.750000'),float('-10.350000'),float('0.750000'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 1124.8190854479681, 6033.6063810599189 ], "name": "u13", "script": [ "import fab.types", "", "title('Union')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a | b)", "" ], "uid": 114 }, { "datums": [ { "expr": "0", "name": "x", "type": "float", "uid": 0 }, { "expr": "-12", "name": "y", "type": "float", "uid": 1 } ], "inspector": [ -330.28958637744427, 5713.1792280220607 ], "name": "l0", "script": [ "import fab", "", "title('Point (2D)')", "", "input('x', float)", "input('y', float)", "", "sb.ui.point(x, y, 0)", "" ], "uid": 115 }, { "datums": [ { "expr": "pin3.out", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "l1.x", "name": "x0", "type": "float", "uid": 1 }, { "expr": "l1.y", "name": "y0", "type": "float", "uid": 2 }, { "expr": "l2.x", "name": "x1", "type": "float", "uid": 3 }, { "expr": "l2.y", "name": "y1", "type": "float", "uid": 4 }, { "expr": "\u0012fab.types.Shape('m-Xf2-Yf0-Zf0am__f1m-Xf2-Yf0-Zf0aaaam-Xf0-Yf-12-Zf0aa-f-0.75X-Xf0.75a-f-0.75Y-Yf0.75niiaa-f-0.75X-Xf-0.45a-f-12.05Y-Yf-11.95ni-*f-0.1-Xf-0.65*f-0.1-Yf-12i-*f0.2-Xf-0.75*f0-Yf-12.1-*f-0.1-Xf-0.75*f0.1-Yf-11.9iaa-f-0.65X-Xf-0.55a-f-12.125Y-Yf-11.875aa-f-0.35X-Xf-0.25a-f-12.125Y-Yf-11.875nm-*f2f0X__iiaa-f-0.75X-Xf-0.45a-f-12.05Y-Yf-11.95ni-*f-0.1-Xf-0.65*f-0.1-Yf-12i-*f0.2-Xf-0.75*f0-Yf-12.1-*f-0.1-Xf-0.75*f0.1-Yf-11.9iaa-f-0.65X-Xf-0.55a-f-12.125Y-Yf-11.875aa-f-0.35X-Xf-0.25a-f-12.125Y-Yf-11.875nm+f0-Yf-12+f-12-Xf0_m-*f2f0X__iiaa-f-0.75X-Xf-0.45a-f-12.05Y-Yf-11.95ni-*f-0.1-Xf-0.65*f-0.1-Yf-12i-*f0.2-Xf-0.75*f0-Yf-12.1-*f-0.1-Xf-0.75*f0.1-Yf-11.9iaa-f-0.65X-Xf-0.55a-f-12.125Y-Yf-11.875aa-f-0.35X-Xf-0.25a-f-12.125Y-Yf-11.875nm_-*f2f-12Y_m+f0-Yf-12+f-12-Xf0_m-*f2f0X__iiaa-f-0.75X-Xf-0.45a-f-12.05Y-Yf-11.95ni-*f-0.1-Xf-0.65*f-0.1-Yf-12i-*f0.2-Xf-0.75*f0-Yf-12.1-*f-0.1-Xf-0.75*f0.1-Yf-11.9iaa-f-0.65X-Xf-0.55a-f-12.125Y-Yf-11.875aa-f-0.35X-Xf-0.25a-f-12.125Y-Yf-11.875a-f-0.05Z-Zf0.05',float('3.250000'),float('-12.750000'),float('-0.050000'),float('4.750000'),float('-11.250000'),float('0.050000'))", "name": "out", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 815.94258462940797, 5855.6528414936711 ], "name": "s19", "script": [ "# Neil Gershenfeld 1/25/15", "# Matt Keeter 6/13/15", "", "import fab", "", "title('Set origin (XY)')", "", "input('a',fab.types.Shape)", "", "input('x0', float)", "input('y0', float)", "input('x1', float)", "input('y1', float)", "", "output('out', fab.shapes.origin_xy(a, x0, y0, x1, y1))", "" ], "uid": 116 }, { "datums": [ { "expr": "2", "name": "x", "type": "float", "uid": 0 }, { "expr": "-12", "name": "y", "type": "float", "uid": 1 } ], "inspector": [ 409.87542147750628, 5719.7992492735057 ], "name": "l1", "script": [ "import fab", "", "title('Point (2D)')", "", "input('x', float)", "input('y', float)", "", "sb.ui.point(x, y, 0)", "" ], "uid": 117 }, { "datums": [ { "expr": "\u0011[__124.__2]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__121.__4]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('aaaam-Xf0-Yf-12-Zf0aa-f-0.75X-Xf0.75a-f-0.75Y-Yf0.75niiaa-f-0.75X-Xf-0.45a-f-12.05Y-Yf-11.95ni-*f-0.1-Xf-0.65*f-0.1-Yf-12i-*f0.2-Xf-0.75*f0-Yf-12.1-*f-0.1-Xf-0.75*f0.1-Yf-11.9iaa-f-0.65X-Xf-0.55a-f-12.125Y-Yf-11.875aa-f-0.35X-Xf-0.25a-f-12.125Y-Yf-11.875nm-*f2f0X__iiaa-f-0.75X-Xf-0.45a-f-12.05Y-Yf-11.95ni-*f-0.1-Xf-0.65*f-0.1-Yf-12i-*f0.2-Xf-0.75*f0-Yf-12.1-*f-0.1-Xf-0.75*f0.1-Yf-11.9iaa-f-0.65X-Xf-0.55a-f-12.125Y-Yf-11.875aa-f-0.35X-Xf-0.25a-f-12.125Y-Yf-11.875nm+f0-Yf-12+f-12-Xf0_m-*f2f0X__iiaa-f-0.75X-Xf-0.45a-f-12.05Y-Yf-11.95ni-*f-0.1-Xf-0.65*f-0.1-Yf-12i-*f0.2-Xf-0.75*f0-Yf-12.1-*f-0.1-Xf-0.75*f0.1-Yf-11.9iaa-f-0.65X-Xf-0.55a-f-12.125Y-Yf-11.875aa-f-0.35X-Xf-0.25a-f-12.125Y-Yf-11.875nm_-*f2f-12Y_m+f0-Yf-12+f-12-Xf0_m-*f2f0X__iiaa-f-0.75X-Xf-0.45a-f-12.05Y-Yf-11.95ni-*f-0.1-Xf-0.65*f-0.1-Yf-12i-*f0.2-Xf-0.75*f0-Yf-12.1-*f-0.1-Xf-0.75*f0.1-Yf-11.9iaa-f-0.65X-Xf-0.55a-f-12.125Y-Yf-11.875aa-f-0.35X-Xf-0.25a-f-12.125Y-Yf-11.875',float('-0.750000'),float('-12.750000'),float('-inf'),float('0.750000'),float('-11.250000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 3.7221861959064881, 6696.7158110424534 ], "name": "pin2", "script": [ "import fab.types", "", "title('Difference')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a & ~b)", "" ], "uid": 118 }, { "datums": [ { "expr": "\u0011[__128.__4]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__111.__6]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('iaa-f-0.75X-Xf-0.45a-f-12.05Y-Yf-11.95ni-*f-0.1-Xf-0.65*f-0.1-Yf-12i-*f0.2-Xf-0.75*f0-Yf-12.1-*f-0.1-Xf-0.75*f0.1-Yf-11.9',float('-0.750000'),float('-12.100000'),float('-inf'),float('-0.450000'),float('-11.900000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ -348.42213642601337, 6065.7470600876877 ], "name": "u14", "script": [ "import fab.types", "", "title('Union')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a | b)", "" ], "uid": 119 }, { "datums": [ { "expr": "\u0011[__122.__4]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "l2.x", "name": "x0", "type": "float", "uid": 1 }, { "expr": "l2.y", "name": "y0", "type": "float", "uid": 2 }, { "expr": "l2.x", "name": "x1", "type": "float", "uid": 3 }, { "expr": "l2.y+var.width-var.length*3.", "name": "y1", "type": "float", "uid": 4 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf0.9-Zf0m+f4-Zf0Y+f0-Xf4m-Xf2-Yf0-Zf0am__f1m-Xf2-Yf0-Zf0aaaam-Xf0-Yf-12-Zf0aa-f-0.75X-Xf0.75a-f-0.75Y-Yf0.75niiaa-f-0.75X-Xf-0.45a-f-12.05Y-Yf-11.95ni-*f-0.1-Xf-0.65*f-0.1-Yf-12i-*f0.2-Xf-0.75*f0-Yf-12.1-*f-0.1-Xf-0.75*f0.1-Yf-11.9iaa-f-0.65X-Xf-0.55a-f-12.125Y-Yf-11.875aa-f-0.35X-Xf-0.25a-f-12.125Y-Yf-11.875nm-*f2f0X__iiaa-f-0.75X-Xf-0.45a-f-12.05Y-Yf-11.95ni-*f-0.1-Xf-0.65*f-0.1-Yf-12i-*f0.2-Xf-0.75*f0-Yf-12.1-*f-0.1-Xf-0.75*f0.1-Yf-11.9iaa-f-0.65X-Xf-0.55a-f-12.125Y-Yf-11.875aa-f-0.35X-Xf-0.25a-f-12.125Y-Yf-11.875nm+f0-Yf-12+f-12-Xf0_m-*f2f0X__iiaa-f-0.75X-Xf-0.45a-f-12.05Y-Yf-11.95ni-*f-0.1-Xf-0.65*f-0.1-Yf-12i-*f0.2-Xf-0.75*f0-Yf-12.1-*f-0.1-Xf-0.75*f0.1-Yf-11.9iaa-f-0.65X-Xf-0.55a-f-12.125Y-Yf-11.875aa-f-0.35X-Xf-0.25a-f-12.125Y-Yf-11.875nm_-*f2f-12Y_m+f0-Yf-12+f-12-Xf0_m-*f2f0X__iiaa-f-0.75X-Xf-0.45a-f-12.05Y-Yf-11.95ni-*f-0.1-Xf-0.65*f-0.1-Yf-12i-*f0.2-Xf-0.75*f0-Yf-12.1-*f-0.1-Xf-0.75*f0.1-Yf-11.9iaa-f-0.65X-Xf-0.55a-f-12.125Y-Yf-11.875aa-f-0.35X-Xf-0.25a-f-12.125Y-Yf-11.875a-f-0.05Z-Zf0.05',float('3.950000'),float('-11.850000'),float('-0.750000'),float('4.050000'),float('-10.350000'),float('0.750000'))", "name": "out", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 822.29806818534598, 6336.127398322541 ], "name": "s20", "script": [ "# Neil Gershenfeld 1/25/15", "# Matt Keeter 6/13/15", "", "import fab", "", "title('Set origin (XY)')", "", "input('a',fab.types.Shape)", "", "input('x0', float)", "input('y0', float)", "input('x1', float)", "input('y1', float)", "", "output('out', fab.shapes.origin_xy(a, x0, y0, x1, y1))", "" ], "uid": 120 }, { "datums": [ { "expr": "0.0", "name": "_x", "type": "float", "uid": 0 }, { "expr": "l0.y", "name": "y0", "type": "float", "uid": 1 }, { "expr": "0.0", "name": "_z", "type": "float", "uid": 2 }, { "expr": "\u0011[__109.__4]", "name": "shape", "type": "_fabtypes.Shape", "uid": 3 }, { "expr": "\u0012fab.types.Shape('m_-*f2f-12Y_m+f0-Yf-12+f-12-Xf0_m-*f2f0X__iiaa-f-0.75X-Xf-0.45a-f-12.05Y-Yf-11.95ni-*f-0.1-Xf-0.65*f-0.1-Yf-12i-*f0.2-Xf-0.75*f0-Yf-12.1-*f-0.1-Xf-0.75*f0.1-Yf-11.9iaa-f-0.65X-Xf-0.55a-f-12.125Y-Yf-11.875aa-f-0.35X-Xf-0.25a-f-12.125Y-Yf-11.875',float('-0.125000'),float('-12.750000'),float('-inf'),float('0.125000'),float('-12.250000'),float('inf'))", "name": "reflected", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ -334.38953897996544, 6776.7949038472652 ], "name": "r29", "script": [ "import fab", "", "title('Reflect (Y)')", "", "input('_x', float)", "input('y0', float)", "input('_z', float)", "", "input('shape', fab.types.Shape)", "output('reflected', fab.shapes.reflect_y(shape, y0))", "", "# UI", "", "sb.ui.point(_x, y0, _z, color=sb.color.teal)", "", "" ], "uid": 121 }, { "datums": [ { "expr": "l2.x", "name": "x0", "type": "float", "uid": 0 }, { "expr": "0", "name": "_y", "type": "float", "uid": 1 }, { "expr": "0", "name": "z0", "type": "float", "uid": 2 }, { "expr": "\u0011[__116.__5]", "name": "shape", "type": "_fabtypes.Shape", "uid": 3 }, { "expr": "\u0012fab.types.Shape('m+f4-Zf0Y+f0-Xf4m-Xf2-Yf0-Zf0am__f1m-Xf2-Yf0-Zf0aaaam-Xf0-Yf-12-Zf0aa-f-0.75X-Xf0.75a-f-0.75Y-Yf0.75niiaa-f-0.75X-Xf-0.45a-f-12.05Y-Yf-11.95ni-*f-0.1-Xf-0.65*f-0.1-Yf-12i-*f0.2-Xf-0.75*f0-Yf-12.1-*f-0.1-Xf-0.75*f0.1-Yf-11.9iaa-f-0.65X-Xf-0.55a-f-12.125Y-Yf-11.875aa-f-0.35X-Xf-0.25a-f-12.125Y-Yf-11.875nm-*f2f0X__iiaa-f-0.75X-Xf-0.45a-f-12.05Y-Yf-11.95ni-*f-0.1-Xf-0.65*f-0.1-Yf-12i-*f0.2-Xf-0.75*f0-Yf-12.1-*f-0.1-Xf-0.75*f0.1-Yf-11.9iaa-f-0.65X-Xf-0.55a-f-12.125Y-Yf-11.875aa-f-0.35X-Xf-0.25a-f-12.125Y-Yf-11.875nm+f0-Yf-12+f-12-Xf0_m-*f2f0X__iiaa-f-0.75X-Xf-0.45a-f-12.05Y-Yf-11.95ni-*f-0.1-Xf-0.65*f-0.1-Yf-12i-*f0.2-Xf-0.75*f0-Yf-12.1-*f-0.1-Xf-0.75*f0.1-Yf-11.9iaa-f-0.65X-Xf-0.55a-f-12.125Y-Yf-11.875aa-f-0.35X-Xf-0.25a-f-12.125Y-Yf-11.875nm_-*f2f-12Y_m+f0-Yf-12+f-12-Xf0_m-*f2f0X__iiaa-f-0.75X-Xf-0.45a-f-12.05Y-Yf-11.95ni-*f-0.1-Xf-0.65*f-0.1-Yf-12i-*f0.2-Xf-0.75*f0-Yf-12.1-*f-0.1-Xf-0.75*f0.1-Yf-11.9iaa-f-0.65X-Xf-0.55a-f-12.125Y-Yf-11.875aa-f-0.35X-Xf-0.25a-f-12.125Y-Yf-11.875a-f-0.05Z-Zf0.05',float('3.950000'),float('-12.750000'),float('-0.750000'),float('4.050000'),float('-11.250000'),float('0.750000'))", "name": "out", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 815.94258462940797, 6132.7519245325429 ], "name": "r30", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 5/31/15", "", "import fab", "", "title('Reflect (XZ)')", "", "input('x0', float)", "input('_y', float)", "input('z0', float)", "", "input('shape', fab.types.Shape)", "output('out', fab.shapes.reflect_xz(shape, x0, z0))", "", "# UI", "", "sb.ui.point(x0, _y, z0, color=sb.color.teal)", "", "" ], "uid": 122 }, { "datums": [ { "expr": "0.0", "name": "_x", "type": "float", "uid": 0 }, { "expr": "0.0", "name": "_y", "type": "float", "uid": 1 }, { "expr": "-var.thick/2", "name": "zmin", "type": "float", "uid": 2 }, { "expr": "var.thick/2", "name": "zmax", "type": "float", "uid": 3 }, { "expr": "\u0011[__110.__5]", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 }, { "expr": "\u0012fab.types.Shape('am__f1m-Xf2-Yf0-Zf0aaaam-Xf0-Yf-12-Zf0aa-f-0.75X-Xf0.75a-f-0.75Y-Yf0.75niiaa-f-0.75X-Xf-0.45a-f-12.05Y-Yf-11.95ni-*f-0.1-Xf-0.65*f-0.1-Yf-12i-*f0.2-Xf-0.75*f0-Yf-12.1-*f-0.1-Xf-0.75*f0.1-Yf-11.9iaa-f-0.65X-Xf-0.55a-f-12.125Y-Yf-11.875aa-f-0.35X-Xf-0.25a-f-12.125Y-Yf-11.875nm-*f2f0X__iiaa-f-0.75X-Xf-0.45a-f-12.05Y-Yf-11.95ni-*f-0.1-Xf-0.65*f-0.1-Yf-12i-*f0.2-Xf-0.75*f0-Yf-12.1-*f-0.1-Xf-0.75*f0.1-Yf-11.9iaa-f-0.65X-Xf-0.55a-f-12.125Y-Yf-11.875aa-f-0.35X-Xf-0.25a-f-12.125Y-Yf-11.875nm+f0-Yf-12+f-12-Xf0_m-*f2f0X__iiaa-f-0.75X-Xf-0.45a-f-12.05Y-Yf-11.95ni-*f-0.1-Xf-0.65*f-0.1-Yf-12i-*f0.2-Xf-0.75*f0-Yf-12.1-*f-0.1-Xf-0.75*f0.1-Yf-11.9iaa-f-0.65X-Xf-0.55a-f-12.125Y-Yf-11.875aa-f-0.35X-Xf-0.25a-f-12.125Y-Yf-11.875nm_-*f2f-12Y_m+f0-Yf-12+f-12-Xf0_m-*f2f0X__iiaa-f-0.75X-Xf-0.45a-f-12.05Y-Yf-11.95ni-*f-0.1-Xf-0.65*f-0.1-Yf-12i-*f0.2-Xf-0.75*f0-Yf-12.1-*f-0.1-Xf-0.75*f0.1-Yf-11.9iaa-f-0.65X-Xf-0.55a-f-12.125Y-Yf-11.875aa-f-0.35X-Xf-0.25a-f-12.125Y-Yf-11.875a-f-0.05Z-Zf0.05',float('1.250000'),float('-12.750000'),float('-0.050000'),float('2.750000'),float('-11.250000'),float('0.050000'))", "name": "out", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 412.19644702720734, 6143.8593622612325 ], "name": "pin3", "script": [ "import fab", "", "title('Extrude')", "", "input('_x', float)", "input('_y', float)", "input('zmin', float)", "input('zmax', float)", "", "input('shape', fab.types.Shape)", "output('out', fab.shapes.extrude_z(shape, zmin, zmax))", "", "# UI", "sb.ui.wireframe([(_x, _y, zmin), (_x, _y, zmax)], color=sb.color.green)", "sb.ui.point(_x, _y, zmin, color=sb.color.green)", "sb.ui.point(_x, _y, zmax, color=sb.color.green)", "", "" ], "uid": 123 }, { "datums": [ { "expr": "\u0011[__112.__2]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__109.__4]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('aaam-Xf0-Yf-12-Zf0aa-f-0.75X-Xf0.75a-f-0.75Y-Yf0.75niiaa-f-0.75X-Xf-0.45a-f-12.05Y-Yf-11.95ni-*f-0.1-Xf-0.65*f-0.1-Yf-12i-*f0.2-Xf-0.75*f0-Yf-12.1-*f-0.1-Xf-0.75*f0.1-Yf-11.9iaa-f-0.65X-Xf-0.55a-f-12.125Y-Yf-11.875aa-f-0.35X-Xf-0.25a-f-12.125Y-Yf-11.875nm-*f2f0X__iiaa-f-0.75X-Xf-0.45a-f-12.05Y-Yf-11.95ni-*f-0.1-Xf-0.65*f-0.1-Yf-12i-*f0.2-Xf-0.75*f0-Yf-12.1-*f-0.1-Xf-0.75*f0.1-Yf-11.9iaa-f-0.65X-Xf-0.55a-f-12.125Y-Yf-11.875aa-f-0.35X-Xf-0.25a-f-12.125Y-Yf-11.875nm+f0-Yf-12+f-12-Xf0_m-*f2f0X__iiaa-f-0.75X-Xf-0.45a-f-12.05Y-Yf-11.95ni-*f-0.1-Xf-0.65*f-0.1-Yf-12i-*f0.2-Xf-0.75*f0-Yf-12.1-*f-0.1-Xf-0.75*f0.1-Yf-11.9iaa-f-0.65X-Xf-0.55a-f-12.125Y-Yf-11.875aa-f-0.35X-Xf-0.25a-f-12.125Y-Yf-11.875',float('-0.750000'),float('-12.750000'),float('-inf'),float('0.750000'),float('-11.250000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ -12.802071049530696, 6471.7316931622681 ], "name": "d22", "script": [ "import fab.types", "", "title('Difference')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a & ~b)", "" ], "uid": 124 }, { "datums": [ { "expr": "l2.x", "name": "x0", "type": "float", "uid": 0 }, { "expr": "l2.y", "name": "y0", "type": "float", "uid": 1 }, { "expr": "0", "name": "_z", "type": "float", "uid": 2 }, { "expr": "\u0011[__120.__5]", "name": "shape", "type": "_fabtypes.Shape", "uid": 3 }, { "expr": "\u0012fab.types.Shape('m+f4-Yf-12+f-12-Xf4_m-Xf0-Yf0.9-Zf0m+f4-Zf0Y+f0-Xf4m-Xf2-Yf0-Zf0am__f1m-Xf2-Yf0-Zf0aaaam-Xf0-Yf-12-Zf0aa-f-0.75X-Xf0.75a-f-0.75Y-Yf0.75niiaa-f-0.75X-Xf-0.45a-f-12.05Y-Yf-11.95ni-*f-0.1-Xf-0.65*f-0.1-Yf-12i-*f0.2-Xf-0.75*f0-Yf-12.1-*f-0.1-Xf-0.75*f0.1-Yf-11.9iaa-f-0.65X-Xf-0.55a-f-12.125Y-Yf-11.875aa-f-0.35X-Xf-0.25a-f-12.125Y-Yf-11.875nm-*f2f0X__iiaa-f-0.75X-Xf-0.45a-f-12.05Y-Yf-11.95ni-*f-0.1-Xf-0.65*f-0.1-Yf-12i-*f0.2-Xf-0.75*f0-Yf-12.1-*f-0.1-Xf-0.75*f0.1-Yf-11.9iaa-f-0.65X-Xf-0.55a-f-12.125Y-Yf-11.875aa-f-0.35X-Xf-0.25a-f-12.125Y-Yf-11.875nm+f0-Yf-12+f-12-Xf0_m-*f2f0X__iiaa-f-0.75X-Xf-0.45a-f-12.05Y-Yf-11.95ni-*f-0.1-Xf-0.65*f-0.1-Yf-12i-*f0.2-Xf-0.75*f0-Yf-12.1-*f-0.1-Xf-0.75*f0.1-Yf-11.9iaa-f-0.65X-Xf-0.55a-f-12.125Y-Yf-11.875aa-f-0.35X-Xf-0.25a-f-12.125Y-Yf-11.875nm_-*f2f-12Y_m+f0-Yf-12+f-12-Xf0_m-*f2f0X__iiaa-f-0.75X-Xf-0.45a-f-12.05Y-Yf-11.95ni-*f-0.1-Xf-0.65*f-0.1-Yf-12i-*f0.2-Xf-0.75*f0-Yf-12.1-*f-0.1-Xf-0.75*f0.1-Yf-11.9iaa-f-0.65X-Xf-0.55a-f-12.125Y-Yf-11.875aa-f-0.35X-Xf-0.25a-f-12.125Y-Yf-11.875a-f-0.05Z-Zf0.05',float('4.150000'),float('-12.050000'),float('-0.750000'),float('5.650000'),float('-11.950000'),float('0.750000'))", "name": "reflected", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 813.73501639747974, 6632.7392823955433 ], "name": "r31", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 5/31/15", "", "import fab", "", "title('Reflect (XY)')", "", "input('x0',float)", "input('y0',float)", "input('_z', float)", "", "input('shape', fab.types.Shape)", "output('reflected', fab.shapes.reflect_xy(shape, x0, y0))", "", "# UI", "", "sb.ui.point(x0, y0, _z, color=sb.color.teal)", "" ], "uid": 125 }, { "datums": [ { "expr": "\u0011[__130.__5]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__132.__2]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('am-Xf0-Yf-12-Zf0aa-f-0.75X-Xf0.75a-f-0.75Y-Yf0.75niiaa-f-0.75X-Xf-0.45a-f-12.05Y-Yf-11.95ni-*f-0.1-Xf-0.65*f-0.1-Yf-12i-*f0.2-Xf-0.75*f0-Yf-12.1-*f-0.1-Xf-0.75*f0.1-Yf-11.9iaa-f-0.65X-Xf-0.55a-f-12.125Y-Yf-11.875aa-f-0.35X-Xf-0.25a-f-12.125Y-Yf-11.875',float('-0.750000'),float('-12.750000'),float('-inf'),float('0.750000'),float('-11.250000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ -25.513038161405802, 5992.5282330445852 ], "name": "d23", "script": [ "import fab.types", "", "title('Difference')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a & ~b)", "" ], "uid": 126 }, { "datums": [ { "expr": "l0.x", "name": "x0", "type": "float", "uid": 0 }, { "expr": "0.0", "name": "_y", "type": "float", "uid": 1 }, { "expr": "0.0", "name": "_z", "type": "float", "uid": 2 }, { "expr": "\u0011[__132.__2]", "name": "shape", "type": "_fabtypes.Shape", "uid": 3 }, { "expr": "\u0012fab.types.Shape('m-*f2f0X__iiaa-f-0.75X-Xf-0.45a-f-12.05Y-Yf-11.95ni-*f-0.1-Xf-0.65*f-0.1-Yf-12i-*f0.2-Xf-0.75*f0-Yf-12.1-*f-0.1-Xf-0.75*f0.1-Yf-11.9iaa-f-0.65X-Xf-0.55a-f-12.125Y-Yf-11.875aa-f-0.35X-Xf-0.25a-f-12.125Y-Yf-11.875',float('0.250000'),float('-12.125000'),float('-inf'),float('0.750000'),float('-11.875000'),float('inf'))", "name": "reflected", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ -334.38953897996498, 6377.6705365343942 ], "name": "r32", "script": [ "import fab", "", "title('Reflect (X)')", "", "input('x0', float)", "input('_y', float)", "input('_z', float)", "", "input('shape', fab.types.Shape)", "output('reflected', fab.shapes.reflect_x(shape, x0))", "", "# UI", "", "sb.ui.point(x0, _y, _z, color=sb.color.teal)", "" ], "uid": 127 }, { "datums": [ { "expr": "\u0011[__114.__2]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__125.__4]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('iim-Xf2-Yf0-Zf0am__f1m-Xf2-Yf0-Zf0aaaam-Xf0-Yf-12-Zf0aa-f-0.75X-Xf0.75a-f-0.75Y-Yf0.75niiaa-f-0.75X-Xf-0.45a-f-12.05Y-Yf-11.95ni-*f-0.1-Xf-0.65*f-0.1-Yf-12i-*f0.2-Xf-0.75*f0-Yf-12.1-*f-0.1-Xf-0.75*f0.1-Yf-11.9iaa-f-0.65X-Xf-0.55a-f-12.125Y-Yf-11.875aa-f-0.35X-Xf-0.25a-f-12.125Y-Yf-11.875nm-*f2f0X__iiaa-f-0.75X-Xf-0.45a-f-12.05Y-Yf-11.95ni-*f-0.1-Xf-0.65*f-0.1-Yf-12i-*f0.2-Xf-0.75*f0-Yf-12.1-*f-0.1-Xf-0.75*f0.1-Yf-11.9iaa-f-0.65X-Xf-0.55a-f-12.125Y-Yf-11.875aa-f-0.35X-Xf-0.25a-f-12.125Y-Yf-11.875nm+f0-Yf-12+f-12-Xf0_m-*f2f0X__iiaa-f-0.75X-Xf-0.45a-f-12.05Y-Yf-11.95ni-*f-0.1-Xf-0.65*f-0.1-Yf-12i-*f0.2-Xf-0.75*f0-Yf-12.1-*f-0.1-Xf-0.75*f0.1-Yf-11.9iaa-f-0.65X-Xf-0.55a-f-12.125Y-Yf-11.875aa-f-0.35X-Xf-0.25a-f-12.125Y-Yf-11.875nm_-*f2f-12Y_m+f0-Yf-12+f-12-Xf0_m-*f2f0X__iiaa-f-0.75X-Xf-0.45a-f-12.05Y-Yf-11.95ni-*f-0.1-Xf-0.65*f-0.1-Yf-12i-*f0.2-Xf-0.75*f0-Yf-12.1-*f-0.1-Xf-0.75*f0.1-Yf-11.9iaa-f-0.65X-Xf-0.55a-f-12.125Y-Yf-11.875aa-f-0.35X-Xf-0.25a-f-12.125Y-Yf-11.875a-f-0.05Z-Zf0.05m-Xf0-Yf0.9-Zf0m+f4-Zf0Y+f0-Xf4m-Xf2-Yf0-Zf0am__f1m-Xf2-Yf0-Zf0aaaam-Xf0-Yf-12-Zf0aa-f-0.75X-Xf0.75a-f-0.75Y-Yf0.75niiaa-f-0.75X-Xf-0.45a-f-12.05Y-Yf-11.95ni-*f-0.1-Xf-0.65*f-0.1-Yf-12i-*f0.2-Xf-0.75*f0-Yf-12.1-*f-0.1-Xf-0.75*f0.1-Yf-11.9iaa-f-0.65X-Xf-0.55a-f-12.125Y-Yf-11.875aa-f-0.35X-Xf-0.25a-f-12.125Y-Yf-11.875nm-*f2f0X__iiaa-f-0.75X-Xf-0.45a-f-12.05Y-Yf-11.95ni-*f-0.1-Xf-0.65*f-0.1-Yf-12i-*f0.2-Xf-0.75*f0-Yf-12.1-*f-0.1-Xf-0.75*f0.1-Yf-11.9iaa-f-0.65X-Xf-0.55a-f-12.125Y-Yf-11.875aa-f-0.35X-Xf-0.25a-f-12.125Y-Yf-11.875nm+f0-Yf-12+f-12-Xf0_m-*f2f0X__iiaa-f-0.75X-Xf-0.45a-f-12.05Y-Yf-11.95ni-*f-0.1-Xf-0.65*f-0.1-Yf-12i-*f0.2-Xf-0.75*f0-Yf-12.1-*f-0.1-Xf-0.75*f0.1-Yf-11.9iaa-f-0.65X-Xf-0.55a-f-12.125Y-Yf-11.875aa-f-0.35X-Xf-0.25a-f-12.125Y-Yf-11.875nm_-*f2f-12Y_m+f0-Yf-12+f-12-Xf0_m-*f2f0X__iiaa-f-0.75X-Xf-0.45a-f-12.05Y-Yf-11.95ni-*f-0.1-Xf-0.65*f-0.1-Yf-12i-*f0.2-Xf-0.75*f0-Yf-12.1-*f-0.1-Xf-0.75*f0.1-Yf-11.9iaa-f-0.65X-Xf-0.55a-f-12.125Y-Yf-11.875aa-f-0.35X-Xf-0.25a-f-12.125Y-Yf-11.875a-f-0.05Z-Zf0.05m+f4-Yf-12+f-12-Xf4_m-Xf0-Yf0.9-Zf0m+f4-Zf0Y+f0-Xf4m-Xf2-Yf0-Zf0am__f1m-Xf2-Yf0-Zf0aaaam-Xf0-Yf-12-Zf0aa-f-0.75X-Xf0.75a-f-0.75Y-Yf0.75niiaa-f-0.75X-Xf-0.45a-f-12.05Y-Yf-11.95ni-*f-0.1-Xf-0.65*f-0.1-Yf-12i-*f0.2-Xf-0.75*f0-Yf-12.1-*f-0.1-Xf-0.75*f0.1-Yf-11.9iaa-f-0.65X-Xf-0.55a-f-12.125Y-Yf-11.875aa-f-0.35X-Xf-0.25a-f-12.125Y-Yf-11.875nm-*f2f0X__iiaa-f-0.75X-Xf-0.45a-f-12.05Y-Yf-11.95ni-*f-0.1-Xf-0.65*f-0.1-Yf-12i-*f0.2-Xf-0.75*f0-Yf-12.1-*f-0.1-Xf-0.75*f0.1-Yf-11.9iaa-f-0.65X-Xf-0.55a-f-12.125Y-Yf-11.875aa-f-0.35X-Xf-0.25a-f-12.125Y-Yf-11.875nm+f0-Yf-12+f-12-Xf0_m-*f2f0X__iiaa-f-0.75X-Xf-0.45a-f-12.05Y-Yf-11.95ni-*f-0.1-Xf-0.65*f-0.1-Yf-12i-*f0.2-Xf-0.75*f0-Yf-12.1-*f-0.1-Xf-0.75*f0.1-Yf-11.9iaa-f-0.65X-Xf-0.55a-f-12.125Y-Yf-11.875aa-f-0.35X-Xf-0.25a-f-12.125Y-Yf-11.875nm_-*f2f-12Y_m+f0-Yf-12+f-12-Xf0_m-*f2f0X__iiaa-f-0.75X-Xf-0.45a-f-12.05Y-Yf-11.95ni-*f-0.1-Xf-0.65*f-0.1-Yf-12i-*f0.2-Xf-0.75*f0-Yf-12.1-*f-0.1-Xf-0.75*f0.1-Yf-11.9iaa-f-0.65X-Xf-0.55a-f-12.125Y-Yf-11.875aa-f-0.35X-Xf-0.25a-f-12.125Y-Yf-11.875a-f-0.05Z-Zf0.05',float('3.250000'),float('-12.750000'),float('-0.750000'),float('5.650000'),float('-10.350000'),float('0.750000'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 1132.7350163974797, 6489.7392823955433 ], "name": "u15", "script": [ "import fab.types", "", "title('Union')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a | b)", "" ], "uid": 129 }, { "datums": [ { "expr": "tile.shape", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "p0.x", "name": "x0", "type": "float", "uid": 1 }, { "expr": "p0.y", "name": "y0", "type": "float", "uid": 2 }, { "expr": "l0.x", "name": "x1", "type": "float", "uid": 3 }, { "expr": "l0.y", "name": "y1", "type": "float", "uid": 4 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf-12-Zf0aa-f-0.75X-Xf0.75a-f-0.75Y-Yf0.75',float('-0.750000'),float('-12.750000'),float('-inf'),float('0.750000'),float('-11.250000'),float('inf'))", "name": "out", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ -333.59066915583162, 5834.8818402425422 ], "name": "s22", "script": [ "# Neil Gershenfeld 1/25/15", "# Matt Keeter 6/13/15", "", "import fab", "", "title('Set origin (XY)')", "", "input('a',fab.types.Shape)", "", "input('x0', float)", "input('y0', float)", "input('x1', float)", "input('y1', float)", "", "output('out', fab.shapes.origin_xy(a, x0, y0, x1, y1))", "" ], "uid": 130 }, { "datums": [ { "expr": "l0.x-var.width/2+var.length*.75-var.thick/2", "name": "x0", "type": "float", "uid": 0 }, { "expr": "l0.y-1.25*var.thick", "name": "y0", "type": "float", "uid": 1 }, { "expr": "l0.x-var.width/2+var.length*.75+var.thick/2", "name": "x1", "type": "float", "uid": 2 }, { "expr": "l0.y+1.25*var.thick", "name": "y1", "type": "float", "uid": 3 }, { "expr": "\u0012fab.types.Shape('aa-f-0.65X-Xf-0.55a-f-12.125Y-Yf-11.875',float('-0.650000'),float('-12.125000'),float('-inf'),float('-0.550000'),float('-11.875000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ -721, 6615 ], "name": "r33", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 6/11/15", "", "import fab", "", "title('Rectangle (corner)')", "", "input('x0', float)", "input('y0', float)", "input('x1', float)", "input('y1', float)", "", "output('shape', fab.shapes.rectangle(x0, x1, y0, y1))", "", "# UI", "sb.ui.wireframe([(x0, y0, 0), (x1, y0, 0),", " (x1, y1, 0), (x0, y1, 0)], close=True)", "sb.ui.point(x0, y0)", "sb.ui.point(x1, y1)", "", "" ], "uid": 131 }, { "datums": [ { "expr": "\u0011[__119.__2]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__134.__2]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('iiaa-f-0.75X-Xf-0.45a-f-12.05Y-Yf-11.95ni-*f-0.1-Xf-0.65*f-0.1-Yf-12i-*f0.2-Xf-0.75*f0-Yf-12.1-*f-0.1-Xf-0.75*f0.1-Yf-11.9iaa-f-0.65X-Xf-0.55a-f-12.125Y-Yf-11.875aa-f-0.35X-Xf-0.25a-f-12.125Y-Yf-11.875',float('-0.750000'),float('-12.125000'),float('-inf'),float('-0.250000'),float('-11.875000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ -340, 6216.1130263819114 ], "name": "u16", "script": [ "import fab.types", "", "title('Union')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a | b)", "" ], "uid": 132 }, { "datums": [ { "expr": "l0.x-var.width/2", "name": "x0", "type": "float", "uid": 0 }, { "expr": "l0.y-var.thick/2", "name": "y0", "type": "float", "uid": 1 }, { "expr": "l0.x-var.width/2+var.length*1.5", "name": "x1", "type": "float", "uid": 2 }, { "expr": "l0.y+var.thick/2", "name": "y1", "type": "float", "uid": 3 }, { "expr": "\u0012fab.types.Shape('aa-f-0.75X-Xf-0.45a-f-12.05Y-Yf-11.95',float('-0.750000'),float('-12.050000'),float('-inf'),float('-0.450000'),float('-11.950000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ -726.56730643422463, 6066.1921265011297 ], "name": "r35", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 6/11/15", "", "import fab", "", "title('Rectangle (corner)')", "", "input('x0', float)", "input('y0', float)", "input('x1', float)", "input('y1', float)", "", "output('shape', fab.shapes.rectangle(x0, x1, y0, y1))", "", "# UI", "sb.ui.wireframe([(x0, y0, 0), (x1, y0, 0),", " (x1, y1, 0), (x0, y1, 0)], close=True)", "sb.ui.point(x0, y0)", "sb.ui.point(x1, y1)", "", "" ], "uid": 128 }, { "datums": [ { "expr": "l0.x-var.width/2+var.length*2.25-var.thick/2", "name": "x0", "type": "float", "uid": 0 }, { "expr": "l0.y-1.25*var.thick", "name": "y0", "type": "float", "uid": 1 }, { "expr": "l0.x-var.width/2+var.length*2.25+var.thick/2", "name": "x1", "type": "float", "uid": 2 }, { "expr": "l0.y+1.25*var.thick", "name": "y1", "type": "float", "uid": 3 }, { "expr": "\u0012fab.types.Shape('aa-f-0.35X-Xf-0.25a-f-12.125Y-Yf-11.875',float('-0.350000'),float('-12.125000'),float('-inf'),float('-0.250000'),float('-11.875000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ -1009.3759773835789, 6628.3538479679128 ], "name": "r34", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 6/11/15", "", "import fab", "", "title('Rectangle (corner)')", "", "input('x0', float)", "input('y0', float)", "input('x1', float)", "input('y1', float)", "", "output('shape', fab.shapes.rectangle(x0, x1, y0, y1))", "", "# UI", "sb.ui.wireframe([(x0, y0, 0), (x1, y0, 0),", " (x1, y1, 0), (x0, y1, 0)], close=True)", "sb.ui.point(x0, y0)", "sb.ui.point(x1, y1)", "", "" ], "uid": 133 }, { "datums": [ { "expr": "\u0011[__131.__4]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__133.__4]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('iaa-f-0.65X-Xf-0.55a-f-12.125Y-Yf-11.875aa-f-0.35X-Xf-0.25a-f-12.125Y-Yf-11.875',float('-0.650000'),float('-12.125000'),float('-inf'),float('-0.250000'),float('-11.875000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ -720.22257788705292, 6931.6988253538402 ], "name": "u17", "script": [ "import fab.types", "", "title('Union')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a | b)", "" ], "uid": 134 } ], "protocol": 6, "type": "sb" }