{ "nodes": [ { "datums": [ { "expr": "3", "name": "dx", "type": "float", "uid": 4 }, { "expr": "3.5", "name": "dy", "type": "float", "uid": 1 } ], "inspector": [ -168, -218 ], "name": "var", "script": [ "import fab", "", "title('variables')", "input('dx', float)", "input('dy', float)" ], "uid": 0 }, { "datums": [ { "expr": "0.7", "name": "letterSpacing", "type": "float", "uid": 0 } ], "inspector": [ -170.5487159245736, -46.659366684053573 ], "name": "varFabLetters", "script": [ "import fab", "", "title('variables')", "input('letterSpacing', float)" ], "uid": 1 }, { "datums": [ { "expr": "0.0", "name": "x0", "type": "float", "uid": 0 }, { "expr": "0.0", "name": "y0", "type": "float", "uid": 1 }, { "expr": "1", "name": "x1", "type": "float", "uid": 2 }, { "expr": "0", "name": "y1", "type": "float", "uid": 3 }, { "expr": "-0.5199999716132879", "name": "x2", "type": "float", "uid": 4 }, { "expr": "2.3999999165534973", "name": "y2", "type": "float", "uid": 5 }, { "expr": "\u0012fab.types.Shape('ni-*f0-Xf1*f-1-Yf0i-*f2.4-Xf0*f-0.52-Yf0-*f-2.4-Xf-0.52*f1.52-Yf2.4',float('-0.520000'),float('0.000000'),float('-inf'),float('1.000000'),float('2.400000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 6 } ], "inspector": [ -172.0966755370095, 64.536253326378528 ], "name": "letterBase", "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": 2 }, { "datums": [ { "expr": "0.0", "name": "x", "type": "float", "uid": 0 }, { "expr": "0.0", "name": "y", "type": "float", "uid": 1 }, { "expr": "'f'", "name": "text", "type": "str", "uid": 2 }, { "expr": "1", "name": "scale", "type": "float", "uid": 3 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iiaa-r+q-Xf0.4q-Yf0.75f0.25n-r+q-Xf0.4q-Yf0.75f0.15aa-f0X-Xf0.4a-f0.75Y-Yf1aa-f0X-Xf0.4a-f0.45Y-Yf0.55aa-f0.15X-Xf0.25a-f0Y-Yf0.75',float('0.000000'),float('0.000000'),float('-inf'),float('0.400000'),float('1.000000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ -170.30400183349923, 594.20058594244608 ], "name": "t0", "script": [ "import fab", "", "title('Text')", "", "input('x', float)", "input('y', float)", "input('text', str)", "input('scale', float)", "", "output('shape', fab.shapes.text(text, x, y, scale))", "", "# UI", "sb.ui.wireframe([(x, y, 0), (x, y+scale, 0)])", "sb.ui.point(x, y, 0)", "sb.ui.point(x, y + scale, 0, drag=(None, scale, None))", "" ], "uid": 3 }, { "datums": [ { "expr": "letterBase.shape", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "0", "name": "z0", "type": "float", "uid": 1 }, { "expr": "\u0011[__3.__4]", "name": "b", "type": "_fabtypes.Shape", "uid": 2 }, { "expr": "1", "name": "z1", "type": "float", "uid": 3 }, { "expr": "\u0012fab.types.Shape('aa-Zf1-f0Z/+*-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iiaa-r+q-Xf0.4q-Yf0.75f0.25n-r+q-Xf0.4q-Yf0.75f0.15aa-f0X-Xf0.4a-f0.75Y-Yf1aa-f0X-Xf0.4a-f0.45Y-Yf0.55aa-f0.15X-Xf0.25a-f0Y-Yf0.75*-f1Zni-*f0-Xf1*f-1-Yf0i-*f2.4-Xf0*f-0.52-Yf0-*f-2.4-Xf-0.52*f1.52-Yf2.4f1',float('-0.520000'),float('0.000000'),float('0.000000'),float('1.000000'),float('2.400000'),float('1.000000'))", "name": "out", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 116.52379072818354, 597.7859333494672 ], "name": "l0", "script": [ "# Neil Gershenfeld 2/1/15", "# Matt Keeter 6/13/15", "", "import fab", "", "title('Loft')", "", "input('a', fab.types.Shape)", "input('z0', float)", "input('b', fab.types.Shape)", "input('z1', float)", "", "output('out', fab.shapes.loft_xy_z(a, b, z0, z1))", "", "" ], "uid": 4 }, { "datums": [ { "expr": "0.0", "name": "_x", "type": "float", "uid": 0 }, { "expr": "0.0", "name": "_y", "type": "float", "uid": 1 }, { "expr": "0.0", "name": "_z", "type": "float", "uid": 2 }, { "expr": "var.dx * 0", "name": "dx", "type": "float", "uid": 3 }, { "expr": "var.dy * 1", "name": "dy", "type": "float", "uid": 4 }, { "expr": "1", "name": "dz", "type": "float", "uid": 5 }, { "expr": "\u0011[__2.__6]", "name": "shape", "type": "_fabtypes.Shape", "uid": 6 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf3.5-Zf1ni-*f0-Xf1*f-1-Yf0i-*f2.4-Xf0*f-0.52-Yf0-*f-2.4-Xf-0.52*f1.52-Yf2.4',float('-0.520000'),float('3.500000'),float('-inf'),float('1.000000'),float('5.900000'),float('inf'))", "name": "out", "type": "_fabtypes.Shape", "uid": 7 } ], "inspector": [ 114.73111702467301, 123.69448554222559 ], "name": "t1", "script": [ "import fab", "", "title('Translate')", "", "input('_x', float)", "input('_y', float)", "input('_z', float)", "input('dx', float)", "input('dy', float)", "input('dz', float)", "", "input('shape', fab.types.Shape)", "output('out', fab.shapes.translate(shape, dx, dy, dz))", "", "# UI", "sb.ui.wireframe([(_x, _y, _z),", " (_x + dx, _y + dy, _z + dz)], color=sb.color.teal)", "sb.ui.wireframe([(_x, _y - 0.3, _z),", " (_x, _y + 0.3, _z)], color=sb.color.teal)", "sb.ui.wireframe([(_x - 0.3, _y, _z),", " (_x + 0.3, _y, _z)], color=sb.color.teal)", "sb.ui.wireframe([(_x, _y, _z - 0.3),", " (_x, _y, _z + 0.3)], color=sb.color.teal)", "", "sb.ui.point(_x, _y, _z, color=sb.color.teal)", "sb.ui.point(_x + dx, _y + dy, _z + dz, color=sb.color.teal, drag=(dx, dy, dz))", "" ], "uid": 5 }, { "datums": [ { "expr": "\u0011[__4.__4]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "0", "name": "x0", "type": "float", "uid": 1 }, { "expr": "0", "name": "y0", "type": "float", "uid": 2 }, { "expr": "varFabLetters.letterSpacing * 0", "name": "x1", "type": "float", "uid": 3 }, { "expr": "0", "name": "y1", "type": "float", "uid": 4 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf0-Zf0aa-Zf1-f0Z/+*-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iiaa-r+q-Xf0.4q-Yf0.75f0.25n-r+q-Xf0.4q-Yf0.75f0.15aa-f0X-Xf0.4a-f0.75Y-Yf1aa-f0X-Xf0.4a-f0.45Y-Yf0.55aa-f0.15X-Xf0.25a-f0Y-Yf0.75*-f1Zni-*f0-Xf1*f-1-Yf0i-*f2.4-Xf0*f-0.52-Yf0-*f-2.4-Xf-0.52*f1.52-Yf2.4f1',float('-0.520000'),float('0.000000'),float('0.000000'),float('1.000000'),float('2.400000'),float('1.000000'))", "name": "out", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 389.0101936617819, 595.99325964595653 ], "name": "letter0", "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))", "", "# UI", "sb.ui.wireframe([(x0, y0, 0), (x1, y1, 0)], color=sb.color.green)", "sb.ui.point(x0, y0, color=sb.color.green)", "sb.ui.point(x1, y1, color=sb.color.green)", "", "" ], "uid": 7 }, { "datums": [ { "expr": "\u0011[__9.__0]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "0", "name": "x0", "type": "float", "uid": 1 }, { "expr": "0", "name": "y0", "type": "float", "uid": 2 }, { "expr": "var.dx * 1", "name": "x1", "type": "float", "uid": 3 }, { "expr": "var.dy * 1", "name": "y1", "type": "float", "uid": 4 }, { "expr": "\u0012fab.types.Shape('m-Xf3-Yf3.5-Zf0iiiiiiiim-Xf0-Yf0-Zf0aa-Zf1-f0Z/+*-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iiaa-r+q-Xf0.4q-Yf0.75f0.25n-r+q-Xf0.4q-Yf0.75f0.15aa-f0X-Xf0.4a-f0.75Y-Yf1aa-f0X-Xf0.4a-f0.45Y-Yf0.55aa-f0.15X-Xf0.25a-f0Y-Yf0.75*-f1Zni-*f0-Xf1*f-1-Yf0i-*f2.4-Xf0*f-0.52-Yf0-*f-2.4-Xf-0.52*f1.52-Yf2.4f1m-Xf0.7-Yf0-Zf0aa-Zf1-f0Z/+*-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0m-Xf-0.05-Yf0-Zf0im--Xf0/*f0.1-Yf0f0.35Y_a-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175aa-f0.51X-Xf0.61a-f0Y-Yf0.35*-f1Zni-*f0-Xf1*f-1-Yf0i-*f2.4-Xf0*f-0.52-Yf0-*f-2.4-Xf-0.52*f1.52-Yf2.4f1m-Xf1.4-Yf0-Zf0aa-Zf1-f0Z/+*-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iiaa-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175iaa-f0.25X-Xf1a-f0Y-Yf0.275aa-f0X-Xf1a-f0.275Y-Yf1aa-f0X-Xf0.1a-f0Y-Yf1aa-f0.1X-Xf0.25a-f0Y-Yf0.1*-f1Zni-*f0-Xf1*f-1-Yf0i-*f2.4-Xf0*f-0.52-Yf0-*f-2.4-Xf-0.52*f1.52-Yf2.4f1m-Xf2.1-Yf0-Zf0aa-Zf1-f0Z/+*-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0im/Xf0.7Y_aa-r+q-Xf0.55qYf0.55nm+f0.55/-Xf0.55f0.8Y_-r+q-Xf0.55qYf0.45aa-f0X-Xf0.55a-f0Y-Yf0.55aa-f0X-Xf0.1a-f0Y-Yf0.55*-f1Zni-*f0-Xf1*f-1-Yf0i-*f2.4-Xf0*f-0.52-Yf0-*f-2.4-Xf-0.52*f1.52-Yf2.4f1m-Xf2.8-Yf0-Zf0aa-Zf1-f0Z/+*-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iaa-f0.025X-Xf0.125a-f0Y-Yf0.55-r+q-Xf0.075q-Yf0.7f0.075*-f1Zni-*f0-Xf1*f-1-Yf0i-*f2.4-Xf0*f-0.52-Yf0-*f-2.4-Xf-0.52*f1.52-Yf2.4f1m-Xf3.5-Yf0-Zf0aa-Zf1-f0Z/+*-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0aa-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175nni-*f0.275-Xf0.275*f0.275-Yf0.275i-*f-0.55-Xf0.55*f0-Yf0.55-*f0.275-Xf0.55*f-0.275-Yf0*-f1Zni-*f0-Xf1*f-1-Yf0i-*f2.4-Xf0*f-0.52-Yf0-*f-2.4-Xf-0.52*f1.52-Yf2.4f1m-Xf4.2-Yf0-Zf0aa-Zf1-f0Z/+*-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0m-Xf-0.05-Yf0-Zf0im--Xf0/*f0.1-Yf0f0.35Y_a-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175aa-f0.51X-Xf0.61a-f0Y-Yf0.35*-f1Zni-*f0-Xf1*f-1-Yf0i-*f2.4-Xf0*f-0.52-Yf0-*f-2.4-Xf-0.52*f1.52-Yf2.4f1m-Xf4.9-Yf0-Zf0aa-Zf1-f0Z/+*-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iiaa-r+q-Xf0.4q-Yf0.25f0.25n-r+q-Xf0.4q-Yf0.25f0.15aa-f0X-Xf0.4a-f0Y-Yf0.25aa-f0X-Xf0.4a-f0.55Y-Yf0.65aa-f0.15X-Xf0.25a-f0.25Y-Yf1*-f1Zni-*f0-Xf1*f-1-Yf0i-*f2.4-Xf0*f-0.52-Yf0-*f-2.4-Xf-0.52*f1.52-Yf2.4f1m-Xf5.6-Yf0-Zf0aa-Zf1-f0Z/+*-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0aiaa-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175nni-*f0-Xf0.1*f0.65-Yf0.275i-*f-0.275-Xf0.75*f-0.15-Yf0.275-*f0.275-Xf0.6*f-0.5-Yf0aa-f0.05X-Xf0.55a-f0.225Y-Yf0.315-r+q-Xf0.275q-Yf0.275f0.275*-f1Zni-*f0-Xf1*f-1-Yf0i-*f2.4-Xf0*f-0.52-Yf0-*f-2.4-Xf-0.52*f1.52-Yf2.4f1',float('2.480000'),float('3.500000'),float('0.000000'),float('9.600000'),float('5.900000'),float('1.000000'))", "name": "out", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 120.81803621718436, 339.00308694639335 ], "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))", "", "# UI", "sb.ui.wireframe([(x0, y0, 0), (x1, y1, 0)], color=sb.color.green)", "sb.ui.point(x0, y0, color=sb.color.green)", "sb.ui.point(x1, y1, color=sb.color.green)", "", "" ], "uid": 8 }, { "datums": [ { "expr": "\u0011[__7.__5]", "name": "plug", "type": "_fabtypes.Shape", "uid": 0 } ], "inspector": [ 662.24205451941248, 733.34025058882423 ], "name": "s0", "script": [ "import fab", "", "title('plug')", "input('plug', fab.types.Shape)" ], "uid": 6 }, { "datums": [ { "expr": "letter0.out | letter1.out | letter2.out | letter3.out | letter4.out | letter5.out | letter6.out | letter7.out | letter8.out", "name": "shape", "type": "_fabtypes.Shape", "uid": 0 } ], "inspector": [ -172.86980179112527, 343.83993543069971 ], "name": "u0", "script": [ "import fab.types", "", "title('Union')", "input('shape', fab.types.Shape)" ], "uid": 9 }, { "datums": [ { "expr": "\u0011[__12.__5]", "name": "plug", "type": "_fabtypes.Shape", "uid": 0 } ], "inspector": [ 663.23607604639028, 977.49569088740202 ], "name": "s2", "script": [ "import fab", "", "title('plug')", "input('plug', fab.types.Shape)" ], "uid": 10 }, { "datums": [ { "expr": "0.0", "name": "x", "type": "float", "uid": 0 }, { "expr": "0.0", "name": "y", "type": "float", "uid": 1 }, { "expr": "'a'", "name": "text", "type": "str", "uid": 2 }, { "expr": "1", "name": "scale", "type": "float", "uid": 3 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0m-Xf-0.05-Yf0-Zf0im--Xf0/*f0.1-Yf0f0.35Y_a-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175aa-f0.51X-Xf0.61a-f0Y-Yf0.35',float('-0.075000'),float('0.000000'),float('-inf'),float('0.632143'),float('0.550000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ -169.30998030652154, 838.35602624102387 ], "name": "t2", "script": [ "import fab", "", "title('Text')", "", "input('x', float)", "input('y', float)", "input('text', str)", "input('scale', float)", "", "output('shape', fab.shapes.text(text, x, y, scale))", "", "# UI", "sb.ui.wireframe([(x, y, 0), (x, y+scale, 0)])", "sb.ui.point(x, y, 0)", "sb.ui.point(x, y + scale, 0, drag=(None, scale, None))", "" ], "uid": 11 }, { "datums": [ { "expr": "\u0011[__13.__4]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "0", "name": "x0", "type": "float", "uid": 1 }, { "expr": "0", "name": "y0", "type": "float", "uid": 2 }, { "expr": "varFabLetters.letterSpacing * 1", "name": "x1", "type": "float", "uid": 3 }, { "expr": "0", "name": "y1", "type": "float", "uid": 4 }, { "expr": "\u0012fab.types.Shape('m-Xf0.7-Yf0-Zf0aa-Zf1-f0Z/+*-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0m-Xf-0.05-Yf0-Zf0im--Xf0/*f0.1-Yf0f0.35Y_a-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175aa-f0.51X-Xf0.61a-f0Y-Yf0.35*-f1Zni-*f0-Xf1*f-1-Yf0i-*f2.4-Xf0*f-0.52-Yf0-*f-2.4-Xf-0.52*f1.52-Yf2.4f1',float('0.180000'),float('0.000000'),float('0.000000'),float('1.700000'),float('2.400000'),float('1.000000'))", "name": "out", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 390.00421518875964, 840.14869994453431 ], "name": "letter1", "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))", "", "# UI", "sb.ui.wireframe([(x0, y0, 0), (x1, y1, 0)], color=sb.color.green)", "sb.ui.point(x0, y0, color=sb.color.green)", "sb.ui.point(x1, y1, color=sb.color.green)", "", "" ], "uid": 12 }, { "datums": [ { "expr": "letterBase.shape", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "0", "name": "z0", "type": "float", "uid": 1 }, { "expr": "\u0011[__11.__4]", "name": "b", "type": "_fabtypes.Shape", "uid": 2 }, { "expr": "1", "name": "z1", "type": "float", "uid": 3 }, { "expr": "\u0012fab.types.Shape('aa-Zf1-f0Z/+*-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0m-Xf-0.05-Yf0-Zf0im--Xf0/*f0.1-Yf0f0.35Y_a-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175aa-f0.51X-Xf0.61a-f0Y-Yf0.35*-f1Zni-*f0-Xf1*f-1-Yf0i-*f2.4-Xf0*f-0.52-Yf0-*f-2.4-Xf-0.52*f1.52-Yf2.4f1',float('-0.520000'),float('0.000000'),float('0.000000'),float('1.000000'),float('2.400000'),float('1.000000'))", "name": "out", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 117.51781225516129, 841.94137364804499 ], "name": "l1", "script": [ "# Neil Gershenfeld 2/1/15", "# Matt Keeter 6/13/15", "", "import fab", "", "title('Loft')", "", "input('a', fab.types.Shape)", "input('z0', float)", "input('b', fab.types.Shape)", "input('z1', float)", "", "output('out', fab.shapes.loft_xy_z(a, b, z0, z1))", "", "" ], "uid": 13 }, { "datums": [ { "expr": "\u0011[__16.__5]", "name": "plug", "type": "_fabtypes.Shape", "uid": 0 } ], "inspector": [ 667.73906528290138, 1220.6571096590019 ], "name": "s3", "script": [ "import fab", "", "title('plug')", "input('plug', fab.types.Shape)" ], "uid": 14 }, { "datums": [ { "expr": "0.0", "name": "x", "type": "float", "uid": 0 }, { "expr": "0.0", "name": "y", "type": "float", "uid": 1 }, { "expr": "'b'", "name": "text", "type": "str", "uid": 2 }, { "expr": "1", "name": "scale", "type": "float", "uid": 3 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iiaa-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175iaa-f0.25X-Xf1a-f0Y-Yf0.275aa-f0X-Xf1a-f0.275Y-Yf1aa-f0X-Xf0.1a-f0Y-Yf1aa-f0.1X-Xf0.25a-f0Y-Yf0.1',float('0.000000'),float('0.000000'),float('-inf'),float('0.525000'),float('1.000000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ -164.80699107001033, 1081.5174450126237 ], "name": "t3", "script": [ "import fab", "", "title('Text')", "", "input('x', float)", "input('y', float)", "input('text', str)", "input('scale', float)", "", "output('shape', fab.shapes.text(text, x, y, scale))", "", "# UI", "sb.ui.wireframe([(x, y, 0), (x, y+scale, 0)])", "sb.ui.point(x, y, 0)", "sb.ui.point(x, y + scale, 0, drag=(None, scale, None))", "" ], "uid": 15 }, { "datums": [ { "expr": "\u0011[__17.__4]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "0", "name": "x0", "type": "float", "uid": 1 }, { "expr": "0", "name": "y0", "type": "float", "uid": 2 }, { "expr": "varFabLetters.letterSpacing * 2", "name": "x1", "type": "float", "uid": 3 }, { "expr": "0", "name": "y1", "type": "float", "uid": 4 }, { "expr": "\u0012fab.types.Shape('m-Xf1.4-Yf0-Zf0aa-Zf1-f0Z/+*-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iiaa-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175iaa-f0.25X-Xf1a-f0Y-Yf0.275aa-f0X-Xf1a-f0.275Y-Yf1aa-f0X-Xf0.1a-f0Y-Yf1aa-f0.1X-Xf0.25a-f0Y-Yf0.1*-f1Zni-*f0-Xf1*f-1-Yf0i-*f2.4-Xf0*f-0.52-Yf0-*f-2.4-Xf-0.52*f1.52-Yf2.4f1',float('0.880000'),float('0.000000'),float('0.000000'),float('2.400000'),float('2.400000'),float('1.000000'))", "name": "out", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 394.50720442527074, 1083.3101187161342 ], "name": "letter2", "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))", "", "# UI", "sb.ui.wireframe([(x0, y0, 0), (x1, y1, 0)], color=sb.color.green)", "sb.ui.point(x0, y0, color=sb.color.green)", "sb.ui.point(x1, y1, color=sb.color.green)", "", "" ], "uid": 16 }, { "datums": [ { "expr": "letterBase.shape", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "0", "name": "z0", "type": "float", "uid": 1 }, { "expr": "\u0011[__15.__4]", "name": "b", "type": "_fabtypes.Shape", "uid": 2 }, { "expr": "1", "name": "z1", "type": "float", "uid": 3 }, { "expr": "\u0012fab.types.Shape('aa-Zf1-f0Z/+*-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iiaa-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175iaa-f0.25X-Xf1a-f0Y-Yf0.275aa-f0X-Xf1a-f0.275Y-Yf1aa-f0X-Xf0.1a-f0Y-Yf1aa-f0.1X-Xf0.25a-f0Y-Yf0.1*-f1Zni-*f0-Xf1*f-1-Yf0i-*f2.4-Xf0*f-0.52-Yf0-*f-2.4-Xf-0.52*f1.52-Yf2.4f1',float('-0.520000'),float('0.000000'),float('0.000000'),float('1.000000'),float('2.400000'),float('1.000000'))", "name": "out", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 122.02080149167239, 1085.1027924196451 ], "name": "l2", "script": [ "# Neil Gershenfeld 2/1/15", "# Matt Keeter 6/13/15", "", "import fab", "", "title('Loft')", "", "input('a', fab.types.Shape)", "input('z0', float)", "input('b', fab.types.Shape)", "input('z1', float)", "", "output('out', fab.shapes.loft_xy_z(a, b, z0, z1))", "", "" ], "uid": 17 }, { "datums": [ { "expr": "\u0011[__20.__5]", "name": "plug", "type": "_fabtypes.Shape", "uid": 0 } ], "inspector": [ 672.24205451941248, 1468.3215176671133 ], "name": "s4", "script": [ "import fab", "", "title('plug')", "input('plug', fab.types.Shape)" ], "uid": 18 }, { "datums": [ { "expr": "0.0", "name": "x", "type": "float", "uid": 0 }, { "expr": "0.0", "name": "y", "type": "float", "uid": 1 }, { "expr": "'r'", "name": "text", "type": "str", "uid": 2 }, { "expr": "1", "name": "scale", "type": "float", "uid": 3 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0im/Xf0.7Y_aa-r+q-Xf0.55qYf0.55nm+f0.55/-Xf0.55f0.8Y_-r+q-Xf0.55qYf0.45aa-f0X-Xf0.55a-f0Y-Yf0.55aa-f0X-Xf0.1a-f0Y-Yf0.55',float('0.000000'),float('0.000000'),float('-inf'),float('0.385000'),float('0.550000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ -160.30400183349923, 1329.1818530207352 ], "name": "t4", "script": [ "import fab", "", "title('Text')", "", "input('x', float)", "input('y', float)", "input('text', str)", "input('scale', float)", "", "output('shape', fab.shapes.text(text, x, y, scale))", "", "# UI", "sb.ui.wireframe([(x, y, 0), (x, y+scale, 0)])", "sb.ui.point(x, y, 0)", "sb.ui.point(x, y + scale, 0, drag=(None, scale, None))", "" ], "uid": 19 }, { "datums": [ { "expr": "\u0011[__21.__4]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "0", "name": "x0", "type": "float", "uid": 1 }, { "expr": "0", "name": "y0", "type": "float", "uid": 2 }, { "expr": "varFabLetters.letterSpacing * 3", "name": "x1", "type": "float", "uid": 3 }, { "expr": "0", "name": "y1", "type": "float", "uid": 4 }, { "expr": "\u0012fab.types.Shape('m-Xf2.1-Yf0-Zf0aa-Zf1-f0Z/+*-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0im/Xf0.7Y_aa-r+q-Xf0.55qYf0.55nm+f0.55/-Xf0.55f0.8Y_-r+q-Xf0.55qYf0.45aa-f0X-Xf0.55a-f0Y-Yf0.55aa-f0X-Xf0.1a-f0Y-Yf0.55*-f1Zni-*f0-Xf1*f-1-Yf0i-*f2.4-Xf0*f-0.52-Yf0-*f-2.4-Xf-0.52*f1.52-Yf2.4f1',float('1.580000'),float('0.000000'),float('0.000000'),float('3.100000'),float('2.400000'),float('1.000000'))", "name": "out", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 399.0101936617819, 1330.9745267242456 ], "name": "letter3", "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))", "", "# UI", "sb.ui.wireframe([(x0, y0, 0), (x1, y1, 0)], color=sb.color.green)", "sb.ui.point(x0, y0, color=sb.color.green)", "sb.ui.point(x1, y1, color=sb.color.green)", "", "" ], "uid": 20 }, { "datums": [ { "expr": "letterBase.shape", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "0", "name": "z0", "type": "float", "uid": 1 }, { "expr": "\u0011[__19.__4]", "name": "b", "type": "_fabtypes.Shape", "uid": 2 }, { "expr": "1", "name": "z1", "type": "float", "uid": 3 }, { "expr": "\u0012fab.types.Shape('aa-Zf1-f0Z/+*-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0im/Xf0.7Y_aa-r+q-Xf0.55qYf0.55nm+f0.55/-Xf0.55f0.8Y_-r+q-Xf0.55qYf0.45aa-f0X-Xf0.55a-f0Y-Yf0.55aa-f0X-Xf0.1a-f0Y-Yf0.55*-f1Zni-*f0-Xf1*f-1-Yf0i-*f2.4-Xf0*f-0.52-Yf0-*f-2.4-Xf-0.52*f1.52-Yf2.4f1',float('-0.520000'),float('0.000000'),float('0.000000'),float('1.000000'),float('2.400000'),float('1.000000'))", "name": "out", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 126.52379072818354, 1332.7672004277561 ], "name": "l3", "script": [ "# Neil Gershenfeld 2/1/15", "# Matt Keeter 6/13/15", "", "import fab", "", "title('Loft')", "", "input('a', fab.types.Shape)", "input('z0', float)", "input('b', fab.types.Shape)", "input('z1', float)", "", "output('out', fab.shapes.loft_xy_z(a, b, z0, z1))", "", "" ], "uid": 21 }, { "datums": [ { "expr": "\u0011[__24.__5]", "name": "plug", "type": "_fabtypes.Shape", "uid": 0 } ], "inspector": [ 674.49354913766797, 1706.9799472022019 ], "name": "s5", "script": [ "import fab", "", "title('plug')", "input('plug', fab.types.Shape)" ], "uid": 22 }, { "datums": [ { "expr": "0.0", "name": "x", "type": "float", "uid": 0 }, { "expr": "0.0", "name": "y", "type": "float", "uid": 1 }, { "expr": "'i'", "name": "text", "type": "str", "uid": 2 }, { "expr": "1", "name": "scale", "type": "float", "uid": 3 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iaa-f0.025X-Xf0.125a-f0Y-Yf0.55-r+q-Xf0.075q-Yf0.7f0.075',float('0.000000'),float('0.000000'),float('-inf'),float('0.150000'),float('0.775000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ -158.05250721524362, 1567.8402825558237 ], "name": "t5", "script": [ "import fab", "", "title('Text')", "", "input('x', float)", "input('y', float)", "input('text', str)", "input('scale', float)", "", "output('shape', fab.shapes.text(text, x, y, scale))", "", "# UI", "sb.ui.wireframe([(x, y, 0), (x, y+scale, 0)])", "sb.ui.point(x, y, 0)", "sb.ui.point(x, y + scale, 0, drag=(None, scale, None))", "" ], "uid": 23 }, { "datums": [ { "expr": "\u0011[__25.__4]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "0", "name": "x0", "type": "float", "uid": 1 }, { "expr": "0", "name": "y0", "type": "float", "uid": 2 }, { "expr": "varFabLetters.letterSpacing * 4", "name": "x1", "type": "float", "uid": 3 }, { "expr": "0", "name": "y1", "type": "float", "uid": 4 }, { "expr": "\u0012fab.types.Shape('m-Xf2.8-Yf0-Zf0aa-Zf1-f0Z/+*-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iaa-f0.025X-Xf0.125a-f0Y-Yf0.55-r+q-Xf0.075q-Yf0.7f0.075*-f1Zni-*f0-Xf1*f-1-Yf0i-*f2.4-Xf0*f-0.52-Yf0-*f-2.4-Xf-0.52*f1.52-Yf2.4f1',float('2.280000'),float('0.000000'),float('0.000000'),float('3.800000'),float('2.400000'),float('1.000000'))", "name": "out", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 401.26168828003739, 1569.6329562593342 ], "name": "letter4", "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))", "", "# UI", "sb.ui.wireframe([(x0, y0, 0), (x1, y1, 0)], color=sb.color.green)", "sb.ui.point(x0, y0, color=sb.color.green)", "sb.ui.point(x1, y1, color=sb.color.green)", "", "" ], "uid": 24 }, { "datums": [ { "expr": "letterBase.shape", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "0", "name": "z0", "type": "float", "uid": 1 }, { "expr": "\u0011[__23.__4]", "name": "b", "type": "_fabtypes.Shape", "uid": 2 }, { "expr": "1", "name": "z1", "type": "float", "uid": 3 }, { "expr": "\u0012fab.types.Shape('aa-Zf1-f0Z/+*-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iaa-f0.025X-Xf0.125a-f0Y-Yf0.55-r+q-Xf0.075q-Yf0.7f0.075*-f1Zni-*f0-Xf1*f-1-Yf0i-*f2.4-Xf0*f-0.52-Yf0-*f-2.4-Xf-0.52*f1.52-Yf2.4f1',float('-0.520000'),float('0.000000'),float('0.000000'),float('1.000000'),float('2.400000'),float('1.000000'))", "name": "out", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 128.77528534643903, 1571.4256299628451 ], "name": "l4", "script": [ "# Neil Gershenfeld 2/1/15", "# Matt Keeter 6/13/15", "", "import fab", "", "title('Loft')", "", "input('a', fab.types.Shape)", "input('z0', float)", "input('b', fab.types.Shape)", "input('z1', float)", "", "output('out', fab.shapes.loft_xy_z(a, b, z0, z1))", "", "" ], "uid": 25 }, { "datums": [ { "expr": "\u0011[__28.__5]", "name": "plug", "type": "_fabtypes.Shape", "uid": 0 } ], "inspector": [ 674.86820038693929, 1961.8719331212235 ], "name": "s6", "script": [ "import fab", "", "title('plug')", "input('plug', fab.types.Shape)" ], "uid": 26 }, { "datums": [ { "expr": "0.0", "name": "x", "type": "float", "uid": 0 }, { "expr": "0.0", "name": "y", "type": "float", "uid": 1 }, { "expr": "'c'", "name": "text", "type": "str", "uid": 2 }, { "expr": "1", "name": "scale", "type": "float", "uid": 3 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0aa-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175nni-*f0.275-Xf0.275*f0.275-Yf0.275i-*f-0.55-Xf0.55*f0-Yf0.55-*f0.275-Xf0.55*f-0.275-Yf0',float('0.000000'),float('0.000000'),float('-inf'),float('0.550000'),float('0.550000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ -157.67785596597253, 1822.7322684748453 ], "name": "t6", "script": [ "import fab", "", "title('Text')", "", "input('x', float)", "input('y', float)", "input('text', str)", "input('scale', float)", "", "output('shape', fab.shapes.text(text, x, y, scale))", "", "# UI", "sb.ui.wireframe([(x, y, 0), (x, y+scale, 0)])", "sb.ui.point(x, y, 0)", "sb.ui.point(x, y + scale, 0, drag=(None, scale, None))", "" ], "uid": 27 }, { "datums": [ { "expr": "\u0011[__29.__4]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "0", "name": "x0", "type": "float", "uid": 1 }, { "expr": "0", "name": "y0", "type": "float", "uid": 2 }, { "expr": "varFabLetters.letterSpacing * 5", "name": "x1", "type": "float", "uid": 3 }, { "expr": "0", "name": "y1", "type": "float", "uid": 4 }, { "expr": "\u0012fab.types.Shape('m-Xf3.5-Yf0-Zf0aa-Zf1-f0Z/+*-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0aa-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175nni-*f0.275-Xf0.275*f0.275-Yf0.275i-*f-0.55-Xf0.55*f0-Yf0.55-*f0.275-Xf0.55*f-0.275-Yf0*-f1Zni-*f0-Xf1*f-1-Yf0i-*f2.4-Xf0*f-0.52-Yf0-*f-2.4-Xf-0.52*f1.52-Yf2.4f1',float('2.980000'),float('0.000000'),float('0.000000'),float('4.500000'),float('2.400000'),float('1.000000'))", "name": "out", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 401.63633952930866, 1824.5249421783558 ], "name": "letter5", "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))", "", "# UI", "sb.ui.wireframe([(x0, y0, 0), (x1, y1, 0)], color=sb.color.green)", "sb.ui.point(x0, y0, color=sb.color.green)", "sb.ui.point(x1, y1, color=sb.color.green)", "", "" ], "uid": 28 }, { "datums": [ { "expr": "letterBase.shape", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "0", "name": "z0", "type": "float", "uid": 1 }, { "expr": "\u0011[__27.__4]", "name": "b", "type": "_fabtypes.Shape", "uid": 2 }, { "expr": "1", "name": "z1", "type": "float", "uid": 3 }, { "expr": "\u0012fab.types.Shape('aa-Zf1-f0Z/+*-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0aa-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175nni-*f0.275-Xf0.275*f0.275-Yf0.275i-*f-0.55-Xf0.55*f0-Yf0.55-*f0.275-Xf0.55*f-0.275-Yf0*-f1Zni-*f0-Xf1*f-1-Yf0i-*f2.4-Xf0*f-0.52-Yf0-*f-2.4-Xf-0.52*f1.52-Yf2.4f1',float('-0.520000'),float('0.000000'),float('0.000000'),float('1.000000'),float('2.400000'),float('1.000000'))", "name": "out", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 129.1499365957103, 1826.3176158818662 ], "name": "l5", "script": [ "# Neil Gershenfeld 2/1/15", "# Matt Keeter 6/13/15", "", "import fab", "", "title('Loft')", "", "input('a', fab.types.Shape)", "input('z0', float)", "input('b', fab.types.Shape)", "input('z1', float)", "", "output('out', fab.shapes.loft_xy_z(a, b, z0, z1))", "", "" ], "uid": 29 }, { "datums": [ { "expr": "\u0011[__32.__5]", "name": "plug", "type": "_fabtypes.Shape", "uid": 0 } ], "inspector": [ 674.86820038693918, 2211.3557905362622 ], "name": "s7", "script": [ "import fab", "", "title('plug')", "input('plug', fab.types.Shape)" ], "uid": 30 }, { "datums": [ { "expr": "0.0", "name": "x", "type": "float", "uid": 0 }, { "expr": "0.0", "name": "y", "type": "float", "uid": 1 }, { "expr": "'a'", "name": "text", "type": "str", "uid": 2 }, { "expr": "1", "name": "scale", "type": "float", "uid": 3 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0m-Xf-0.05-Yf0-Zf0im--Xf0/*f0.1-Yf0f0.35Y_a-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175aa-f0.51X-Xf0.61a-f0Y-Yf0.35',float('-0.075000'),float('0.000000'),float('-inf'),float('0.632143'),float('0.550000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ -157.67785596597253, 2072.2161258898841 ], "name": "t7", "script": [ "import fab", "", "title('Text')", "", "input('x', float)", "input('y', float)", "input('text', str)", "input('scale', float)", "", "output('shape', fab.shapes.text(text, x, y, scale))", "", "# UI", "sb.ui.wireframe([(x, y, 0), (x, y+scale, 0)])", "sb.ui.point(x, y, 0)", "sb.ui.point(x, y + scale, 0, drag=(None, scale, None))", "" ], "uid": 31 }, { "datums": [ { "expr": "\u0011[__33.__4]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "0", "name": "x0", "type": "float", "uid": 1 }, { "expr": "0", "name": "y0", "type": "float", "uid": 2 }, { "expr": "varFabLetters.letterSpacing * 6", "name": "x1", "type": "float", "uid": 3 }, { "expr": "0", "name": "y1", "type": "float", "uid": 4 }, { "expr": "\u0012fab.types.Shape('m-Xf4.2-Yf0-Zf0aa-Zf1-f0Z/+*-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0m-Xf-0.05-Yf0-Zf0im--Xf0/*f0.1-Yf0f0.35Y_a-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175aa-f0.51X-Xf0.61a-f0Y-Yf0.35*-f1Zni-*f0-Xf1*f-1-Yf0i-*f2.4-Xf0*f-0.52-Yf0-*f-2.4-Xf-0.52*f1.52-Yf2.4f1',float('3.680000'),float('0.000000'),float('0.000000'),float('5.200000'),float('2.400000'),float('1.000000'))", "name": "out", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 401.6363395293086, 2074.0087995933945 ], "name": "letter6", "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))", "", "# UI", "sb.ui.wireframe([(x0, y0, 0), (x1, y1, 0)], color=sb.color.green)", "sb.ui.point(x0, y0, color=sb.color.green)", "sb.ui.point(x1, y1, color=sb.color.green)", "", "" ], "uid": 32 }, { "datums": [ { "expr": "letterBase.shape", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "0", "name": "z0", "type": "float", "uid": 1 }, { "expr": "\u0011[__31.__4]", "name": "b", "type": "_fabtypes.Shape", "uid": 2 }, { "expr": "1", "name": "z1", "type": "float", "uid": 3 }, { "expr": "\u0012fab.types.Shape('aa-Zf1-f0Z/+*-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0m-Xf-0.05-Yf0-Zf0im--Xf0/*f0.1-Yf0f0.35Y_a-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175aa-f0.51X-Xf0.61a-f0Y-Yf0.35*-f1Zni-*f0-Xf1*f-1-Yf0i-*f2.4-Xf0*f-0.52-Yf0-*f-2.4-Xf-0.52*f1.52-Yf2.4f1',float('-0.520000'),float('0.000000'),float('0.000000'),float('1.000000'),float('2.400000'),float('1.000000'))", "name": "out", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 129.14993659571024, 2075.801473296905 ], "name": "l6", "script": [ "# Neil Gershenfeld 2/1/15", "# Matt Keeter 6/13/15", "", "import fab", "", "title('Loft')", "", "input('a', fab.types.Shape)", "input('z0', float)", "input('b', fab.types.Shape)", "input('z1', float)", "", "output('out', fab.shapes.loft_xy_z(a, b, z0, z1))", "", "" ], "uid": 33 }, { "datums": [ { "expr": "\u0011[__36.__5]", "name": "plug", "type": "_fabtypes.Shape", "uid": 0 } ], "inspector": [ 677.494346254466, 2447.7089186136673 ], "name": "s8", "script": [ "import fab", "", "title('plug')", "input('plug', fab.types.Shape)" ], "uid": 34 }, { "datums": [ { "expr": "0.0", "name": "x", "type": "float", "uid": 0 }, { "expr": "0.0", "name": "y", "type": "float", "uid": 1 }, { "expr": "'t'", "name": "text", "type": "str", "uid": 2 }, { "expr": "1", "name": "scale", "type": "float", "uid": 3 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iiaa-r+q-Xf0.4q-Yf0.25f0.25n-r+q-Xf0.4q-Yf0.25f0.15aa-f0X-Xf0.4a-f0Y-Yf0.25aa-f0X-Xf0.4a-f0.55Y-Yf0.65aa-f0.15X-Xf0.25a-f0.25Y-Yf1',float('0.000000'),float('0.000000'),float('-inf'),float('0.400000'),float('1.000000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ -155.05171009844577, 2308.5692539672891 ], "name": "t8", "script": [ "import fab", "", "title('Text')", "", "input('x', float)", "input('y', float)", "input('text', str)", "input('scale', float)", "", "output('shape', fab.shapes.text(text, x, y, scale))", "", "# UI", "sb.ui.wireframe([(x, y, 0), (x, y+scale, 0)])", "sb.ui.point(x, y, 0)", "sb.ui.point(x, y + scale, 0, drag=(None, scale, None))", "" ], "uid": 35 }, { "datums": [ { "expr": "\u0011[__37.__4]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "0", "name": "x0", "type": "float", "uid": 1 }, { "expr": "0", "name": "y0", "type": "float", "uid": 2 }, { "expr": "varFabLetters.letterSpacing * 7", "name": "x1", "type": "float", "uid": 3 }, { "expr": "0", "name": "y1", "type": "float", "uid": 4 }, { "expr": "\u0012fab.types.Shape('m-Xf4.9-Yf0-Zf0aa-Zf1-f0Z/+*-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iiaa-r+q-Xf0.4q-Yf0.25f0.25n-r+q-Xf0.4q-Yf0.25f0.15aa-f0X-Xf0.4a-f0Y-Yf0.25aa-f0X-Xf0.4a-f0.55Y-Yf0.65aa-f0.15X-Xf0.25a-f0.25Y-Yf1*-f1Zni-*f0-Xf1*f-1-Yf0i-*f2.4-Xf0*f-0.52-Yf0-*f-2.4-Xf-0.52*f1.52-Yf2.4f1',float('4.380000'),float('0.000000'),float('0.000000'),float('5.900000'),float('2.400000'),float('1.000000'))", "name": "out", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 404.26248539683536, 2310.3619276707996 ], "name": "letter7", "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))", "", "# UI", "sb.ui.wireframe([(x0, y0, 0), (x1, y1, 0)], color=sb.color.green)", "sb.ui.point(x0, y0, color=sb.color.green)", "sb.ui.point(x1, y1, color=sb.color.green)", "", "" ], "uid": 36 }, { "datums": [ { "expr": "letterBase.shape", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "0", "name": "z0", "type": "float", "uid": 1 }, { "expr": "\u0011[__35.__4]", "name": "b", "type": "_fabtypes.Shape", "uid": 2 }, { "expr": "1", "name": "z1", "type": "float", "uid": 3 }, { "expr": "\u0012fab.types.Shape('aa-Zf1-f0Z/+*-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iiaa-r+q-Xf0.4q-Yf0.25f0.25n-r+q-Xf0.4q-Yf0.25f0.15aa-f0X-Xf0.4a-f0Y-Yf0.25aa-f0X-Xf0.4a-f0.55Y-Yf0.65aa-f0.15X-Xf0.25a-f0.25Y-Yf1*-f1Zni-*f0-Xf1*f-1-Yf0i-*f2.4-Xf0*f-0.52-Yf0-*f-2.4-Xf-0.52*f1.52-Yf2.4f1',float('-0.520000'),float('0.000000'),float('0.000000'),float('1.000000'),float('2.400000'),float('1.000000'))", "name": "out", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 131.776082463237, 2312.15460137431 ], "name": "l7", "script": [ "# Neil Gershenfeld 2/1/15", "# Matt Keeter 6/13/15", "", "import fab", "", "title('Loft')", "", "input('a', fab.types.Shape)", "input('z0', float)", "input('b', fab.types.Shape)", "input('z1', float)", "", "output('out', fab.shapes.loft_xy_z(a, b, z0, z1))", "", "" ], "uid": 37 }, { "datums": [ { "expr": "\u0011[__39.__4]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "0", "name": "x0", "type": "float", "uid": 1 }, { "expr": "0", "name": "y0", "type": "float", "uid": 2 }, { "expr": "varFabLetters.letterSpacing * 8", "name": "x1", "type": "float", "uid": 3 }, { "expr": "0", "name": "y1", "type": "float", "uid": 4 }, { "expr": "\u0012fab.types.Shape('m-Xf5.6-Yf0-Zf0aa-Zf1-f0Z/+*-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0aiaa-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175nni-*f0-Xf0.1*f0.65-Yf0.275i-*f-0.275-Xf0.75*f-0.15-Yf0.275-*f0.275-Xf0.6*f-0.5-Yf0aa-f0.05X-Xf0.55a-f0.225Y-Yf0.315-r+q-Xf0.275q-Yf0.275f0.275*-f1Zni-*f0-Xf1*f-1-Yf0i-*f2.4-Xf0*f-0.52-Yf0-*f-2.4-Xf-0.52*f1.52-Yf2.4f1',float('5.080000'),float('0.000000'),float('0.000000'),float('6.600000'),float('2.400000'),float('1.000000'))", "name": "out", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 404.17710241317604, 2556.3598894884253 ], "name": "letter8", "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))", "", "# UI", "sb.ui.wireframe([(x0, y0, 0), (x1, y1, 0)], color=sb.color.green)", "sb.ui.point(x0, y0, color=sb.color.green)", "sb.ui.point(x1, y1, color=sb.color.green)", "", "" ], "uid": 38 }, { "datums": [ { "expr": "letterBase.shape", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "0", "name": "z0", "type": "float", "uid": 1 }, { "expr": "\u0011[__40.__4]", "name": "b", "type": "_fabtypes.Shape", "uid": 2 }, { "expr": "1", "name": "z1", "type": "float", "uid": 3 }, { "expr": "\u0012fab.types.Shape('aa-Zf1-f0Z/+*-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0aiaa-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175nni-*f0-Xf0.1*f0.65-Yf0.275i-*f-0.275-Xf0.75*f-0.15-Yf0.275-*f0.275-Xf0.6*f-0.5-Yf0aa-f0.05X-Xf0.55a-f0.225Y-Yf0.315-r+q-Xf0.275q-Yf0.275f0.275*-f1Zni-*f0-Xf1*f-1-Yf0i-*f2.4-Xf0*f-0.52-Yf0-*f-2.4-Xf-0.52*f1.52-Yf2.4f1',float('-0.520000'),float('0.000000'),float('0.000000'),float('1.000000'),float('2.400000'),float('1.000000'))", "name": "out", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 131.69069947957769, 2558.1525631919358 ], "name": "l8", "script": [ "# Neil Gershenfeld 2/1/15", "# Matt Keeter 6/13/15", "", "import fab", "", "title('Loft')", "", "input('a', fab.types.Shape)", "input('z0', float)", "input('b', fab.types.Shape)", "input('z1', float)", "", "output('out', fab.shapes.loft_xy_z(a, b, z0, z1))", "", "" ], "uid": 39 }, { "datums": [ { "expr": "0.0", "name": "x", "type": "float", "uid": 0 }, { "expr": "0.0", "name": "y", "type": "float", "uid": 1 }, { "expr": "'e'", "name": "text", "type": "str", "uid": 2 }, { "expr": "1", "name": "scale", "type": "float", "uid": 3 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0aiaa-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175nni-*f0-Xf0.1*f0.65-Yf0.275i-*f-0.275-Xf0.75*f-0.15-Yf0.275-*f0.275-Xf0.6*f-0.5-Yf0aa-f0.05X-Xf0.55a-f0.225Y-Yf0.315-r+q-Xf0.275q-Yf0.275f0.275',float('0.000000'),float('0.000000'),float('-inf'),float('0.550000'),float('0.550000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ -155.13709308210497, 2554.5672157849149 ], "name": "t9", "script": [ "import fab", "", "title('Text')", "", "input('x', float)", "input('y', float)", "input('text', str)", "input('scale', float)", "", "output('shape', fab.shapes.text(text, x, y, scale))", "", "# UI", "sb.ui.wireframe([(x, y, 0), (x, y+scale, 0)])", "sb.ui.point(x, y, 0)", "sb.ui.point(x, y + scale, 0, drag=(None, scale, None))", "" ], "uid": 40 }, { "datums": [ { "expr": "\u0011[__38.__5]", "name": "plug", "type": "_fabtypes.Shape", "uid": 0 } ], "inspector": [ 677.40896327080668, 2693.706880431293 ], "name": "s9", "script": [ "import fab", "", "title('plug')", "input('plug', fab.types.Shape)" ], "uid": 41 }, { "datums": [ { "expr": "\u0011[__44.__5]", "name": "plug", "type": "_fabtypes.Shape", "uid": 0 } ], "inspector": [ 1590.7489711025055, 719.03769884026553 ], "name": "s10", "script": [ "import fab", "", "title('plug')", "input('plug', fab.types.Shape)" ], "uid": 42 }, { "datums": [ { "expr": "0.0", "name": "x", "type": "float", "uid": 0 }, { "expr": "0.0", "name": "y", "type": "float", "uid": 1 }, { "expr": "'f'", "name": "text", "type": "str", "uid": 2 }, { "expr": "1", "name": "scale", "type": "float", "uid": 3 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iiaa-r+q-Xf0.4q-Yf0.75f0.25n-r+q-Xf0.4q-Yf0.75f0.15aa-f0X-Xf0.4a-f0.75Y-Yf1aa-f0X-Xf0.4a-f0.45Y-Yf0.55aa-f0.15X-Xf0.25a-f0Y-Yf0.75',float('0.000000'),float('0.000000'),float('-inf'),float('0.400000'),float('1.000000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 1024.2588669059519, 583.12295482608567 ], "name": "t10", "script": [ "import fab", "", "title('Text')", "", "input('x', float)", "input('y', float)", "input('text', str)", "input('scale', float)", "", "output('shape', fab.shapes.text(text, x, y, scale))", "", "# UI", "sb.ui.wireframe([(x, y, 0), (x, y+scale, 0)])", "sb.ui.point(x, y, 0)", "sb.ui.point(x, y + scale, 0, drag=(None, scale, None))", "" ], "uid": 43 }, { "datums": [ { "expr": "\u0011[__43.__4]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "0", "name": "x0", "type": "float", "uid": 1 }, { "expr": "0", "name": "y0", "type": "float", "uid": 2 }, { "expr": "varFabLetters.letterSpacing * 0", "name": "x1", "type": "float", "uid": 3 }, { "expr": "0", "name": "y1", "type": "float", "uid": 4 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iiaa-r+q-Xf0.4q-Yf0.75f0.25n-r+q-Xf0.4q-Yf0.75f0.15aa-f0X-Xf0.4a-f0.75Y-Yf1aa-f0X-Xf0.4a-f0.45Y-Yf0.55aa-f0.15X-Xf0.25a-f0Y-Yf0.75',float('0.000000'),float('0.000000'),float('-inf'),float('0.400000'),float('1.000000'),float('inf'))", "name": "out", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 1317.5171102448744, 581.69070789739783 ], "name": "letter9", "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))", "", "# UI", "sb.ui.wireframe([(x0, y0, 0), (x1, y1, 0)], color=sb.color.green)", "sb.ui.point(x0, y0, color=sb.color.green)", "sb.ui.point(x1, y1, color=sb.color.green)", "", "" ], "uid": 44 }, { "datums": [ { "expr": "0.0", "name": "x", "type": "float", "uid": 0 }, { "expr": "0.0", "name": "y", "type": "float", "uid": 1 }, { "expr": "'a'", "name": "text", "type": "str", "uid": 2 }, { "expr": "1", "name": "scale", "type": "float", "uid": 3 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0m-Xf-0.05-Yf0-Zf0im--Xf0/*f0.1-Yf0f0.35Y_a-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175aa-f0.51X-Xf0.61a-f0Y-Yf0.35',float('-0.075000'),float('0.000000'),float('-inf'),float('0.632143'),float('0.550000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 1022.9704662616471, 830.17936835648811 ], "name": "t11", "script": [ "import fab", "", "title('Text')", "", "input('x', float)", "input('y', float)", "input('text', str)", "input('scale', float)", "", "output('shape', fab.shapes.text(text, x, y, scale))", "", "# UI", "sb.ui.wireframe([(x, y, 0), (x, y+scale, 0)])", "sb.ui.point(x, y, 0)", "sb.ui.point(x, y + scale, 0, drag=(None, scale, None))", "" ], "uid": 45 }, { "datums": [ { "expr": "\u0011[__47.__5]", "name": "plug", "type": "_fabtypes.Shape", "uid": 0 } ], "inspector": [ 1589.4605704582007, 966.09411237066774 ], "name": "s11", "script": [ "import fab", "", "title('plug')", "input('plug', fab.types.Shape)" ], "uid": 46 }, { "datums": [ { "expr": "\u0011[__45.__4]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "0", "name": "x0", "type": "float", "uid": 1 }, { "expr": "0", "name": "y0", "type": "float", "uid": 2 }, { "expr": "varFabLetters.letterSpacing * 1", "name": "x1", "type": "float", "uid": 3 }, { "expr": "0", "name": "y1", "type": "float", "uid": 4 }, { "expr": "\u0012fab.types.Shape('m-Xf0.7-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0m-Xf-0.05-Yf0-Zf0im--Xf0/*f0.1-Yf0f0.35Y_a-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175aa-f0.51X-Xf0.61a-f0Y-Yf0.35',float('0.625000'),float('0.000000'),float('-inf'),float('1.332143'),float('0.550000'),float('inf'))", "name": "out", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 1316.2287096005696, 828.74712142780004 ], "name": "letter10", "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))", "", "# UI", "sb.ui.wireframe([(x0, y0, 0), (x1, y1, 0)], color=sb.color.green)", "sb.ui.point(x0, y0, color=sb.color.green)", "sb.ui.point(x1, y1, color=sb.color.green)", "", "" ], "uid": 47 }, { "datums": [ { "expr": "0.0", "name": "x", "type": "float", "uid": 0 }, { "expr": "0.0", "name": "y", "type": "float", "uid": 1 }, { "expr": "'b'", "name": "text", "type": "str", "uid": 2 }, { "expr": "1", "name": "scale", "type": "float", "uid": 3 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iiaa-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175iaa-f0.25X-Xf1a-f0Y-Yf0.275aa-f0X-Xf1a-f0.275Y-Yf1aa-f0X-Xf0.1a-f0Y-Yf1aa-f0.1X-Xf0.25a-f0Y-Yf0.1',float('0.000000'),float('0.000000'),float('-inf'),float('0.525000'),float('1.000000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 1025.7925664227234, 1072.8799822090427 ], "name": "t12", "script": [ "import fab", "", "title('Text')", "", "input('x', float)", "input('y', float)", "input('text', str)", "input('scale', float)", "", "output('shape', fab.shapes.text(text, x, y, scale))", "", "# UI", "sb.ui.wireframe([(x, y, 0), (x, y+scale, 0)])", "sb.ui.point(x, y, 0)", "sb.ui.point(x, y + scale, 0, drag=(None, scale, None))", "" ], "uid": 48 }, { "datums": [ { "expr": "\u0011[__50.__5]", "name": "plug", "type": "_fabtypes.Shape", "uid": 0 } ], "inspector": [ 1592.2826706192766, 1208.7947262232228 ], "name": "s12", "script": [ "import fab", "", "title('plug')", "input('plug', fab.types.Shape)" ], "uid": 49 }, { "datums": [ { "expr": "\u0011[__48.__4]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "0", "name": "x0", "type": "float", "uid": 1 }, { "expr": "0", "name": "y0", "type": "float", "uid": 2 }, { "expr": "varFabLetters.letterSpacing * 2", "name": "x1", "type": "float", "uid": 3 }, { "expr": "0", "name": "y1", "type": "float", "uid": 4 }, { "expr": "\u0012fab.types.Shape('m-Xf1.4-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iiaa-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175iaa-f0.25X-Xf1a-f0Y-Yf0.275aa-f0X-Xf1a-f0.275Y-Yf1aa-f0X-Xf0.1a-f0Y-Yf1aa-f0.1X-Xf0.25a-f0Y-Yf0.1',float('1.400000'),float('0.000000'),float('-inf'),float('1.925000'),float('1.000000'),float('inf'))", "name": "out", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 1319.050809761646, 1071.4477352803551 ], "name": "letter11", "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))", "", "# UI", "sb.ui.wireframe([(x0, y0, 0), (x1, y1, 0)], color=sb.color.green)", "sb.ui.point(x0, y0, color=sb.color.green)", "sb.ui.point(x1, y1, color=sb.color.green)", "", "" ], "uid": 50 }, { "datums": [ { "expr": "0.0", "name": "x", "type": "float", "uid": 0 }, { "expr": "0.0", "name": "y", "type": "float", "uid": 1 }, { "expr": "'r'", "name": "text", "type": "str", "uid": 2 }, { "expr": "1", "name": "scale", "type": "float", "uid": 3 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0im/Xf0.7Y_aa-r+q-Xf0.55qYf0.55nm+f0.55/-Xf0.55f0.8Y_-r+q-Xf0.55qYf0.45aa-f0X-Xf0.55a-f0Y-Yf0.55aa-f0X-Xf0.1a-f0Y-Yf0.55',float('0.000000'),float('0.000000'),float('-inf'),float('0.385000'),float('0.550000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 1031.4367667448753, 1312.7584959005212 ], "name": "t13", "script": [ "import fab", "", "title('Text')", "", "input('x', float)", "input('y', float)", "input('text', str)", "input('scale', float)", "", "output('shape', fab.shapes.text(text, x, y, scale))", "", "# UI", "sb.ui.wireframe([(x, y, 0), (x, y+scale, 0)])", "sb.ui.point(x, y, 0)", "sb.ui.point(x, y + scale, 0, drag=(None, scale, None))", "" ], "uid": 51 }, { "datums": [ { "expr": "\u0011[__53.__5]", "name": "plug", "type": "_fabtypes.Shape", "uid": 0 } ], "inspector": [ 1597.9268709414293, 1448.6732399147008 ], "name": "s13", "script": [ "import fab", "", "title('plug')", "input('plug', fab.types.Shape)" ], "uid": 52 }, { "datums": [ { "expr": "\u0011[__51.__4]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "0", "name": "x0", "type": "float", "uid": 1 }, { "expr": "0", "name": "y0", "type": "float", "uid": 2 }, { "expr": "varFabLetters.letterSpacing * 3", "name": "x1", "type": "float", "uid": 3 }, { "expr": "0", "name": "y1", "type": "float", "uid": 4 }, { "expr": "\u0012fab.types.Shape('m-Xf2.1-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0im/Xf0.7Y_aa-r+q-Xf0.55qYf0.55nm+f0.55/-Xf0.55f0.8Y_-r+q-Xf0.55qYf0.45aa-f0X-Xf0.55a-f0Y-Yf0.55aa-f0X-Xf0.1a-f0Y-Yf0.55',float('2.100000'),float('0.000000'),float('-inf'),float('2.485000'),float('0.550000'),float('inf'))", "name": "out", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 1324.6950100837978, 1311.3262489718331 ], "name": "letter12", "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))", "", "# UI", "sb.ui.wireframe([(x0, y0, 0), (x1, y1, 0)], color=sb.color.green)", "sb.ui.point(x0, y0, color=sb.color.green)", "sb.ui.point(x1, y1, color=sb.color.green)", "", "" ], "uid": 53 }, { "datums": [ { "expr": "\u0011[__55.__4]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "0", "name": "x0", "type": "float", "uid": 1 }, { "expr": "0", "name": "y0", "type": "float", "uid": 2 }, { "expr": "varFabLetters.letterSpacing * 4", "name": "x1", "type": "float", "uid": 3 }, { "expr": "0", "name": "y1", "type": "float", "uid": 4 }, { "expr": "\u0012fab.types.Shape('m-Xf2.8-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iaa-f0.025X-Xf0.125a-f0Y-Yf0.55-r+q-Xf0.075q-Yf0.7f0.075',float('2.800000'),float('0.000000'),float('-inf'),float('2.950000'),float('0.775000'),float('inf'))", "name": "out", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 1325.291132407742, 1556.4231908732256 ], "name": "letter13", "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))", "", "# UI", "sb.ui.wireframe([(x0, y0, 0), (x1, y1, 0)], color=sb.color.green)", "sb.ui.point(x0, y0, color=sb.color.green)", "sb.ui.point(x1, y1, color=sb.color.green)", "", "" ], "uid": 54 }, { "datums": [ { "expr": "0.0", "name": "x", "type": "float", "uid": 0 }, { "expr": "0.0", "name": "y", "type": "float", "uid": 1 }, { "expr": "'i'", "name": "text", "type": "str", "uid": 2 }, { "expr": "1", "name": "scale", "type": "float", "uid": 3 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iaa-f0.025X-Xf0.125a-f0Y-Yf0.55-r+q-Xf0.075q-Yf0.7f0.075',float('0.000000'),float('0.000000'),float('-inf'),float('0.150000'),float('0.775000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 1032.0328890688195, 1557.8554378019137 ], "name": "t14", "script": [ "import fab", "", "title('Text')", "", "input('x', float)", "input('y', float)", "input('text', str)", "input('scale', float)", "", "output('shape', fab.shapes.text(text, x, y, scale))", "", "# UI", "sb.ui.wireframe([(x, y, 0), (x, y+scale, 0)])", "sb.ui.point(x, y, 0)", "sb.ui.point(x, y + scale, 0, drag=(None, scale, None))", "" ], "uid": 55 }, { "datums": [ { "expr": "\u0011[__54.__5]", "name": "plug", "type": "_fabtypes.Shape", "uid": 0 } ], "inspector": [ 1598.5229932653735, 1693.7701818160933 ], "name": "s14", "script": [ "import fab", "", "title('plug')", "input('plug', fab.types.Shape)" ], "uid": 56 }, { "datums": [ { "expr": "\u0011[__58.__4]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "0", "name": "x0", "type": "float", "uid": 1 }, { "expr": "0", "name": "y0", "type": "float", "uid": 2 }, { "expr": "varFabLetters.letterSpacing * 5", "name": "x1", "type": "float", "uid": 3 }, { "expr": "0", "name": "y1", "type": "float", "uid": 4 }, { "expr": "\u0012fab.types.Shape('m-Xf3.5-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0aa-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175nni-*f0.275-Xf0.275*f0.275-Yf0.275i-*f-0.55-Xf0.55*f0-Yf0.55-*f0.275-Xf0.55*f-0.275-Yf0',float('3.500000'),float('0.000000'),float('-inf'),float('4.050000'),float('0.550000'),float('inf'))", "name": "out", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 1329.0526834781645, 1800.9240104506741 ], "name": "letter14", "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))", "", "# UI", "sb.ui.wireframe([(x0, y0, 0), (x1, y1, 0)], color=sb.color.green)", "sb.ui.point(x0, y0, color=sb.color.green)", "sb.ui.point(x1, y1, color=sb.color.green)", "", "" ], "uid": 57 }, { "datums": [ { "expr": "0.0", "name": "x", "type": "float", "uid": 0 }, { "expr": "0.0", "name": "y", "type": "float", "uid": 1 }, { "expr": "'c'", "name": "text", "type": "str", "uid": 2 }, { "expr": "1", "name": "scale", "type": "float", "uid": 3 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0aa-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175nni-*f0.275-Xf0.275*f0.275-Yf0.275i-*f-0.55-Xf0.55*f0-Yf0.55-*f0.275-Xf0.55*f-0.275-Yf0',float('0.000000'),float('0.000000'),float('-inf'),float('0.550000'),float('0.550000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 1035.7944401392419, 1802.3562573793622 ], "name": "t15", "script": [ "import fab", "", "title('Text')", "", "input('x', float)", "input('y', float)", "input('text', str)", "input('scale', float)", "", "output('shape', fab.shapes.text(text, x, y, scale))", "", "# UI", "sb.ui.wireframe([(x, y, 0), (x, y+scale, 0)])", "sb.ui.point(x, y, 0)", "sb.ui.point(x, y + scale, 0, drag=(None, scale, None))", "" ], "uid": 58 }, { "datums": [ { "expr": "\u0011[__57.__5]", "name": "plug", "type": "_fabtypes.Shape", "uid": 0 } ], "inspector": [ 1602.284544335796, 1938.2710013935418 ], "name": "s15", "script": [ "import fab", "", "title('plug')", "input('plug', fab.types.Shape)" ], "uid": 59 }, { "datums": [ { "expr": "\u0011[__61.__4]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "0", "name": "x0", "type": "float", "uid": 1 }, { "expr": "0", "name": "y0", "type": "float", "uid": 2 }, { "expr": "varFabLetters.letterSpacing * 6", "name": "x1", "type": "float", "uid": 3 }, { "expr": "0", "name": "y1", "type": "float", "uid": 4 }, { "expr": "\u0012fab.types.Shape('m-Xf4.2-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0m-Xf-0.05-Yf0-Zf0im--Xf0/*f0.1-Yf0f0.35Y_a-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175aa-f0.51X-Xf0.61a-f0Y-Yf0.35',float('4.125000'),float('0.000000'),float('-inf'),float('4.832143'),float('0.550000'),float('inf'))", "name": "out", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 1332.8142345485867, 2047.3056055633328 ], "name": "letter15", "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))", "", "# UI", "sb.ui.wireframe([(x0, y0, 0), (x1, y1, 0)], color=sb.color.green)", "sb.ui.point(x0, y0, color=sb.color.green)", "sb.ui.point(x1, y1, color=sb.color.green)", "", "" ], "uid": 60 }, { "datums": [ { "expr": "0.0", "name": "x", "type": "float", "uid": 0 }, { "expr": "0.0", "name": "y", "type": "float", "uid": 1 }, { "expr": "'a'", "name": "text", "type": "str", "uid": 2 }, { "expr": "1", "name": "scale", "type": "float", "uid": 3 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0m-Xf-0.05-Yf0-Zf0im--Xf0/*f0.1-Yf0f0.35Y_a-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175aa-f0.51X-Xf0.61a-f0Y-Yf0.35',float('-0.075000'),float('0.000000'),float('-inf'),float('0.632143'),float('0.550000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 1039.5559912096642, 2048.7378524920209 ], "name": "t16", "script": [ "import fab", "", "title('Text')", "", "input('x', float)", "input('y', float)", "input('text', str)", "input('scale', float)", "", "output('shape', fab.shapes.text(text, x, y, scale))", "", "# UI", "sb.ui.wireframe([(x, y, 0), (x, y+scale, 0)])", "sb.ui.point(x, y, 0)", "sb.ui.point(x, y + scale, 0, drag=(None, scale, None))", "" ], "uid": 61 }, { "datums": [ { "expr": "\u0011[__60.__5]", "name": "plug", "type": "_fabtypes.Shape", "uid": 0 } ], "inspector": [ 1606.0460954062182, 2184.6525965062006 ], "name": "s16", "script": [ "import fab", "", "title('plug')", "input('plug', fab.types.Shape)" ], "uid": 62 }, { "datums": [ { "expr": "\u0011[__64.__4]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "0", "name": "x0", "type": "float", "uid": 1 }, { "expr": "0", "name": "y0", "type": "float", "uid": 2 }, { "expr": "varFabLetters.letterSpacing * 7", "name": "x1", "type": "float", "uid": 3 }, { "expr": "0", "name": "y1", "type": "float", "uid": 4 }, { "expr": "\u0012fab.types.Shape('m-Xf4.9-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iiaa-r+q-Xf0.4q-Yf0.25f0.25n-r+q-Xf0.4q-Yf0.25f0.15aa-f0X-Xf0.4a-f0Y-Yf0.25aa-f0X-Xf0.4a-f0.55Y-Yf0.65aa-f0.15X-Xf0.25a-f0.25Y-Yf1',float('4.900000'),float('0.000000'),float('-inf'),float('5.300000'),float('1.000000'),float('inf'))", "name": "out", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 1336.5757856190091, 2299.3295272816258 ], "name": "letter16", "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))", "", "# UI", "sb.ui.wireframe([(x0, y0, 0), (x1, y1, 0)], color=sb.color.green)", "sb.ui.point(x0, y0, color=sb.color.green)", "sb.ui.point(x1, y1, color=sb.color.green)", "", "" ], "uid": 63 }, { "datums": [ { "expr": "0.0", "name": "x", "type": "float", "uid": 0 }, { "expr": "0.0", "name": "y", "type": "float", "uid": 1 }, { "expr": "'t'", "name": "text", "type": "str", "uid": 2 }, { "expr": "1", "name": "scale", "type": "float", "uid": 3 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iiaa-r+q-Xf0.4q-Yf0.25f0.25n-r+q-Xf0.4q-Yf0.25f0.15aa-f0X-Xf0.4a-f0Y-Yf0.25aa-f0X-Xf0.4a-f0.55Y-Yf0.65aa-f0.15X-Xf0.25a-f0.25Y-Yf1',float('0.000000'),float('0.000000'),float('-inf'),float('0.400000'),float('1.000000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 1043.3175422800866, 2300.7617742103139 ], "name": "t17", "script": [ "import fab", "", "title('Text')", "", "input('x', float)", "input('y', float)", "input('text', str)", "input('scale', float)", "", "output('shape', fab.shapes.text(text, x, y, scale))", "", "# UI", "sb.ui.wireframe([(x, y, 0), (x, y+scale, 0)])", "sb.ui.point(x, y, 0)", "sb.ui.point(x, y + scale, 0, drag=(None, scale, None))", "" ], "uid": 64 }, { "datums": [ { "expr": "\u0011[__63.__5]", "name": "plug", "type": "_fabtypes.Shape", "uid": 0 } ], "inspector": [ 1609.8076464766407, 2436.6765182244935 ], "name": "s17", "script": [ "import fab", "", "title('plug')", "input('plug', fab.types.Shape)" ], "uid": 65 }, { "datums": [ { "expr": "\u0011[__67.__4]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "0", "name": "x0", "type": "float", "uid": 1 }, { "expr": "0", "name": "y0", "type": "float", "uid": 2 }, { "expr": "varFabLetters.letterSpacing * 8", "name": "x1", "type": "float", "uid": 3 }, { "expr": "0", "name": "y1", "type": "float", "uid": 4 }, { "expr": "\u0012fab.types.Shape('m-Xf5.6-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0aiaa-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175nni-*f0-Xf0.1*f0.65-Yf0.275i-*f-0.275-Xf0.75*f-0.15-Yf0.275-*f0.275-Xf0.6*f-0.5-Yf0aa-f0.05X-Xf0.55a-f0.225Y-Yf0.315-r+q-Xf0.275q-Yf0.275f0.275',float('5.600000'),float('0.000000'),float('-inf'),float('6.150000'),float('0.550000'),float('inf'))", "name": "out", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 1334.695010083798, 2543.3173063736749 ], "name": "letter17", "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))", "", "# UI", "sb.ui.wireframe([(x0, y0, 0), (x1, y1, 0)], color=sb.color.green)", "sb.ui.point(x0, y0, color=sb.color.green)", "sb.ui.point(x1, y1, color=sb.color.green)", "", "" ], "uid": 66 }, { "datums": [ { "expr": "0.0", "name": "x", "type": "float", "uid": 0 }, { "expr": "0.0", "name": "y", "type": "float", "uid": 1 }, { "expr": "'e'", "name": "text", "type": "str", "uid": 2 }, { "expr": "1", "name": "scale", "type": "float", "uid": 3 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0aiaa-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175nni-*f0-Xf0.1*f0.65-Yf0.275i-*f-0.275-Xf0.75*f-0.15-Yf0.275-*f0.275-Xf0.6*f-0.5-Yf0aa-f0.05X-Xf0.55a-f0.225Y-Yf0.315-r+q-Xf0.275q-Yf0.275f0.275',float('0.000000'),float('0.000000'),float('-inf'),float('0.550000'),float('0.550000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 1041.4367667448755, 2544.749553302363 ], "name": "t18", "script": [ "import fab", "", "title('Text')", "", "input('x', float)", "input('y', float)", "input('text', str)", "input('scale', float)", "", "output('shape', fab.shapes.text(text, x, y, scale))", "", "# UI", "sb.ui.wireframe([(x, y, 0), (x, y+scale, 0)])", "sb.ui.point(x, y, 0)", "sb.ui.point(x, y + scale, 0, drag=(None, scale, None))", "" ], "uid": 67 }, { "datums": [ { "expr": "\u0011[__66.__5]", "name": "plug", "type": "_fabtypes.Shape", "uid": 0 } ], "inspector": [ 1607.9268709414296, 2680.6642973165426 ], "name": "s18", "script": [ "import fab", "", "title('plug')", "input('plug', fab.types.Shape)" ], "uid": 68 }, { "datums": [ { "expr": "letter9.out | letter10.out | letter11.out | letter12.out | letter13.out | letter14.out | letter15.out | letter16.out | letter17.out", "name": "shape", "type": "_fabtypes.Shape", "uid": 1 } ], "inspector": [ 1032.5659046394799, 356.38341565714779 ], "name": "word2d", "script": [ "import fab.types", "", "title('Union')", "input('shape', fab.types.Shape)" ], "uid": 69 }, { "datums": [ { "expr": "\u0011[__69.__1]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "0", "name": "x0", "type": "float", "uid": 1 }, { "expr": "0", "name": "y0", "type": "float", "uid": 2 }, { "expr": "var.dx * 1", "name": "x1", "type": "float", "uid": 3 }, { "expr": "var.dy * 2", "name": "y1", "type": "float", "uid": 4 }, { "expr": "\u0012fab.types.Shape('m-Xf3-Yf7-Zf0iiiiiiiim-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iiaa-r+q-Xf0.4q-Yf0.75f0.25n-r+q-Xf0.4q-Yf0.75f0.15aa-f0X-Xf0.4a-f0.75Y-Yf1aa-f0X-Xf0.4a-f0.45Y-Yf0.55aa-f0.15X-Xf0.25a-f0Y-Yf0.75m-Xf0.7-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0m-Xf-0.05-Yf0-Zf0im--Xf0/*f0.1-Yf0f0.35Y_a-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175aa-f0.51X-Xf0.61a-f0Y-Yf0.35m-Xf1.4-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iiaa-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175iaa-f0.25X-Xf1a-f0Y-Yf0.275aa-f0X-Xf1a-f0.275Y-Yf1aa-f0X-Xf0.1a-f0Y-Yf1aa-f0.1X-Xf0.25a-f0Y-Yf0.1m-Xf2.1-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0im/Xf0.7Y_aa-r+q-Xf0.55qYf0.55nm+f0.55/-Xf0.55f0.8Y_-r+q-Xf0.55qYf0.45aa-f0X-Xf0.55a-f0Y-Yf0.55aa-f0X-Xf0.1a-f0Y-Yf0.55m-Xf2.8-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iaa-f0.025X-Xf0.125a-f0Y-Yf0.55-r+q-Xf0.075q-Yf0.7f0.075m-Xf3.5-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0aa-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175nni-*f0.275-Xf0.275*f0.275-Yf0.275i-*f-0.55-Xf0.55*f0-Yf0.55-*f0.275-Xf0.55*f-0.275-Yf0m-Xf4.2-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0m-Xf-0.05-Yf0-Zf0im--Xf0/*f0.1-Yf0f0.35Y_a-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175aa-f0.51X-Xf0.61a-f0Y-Yf0.35m-Xf4.9-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iiaa-r+q-Xf0.4q-Yf0.25f0.25n-r+q-Xf0.4q-Yf0.25f0.15aa-f0X-Xf0.4a-f0Y-Yf0.25aa-f0X-Xf0.4a-f0.55Y-Yf0.65aa-f0.15X-Xf0.25a-f0.25Y-Yf1m-Xf5.6-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0aiaa-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175nni-*f0-Xf0.1*f0.65-Yf0.275i-*f-0.275-Xf0.75*f-0.15-Yf0.275-*f0.275-Xf0.6*f-0.5-Yf0aa-f0.05X-Xf0.55a-f0.225Y-Yf0.315-r+q-Xf0.275q-Yf0.275f0.275',float('3.000000'),float('7.000000'),float('-inf'),float('9.150000'),float('8.000000'),float('inf'))", "name": "out", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 1326.2537426477897, 351.54656717284149 ], "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))", "", "# UI", "sb.ui.wireframe([(x0, y0, 0), (x1, y1, 0)], color=sb.color.green)", "sb.ui.point(x0, y0, color=sb.color.green)", "sb.ui.point(x1, y1, color=sb.color.green)", "", "" ], "uid": 70 }, { "datums": [ { "expr": "letterBase.shape", "name": "shape", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "0.0", "name": "_x", "type": "float", "uid": 1 }, { "expr": "0.0", "name": "_y", "type": "float", "uid": 2 }, { "expr": "9", "name": "i", "type": "int", "uid": 3 }, { "expr": "1", "name": "j", "type": "int", "uid": 4 }, { "expr": "varFabLetters.letterSpacing", "name": "dx", "type": "float", "uid": 5 }, { "expr": "0", "name": "dy", "type": "float", "uid": 6 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf0-Zf0iiiiiiiim-Xf0-Yf0-Zf0ni-*f0-Xf1*f-1-Yf0i-*f2.4-Xf0*f-0.52-Yf0-*f-2.4-Xf-0.52*f1.52-Yf2.4m-Xf0.7-Yf0-Zf0ni-*f0-Xf1*f-1-Yf0i-*f2.4-Xf0*f-0.52-Yf0-*f-2.4-Xf-0.52*f1.52-Yf2.4m-Xf1.4-Yf0-Zf0ni-*f0-Xf1*f-1-Yf0i-*f2.4-Xf0*f-0.52-Yf0-*f-2.4-Xf-0.52*f1.52-Yf2.4m-Xf2.1-Yf0-Zf0ni-*f0-Xf1*f-1-Yf0i-*f2.4-Xf0*f-0.52-Yf0-*f-2.4-Xf-0.52*f1.52-Yf2.4m-Xf2.8-Yf0-Zf0ni-*f0-Xf1*f-1-Yf0i-*f2.4-Xf0*f-0.52-Yf0-*f-2.4-Xf-0.52*f1.52-Yf2.4m-Xf3.5-Yf0-Zf0ni-*f0-Xf1*f-1-Yf0i-*f2.4-Xf0*f-0.52-Yf0-*f-2.4-Xf-0.52*f1.52-Yf2.4m-Xf4.2-Yf0-Zf0ni-*f0-Xf1*f-1-Yf0i-*f2.4-Xf0*f-0.52-Yf0-*f-2.4-Xf-0.52*f1.52-Yf2.4m-Xf4.9-Yf0-Zf0ni-*f0-Xf1*f-1-Yf0i-*f2.4-Xf0*f-0.52-Yf0-*f-2.4-Xf-0.52*f1.52-Yf2.4m-Xf5.6-Yf0-Zf0ni-*f0-Xf1*f-1-Yf0i-*f2.4-Xf0*f-0.52-Yf0-*f-2.4-Xf-0.52*f1.52-Yf2.4',float('-0.520000'),float('0.000000'),float('-inf'),float('6.600000'),float('2.400000'),float('inf'))", "name": "array", "type": "_fabtypes.Shape", "uid": 7 } ], "inspector": [ 1881.5425319223391, 361.66685316326772 ], "name": "a0", "script": [ "import fab", "", "title('Array (2D)')", "", "input('shape', fab.types.Shape)", "input('_x', float)", "input('_y', float)", "input('i', int)", "input('j', int)", "input('dx', float)", "input('dy', float)", "", "output('array', fab.shapes.iterate2d(shape, i, j, dx, dy))", "", "# UI", "sb.ui.wireframe([", " (_x + dx, _y, 0), (_x, _y, 0), (_x, _y + dy, 0)], color=sb.color.teal)", "sb.ui.wireframe([", " (_x + dx, _y - 0.3, 0), (_x + dx, _y + 0.3, 0)], color=sb.color.teal)", "sb.ui.wireframe([", " (_x + 0.3, _y + dy, 0), (_x - 0.3, _y + dy, 0)], color=sb.color.teal)", "", "sb.ui.point(_x, _y, 0, color=sb.color.teal)", "sb.ui.point(_x + dx, _y, 0, color=sb.color.teal, drag=(dx, None, None))", "sb.ui.point(_x, _y + dy, 0, color=sb.color.teal, drag=(None, dy, None))", "" ], "uid": 71 }, { "datums": [ { "expr": "\u0011[__71.__7]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "0", "name": "z0", "type": "float", "uid": 1 }, { "expr": "word2d.shape", "name": "b", "type": "_fabtypes.Shape", "uid": 2 }, { "expr": "0.6", "name": "z1", "type": "float", "uid": 3 }, { "expr": "\u0012fab.types.Shape('aa-Zf0.6-f0Z/+*-Zf0iiiiiiiim-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iiaa-r+q-Xf0.4q-Yf0.75f0.25n-r+q-Xf0.4q-Yf0.75f0.15aa-f0X-Xf0.4a-f0.75Y-Yf1aa-f0X-Xf0.4a-f0.45Y-Yf0.55aa-f0.15X-Xf0.25a-f0Y-Yf0.75m-Xf0.7-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0m-Xf-0.05-Yf0-Zf0im--Xf0/*f0.1-Yf0f0.35Y_a-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175aa-f0.51X-Xf0.61a-f0Y-Yf0.35m-Xf1.4-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iiaa-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175iaa-f0.25X-Xf1a-f0Y-Yf0.275aa-f0X-Xf1a-f0.275Y-Yf1aa-f0X-Xf0.1a-f0Y-Yf1aa-f0.1X-Xf0.25a-f0Y-Yf0.1m-Xf2.1-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0im/Xf0.7Y_aa-r+q-Xf0.55qYf0.55nm+f0.55/-Xf0.55f0.8Y_-r+q-Xf0.55qYf0.45aa-f0X-Xf0.55a-f0Y-Yf0.55aa-f0X-Xf0.1a-f0Y-Yf0.55m-Xf2.8-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iaa-f0.025X-Xf0.125a-f0Y-Yf0.55-r+q-Xf0.075q-Yf0.7f0.075m-Xf3.5-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0aa-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175nni-*f0.275-Xf0.275*f0.275-Yf0.275i-*f-0.55-Xf0.55*f0-Yf0.55-*f0.275-Xf0.55*f-0.275-Yf0m-Xf4.2-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0m-Xf-0.05-Yf0-Zf0im--Xf0/*f0.1-Yf0f0.35Y_a-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175aa-f0.51X-Xf0.61a-f0Y-Yf0.35m-Xf4.9-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iiaa-r+q-Xf0.4q-Yf0.25f0.25n-r+q-Xf0.4q-Yf0.25f0.15aa-f0X-Xf0.4a-f0Y-Yf0.25aa-f0X-Xf0.4a-f0.55Y-Yf0.65aa-f0.15X-Xf0.25a-f0.25Y-Yf1m-Xf5.6-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0aiaa-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175nni-*f0-Xf0.1*f0.65-Yf0.275i-*f-0.275-Xf0.75*f-0.15-Yf0.275-*f0.275-Xf0.6*f-0.5-Yf0aa-f0.05X-Xf0.55a-f0.225Y-Yf0.315-r+q-Xf0.275q-Yf0.275f0.275*-f0.6Zm-Xf0-Yf0-Zf0iiiiiiiim-Xf0-Yf0-Zf0ni-*f0-Xf1*f-1-Yf0i-*f2.4-Xf0*f-0.52-Yf0-*f-2.4-Xf-0.52*f1.52-Yf2.4m-Xf0.7-Yf0-Zf0ni-*f0-Xf1*f-1-Yf0i-*f2.4-Xf0*f-0.52-Yf0-*f-2.4-Xf-0.52*f1.52-Yf2.4m-Xf1.4-Yf0-Zf0ni-*f0-Xf1*f-1-Yf0i-*f2.4-Xf0*f-0.52-Yf0-*f-2.4-Xf-0.52*f1.52-Yf2.4m-Xf2.1-Yf0-Zf0ni-*f0-Xf1*f-1-Yf0i-*f2.4-Xf0*f-0.52-Yf0-*f-2.4-Xf-0.52*f1.52-Yf2.4m-Xf2.8-Yf0-Zf0ni-*f0-Xf1*f-1-Yf0i-*f2.4-Xf0*f-0.52-Yf0-*f-2.4-Xf-0.52*f1.52-Yf2.4m-Xf3.5-Yf0-Zf0ni-*f0-Xf1*f-1-Yf0i-*f2.4-Xf0*f-0.52-Yf0-*f-2.4-Xf-0.52*f1.52-Yf2.4m-Xf4.2-Yf0-Zf0ni-*f0-Xf1*f-1-Yf0i-*f2.4-Xf0*f-0.52-Yf0-*f-2.4-Xf-0.52*f1.52-Yf2.4m-Xf4.9-Yf0-Zf0ni-*f0-Xf1*f-1-Yf0i-*f2.4-Xf0*f-0.52-Yf0-*f-2.4-Xf-0.52*f1.52-Yf2.4m-Xf5.6-Yf0-Zf0ni-*f0-Xf1*f-1-Yf0i-*f2.4-Xf0*f-0.52-Yf0-*f-2.4-Xf-0.52*f1.52-Yf2.4f0.6',float('-0.520000'),float('0.000000'),float('0.000000'),float('6.600000'),float('2.400000'),float('0.600000'))", "name": "out", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 1888.1998457252571, 611.65887108817287 ], "name": "l9", "script": [ "# Neil Gershenfeld 2/1/15", "# Matt Keeter 6/13/15", "", "import fab", "", "title('Loft')", "", "input('a', fab.types.Shape)", "input('z0', float)", "input('b', fab.types.Shape)", "input('z1', float)", "", "output('out', fab.shapes.loft_xy_z(a, b, z0, z1))", "", "" ], "uid": 72 }, { "datums": [ { "expr": "\u0011[__118.__2]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "0", "name": "x0", "type": "float", "uid": 1 }, { "expr": "0", "name": "y0", "type": "float", "uid": 2 }, { "expr": "var.dx * 1", "name": "x1", "type": "float", "uid": 3 }, { "expr": "var.dy * 3", "name": "y1", "type": "float", "uid": 4 }, { "expr": "\u0012fab.types.Shape('m-Xf3-Yf10.5-Zf0iam__f1m-Xf0-Yf0-Zf0iiiiiiiim-Xf0-Yf0-Zf0ni-*f0-Xf1*f-1-Yf0i-*f2.4-Xf0*f-0.52-Yf0-*f-2.4-Xf-0.52*f1.52-Yf2.4m-Xf0.7-Yf0-Zf0ni-*f0-Xf1*f-1-Yf0i-*f2.4-Xf0*f-0.52-Yf0-*f-2.4-Xf-0.52*f1.52-Yf2.4m-Xf1.4-Yf0-Zf0ni-*f0-Xf1*f-1-Yf0i-*f2.4-Xf0*f-0.52-Yf0-*f-2.4-Xf-0.52*f1.52-Yf2.4m-Xf2.1-Yf0-Zf0ni-*f0-Xf1*f-1-Yf0i-*f2.4-Xf0*f-0.52-Yf0-*f-2.4-Xf-0.52*f1.52-Yf2.4m-Xf2.8-Yf0-Zf0ni-*f0-Xf1*f-1-Yf0i-*f2.4-Xf0*f-0.52-Yf0-*f-2.4-Xf-0.52*f1.52-Yf2.4m-Xf3.5-Yf0-Zf0ni-*f0-Xf1*f-1-Yf0i-*f2.4-Xf0*f-0.52-Yf0-*f-2.4-Xf-0.52*f1.52-Yf2.4m-Xf4.2-Yf0-Zf0ni-*f0-Xf1*f-1-Yf0i-*f2.4-Xf0*f-0.52-Yf0-*f-2.4-Xf-0.52*f1.52-Yf2.4m-Xf4.9-Yf0-Zf0ni-*f0-Xf1*f-1-Yf0i-*f2.4-Xf0*f-0.52-Yf0-*f-2.4-Xf-0.52*f1.52-Yf2.4m-Xf5.6-Yf0-Zf0ni-*f0-Xf1*f-1-Yf0i-*f2.4-Xf0*f-0.52-Yf0-*f-2.4-Xf-0.52*f1.52-Yf2.4a-f-0.05Z-Zf0aa-Zf0.6-f0Z/+*-Zf0iiiiiiiim-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iiaa-r+q-Xf0.4q-Yf0.75f0.25n-r+q-Xf0.4q-Yf0.75f0.15aa-f0X-Xf0.4a-f0.75Y-Yf1aa-f0X-Xf0.4a-f0.45Y-Yf0.55aa-f0.15X-Xf0.25a-f0Y-Yf0.75m-Xf0.7-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0m-Xf-0.05-Yf0-Zf0im--Xf0/*f0.1-Yf0f0.35Y_a-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175aa-f0.51X-Xf0.61a-f0Y-Yf0.35m-Xf1.4-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iiaa-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175iaa-f0.25X-Xf1a-f0Y-Yf0.275aa-f0X-Xf1a-f0.275Y-Yf1aa-f0X-Xf0.1a-f0Y-Yf1aa-f0.1X-Xf0.25a-f0Y-Yf0.1m-Xf2.1-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0im/Xf0.7Y_aa-r+q-Xf0.55qYf0.55nm+f0.55/-Xf0.55f0.8Y_-r+q-Xf0.55qYf0.45aa-f0X-Xf0.55a-f0Y-Yf0.55aa-f0X-Xf0.1a-f0Y-Yf0.55m-Xf2.8-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iaa-f0.025X-Xf0.125a-f0Y-Yf0.55-r+q-Xf0.075q-Yf0.7f0.075m-Xf3.5-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0aa-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175nni-*f0.275-Xf0.275*f0.275-Yf0.275i-*f-0.55-Xf0.55*f0-Yf0.55-*f0.275-Xf0.55*f-0.275-Yf0m-Xf4.2-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0m-Xf-0.05-Yf0-Zf0im--Xf0/*f0.1-Yf0f0.35Y_a-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175aa-f0.51X-Xf0.61a-f0Y-Yf0.35m-Xf4.9-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iiaa-r+q-Xf0.4q-Yf0.25f0.25n-r+q-Xf0.4q-Yf0.25f0.15aa-f0X-Xf0.4a-f0Y-Yf0.25aa-f0X-Xf0.4a-f0.55Y-Yf0.65aa-f0.15X-Xf0.25a-f0.25Y-Yf1m-Xf5.6-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0aiaa-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175nni-*f0-Xf0.1*f0.65-Yf0.275i-*f-0.275-Xf0.75*f-0.15-Yf0.275-*f0.275-Xf0.6*f-0.5-Yf0aa-f0.05X-Xf0.55a-f0.225Y-Yf0.315-r+q-Xf0.275q-Yf0.275f0.275*-f0.6Zm-Xf0-Yf0-Zf0iiiiiiiim-Xf0-Yf0-Zf0ni-*f0-Xf1*f-1-Yf0i-*f2.4-Xf0*f-0.52-Yf0-*f-2.4-Xf-0.52*f1.52-Yf2.4m-Xf0.7-Yf0-Zf0ni-*f0-Xf1*f-1-Yf0i-*f2.4-Xf0*f-0.52-Yf0-*f-2.4-Xf-0.52*f1.52-Yf2.4m-Xf1.4-Yf0-Zf0ni-*f0-Xf1*f-1-Yf0i-*f2.4-Xf0*f-0.52-Yf0-*f-2.4-Xf-0.52*f1.52-Yf2.4m-Xf2.1-Yf0-Zf0ni-*f0-Xf1*f-1-Yf0i-*f2.4-Xf0*f-0.52-Yf0-*f-2.4-Xf-0.52*f1.52-Yf2.4m-Xf2.8-Yf0-Zf0ni-*f0-Xf1*f-1-Yf0i-*f2.4-Xf0*f-0.52-Yf0-*f-2.4-Xf-0.52*f1.52-Yf2.4m-Xf3.5-Yf0-Zf0ni-*f0-Xf1*f-1-Yf0i-*f2.4-Xf0*f-0.52-Yf0-*f-2.4-Xf-0.52*f1.52-Yf2.4m-Xf4.2-Yf0-Zf0ni-*f0-Xf1*f-1-Yf0i-*f2.4-Xf0*f-0.52-Yf0-*f-2.4-Xf-0.52*f1.52-Yf2.4m-Xf4.9-Yf0-Zf0ni-*f0-Xf1*f-1-Yf0i-*f2.4-Xf0*f-0.52-Yf0-*f-2.4-Xf-0.52*f1.52-Yf2.4m-Xf5.6-Yf0-Zf0ni-*f0-Xf1*f-1-Yf0i-*f2.4-Xf0*f-0.52-Yf0-*f-2.4-Xf-0.52*f1.52-Yf2.4f0.6',float('2.480000'),float('10.500000'),float('-0.050000'),float('9.600000'),float('12.900000'),float('0.600000'))", "name": "out", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 2461.3081176835694, 576.5070996338743 ], "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))", "", "# UI", "sb.ui.wireframe([(x0, y0, 0), (x1, y1, 0)], color=sb.color.green)", "sb.ui.point(x0, y0, color=sb.color.green)", "sb.ui.point(x1, y1, color=sb.color.green)", "", "" ], "uid": 73 }, { "datums": [ { "expr": "\u0011[__76.__2]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "0", "name": "x0", "type": "float", "uid": 1 }, { "expr": "0", "name": "y0", "type": "float", "uid": 2 }, { "expr": "var.dx * 4", "name": "x1", "type": "float", "uid": 3 }, { "expr": "var.dy * 1", "name": "y1", "type": "float", "uid": 4 }, { "expr": "\u0012fab.types.Shape('m-Xf12-Yf3.5-Zf0m-Xf0-Yf0-Zf0im_r+qYqZ_m-Xf0-Yf-0-Zf0iiiiiiiim-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iiaa-r+q-Xf0.4q-Yf0.75f0.25n-r+q-Xf0.4q-Yf0.75f0.15aa-f0X-Xf0.4a-f0.75Y-Yf1aa-f0X-Xf0.4a-f0.45Y-Yf0.55aa-f0.15X-Xf0.25a-f0Y-Yf0.75m-Xf0.7-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0m-Xf-0.05-Yf0-Zf0im--Xf0/*f0.1-Yf0f0.35Y_a-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175aa-f0.51X-Xf0.61a-f0Y-Yf0.35m-Xf1.4-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iiaa-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175iaa-f0.25X-Xf1a-f0Y-Yf0.275aa-f0X-Xf1a-f0.275Y-Yf1aa-f0X-Xf0.1a-f0Y-Yf1aa-f0.1X-Xf0.25a-f0Y-Yf0.1m-Xf2.1-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0im/Xf0.7Y_aa-r+q-Xf0.55qYf0.55nm+f0.55/-Xf0.55f0.8Y_-r+q-Xf0.55qYf0.45aa-f0X-Xf0.55a-f0Y-Yf0.55aa-f0X-Xf0.1a-f0Y-Yf0.55m-Xf2.8-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iaa-f0.025X-Xf0.125a-f0Y-Yf0.55-r+q-Xf0.075q-Yf0.7f0.075m-Xf3.5-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0aa-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175nni-*f0.275-Xf0.275*f0.275-Yf0.275i-*f-0.55-Xf0.55*f0-Yf0.55-*f0.275-Xf0.55*f-0.275-Yf0m-Xf4.2-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0m-Xf-0.05-Yf0-Zf0im--Xf0/*f0.1-Yf0f0.35Y_a-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175aa-f0.51X-Xf0.61a-f0Y-Yf0.35m-Xf4.9-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iiaa-r+q-Xf0.4q-Yf0.25f0.25n-r+q-Xf0.4q-Yf0.25f0.15aa-f0X-Xf0.4a-f0Y-Yf0.25aa-f0X-Xf0.4a-f0.55Y-Yf0.65aa-f0.15X-Xf0.25a-f0.25Y-Yf1m-Xf5.6-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0aiaa-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175nni-*f0-Xf0.1*f0.65-Yf0.275i-*f-0.275-Xf0.75*f-0.15-Yf0.275-*f0.275-Xf0.6*f-0.5-Yf0aa-f0.05X-Xf0.55a-f0.225Y-Yf0.315-r+q-Xf0.275q-Yf0.275f0.275m_nr+qYqZ_m-Xf0-Yf-0-Zf0iiiiiiiim-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iiaa-r+q-Xf0.4q-Yf0.75f0.25n-r+q-Xf0.4q-Yf0.75f0.15aa-f0X-Xf0.4a-f0.75Y-Yf1aa-f0X-Xf0.4a-f0.45Y-Yf0.55aa-f0.15X-Xf0.25a-f0Y-Yf0.75m-Xf0.7-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0m-Xf-0.05-Yf0-Zf0im--Xf0/*f0.1-Yf0f0.35Y_a-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175aa-f0.51X-Xf0.61a-f0Y-Yf0.35m-Xf1.4-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iiaa-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175iaa-f0.25X-Xf1a-f0Y-Yf0.275aa-f0X-Xf1a-f0.275Y-Yf1aa-f0X-Xf0.1a-f0Y-Yf1aa-f0.1X-Xf0.25a-f0Y-Yf0.1m-Xf2.1-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0im/Xf0.7Y_aa-r+q-Xf0.55qYf0.55nm+f0.55/-Xf0.55f0.8Y_-r+q-Xf0.55qYf0.45aa-f0X-Xf0.55a-f0Y-Yf0.55aa-f0X-Xf0.1a-f0Y-Yf0.55m-Xf2.8-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iaa-f0.025X-Xf0.125a-f0Y-Yf0.55-r+q-Xf0.075q-Yf0.7f0.075m-Xf3.5-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0aa-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175nni-*f0.275-Xf0.275*f0.275-Yf0.275i-*f-0.55-Xf0.55*f0-Yf0.55-*f0.275-Xf0.55*f-0.275-Yf0m-Xf4.2-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0m-Xf-0.05-Yf0-Zf0im--Xf0/*f0.1-Yf0f0.35Y_a-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175aa-f0.51X-Xf0.61a-f0Y-Yf0.35m-Xf4.9-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iiaa-r+q-Xf0.4q-Yf0.25f0.25n-r+q-Xf0.4q-Yf0.25f0.15aa-f0X-Xf0.4a-f0Y-Yf0.25aa-f0X-Xf0.4a-f0.55Y-Yf0.65aa-f0.15X-Xf0.25a-f0.25Y-Yf1m-Xf5.6-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0aiaa-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175nni-*f0-Xf0.1*f0.65-Yf0.275i-*f-0.275-Xf0.75*f-0.15-Yf0.275-*f0.275-Xf0.6*f-0.5-Yf0aa-f0.05X-Xf0.55a-f0.225Y-Yf0.315-r+q-Xf0.275q-Yf0.275f0.275',float('12.000000'),float('2.500000'),float('-1.000000'),float('18.150000'),float('4.500000'),float('1.000000'))", "name": "out", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 3076.0223434365689, 356.65206250991776 ], "name": "s21", "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))", "", "# UI", "sb.ui.wireframe([(x0, y0, 0), (x1, y1, 0)], color=sb.color.green)", "sb.ui.point(x0, y0, color=sb.color.green)", "sb.ui.point(x1, y1, color=sb.color.green)", "", "" ], "uid": 75 }, { "datums": [ { "expr": "word2d.shape", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "0", "name": "y", "type": "float", "uid": 1 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf0-Zf0im_r+qYqZ_m-Xf0-Yf-0-Zf0iiiiiiiim-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iiaa-r+q-Xf0.4q-Yf0.75f0.25n-r+q-Xf0.4q-Yf0.75f0.15aa-f0X-Xf0.4a-f0.75Y-Yf1aa-f0X-Xf0.4a-f0.45Y-Yf0.55aa-f0.15X-Xf0.25a-f0Y-Yf0.75m-Xf0.7-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0m-Xf-0.05-Yf0-Zf0im--Xf0/*f0.1-Yf0f0.35Y_a-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175aa-f0.51X-Xf0.61a-f0Y-Yf0.35m-Xf1.4-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iiaa-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175iaa-f0.25X-Xf1a-f0Y-Yf0.275aa-f0X-Xf1a-f0.275Y-Yf1aa-f0X-Xf0.1a-f0Y-Yf1aa-f0.1X-Xf0.25a-f0Y-Yf0.1m-Xf2.1-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0im/Xf0.7Y_aa-r+q-Xf0.55qYf0.55nm+f0.55/-Xf0.55f0.8Y_-r+q-Xf0.55qYf0.45aa-f0X-Xf0.55a-f0Y-Yf0.55aa-f0X-Xf0.1a-f0Y-Yf0.55m-Xf2.8-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iaa-f0.025X-Xf0.125a-f0Y-Yf0.55-r+q-Xf0.075q-Yf0.7f0.075m-Xf3.5-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0aa-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175nni-*f0.275-Xf0.275*f0.275-Yf0.275i-*f-0.55-Xf0.55*f0-Yf0.55-*f0.275-Xf0.55*f-0.275-Yf0m-Xf4.2-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0m-Xf-0.05-Yf0-Zf0im--Xf0/*f0.1-Yf0f0.35Y_a-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175aa-f0.51X-Xf0.61a-f0Y-Yf0.35m-Xf4.9-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iiaa-r+q-Xf0.4q-Yf0.25f0.25n-r+q-Xf0.4q-Yf0.25f0.15aa-f0X-Xf0.4a-f0Y-Yf0.25aa-f0X-Xf0.4a-f0.55Y-Yf0.65aa-f0.15X-Xf0.25a-f0.25Y-Yf1m-Xf5.6-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0aiaa-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175nni-*f0-Xf0.1*f0.65-Yf0.275i-*f-0.275-Xf0.75*f-0.15-Yf0.275-*f0.275-Xf0.6*f-0.5-Yf0aa-f0.05X-Xf0.55a-f0.225Y-Yf0.315-r+q-Xf0.275q-Yf0.275f0.275m_nr+qYqZ_m-Xf0-Yf-0-Zf0iiiiiiiim-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iiaa-r+q-Xf0.4q-Yf0.75f0.25n-r+q-Xf0.4q-Yf0.75f0.15aa-f0X-Xf0.4a-f0.75Y-Yf1aa-f0X-Xf0.4a-f0.45Y-Yf0.55aa-f0.15X-Xf0.25a-f0Y-Yf0.75m-Xf0.7-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0m-Xf-0.05-Yf0-Zf0im--Xf0/*f0.1-Yf0f0.35Y_a-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175aa-f0.51X-Xf0.61a-f0Y-Yf0.35m-Xf1.4-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iiaa-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175iaa-f0.25X-Xf1a-f0Y-Yf0.275aa-f0X-Xf1a-f0.275Y-Yf1aa-f0X-Xf0.1a-f0Y-Yf1aa-f0.1X-Xf0.25a-f0Y-Yf0.1m-Xf2.1-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0im/Xf0.7Y_aa-r+q-Xf0.55qYf0.55nm+f0.55/-Xf0.55f0.8Y_-r+q-Xf0.55qYf0.45aa-f0X-Xf0.55a-f0Y-Yf0.55aa-f0X-Xf0.1a-f0Y-Yf0.55m-Xf2.8-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iaa-f0.025X-Xf0.125a-f0Y-Yf0.55-r+q-Xf0.075q-Yf0.7f0.075m-Xf3.5-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0aa-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175nni-*f0.275-Xf0.275*f0.275-Yf0.275i-*f-0.55-Xf0.55*f0-Yf0.55-*f0.275-Xf0.55*f-0.275-Yf0m-Xf4.2-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0m-Xf-0.05-Yf0-Zf0im--Xf0/*f0.1-Yf0f0.35Y_a-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175aa-f0.51X-Xf0.61a-f0Y-Yf0.35m-Xf4.9-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iiaa-r+q-Xf0.4q-Yf0.25f0.25n-r+q-Xf0.4q-Yf0.25f0.15aa-f0X-Xf0.4a-f0Y-Yf0.25aa-f0X-Xf0.4a-f0.55Y-Yf0.65aa-f0.15X-Xf0.25a-f0.25Y-Yf1m-Xf5.6-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0aiaa-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175nni-*f0-Xf0.1*f0.65-Yf0.275i-*f-0.275-Xf0.75*f-0.15-Yf0.275-*f0.275-Xf0.6*f-0.5-Yf0aa-f0.05X-Xf0.55a-f0.225Y-Yf0.315-r+q-Xf0.275q-Yf0.275f0.275',float('0.000000'),float('-1.000000'),float('-1.000000'),float('6.150000'),float('1.000000'),float('1.000000'))", "name": "out", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 2805.0609185934172, 360.08651579733066 ], "name": "revolvedWord", "script": [ "# Neil Gershenfeld 2/1/15", "# Matt Keeter 6/13/2015", "", "import fab", "", "title('Revolve (X)')", "", "input('a',fab.types.Shape)", "input('y', float)", "output('out', fab.shapes.revolve_xy_x(a, y))", "", "" ], "uid": 76 }, { "datums": [ { "expr": "2", "name": "x", "type": "float", "uid": 3 }, { "expr": "90.0", "name": "a", "type": "float", "uid": 2 }, { "expr": "\u00122.0000000000000004", "name": "y", "type": "float", "uid": 1 }, { "expr": "\u0012fab.types.Shape('ni-*f-2-Xf0*f2-Yf0i-*f0-Xf2*f-4-Yf-2-*f2-Xf-2*f2-Yf-2',float('-2.000000'),float('-2.000000'),float('-inf'),float('2.000000'),float('0.000000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 3386.427171994982, 363.73476456770697 ], "name": "t19", "script": [ "import fab", "import math", "", "title('Isosceles triangle')", "", "input('x', float)", "input('a', float)", "", "if x == 0:", " x = 1", "", "angle = a * math.pi / 180", "y = abs(x / math.tan(angle / 2))", "", "output('y', y)", "output('shape', fab.shapes.triangle(x, -y, 0, 0, -x, -y))", "# UI", "sb.ui.wireframe([(x, y, 0)], close=True)", "sb.ui.point(x, y, 0)" ], "uid": 74 }, { "datums": [ { "expr": "0.0", "name": "_x", "type": "float", "uid": 0 }, { "expr": "0.0", "name": "_y", "type": "float", "uid": 1 }, { "expr": "0", "name": "zmin", "type": "float", "uid": 2 }, { "expr": "varFabLetters.letterSpacing * 9", "name": "zmax", "type": "float", "uid": 3 }, { "expr": "\u0011[__74.__4]", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 }, { "expr": "\u0012fab.types.Shape('am__f1ni-*f-2-Xf0*f2-Yf0i-*f0-Xf2*f-4-Yf-2-*f2-Xf-2*f2-Yf-2a-f0Z-Zf6.3',float('-2.000000'),float('-2.000000'),float('0.000000'),float('2.000000'),float('0.000000'),float('6.300000'))", "name": "out", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 3390.2187954730243, 554.1493229877675 ], "name": "e0", "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": 77 }, { "datums": [ { "expr": "0.0", "name": "x", "type": "float", "uid": 0 }, { "expr": "0.0", "name": "_y", "type": "float", "uid": 1 }, { "expr": "0.0", "name": "z", "type": "float", "uid": 2 }, { "expr": "-90", "name": "a", "type": "float", "uid": 3 }, { "expr": "\u0011[__77.__5]", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf0-Zf0m+*f6.12323e-17X*f-1ZY+*f1X*f6.12323e-17Zm-Xf-0-Yf0-Zf-0am__f1ni-*f-2-Xf0*f2-Yf0i-*f0-Xf2*f-4-Yf-2-*f2-Xf-2*f2-Yf-2a-f0Z-Zf6.3',float('-0.000000'),float('-2.000000'),float('-2.000000'),float('6.300000'),float('0.000000'),float('2.000000'))", "name": "rotated", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 3692.5157017319507, 365.60417814367418 ], "name": "r0", "script": [ "import fab", "import math", "", "title('Rotate (Y)')", "", "input('x', float)", "input('_y', float)", "input('z', float)", "input('a', float)", "", "input('shape', fab.types.Shape)", "output('rotated', fab.shapes.rotate_y(shape, a, x, z))", "", "# UI", "rad = math.radians(a)", "sb.ui.wireframe([(x + math.cos(rad), _y, z + math.sin(rad)),", " (x, _y, z),", " (x + 1, _y, z)], color=sb.color.teal)", "", "# Draw a semi-circular arc showing the rotation", "if int(a) % 360 != 0:", " sb.ui.wireframe([", " (x + math.cos(math.radians(a_)) * 0.3, _y,", " z + math.sin(math.radians(a_)) * 0.3)", " for a_ in range(int(a) % 360)], color=sb.color.teal)", "", "sb.ui.point(x, _y, z, color=sb.color.teal)", "", "def drag_pt(this, x, y, z):", " this.a = math.degrees(math.atan2(z - this.z, x - this.x))", "sb.ui.point(x + math.cos(rad), _y, z + math.sin(rad),", " color=sb.color.teal, drag=drag_pt, relative=False)", "", "" ], "uid": 78 }, { "datums": [ { "expr": "revolvedWord.out", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__78.__5]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('am-Xf0-Yf0-Zf0im_r+qYqZ_m-Xf0-Yf-0-Zf0iiiiiiiim-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iiaa-r+q-Xf0.4q-Yf0.75f0.25n-r+q-Xf0.4q-Yf0.75f0.15aa-f0X-Xf0.4a-f0.75Y-Yf1aa-f0X-Xf0.4a-f0.45Y-Yf0.55aa-f0.15X-Xf0.25a-f0Y-Yf0.75m-Xf0.7-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0m-Xf-0.05-Yf0-Zf0im--Xf0/*f0.1-Yf0f0.35Y_a-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175aa-f0.51X-Xf0.61a-f0Y-Yf0.35m-Xf1.4-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iiaa-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175iaa-f0.25X-Xf1a-f0Y-Yf0.275aa-f0X-Xf1a-f0.275Y-Yf1aa-f0X-Xf0.1a-f0Y-Yf1aa-f0.1X-Xf0.25a-f0Y-Yf0.1m-Xf2.1-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0im/Xf0.7Y_aa-r+q-Xf0.55qYf0.55nm+f0.55/-Xf0.55f0.8Y_-r+q-Xf0.55qYf0.45aa-f0X-Xf0.55a-f0Y-Yf0.55aa-f0X-Xf0.1a-f0Y-Yf0.55m-Xf2.8-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iaa-f0.025X-Xf0.125a-f0Y-Yf0.55-r+q-Xf0.075q-Yf0.7f0.075m-Xf3.5-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0aa-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175nni-*f0.275-Xf0.275*f0.275-Yf0.275i-*f-0.55-Xf0.55*f0-Yf0.55-*f0.275-Xf0.55*f-0.275-Yf0m-Xf4.2-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0m-Xf-0.05-Yf0-Zf0im--Xf0/*f0.1-Yf0f0.35Y_a-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175aa-f0.51X-Xf0.61a-f0Y-Yf0.35m-Xf4.9-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iiaa-r+q-Xf0.4q-Yf0.25f0.25n-r+q-Xf0.4q-Yf0.25f0.15aa-f0X-Xf0.4a-f0Y-Yf0.25aa-f0X-Xf0.4a-f0.55Y-Yf0.65aa-f0.15X-Xf0.25a-f0.25Y-Yf1m-Xf5.6-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0aiaa-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175nni-*f0-Xf0.1*f0.65-Yf0.275i-*f-0.275-Xf0.75*f-0.15-Yf0.275-*f0.275-Xf0.6*f-0.5-Yf0aa-f0.05X-Xf0.55a-f0.225Y-Yf0.315-r+q-Xf0.275q-Yf0.275f0.275m_nr+qYqZ_m-Xf0-Yf-0-Zf0iiiiiiiim-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iiaa-r+q-Xf0.4q-Yf0.75f0.25n-r+q-Xf0.4q-Yf0.75f0.15aa-f0X-Xf0.4a-f0.75Y-Yf1aa-f0X-Xf0.4a-f0.45Y-Yf0.55aa-f0.15X-Xf0.25a-f0Y-Yf0.75m-Xf0.7-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0m-Xf-0.05-Yf0-Zf0im--Xf0/*f0.1-Yf0f0.35Y_a-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175aa-f0.51X-Xf0.61a-f0Y-Yf0.35m-Xf1.4-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iiaa-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175iaa-f0.25X-Xf1a-f0Y-Yf0.275aa-f0X-Xf1a-f0.275Y-Yf1aa-f0X-Xf0.1a-f0Y-Yf1aa-f0.1X-Xf0.25a-f0Y-Yf0.1m-Xf2.1-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0im/Xf0.7Y_aa-r+q-Xf0.55qYf0.55nm+f0.55/-Xf0.55f0.8Y_-r+q-Xf0.55qYf0.45aa-f0X-Xf0.55a-f0Y-Yf0.55aa-f0X-Xf0.1a-f0Y-Yf0.55m-Xf2.8-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iaa-f0.025X-Xf0.125a-f0Y-Yf0.55-r+q-Xf0.075q-Yf0.7f0.075m-Xf3.5-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0aa-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175nni-*f0.275-Xf0.275*f0.275-Yf0.275i-*f-0.55-Xf0.55*f0-Yf0.55-*f0.275-Xf0.55*f-0.275-Yf0m-Xf4.2-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0m-Xf-0.05-Yf0-Zf0im--Xf0/*f0.1-Yf0f0.35Y_a-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175aa-f0.51X-Xf0.61a-f0Y-Yf0.35m-Xf4.9-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iiaa-r+q-Xf0.4q-Yf0.25f0.25n-r+q-Xf0.4q-Yf0.25f0.15aa-f0X-Xf0.4a-f0Y-Yf0.25aa-f0X-Xf0.4a-f0.55Y-Yf0.65aa-f0.15X-Xf0.25a-f0.25Y-Yf1m-Xf5.6-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0aiaa-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175nni-*f0-Xf0.1*f0.65-Yf0.275i-*f-0.275-Xf0.75*f-0.15-Yf0.275-*f0.275-Xf0.6*f-0.5-Yf0aa-f0.05X-Xf0.55a-f0.225Y-Yf0.315-r+q-Xf0.275q-Yf0.275f0.275nm-Xf0-Yf0-Zf0m+*f6.12323e-17X*f-1ZY+*f1X*f6.12323e-17Zm-Xf-0-Yf0-Zf-0am__f1ni-*f-2-Xf0*f2-Yf0i-*f0-Xf2*f-4-Yf-2-*f2-Xf-2*f2-Yf-2a-f0Z-Zf6.3',float('0.000000'),float('-1.000000'),float('-1.000000'),float('6.150000'),float('1.000000'),float('1.000000'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 3990.4955512426295, 369.47550076375251 ], "name": "revolved270", "script": [ "import fab.types", "", "title('Difference')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a & ~b)", "" ], "uid": 79 }, { "datums": [ { "expr": "\u0011[__79.__2]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "0", "name": "x0", "type": "float", "uid": 1 }, { "expr": "0", "name": "y0", "type": "float", "uid": 2 }, { "expr": "var.dx * 4", "name": "x1", "type": "float", "uid": 3 }, { "expr": "var.dy * 2", "name": "y1", "type": "float", "uid": 4 }, { "expr": "\u0012fab.types.Shape('m-Xf12-Yf7-Zf0am-Xf0-Yf0-Zf0im_r+qYqZ_m-Xf0-Yf-0-Zf0iiiiiiiim-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iiaa-r+q-Xf0.4q-Yf0.75f0.25n-r+q-Xf0.4q-Yf0.75f0.15aa-f0X-Xf0.4a-f0.75Y-Yf1aa-f0X-Xf0.4a-f0.45Y-Yf0.55aa-f0.15X-Xf0.25a-f0Y-Yf0.75m-Xf0.7-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0m-Xf-0.05-Yf0-Zf0im--Xf0/*f0.1-Yf0f0.35Y_a-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175aa-f0.51X-Xf0.61a-f0Y-Yf0.35m-Xf1.4-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iiaa-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175iaa-f0.25X-Xf1a-f0Y-Yf0.275aa-f0X-Xf1a-f0.275Y-Yf1aa-f0X-Xf0.1a-f0Y-Yf1aa-f0.1X-Xf0.25a-f0Y-Yf0.1m-Xf2.1-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0im/Xf0.7Y_aa-r+q-Xf0.55qYf0.55nm+f0.55/-Xf0.55f0.8Y_-r+q-Xf0.55qYf0.45aa-f0X-Xf0.55a-f0Y-Yf0.55aa-f0X-Xf0.1a-f0Y-Yf0.55m-Xf2.8-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iaa-f0.025X-Xf0.125a-f0Y-Yf0.55-r+q-Xf0.075q-Yf0.7f0.075m-Xf3.5-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0aa-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175nni-*f0.275-Xf0.275*f0.275-Yf0.275i-*f-0.55-Xf0.55*f0-Yf0.55-*f0.275-Xf0.55*f-0.275-Yf0m-Xf4.2-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0m-Xf-0.05-Yf0-Zf0im--Xf0/*f0.1-Yf0f0.35Y_a-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175aa-f0.51X-Xf0.61a-f0Y-Yf0.35m-Xf4.9-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iiaa-r+q-Xf0.4q-Yf0.25f0.25n-r+q-Xf0.4q-Yf0.25f0.15aa-f0X-Xf0.4a-f0Y-Yf0.25aa-f0X-Xf0.4a-f0.55Y-Yf0.65aa-f0.15X-Xf0.25a-f0.25Y-Yf1m-Xf5.6-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0aiaa-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175nni-*f0-Xf0.1*f0.65-Yf0.275i-*f-0.275-Xf0.75*f-0.15-Yf0.275-*f0.275-Xf0.6*f-0.5-Yf0aa-f0.05X-Xf0.55a-f0.225Y-Yf0.315-r+q-Xf0.275q-Yf0.275f0.275m_nr+qYqZ_m-Xf0-Yf-0-Zf0iiiiiiiim-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iiaa-r+q-Xf0.4q-Yf0.75f0.25n-r+q-Xf0.4q-Yf0.75f0.15aa-f0X-Xf0.4a-f0.75Y-Yf1aa-f0X-Xf0.4a-f0.45Y-Yf0.55aa-f0.15X-Xf0.25a-f0Y-Yf0.75m-Xf0.7-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0m-Xf-0.05-Yf0-Zf0im--Xf0/*f0.1-Yf0f0.35Y_a-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175aa-f0.51X-Xf0.61a-f0Y-Yf0.35m-Xf1.4-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iiaa-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175iaa-f0.25X-Xf1a-f0Y-Yf0.275aa-f0X-Xf1a-f0.275Y-Yf1aa-f0X-Xf0.1a-f0Y-Yf1aa-f0.1X-Xf0.25a-f0Y-Yf0.1m-Xf2.1-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0im/Xf0.7Y_aa-r+q-Xf0.55qYf0.55nm+f0.55/-Xf0.55f0.8Y_-r+q-Xf0.55qYf0.45aa-f0X-Xf0.55a-f0Y-Yf0.55aa-f0X-Xf0.1a-f0Y-Yf0.55m-Xf2.8-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iaa-f0.025X-Xf0.125a-f0Y-Yf0.55-r+q-Xf0.075q-Yf0.7f0.075m-Xf3.5-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0aa-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175nni-*f0.275-Xf0.275*f0.275-Yf0.275i-*f-0.55-Xf0.55*f0-Yf0.55-*f0.275-Xf0.55*f-0.275-Yf0m-Xf4.2-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0m-Xf-0.05-Yf0-Zf0im--Xf0/*f0.1-Yf0f0.35Y_a-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175aa-f0.51X-Xf0.61a-f0Y-Yf0.35m-Xf4.9-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iiaa-r+q-Xf0.4q-Yf0.25f0.25n-r+q-Xf0.4q-Yf0.25f0.15aa-f0X-Xf0.4a-f0Y-Yf0.25aa-f0X-Xf0.4a-f0.55Y-Yf0.65aa-f0.15X-Xf0.25a-f0.25Y-Yf1m-Xf5.6-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0aiaa-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175nni-*f0-Xf0.1*f0.65-Yf0.275i-*f-0.275-Xf0.75*f-0.15-Yf0.275-*f0.275-Xf0.6*f-0.5-Yf0aa-f0.05X-Xf0.55a-f0.225Y-Yf0.315-r+q-Xf0.275q-Yf0.275f0.275nm-Xf0-Yf0-Zf0m+*f6.12323e-17X*f-1ZY+*f1X*f6.12323e-17Zm-Xf-0-Yf0-Zf-0am__f1ni-*f-2-Xf0*f2-Yf0i-*f0-Xf2*f-4-Yf-2-*f2-Xf-2*f2-Yf-2a-f0Z-Zf6.3',float('12.000000'),float('6.000000'),float('-1.000000'),float('18.150000'),float('8.000000'),float('1.000000'))", "name": "out", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 4287.1683839904763, 370.7697863965758 ], "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))", "", "# UI", "sb.ui.wireframe([(x0, y0, 0), (x1, y1, 0)], color=sb.color.green)", "sb.ui.point(x0, y0, color=sb.color.green)", "sb.ui.point(x1, y1, color=sb.color.green)", "", "" ], "uid": 80 }, { "datums": [ { "expr": "\u0011[__83.__2]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "0", "name": "x0", "type": "float", "uid": 1 }, { "expr": "0", "name": "y0", "type": "float", "uid": 2 }, { "expr": "var.dx * 4", "name": "x1", "type": "float", "uid": 3 }, { "expr": "var.dy * 3", "name": "y1", "type": "float", "uid": 4 }, { "expr": "\u0012fab.types.Shape('m-Xf12-Yf10.5-Zf0am-Xf0-Yf0-Zf0im_r+qYqZ_m-Xf0-Yf-0-Zf0iiiiiiiim-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iiaa-r+q-Xf0.4q-Yf0.75f0.25n-r+q-Xf0.4q-Yf0.75f0.15aa-f0X-Xf0.4a-f0.75Y-Yf1aa-f0X-Xf0.4a-f0.45Y-Yf0.55aa-f0.15X-Xf0.25a-f0Y-Yf0.75m-Xf0.7-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0m-Xf-0.05-Yf0-Zf0im--Xf0/*f0.1-Yf0f0.35Y_a-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175aa-f0.51X-Xf0.61a-f0Y-Yf0.35m-Xf1.4-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iiaa-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175iaa-f0.25X-Xf1a-f0Y-Yf0.275aa-f0X-Xf1a-f0.275Y-Yf1aa-f0X-Xf0.1a-f0Y-Yf1aa-f0.1X-Xf0.25a-f0Y-Yf0.1m-Xf2.1-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0im/Xf0.7Y_aa-r+q-Xf0.55qYf0.55nm+f0.55/-Xf0.55f0.8Y_-r+q-Xf0.55qYf0.45aa-f0X-Xf0.55a-f0Y-Yf0.55aa-f0X-Xf0.1a-f0Y-Yf0.55m-Xf2.8-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iaa-f0.025X-Xf0.125a-f0Y-Yf0.55-r+q-Xf0.075q-Yf0.7f0.075m-Xf3.5-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0aa-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175nni-*f0.275-Xf0.275*f0.275-Yf0.275i-*f-0.55-Xf0.55*f0-Yf0.55-*f0.275-Xf0.55*f-0.275-Yf0m-Xf4.2-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0m-Xf-0.05-Yf0-Zf0im--Xf0/*f0.1-Yf0f0.35Y_a-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175aa-f0.51X-Xf0.61a-f0Y-Yf0.35m-Xf4.9-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iiaa-r+q-Xf0.4q-Yf0.25f0.25n-r+q-Xf0.4q-Yf0.25f0.15aa-f0X-Xf0.4a-f0Y-Yf0.25aa-f0X-Xf0.4a-f0.55Y-Yf0.65aa-f0.15X-Xf0.25a-f0.25Y-Yf1m-Xf5.6-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0aiaa-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175nni-*f0-Xf0.1*f0.65-Yf0.275i-*f-0.275-Xf0.75*f-0.15-Yf0.275-*f0.275-Xf0.6*f-0.5-Yf0aa-f0.05X-Xf0.55a-f0.225Y-Yf0.315-r+q-Xf0.275q-Yf0.275f0.275m_nr+qYqZ_m-Xf0-Yf-0-Zf0iiiiiiiim-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iiaa-r+q-Xf0.4q-Yf0.75f0.25n-r+q-Xf0.4q-Yf0.75f0.15aa-f0X-Xf0.4a-f0.75Y-Yf1aa-f0X-Xf0.4a-f0.45Y-Yf0.55aa-f0.15X-Xf0.25a-f0Y-Yf0.75m-Xf0.7-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0m-Xf-0.05-Yf0-Zf0im--Xf0/*f0.1-Yf0f0.35Y_a-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175aa-f0.51X-Xf0.61a-f0Y-Yf0.35m-Xf1.4-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iiaa-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175iaa-f0.25X-Xf1a-f0Y-Yf0.275aa-f0X-Xf1a-f0.275Y-Yf1aa-f0X-Xf0.1a-f0Y-Yf1aa-f0.1X-Xf0.25a-f0Y-Yf0.1m-Xf2.1-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0im/Xf0.7Y_aa-r+q-Xf0.55qYf0.55nm+f0.55/-Xf0.55f0.8Y_-r+q-Xf0.55qYf0.45aa-f0X-Xf0.55a-f0Y-Yf0.55aa-f0X-Xf0.1a-f0Y-Yf0.55m-Xf2.8-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iaa-f0.025X-Xf0.125a-f0Y-Yf0.55-r+q-Xf0.075q-Yf0.7f0.075m-Xf3.5-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0aa-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175nni-*f0.275-Xf0.275*f0.275-Yf0.275i-*f-0.55-Xf0.55*f0-Yf0.55-*f0.275-Xf0.55*f-0.275-Yf0m-Xf4.2-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0m-Xf-0.05-Yf0-Zf0im--Xf0/*f0.1-Yf0f0.35Y_a-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175aa-f0.51X-Xf0.61a-f0Y-Yf0.35m-Xf4.9-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iiaa-r+q-Xf0.4q-Yf0.25f0.25n-r+q-Xf0.4q-Yf0.25f0.15aa-f0X-Xf0.4a-f0Y-Yf0.25aa-f0X-Xf0.4a-f0.55Y-Yf0.65aa-f0.15X-Xf0.25a-f0.25Y-Yf1m-Xf5.6-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0aiaa-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175nni-*f0-Xf0.1*f0.65-Yf0.275i-*f-0.275-Xf0.75*f-0.15-Yf0.275-*f0.275-Xf0.6*f-0.5-Yf0aa-f0.05X-Xf0.55a-f0.225Y-Yf0.315-r+q-Xf0.275q-Yf0.275f0.275nm-Xf0-Yf0-Zf0m+*f6.12323e-17X*f-1ZY+*f1X*f6.12323e-17Zm-Xf-0-Yf0-Zf-0m-Xf0-Yf0-Zf0mXY/Zf6.3m+*Xc+*f1.5708Z*f0-f1Z*Ys+*f1.5708Z*f0-f1Z+n*Xs+*f1.5708Z*f0-f1Z*Yc+*f1.5708Z*f0-f1Z_mXY/Zf0.15873m-Xf-0-Yf-0-Zf-0am__f1ni-*f-2-Xf0*f2-Yf0i-*f0-Xf2*f-4-Yf-2-*f2-Xf-2*f2-Yf-2a-f0Z-Zf6.3',float('12.000000'),float('9.500000'),float('-1.000000'),float('18.150000'),float('11.500000'),float('1.000000'))", "name": "out", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 4280.4903649952457, 826.28099893958404 ], "name": "s23", "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))", "", "# UI", "sb.ui.wireframe([(x0, y0, 0), (x1, y1, 0)], color=sb.color.green)", "sb.ui.point(x0, y0, color=sb.color.green)", "sb.ui.point(x1, y1, color=sb.color.green)", "", "" ], "uid": 82 }, { "datums": [ { "expr": "revolvedWord.out", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__85.__5]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('am-Xf0-Yf0-Zf0im_r+qYqZ_m-Xf0-Yf-0-Zf0iiiiiiiim-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iiaa-r+q-Xf0.4q-Yf0.75f0.25n-r+q-Xf0.4q-Yf0.75f0.15aa-f0X-Xf0.4a-f0.75Y-Yf1aa-f0X-Xf0.4a-f0.45Y-Yf0.55aa-f0.15X-Xf0.25a-f0Y-Yf0.75m-Xf0.7-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0m-Xf-0.05-Yf0-Zf0im--Xf0/*f0.1-Yf0f0.35Y_a-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175aa-f0.51X-Xf0.61a-f0Y-Yf0.35m-Xf1.4-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iiaa-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175iaa-f0.25X-Xf1a-f0Y-Yf0.275aa-f0X-Xf1a-f0.275Y-Yf1aa-f0X-Xf0.1a-f0Y-Yf1aa-f0.1X-Xf0.25a-f0Y-Yf0.1m-Xf2.1-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0im/Xf0.7Y_aa-r+q-Xf0.55qYf0.55nm+f0.55/-Xf0.55f0.8Y_-r+q-Xf0.55qYf0.45aa-f0X-Xf0.55a-f0Y-Yf0.55aa-f0X-Xf0.1a-f0Y-Yf0.55m-Xf2.8-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iaa-f0.025X-Xf0.125a-f0Y-Yf0.55-r+q-Xf0.075q-Yf0.7f0.075m-Xf3.5-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0aa-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175nni-*f0.275-Xf0.275*f0.275-Yf0.275i-*f-0.55-Xf0.55*f0-Yf0.55-*f0.275-Xf0.55*f-0.275-Yf0m-Xf4.2-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0m-Xf-0.05-Yf0-Zf0im--Xf0/*f0.1-Yf0f0.35Y_a-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175aa-f0.51X-Xf0.61a-f0Y-Yf0.35m-Xf4.9-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iiaa-r+q-Xf0.4q-Yf0.25f0.25n-r+q-Xf0.4q-Yf0.25f0.15aa-f0X-Xf0.4a-f0Y-Yf0.25aa-f0X-Xf0.4a-f0.55Y-Yf0.65aa-f0.15X-Xf0.25a-f0.25Y-Yf1m-Xf5.6-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0aiaa-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175nni-*f0-Xf0.1*f0.65-Yf0.275i-*f-0.275-Xf0.75*f-0.15-Yf0.275-*f0.275-Xf0.6*f-0.5-Yf0aa-f0.05X-Xf0.55a-f0.225Y-Yf0.315-r+q-Xf0.275q-Yf0.275f0.275m_nr+qYqZ_m-Xf0-Yf-0-Zf0iiiiiiiim-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iiaa-r+q-Xf0.4q-Yf0.75f0.25n-r+q-Xf0.4q-Yf0.75f0.15aa-f0X-Xf0.4a-f0.75Y-Yf1aa-f0X-Xf0.4a-f0.45Y-Yf0.55aa-f0.15X-Xf0.25a-f0Y-Yf0.75m-Xf0.7-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0m-Xf-0.05-Yf0-Zf0im--Xf0/*f0.1-Yf0f0.35Y_a-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175aa-f0.51X-Xf0.61a-f0Y-Yf0.35m-Xf1.4-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iiaa-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175iaa-f0.25X-Xf1a-f0Y-Yf0.275aa-f0X-Xf1a-f0.275Y-Yf1aa-f0X-Xf0.1a-f0Y-Yf1aa-f0.1X-Xf0.25a-f0Y-Yf0.1m-Xf2.1-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0im/Xf0.7Y_aa-r+q-Xf0.55qYf0.55nm+f0.55/-Xf0.55f0.8Y_-r+q-Xf0.55qYf0.45aa-f0X-Xf0.55a-f0Y-Yf0.55aa-f0X-Xf0.1a-f0Y-Yf0.55m-Xf2.8-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iaa-f0.025X-Xf0.125a-f0Y-Yf0.55-r+q-Xf0.075q-Yf0.7f0.075m-Xf3.5-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0aa-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175nni-*f0.275-Xf0.275*f0.275-Yf0.275i-*f-0.55-Xf0.55*f0-Yf0.55-*f0.275-Xf0.55*f-0.275-Yf0m-Xf4.2-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0m-Xf-0.05-Yf0-Zf0im--Xf0/*f0.1-Yf0f0.35Y_a-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175aa-f0.51X-Xf0.61a-f0Y-Yf0.35m-Xf4.9-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iiaa-r+q-Xf0.4q-Yf0.25f0.25n-r+q-Xf0.4q-Yf0.25f0.15aa-f0X-Xf0.4a-f0Y-Yf0.25aa-f0X-Xf0.4a-f0.55Y-Yf0.65aa-f0.15X-Xf0.25a-f0.25Y-Yf1m-Xf5.6-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0aiaa-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175nni-*f0-Xf0.1*f0.65-Yf0.275i-*f-0.275-Xf0.75*f-0.15-Yf0.275-*f0.275-Xf0.6*f-0.5-Yf0aa-f0.05X-Xf0.55a-f0.225Y-Yf0.315-r+q-Xf0.275q-Yf0.275f0.275nm-Xf0-Yf0-Zf0m+*f6.12323e-17X*f-1ZY+*f1X*f6.12323e-17Zm-Xf-0-Yf0-Zf-0m-Xf0-Yf0-Zf0mXY/Zf6.3m+*Xc+*f1.5708Z*f0-f1Z*Ys+*f1.5708Z*f0-f1Z+n*Xs+*f1.5708Z*f0-f1Z*Yc+*f1.5708Z*f0-f1Z_mXY/Zf0.15873m-Xf-0-Yf-0-Zf-0am__f1ni-*f-2-Xf0*f2-Yf0i-*f0-Xf2*f-4-Yf-2-*f2-Xf-2*f2-Yf-2a-f0Z-Zf6.3',float('0.000000'),float('-1.000000'),float('-1.000000'),float('6.150000'),float('1.000000'),float('1.000000'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 3989.8524790379533, 827.22587935303557 ], "name": "d1", "script": [ "import fab.types", "", "title('Difference')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a & ~b)", "" ], "uid": 83 }, { "datums": [ { "expr": "0.0", "name": "x", "type": "float", "uid": 0 }, { "expr": "0.0", "name": "_y", "type": "float", "uid": 1 }, { "expr": "0.0", "name": "z", "type": "float", "uid": 2 }, { "expr": "-90", "name": "a", "type": "float", "uid": 3 }, { "expr": "\u0011[__88.__7]", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf0-Zf0m+*f6.12323e-17X*f-1ZY+*f1X*f6.12323e-17Zm-Xf-0-Yf0-Zf-0m-Xf0-Yf0-Zf0mXY/Zf6.3m+*Xc+*f1.5708Z*f0-f1Z*Ys+*f1.5708Z*f0-f1Z+n*Xs+*f1.5708Z*f0-f1Z*Yc+*f1.5708Z*f0-f1Z_mXY/Zf0.15873m-Xf-0-Yf-0-Zf-0am__f1ni-*f-2-Xf0*f2-Yf0i-*f0-Xf2*f-4-Yf-2-*f2-Xf-2*f2-Yf-2a-f0Z-Zf6.3',float('-0.000000'),float('-4.000000'),float('-4.000000'),float('6.299994'),float('4.000000'),float('4.000000'))", "name": "rotated", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 3688.721901419457, 1132.7684686340403 ], "name": "r1", "script": [ "import fab", "import math", "", "title('Rotate (Y)')", "", "input('x', float)", "input('_y', float)", "input('z', float)", "input('a', float)", "", "input('shape', fab.types.Shape)", "output('rotated', fab.shapes.rotate_y(shape, a, x, z))", "", "# UI", "rad = math.radians(a)", "sb.ui.wireframe([(x + math.cos(rad), _y, z + math.sin(rad)),", " (x, _y, z),", " (x + 1, _y, z)], color=sb.color.teal)", "", "# Draw a semi-circular arc showing the rotation", "if int(a) % 360 != 0:", " sb.ui.wireframe([", " (x + math.cos(math.radians(a_)) * 0.3, _y,", " z + math.sin(math.radians(a_)) * 0.3)", " for a_ in range(int(a) % 360)], color=sb.color.teal)", "", "sb.ui.point(x, _y, z, color=sb.color.teal)", "", "def drag_pt(this, x, y, z):", " this.a = math.degrees(math.atan2(z - this.z, x - this.x))", "sb.ui.point(x + math.cos(rad), _y, z + math.sin(rad),", " color=sb.color.teal, drag=drag_pt, relative=False)", "", "" ], "uid": 85 }, { "datums": [ { "expr": "\u0011[__90.__5]", "name": "shape", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "0", "name": "x", "type": "float", "uid": 1 }, { "expr": "0", "name": "y", "type": "float", "uid": 2 }, { "expr": "0", "name": "z0", "type": "float", "uid": 3 }, { "expr": "varFabLetters.letterSpacing * 9", "name": "z1", "type": "float", "uid": 4 }, { "expr": "0", "name": "theta0", "type": "float", "uid": 5 }, { "expr": "90", "name": "theta1", "type": "float", "uid": 6 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf0-Zf0mXY/Zf6.3m+*Xc+*f1.5708Z*f0-f1Z*Ys+*f1.5708Z*f0-f1Z+n*Xs+*f1.5708Z*f0-f1Z*Yc+*f1.5708Z*f0-f1Z_mXY/Zf0.15873m-Xf-0-Yf-0-Zf-0am__f1ni-*f-2-Xf0*f2-Yf0i-*f0-Xf2*f-4-Yf-2-*f2-Xf-2*f2-Yf-2a-f0Z-Zf6.3',float('-4.000000'),float('-4.000000'),float('0.000000'),float('4.000000'),float('4.000000'),float('6.299994'))", "name": "twisted", "type": "_fabtypes.Shape", "uid": 7 } ], "inspector": [ 3692.3623239364615, 828.50226517818589 ], "name": "t21", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 6/13/15", "", "import fab", "", "title('Twist (Z)')", "", "input('shape', fab.types.Shape)", "input('x', float)", "input('y', float)", "input('z0', float)", "input('z1', float)", "input('theta0', float)", "input('theta1', float)", "", "output('twisted', fab.shapes.twist_xy_z(shape, x, y, z0, z1, theta0, theta1))", "", "" ], "uid": 88 }, { "datums": [ { "expr": "2", "name": "x", "type": "float", "uid": 3 }, { "expr": "90.0", "name": "a", "type": "float", "uid": 2 }, { "expr": "\u00122.0000000000000004", "name": "y", "type": "float", "uid": 1 }, { "expr": "\u0012fab.types.Shape('ni-*f-2-Xf0*f2-Yf0i-*f0-Xf2*f-4-Yf-2-*f2-Xf-2*f2-Yf-2',float('-2.000000'),float('-2.000000'),float('-inf'),float('2.000000'),float('0.000000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 3393.2849178652696, 830.92789204990493 ], "name": "t23", "script": [ "import fab", "import math", "", "title('Isosceles triangle')", "", "input('x', float)", "input('a', float)", "", "if x == 0:", " x = 1", "", "angle = a * math.pi / 180", "y = abs(x / math.tan(angle / 2))", "", "output('y', y)", "output('shape', fab.shapes.triangle(x, -y, 0, 0, -x, -y))", "# UI", "sb.ui.wireframe([(x, y, 0)], close=True)", "sb.ui.point(x, y, 0)" ], "uid": 89 }, { "datums": [ { "expr": "0.0", "name": "_x", "type": "float", "uid": 0 }, { "expr": "0.0", "name": "_y", "type": "float", "uid": 1 }, { "expr": "0", "name": "zmin", "type": "float", "uid": 2 }, { "expr": "varFabLetters.letterSpacing * 9", "name": "zmax", "type": "float", "uid": 3 }, { "expr": "\u0011[__89.__4]", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 }, { "expr": "\u0012fab.types.Shape('am__f1ni-*f-2-Xf0*f2-Yf0i-*f0-Xf2*f-4-Yf-2-*f2-Xf-2*f2-Yf-2a-f0Z-Zf6.3',float('-2.000000'),float('-2.000000'),float('0.000000'),float('2.000000'),float('0.000000'),float('6.300000'))", "name": "out", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 3395.4224455101821, 1024.4936943070943 ], "name": "e2", "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": 90 }, { "datums": [ { "expr": "2", "name": "x", "type": "float", "uid": 3 }, { "expr": "90.0", "name": "a", "type": "float", "uid": 2 }, { "expr": "\u00122.0000000000000004", "name": "y", "type": "float", "uid": 1 }, { "expr": "\u0012fab.types.Shape('ni-*f-2-Xf0*f2-Yf0i-*f0-Xf2*f-4-Yf-2-*f2-Xf-2*f2-Yf-2',float('-2.000000'),float('-2.000000'),float('-inf'),float('2.000000'),float('0.000000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 4688.445674033791, 590.81214058897683 ], "name": "t20", "script": [ "import fab", "import math", "", "title('Isosceles triangle')", "", "input('x', float)", "input('a', float)", "", "if x == 0:", " x = 1", "", "angle = a * math.pi / 180", "y = abs(x / math.tan(angle / 2))", "", "output('y', y)", "output('shape', fab.shapes.triangle(x, -y, 0, 0, -x, -y))", "# UI", "sb.ui.wireframe([(x, y, 0)], close=True)", "sb.ui.point(x, y, 0)" ], "uid": 81 }, { "datums": [ { "expr": "0.0", "name": "_x", "type": "float", "uid": 0 }, { "expr": "0.0", "name": "_y", "type": "float", "uid": 1 }, { "expr": "0", "name": "zmin", "type": "float", "uid": 2 }, { "expr": "varFabLetters.letterSpacing * 19", "name": "zmax", "type": "float", "uid": 3 }, { "expr": "\u0011[__81.__4]", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 }, { "expr": "\u0012fab.types.Shape('am__f1ni-*f-2-Xf0*f2-Yf0i-*f0-Xf2*f-4-Yf-2-*f2-Xf-2*f2-Yf-2a-f0Z-Zf13.3',float('-2.000000'),float('-2.000000'),float('0.000000'),float('2.000000'),float('0.000000'),float('13.300000'))", "name": "out", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 4687.2141443122173, 777.77908552746601 ], "name": "e1", "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": 84 }, { "datums": [ { "expr": "0.0", "name": "x", "type": "float", "uid": 0 }, { "expr": "0.0", "name": "_y", "type": "float", "uid": 1 }, { "expr": "0.0", "name": "z", "type": "float", "uid": 2 }, { "expr": "-90", "name": "a", "type": "float", "uid": 3 }, { "expr": "\u0011[__84.__5]", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf0-Zf0m+*f6.12323e-17X*f-1ZY+*f1X*f6.12323e-17Zm-Xf-0-Yf0-Zf-0am__f1ni-*f-2-Xf0*f2-Yf0i-*f0-Xf2*f-4-Yf-2-*f2-Xf-2*f2-Yf-2a-f0Z-Zf13.3',float('-0.000000'),float('-2.000000'),float('-2.000000'),float('13.300000'),float('0.000000'),float('2.000000'))", "name": "rotated", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 4982.7500907941367, 677.56862091578012 ], "name": "r2", "script": [ "import fab", "import math", "", "title('Rotate (Y)')", "", "input('x', float)", "input('_y', float)", "input('z', float)", "input('a', float)", "", "input('shape', fab.types.Shape)", "output('rotated', fab.shapes.rotate_y(shape, a, x, z))", "", "# UI", "rad = math.radians(a)", "sb.ui.wireframe([(x + math.cos(rad), _y, z + math.sin(rad)),", " (x, _y, z),", " (x + 1, _y, z)], color=sb.color.teal)", "", "# Draw a semi-circular arc showing the rotation", "if int(a) % 360 != 0:", " sb.ui.wireframe([", " (x + math.cos(math.radians(a_)) * 0.3, _y,", " z + math.sin(math.radians(a_)) * 0.3)", " for a_ in range(int(a) % 360)], color=sb.color.teal)", "", "sb.ui.point(x, _y, z, color=sb.color.teal)", "", "def drag_pt(this, x, y, z):", " this.a = math.degrees(math.atan2(z - this.z, x - this.x))", "sb.ui.point(x + math.cos(rad), _y, z + math.sin(rad),", " color=sb.color.teal, drag=drag_pt, relative=False)", "", "" ], "uid": 86 }, { "datums": [ { "expr": "0.0", "name": "x", "type": "float", "uid": 0 }, { "expr": "0.0", "name": "y", "type": "float", "uid": 1 }, { "expr": "'fabricate'", "name": "text", "type": "str", "uid": 2 }, { "expr": "1", "name": "scale", "type": "float", "uid": 3 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0iiiiiiiim-Xf0-Yf-1-Zf0iiaa-r+q-Xf0.4q-Yf0.75f0.25n-r+q-Xf0.4q-Yf0.75f0.15aa-f0X-Xf0.4a-f0.75Y-Yf1aa-f0X-Xf0.4a-f0.45Y-Yf0.55aa-f0.15X-Xf0.25a-f0Y-Yf0.75m-Xf0.5-Yf-1-Zf0m-Xf-0.05-Yf0-Zf0im--Xf0/*f0.1-Yf0f0.35Y_a-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175aa-f0.51X-Xf0.61a-f0Y-Yf0.35m-Xf1.18-Yf-1-Zf0iiaa-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175iaa-f0.25X-Xf1a-f0Y-Yf0.275aa-f0X-Xf1a-f0.275Y-Yf1aa-f0X-Xf0.1a-f0Y-Yf1aa-f0.1X-Xf0.25a-f0Y-Yf0.1m-Xf1.805-Yf-1-Zf0im/Xf0.7Y_aa-r+q-Xf0.55qYf0.55nm+f0.55/-Xf0.55f0.8Y_-r+q-Xf0.55qYf0.45aa-f0X-Xf0.55a-f0Y-Yf0.55aa-f0X-Xf0.1a-f0Y-Yf0.55m-Xf2.29-Yf-1-Zf0iaa-f0.025X-Xf0.125a-f0Y-Yf0.55-r+q-Xf0.075q-Yf0.7f0.075m-Xf2.54-Yf-1-Zf0aa-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175nni-*f0.275-Xf0.275*f0.275-Yf0.275i-*f-0.55-Xf0.55*f0-Yf0.55-*f0.275-Xf0.55*f-0.275-Yf0m-Xf3.12-Yf-1-Zf0m-Xf-0.05-Yf0-Zf0im--Xf0/*f0.1-Yf0f0.35Y_a-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175aa-f0.51X-Xf0.61a-f0Y-Yf0.35m-Xf3.8-Yf-1-Zf0iiaa-r+q-Xf0.4q-Yf0.25f0.25n-r+q-Xf0.4q-Yf0.25f0.15aa-f0X-Xf0.4a-f0Y-Yf0.25aa-f0X-Xf0.4a-f0.55Y-Yf0.65aa-f0.15X-Xf0.25a-f0.25Y-Yf1m-Xf4.3-Yf-1-Zf0aiaa-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175nni-*f0-Xf0.1*f0.65-Yf0.275i-*f-0.275-Xf0.75*f-0.15-Yf0.275-*f0.275-Xf0.6*f-0.5-Yf0aa-f0.05X-Xf0.55a-f0.225Y-Yf0.315-r+q-Xf0.275q-Yf0.275f0.275',float('0.000000'),float('0.000000'),float('-inf'),float('4.850000'),float('1.000000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 4687.2141443122191, 375.23874462968149 ], "name": "t22", "script": [ "import fab", "", "title('Text')", "", "input('x', float)", "input('y', float)", "input('text', str)", "input('scale', float)", "", "output('shape', fab.shapes.text(text, x, y, scale))", "", "# UI", "sb.ui.wireframe([(x, y, 0), (x, y+scale, 0)])", "sb.ui.point(x, y, 0)", "sb.ui.point(x, y + scale, 0, drag=(None, scale, None))", "" ], "uid": 87 }, { "datums": [ { "expr": "\u0011[__87.__4]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "0", "name": "y", "type": "float", "uid": 1 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf0-Zf0im_r+qYqZ_m-Xf0-Yf-0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0iiiiiiiim-Xf0-Yf-1-Zf0iiaa-r+q-Xf0.4q-Yf0.75f0.25n-r+q-Xf0.4q-Yf0.75f0.15aa-f0X-Xf0.4a-f0.75Y-Yf1aa-f0X-Xf0.4a-f0.45Y-Yf0.55aa-f0.15X-Xf0.25a-f0Y-Yf0.75m-Xf0.5-Yf-1-Zf0m-Xf-0.05-Yf0-Zf0im--Xf0/*f0.1-Yf0f0.35Y_a-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175aa-f0.51X-Xf0.61a-f0Y-Yf0.35m-Xf1.18-Yf-1-Zf0iiaa-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175iaa-f0.25X-Xf1a-f0Y-Yf0.275aa-f0X-Xf1a-f0.275Y-Yf1aa-f0X-Xf0.1a-f0Y-Yf1aa-f0.1X-Xf0.25a-f0Y-Yf0.1m-Xf1.805-Yf-1-Zf0im/Xf0.7Y_aa-r+q-Xf0.55qYf0.55nm+f0.55/-Xf0.55f0.8Y_-r+q-Xf0.55qYf0.45aa-f0X-Xf0.55a-f0Y-Yf0.55aa-f0X-Xf0.1a-f0Y-Yf0.55m-Xf2.29-Yf-1-Zf0iaa-f0.025X-Xf0.125a-f0Y-Yf0.55-r+q-Xf0.075q-Yf0.7f0.075m-Xf2.54-Yf-1-Zf0aa-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175nni-*f0.275-Xf0.275*f0.275-Yf0.275i-*f-0.55-Xf0.55*f0-Yf0.55-*f0.275-Xf0.55*f-0.275-Yf0m-Xf3.12-Yf-1-Zf0m-Xf-0.05-Yf0-Zf0im--Xf0/*f0.1-Yf0f0.35Y_a-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175aa-f0.51X-Xf0.61a-f0Y-Yf0.35m-Xf3.8-Yf-1-Zf0iiaa-r+q-Xf0.4q-Yf0.25f0.25n-r+q-Xf0.4q-Yf0.25f0.15aa-f0X-Xf0.4a-f0Y-Yf0.25aa-f0X-Xf0.4a-f0.55Y-Yf0.65aa-f0.15X-Xf0.25a-f0.25Y-Yf1m-Xf4.3-Yf-1-Zf0aiaa-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175nni-*f0-Xf0.1*f0.65-Yf0.275i-*f-0.275-Xf0.75*f-0.15-Yf0.275-*f0.275-Xf0.6*f-0.5-Yf0aa-f0.05X-Xf0.55a-f0.225Y-Yf0.315-r+q-Xf0.275q-Yf0.275f0.275m_nr+qYqZ_m-Xf0-Yf-0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0iiiiiiiim-Xf0-Yf-1-Zf0iiaa-r+q-Xf0.4q-Yf0.75f0.25n-r+q-Xf0.4q-Yf0.75f0.15aa-f0X-Xf0.4a-f0.75Y-Yf1aa-f0X-Xf0.4a-f0.45Y-Yf0.55aa-f0.15X-Xf0.25a-f0Y-Yf0.75m-Xf0.5-Yf-1-Zf0m-Xf-0.05-Yf0-Zf0im--Xf0/*f0.1-Yf0f0.35Y_a-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175aa-f0.51X-Xf0.61a-f0Y-Yf0.35m-Xf1.18-Yf-1-Zf0iiaa-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175iaa-f0.25X-Xf1a-f0Y-Yf0.275aa-f0X-Xf1a-f0.275Y-Yf1aa-f0X-Xf0.1a-f0Y-Yf1aa-f0.1X-Xf0.25a-f0Y-Yf0.1m-Xf1.805-Yf-1-Zf0im/Xf0.7Y_aa-r+q-Xf0.55qYf0.55nm+f0.55/-Xf0.55f0.8Y_-r+q-Xf0.55qYf0.45aa-f0X-Xf0.55a-f0Y-Yf0.55aa-f0X-Xf0.1a-f0Y-Yf0.55m-Xf2.29-Yf-1-Zf0iaa-f0.025X-Xf0.125a-f0Y-Yf0.55-r+q-Xf0.075q-Yf0.7f0.075m-Xf2.54-Yf-1-Zf0aa-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175nni-*f0.275-Xf0.275*f0.275-Yf0.275i-*f-0.55-Xf0.55*f0-Yf0.55-*f0.275-Xf0.55*f-0.275-Yf0m-Xf3.12-Yf-1-Zf0m-Xf-0.05-Yf0-Zf0im--Xf0/*f0.1-Yf0f0.35Y_a-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175aa-f0.51X-Xf0.61a-f0Y-Yf0.35m-Xf3.8-Yf-1-Zf0iiaa-r+q-Xf0.4q-Yf0.25f0.25n-r+q-Xf0.4q-Yf0.25f0.15aa-f0X-Xf0.4a-f0Y-Yf0.25aa-f0X-Xf0.4a-f0.55Y-Yf0.65aa-f0.15X-Xf0.25a-f0.25Y-Yf1m-Xf4.3-Yf-1-Zf0aiaa-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175nni-*f0-Xf0.1*f0.65-Yf0.275i-*f-0.275-Xf0.75*f-0.15-Yf0.275-*f0.275-Xf0.6*f-0.5-Yf0aa-f0.05X-Xf0.55a-f0.225Y-Yf0.315-r+q-Xf0.275q-Yf0.275f0.275',float('0.000000'),float('-1.000000'),float('-1.000000'),float('4.850000'),float('1.000000'),float('1.000000'))", "name": "out", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 4987.8455381472731, 416.00232345477286 ], "name": "r3", "script": [ "# Neil Gershenfeld 2/1/15", "# Matt Keeter 6/13/2015", "", "import fab", "", "title('Revolve (X)')", "", "input('a',fab.types.Shape)", "input('y', float)", "output('out', fab.shapes.revolve_xy_x(a, y))", "", "" ], "uid": 91 }, { "datums": [ { "expr": "\u0011[__91.__2]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__86.__5]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('am-Xf0-Yf0-Zf0im_r+qYqZ_m-Xf0-Yf-0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0iiiiiiiim-Xf0-Yf-1-Zf0iiaa-r+q-Xf0.4q-Yf0.75f0.25n-r+q-Xf0.4q-Yf0.75f0.15aa-f0X-Xf0.4a-f0.75Y-Yf1aa-f0X-Xf0.4a-f0.45Y-Yf0.55aa-f0.15X-Xf0.25a-f0Y-Yf0.75m-Xf0.5-Yf-1-Zf0m-Xf-0.05-Yf0-Zf0im--Xf0/*f0.1-Yf0f0.35Y_a-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175aa-f0.51X-Xf0.61a-f0Y-Yf0.35m-Xf1.18-Yf-1-Zf0iiaa-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175iaa-f0.25X-Xf1a-f0Y-Yf0.275aa-f0X-Xf1a-f0.275Y-Yf1aa-f0X-Xf0.1a-f0Y-Yf1aa-f0.1X-Xf0.25a-f0Y-Yf0.1m-Xf1.805-Yf-1-Zf0im/Xf0.7Y_aa-r+q-Xf0.55qYf0.55nm+f0.55/-Xf0.55f0.8Y_-r+q-Xf0.55qYf0.45aa-f0X-Xf0.55a-f0Y-Yf0.55aa-f0X-Xf0.1a-f0Y-Yf0.55m-Xf2.29-Yf-1-Zf0iaa-f0.025X-Xf0.125a-f0Y-Yf0.55-r+q-Xf0.075q-Yf0.7f0.075m-Xf2.54-Yf-1-Zf0aa-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175nni-*f0.275-Xf0.275*f0.275-Yf0.275i-*f-0.55-Xf0.55*f0-Yf0.55-*f0.275-Xf0.55*f-0.275-Yf0m-Xf3.12-Yf-1-Zf0m-Xf-0.05-Yf0-Zf0im--Xf0/*f0.1-Yf0f0.35Y_a-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175aa-f0.51X-Xf0.61a-f0Y-Yf0.35m-Xf3.8-Yf-1-Zf0iiaa-r+q-Xf0.4q-Yf0.25f0.25n-r+q-Xf0.4q-Yf0.25f0.15aa-f0X-Xf0.4a-f0Y-Yf0.25aa-f0X-Xf0.4a-f0.55Y-Yf0.65aa-f0.15X-Xf0.25a-f0.25Y-Yf1m-Xf4.3-Yf-1-Zf0aiaa-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175nni-*f0-Xf0.1*f0.65-Yf0.275i-*f-0.275-Xf0.75*f-0.15-Yf0.275-*f0.275-Xf0.6*f-0.5-Yf0aa-f0.05X-Xf0.55a-f0.225Y-Yf0.315-r+q-Xf0.275q-Yf0.275f0.275m_nr+qYqZ_m-Xf0-Yf-0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0iiiiiiiim-Xf0-Yf-1-Zf0iiaa-r+q-Xf0.4q-Yf0.75f0.25n-r+q-Xf0.4q-Yf0.75f0.15aa-f0X-Xf0.4a-f0.75Y-Yf1aa-f0X-Xf0.4a-f0.45Y-Yf0.55aa-f0.15X-Xf0.25a-f0Y-Yf0.75m-Xf0.5-Yf-1-Zf0m-Xf-0.05-Yf0-Zf0im--Xf0/*f0.1-Yf0f0.35Y_a-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175aa-f0.51X-Xf0.61a-f0Y-Yf0.35m-Xf1.18-Yf-1-Zf0iiaa-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175iaa-f0.25X-Xf1a-f0Y-Yf0.275aa-f0X-Xf1a-f0.275Y-Yf1aa-f0X-Xf0.1a-f0Y-Yf1aa-f0.1X-Xf0.25a-f0Y-Yf0.1m-Xf1.805-Yf-1-Zf0im/Xf0.7Y_aa-r+q-Xf0.55qYf0.55nm+f0.55/-Xf0.55f0.8Y_-r+q-Xf0.55qYf0.45aa-f0X-Xf0.55a-f0Y-Yf0.55aa-f0X-Xf0.1a-f0Y-Yf0.55m-Xf2.29-Yf-1-Zf0iaa-f0.025X-Xf0.125a-f0Y-Yf0.55-r+q-Xf0.075q-Yf0.7f0.075m-Xf2.54-Yf-1-Zf0aa-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175nni-*f0.275-Xf0.275*f0.275-Yf0.275i-*f-0.55-Xf0.55*f0-Yf0.55-*f0.275-Xf0.55*f-0.275-Yf0m-Xf3.12-Yf-1-Zf0m-Xf-0.05-Yf0-Zf0im--Xf0/*f0.1-Yf0f0.35Y_a-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175aa-f0.51X-Xf0.61a-f0Y-Yf0.35m-Xf3.8-Yf-1-Zf0iiaa-r+q-Xf0.4q-Yf0.25f0.25n-r+q-Xf0.4q-Yf0.25f0.15aa-f0X-Xf0.4a-f0Y-Yf0.25aa-f0X-Xf0.4a-f0.55Y-Yf0.65aa-f0.15X-Xf0.25a-f0.25Y-Yf1m-Xf4.3-Yf-1-Zf0aiaa-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175nni-*f0-Xf0.1*f0.65-Yf0.275i-*f-0.275-Xf0.75*f-0.15-Yf0.275-*f0.275-Xf0.6*f-0.5-Yf0aa-f0.05X-Xf0.55a-f0.225Y-Yf0.315-r+q-Xf0.275q-Yf0.275f0.275nm-Xf0-Yf0-Zf0m+*f6.12323e-17X*f-1ZY+*f1X*f6.12323e-17Zm-Xf-0-Yf0-Zf-0am__f1ni-*f-2-Xf0*f2-Yf0i-*f0-Xf2*f-4-Yf-2-*f2-Xf-2*f2-Yf-2a-f0Z-Zf13.3',float('0.000000'),float('-1.000000'),float('-1.000000'),float('4.850000'),float('1.000000'),float('1.000000'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 5302.0647915906911, 536.59457747900376 ], "name": "d0", "script": [ "import fab.types", "", "title('Difference')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a & ~b)", "" ], "uid": 92 }, { "datums": [ { "expr": "2.365", "name": "offsetI", "type": "float", "uid": 9 }, { "expr": "0.05", "name": "supportRadius", "type": "float", "uid": 0 } ], "inspector": [ 5289.8655564721039, 872.86085200169362 ], "name": "varWord", "script": [ "import fab", "", "title('variables')", "input('offsetI', float)", "input('supportRadius', float)" ], "uid": 97 }, { "datums": [ { "expr": "0.0", "name": "_x", "type": "float", "uid": 0 }, { "expr": "0.0", "name": "y", "type": "float", "uid": 1 }, { "expr": "0.0", "name": "z", "type": "float", "uid": 2 }, { "expr": "225", "name": "a", "type": "float", "uid": 3 }, { "expr": "\u0011[__92.__2]", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf0-Zf0m_+*f-0.707107Y*f-0.707107Z+*f0.707107Y*f-0.707107Zm-Xf0-Yf-0-Zf-0am-Xf0-Yf0-Zf0im_r+qYqZ_m-Xf0-Yf-0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0iiiiiiiim-Xf0-Yf-1-Zf0iiaa-r+q-Xf0.4q-Yf0.75f0.25n-r+q-Xf0.4q-Yf0.75f0.15aa-f0X-Xf0.4a-f0.75Y-Yf1aa-f0X-Xf0.4a-f0.45Y-Yf0.55aa-f0.15X-Xf0.25a-f0Y-Yf0.75m-Xf0.5-Yf-1-Zf0m-Xf-0.05-Yf0-Zf0im--Xf0/*f0.1-Yf0f0.35Y_a-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175aa-f0.51X-Xf0.61a-f0Y-Yf0.35m-Xf1.18-Yf-1-Zf0iiaa-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175iaa-f0.25X-Xf1a-f0Y-Yf0.275aa-f0X-Xf1a-f0.275Y-Yf1aa-f0X-Xf0.1a-f0Y-Yf1aa-f0.1X-Xf0.25a-f0Y-Yf0.1m-Xf1.805-Yf-1-Zf0im/Xf0.7Y_aa-r+q-Xf0.55qYf0.55nm+f0.55/-Xf0.55f0.8Y_-r+q-Xf0.55qYf0.45aa-f0X-Xf0.55a-f0Y-Yf0.55aa-f0X-Xf0.1a-f0Y-Yf0.55m-Xf2.29-Yf-1-Zf0iaa-f0.025X-Xf0.125a-f0Y-Yf0.55-r+q-Xf0.075q-Yf0.7f0.075m-Xf2.54-Yf-1-Zf0aa-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175nni-*f0.275-Xf0.275*f0.275-Yf0.275i-*f-0.55-Xf0.55*f0-Yf0.55-*f0.275-Xf0.55*f-0.275-Yf0m-Xf3.12-Yf-1-Zf0m-Xf-0.05-Yf0-Zf0im--Xf0/*f0.1-Yf0f0.35Y_a-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175aa-f0.51X-Xf0.61a-f0Y-Yf0.35m-Xf3.8-Yf-1-Zf0iiaa-r+q-Xf0.4q-Yf0.25f0.25n-r+q-Xf0.4q-Yf0.25f0.15aa-f0X-Xf0.4a-f0Y-Yf0.25aa-f0X-Xf0.4a-f0.55Y-Yf0.65aa-f0.15X-Xf0.25a-f0.25Y-Yf1m-Xf4.3-Yf-1-Zf0aiaa-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175nni-*f0-Xf0.1*f0.65-Yf0.275i-*f-0.275-Xf0.75*f-0.15-Yf0.275-*f0.275-Xf0.6*f-0.5-Yf0aa-f0.05X-Xf0.55a-f0.225Y-Yf0.315-r+q-Xf0.275q-Yf0.275f0.275m_nr+qYqZ_m-Xf0-Yf-0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0iiiiiiiim-Xf0-Yf-1-Zf0iiaa-r+q-Xf0.4q-Yf0.75f0.25n-r+q-Xf0.4q-Yf0.75f0.15aa-f0X-Xf0.4a-f0.75Y-Yf1aa-f0X-Xf0.4a-f0.45Y-Yf0.55aa-f0.15X-Xf0.25a-f0Y-Yf0.75m-Xf0.5-Yf-1-Zf0m-Xf-0.05-Yf0-Zf0im--Xf0/*f0.1-Yf0f0.35Y_a-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175aa-f0.51X-Xf0.61a-f0Y-Yf0.35m-Xf1.18-Yf-1-Zf0iiaa-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175iaa-f0.25X-Xf1a-f0Y-Yf0.275aa-f0X-Xf1a-f0.275Y-Yf1aa-f0X-Xf0.1a-f0Y-Yf1aa-f0.1X-Xf0.25a-f0Y-Yf0.1m-Xf1.805-Yf-1-Zf0im/Xf0.7Y_aa-r+q-Xf0.55qYf0.55nm+f0.55/-Xf0.55f0.8Y_-r+q-Xf0.55qYf0.45aa-f0X-Xf0.55a-f0Y-Yf0.55aa-f0X-Xf0.1a-f0Y-Yf0.55m-Xf2.29-Yf-1-Zf0iaa-f0.025X-Xf0.125a-f0Y-Yf0.55-r+q-Xf0.075q-Yf0.7f0.075m-Xf2.54-Yf-1-Zf0aa-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175nni-*f0.275-Xf0.275*f0.275-Yf0.275i-*f-0.55-Xf0.55*f0-Yf0.55-*f0.275-Xf0.55*f-0.275-Yf0m-Xf3.12-Yf-1-Zf0m-Xf-0.05-Yf0-Zf0im--Xf0/*f0.1-Yf0f0.35Y_a-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175aa-f0.51X-Xf0.61a-f0Y-Yf0.35m-Xf3.8-Yf-1-Zf0iiaa-r+q-Xf0.4q-Yf0.25f0.25n-r+q-Xf0.4q-Yf0.25f0.15aa-f0X-Xf0.4a-f0Y-Yf0.25aa-f0X-Xf0.4a-f0.55Y-Yf0.65aa-f0.15X-Xf0.25a-f0.25Y-Yf1m-Xf4.3-Yf-1-Zf0aiaa-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175nni-*f0-Xf0.1*f0.65-Yf0.275i-*f-0.275-Xf0.75*f-0.15-Yf0.275-*f0.275-Xf0.6*f-0.5-Yf0aa-f0.05X-Xf0.55a-f0.225Y-Yf0.315-r+q-Xf0.275q-Yf0.275f0.275nm-Xf0-Yf0-Zf0m+*f6.12323e-17X*f-1ZY+*f1X*f6.12323e-17Zm-Xf-0-Yf0-Zf-0am__f1ni-*f-2-Xf0*f2-Yf0i-*f0-Xf2*f-4-Yf-2-*f2-Xf-2*f2-Yf-2a-f0Z-Zf13.3',float('0.000000'),float('-1.414214'),float('-1.414214'),float('4.850000'),float('1.414214'),float('1.414214'))", "name": "rotated", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 5589.1988719432802, 543.94395801519283 ], "name": "r4", "script": [ "import fab", "import math", "", "title('Rotate (X)')", "", "input('_x', float)", "input('y', float)", "input('z', float)", "input('a', float)", "", "input('shape', fab.types.Shape)", "output('rotated', fab.shapes.rotate_x(shape, a, y, z))", "", "# UI", "rad = math.radians(a)", "sb.ui.wireframe([(_x, y + math.cos(rad), z + math.sin(rad)),", " (_x, y, z),", " (_x, y + 1, z)], color=sb.color.teal)", "", "# Draw a semi-circular arc showing the rotation", "if int(a) % 360 != 0:", " sb.ui.wireframe([", " (_x, y + math.cos(math.radians(a_)) * 0.3,", " z + math.sin(math.radians(a_)) * 0.3)", " for a_ in range(int(a) % 360)], color=sb.color.teal)", "", "sb.ui.point(_x, y, z, color=sb.color.teal)", "", "def drag_pt(this, x, y, z):", " this.a = math.degrees(math.atan2(z - this.z, y - this.y))", "sb.ui.point(_x, y + math.cos(rad), z + math.sin(rad),", " color=sb.color.teal, drag=drag_pt, relative=False)", "", "" ], "uid": 93 }, { "datums": [ { "expr": "0.2", "name": "xmin", "type": "float", "uid": 0 }, { "expr": "4.75", "name": "xmax", "type": "float", "uid": 1 }, { "expr": "-0.3", "name": "y", "type": "float", "uid": 2 }, { "expr": "-0.3", "name": "z", "type": "float", "uid": 3 }, { "expr": "varWord.supportRadius", "name": "r", "type": "float", "uid": 4 }, { "expr": "\u0012fab.types.Shape('a-r+q-Yf-0.3q-Zf-0.3f0.05a-f0.2X-Xf4.75',float('0.200000'),float('-0.350000'),float('-0.350000'),float('4.750000'),float('-0.250000'),float('-0.250000'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 4695.4511065452307, 1051.2091912860587 ], "name": "c2", "script": [ "import fab", "import math", "", "title('Cylinder (X)')", "", "input('xmin', float)", "input('xmax', float)", "input('y', float)", "input('z', float)", "input('r', float)", "", "output('shape', fab.shapes.cylinder_x(xmin, xmax, y, z, r))", "", "# UI", "sb.ui.wireframe([(xmin, y, z), (xmax, y, z)])", "sb.ui.wireframe([(xmin, y, z), (xmin, y, z + r)])", "", "sb.ui.wireframe([", " (xmin, math.cos(i/36. * 2*math.pi) * r + y,", " math.sin(i/36. * 2*math.pi) * r + z)", " for i in range(36)], close=True)", "", "sb.ui.wireframe([", " (xmax, math.cos(i/36. * 2*math.pi) * r + y,", " math.sin(i/36. * 2*math.pi) * r + z)", " for i in range(36)], close=True)", "", "sb.ui.point(xmin, y, z)", "sb.ui.point(xmax, y, z)", "sb.ui.point(xmin, y, z + r, drag=(None, None, r))", "" ], "uid": 96 }, { "datums": [ { "expr": "5", "name": "xmin", "type": "float", "uid": 0 }, { "expr": "-1", "name": "ymin", "type": "float", "uid": 1 }, { "expr": "0.3", "name": "zmin", "type": "float", "uid": 2 }, { "expr": "4.9", "name": "xmax", "type": "float", "uid": 3 }, { "expr": "1", "name": "ymax", "type": "float", "uid": 4 }, { "expr": "1", "name": "zmax", "type": "float", "uid": 5 }, { "expr": "\u0012fab.types.Shape('am__f1aa-f5X-Xf4.9a-f-1Y-Yf1a-f0.3Z-Zf1',float('5.000000'),float('-1.000000'),float('0.300000'),float('4.900000'),float('1.000000'),float('1.000000'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 6 } ], "inspector": [ 5601.6526145969619, 767.73555577160039 ], "name": "c3", "script": [ "import fab", "", "title('Cube (corner)')", "", "input('xmin', float)", "input('ymin', float)", "input('zmin', float)", "input('xmax', float)", "input('ymax', float)", "input('zmax', float)", "", "output('shape', fab.shapes.cube(xmin, xmax, ymin, ymax, zmin, zmax))", "", "# UI", "sb.ui.wireframe([(xmin, ymin, zmin), (xmax, ymin, zmin),", " (xmax, ymax, zmin), (xmin, ymax, zmin)], close=True)", "sb.ui.wireframe([(xmin, ymin, zmax), (xmax, ymin, zmax),", " (xmax, ymax, zmax), (xmin, ymax, zmax)], close=True)", "sb.ui.wireframe([(xmin, ymin, zmin), (xmin, ymax, zmin),", " (xmin, ymax, zmax), (xmin, ymin, zmax)], close=True)", "sb.ui.wireframe([(xmax, ymin, zmin), (xmax, ymax, zmin),", " (xmax, ymax, zmax), (xmax, ymin, zmax)], close=True)", "sb.ui.point(xmin, ymin, zmin)", "sb.ui.point(xmax, ymax, zmax)", "" ], "uid": 98 }, { "datums": [ { "expr": "\u0011[__93.__5]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__98.__6]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('am-Xf0-Yf0-Zf0m_+*f-0.707107Y*f-0.707107Z+*f0.707107Y*f-0.707107Zm-Xf0-Yf-0-Zf-0am-Xf0-Yf0-Zf0im_r+qYqZ_m-Xf0-Yf-0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0iiiiiiiim-Xf0-Yf-1-Zf0iiaa-r+q-Xf0.4q-Yf0.75f0.25n-r+q-Xf0.4q-Yf0.75f0.15aa-f0X-Xf0.4a-f0.75Y-Yf1aa-f0X-Xf0.4a-f0.45Y-Yf0.55aa-f0.15X-Xf0.25a-f0Y-Yf0.75m-Xf0.5-Yf-1-Zf0m-Xf-0.05-Yf0-Zf0im--Xf0/*f0.1-Yf0f0.35Y_a-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175aa-f0.51X-Xf0.61a-f0Y-Yf0.35m-Xf1.18-Yf-1-Zf0iiaa-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175iaa-f0.25X-Xf1a-f0Y-Yf0.275aa-f0X-Xf1a-f0.275Y-Yf1aa-f0X-Xf0.1a-f0Y-Yf1aa-f0.1X-Xf0.25a-f0Y-Yf0.1m-Xf1.805-Yf-1-Zf0im/Xf0.7Y_aa-r+q-Xf0.55qYf0.55nm+f0.55/-Xf0.55f0.8Y_-r+q-Xf0.55qYf0.45aa-f0X-Xf0.55a-f0Y-Yf0.55aa-f0X-Xf0.1a-f0Y-Yf0.55m-Xf2.29-Yf-1-Zf0iaa-f0.025X-Xf0.125a-f0Y-Yf0.55-r+q-Xf0.075q-Yf0.7f0.075m-Xf2.54-Yf-1-Zf0aa-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175nni-*f0.275-Xf0.275*f0.275-Yf0.275i-*f-0.55-Xf0.55*f0-Yf0.55-*f0.275-Xf0.55*f-0.275-Yf0m-Xf3.12-Yf-1-Zf0m-Xf-0.05-Yf0-Zf0im--Xf0/*f0.1-Yf0f0.35Y_a-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175aa-f0.51X-Xf0.61a-f0Y-Yf0.35m-Xf3.8-Yf-1-Zf0iiaa-r+q-Xf0.4q-Yf0.25f0.25n-r+q-Xf0.4q-Yf0.25f0.15aa-f0X-Xf0.4a-f0Y-Yf0.25aa-f0X-Xf0.4a-f0.55Y-Yf0.65aa-f0.15X-Xf0.25a-f0.25Y-Yf1m-Xf4.3-Yf-1-Zf0aiaa-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175nni-*f0-Xf0.1*f0.65-Yf0.275i-*f-0.275-Xf0.75*f-0.15-Yf0.275-*f0.275-Xf0.6*f-0.5-Yf0aa-f0.05X-Xf0.55a-f0.225Y-Yf0.315-r+q-Xf0.275q-Yf0.275f0.275m_nr+qYqZ_m-Xf0-Yf-0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0iiiiiiiim-Xf0-Yf-1-Zf0iiaa-r+q-Xf0.4q-Yf0.75f0.25n-r+q-Xf0.4q-Yf0.75f0.15aa-f0X-Xf0.4a-f0.75Y-Yf1aa-f0X-Xf0.4a-f0.45Y-Yf0.55aa-f0.15X-Xf0.25a-f0Y-Yf0.75m-Xf0.5-Yf-1-Zf0m-Xf-0.05-Yf0-Zf0im--Xf0/*f0.1-Yf0f0.35Y_a-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175aa-f0.51X-Xf0.61a-f0Y-Yf0.35m-Xf1.18-Yf-1-Zf0iiaa-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175iaa-f0.25X-Xf1a-f0Y-Yf0.275aa-f0X-Xf1a-f0.275Y-Yf1aa-f0X-Xf0.1a-f0Y-Yf1aa-f0.1X-Xf0.25a-f0Y-Yf0.1m-Xf1.805-Yf-1-Zf0im/Xf0.7Y_aa-r+q-Xf0.55qYf0.55nm+f0.55/-Xf0.55f0.8Y_-r+q-Xf0.55qYf0.45aa-f0X-Xf0.55a-f0Y-Yf0.55aa-f0X-Xf0.1a-f0Y-Yf0.55m-Xf2.29-Yf-1-Zf0iaa-f0.025X-Xf0.125a-f0Y-Yf0.55-r+q-Xf0.075q-Yf0.7f0.075m-Xf2.54-Yf-1-Zf0aa-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175nni-*f0.275-Xf0.275*f0.275-Yf0.275i-*f-0.55-Xf0.55*f0-Yf0.55-*f0.275-Xf0.55*f-0.275-Yf0m-Xf3.12-Yf-1-Zf0m-Xf-0.05-Yf0-Zf0im--Xf0/*f0.1-Yf0f0.35Y_a-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175aa-f0.51X-Xf0.61a-f0Y-Yf0.35m-Xf3.8-Yf-1-Zf0iiaa-r+q-Xf0.4q-Yf0.25f0.25n-r+q-Xf0.4q-Yf0.25f0.15aa-f0X-Xf0.4a-f0Y-Yf0.25aa-f0X-Xf0.4a-f0.55Y-Yf0.65aa-f0.15X-Xf0.25a-f0.25Y-Yf1m-Xf4.3-Yf-1-Zf0aiaa-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175nni-*f0-Xf0.1*f0.65-Yf0.275i-*f-0.275-Xf0.75*f-0.15-Yf0.275-*f0.275-Xf0.6*f-0.5-Yf0aa-f0.05X-Xf0.55a-f0.225Y-Yf0.315-r+q-Xf0.275q-Yf0.275f0.275nm-Xf0-Yf0-Zf0m+*f6.12323e-17X*f-1ZY+*f1X*f6.12323e-17Zm-Xf-0-Yf0-Zf-0am__f1ni-*f-2-Xf0*f2-Yf0i-*f0-Xf2*f-4-Yf-2-*f2-Xf-2*f2-Yf-2a-f0Z-Zf13.3nam__f1aa-f5X-Xf4.9a-f-1Y-Yf1a-f0.3Z-Zf1',float('0.000000'),float('-1.414214'),float('-1.414214'),float('4.850000'),float('1.414214'),float('1.414214'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 5875.1542621421722, 695.45297749179406 ], "name": "d2", "script": [ "import fab.types", "", "title('Difference')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a & ~b)", "" ], "uid": 99 }, { "datums": [ { "expr": "\u0011[__96.__5]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__101.__2]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('aa-r+q-Yf-0.3q-Zf-0.3f0.05a-f0.2X-Xf4.75niiiiia-r+q-Yf-0.3q-Zf-0.3f0.05a-f0.65X-Xf1a-r+q-Yf-0.3q-Zf-0.3f0.05a-f1.3X-Xf1.6a-r+q-Yf-0.3q-Zf-0.3f0.05a-f1.85X-Xf2a-r+q-Yf-0.3q-Zf-0.3f0.05a-f2.65X-Xf2.939a-r+q-Yf-0.3q-Zf-0.3f0.05a-f3.27X-Xf3.6a-r+q-Yf-0.3q-Zf-0.3f0.05a-f4.4X-Xf5',float('0.200000'),float('-0.350000'),float('-0.350000'),float('4.750000'),float('-0.250000'),float('-0.250000'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 4994.9700973224963, 1169.6926395993605 ], "name": "d3", "script": [ "import fab.types", "", "title('Difference')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a & ~b)", "" ], "uid": 100 }, { "datums": [ { "expr": "\u0011[__102.__5]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__103.__5]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0011[__109.__5]", "name": "c", "type": "_fabtypes.Shape", "uid": 4 }, { "expr": "\u0011[__104.__5]", "name": "d", "type": "_fabtypes.Shape", "uid": 5 }, { "expr": "\u0011[__105.__5]", "name": "e", "type": "_fabtypes.Shape", "uid": 6 }, { "expr": "\u0011[__106.__5]", "name": "f", "type": "_fabtypes.Shape", "uid": 7 }, { "expr": "\u0012fab.types.Shape('iiiiia-r+q-Yf-0.3q-Zf-0.3f0.05a-f0.65X-Xf1a-r+q-Yf-0.3q-Zf-0.3f0.05a-f1.3X-Xf1.6a-r+q-Yf-0.3q-Zf-0.3f0.05a-f1.85X-Xf2a-r+q-Yf-0.3q-Zf-0.3f0.05a-f2.65X-Xf2.939a-r+q-Yf-0.3q-Zf-0.3f0.05a-f3.27X-Xf3.6a-r+q-Yf-0.3q-Zf-0.3f0.05a-f4.4X-Xf5',float('0.650000'),float('-0.350000'),float('-0.350000'),float('5.000000'),float('-0.250000'),float('-0.250000'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 4999.2489031039941, 1431.2579544740274 ], "name": "u1", "script": [ "import fab.types", "", "title('Union')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "input('c', fab.types.Shape)", "input('d', fab.types.Shape)", "input('e', fab.types.Shape)", "input('f', fab.types.Shape)", "", "output('shape', a | b | c | d | e | f)", "" ], "uid": 101 }, { "datums": [ { "expr": "0.65", "name": "xmin", "type": "float", "uid": 0 }, { "expr": "1", "name": "xmax", "type": "float", "uid": 1 }, { "expr": "-0.3", "name": "y", "type": "float", "uid": 2 }, { "expr": "-0.3", "name": "z", "type": "float", "uid": 3 }, { "expr": "varWord.supportRadius", "name": "r", "type": "float", "uid": 4 }, { "expr": "\u0012fab.types.Shape('a-r+q-Yf-0.3q-Zf-0.3f0.05a-f0.65X-Xf1',float('0.650000'),float('-0.350000'),float('-0.350000'),float('1.000000'),float('-0.250000'),float('-0.250000'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 4701.366532644769, 1299.7020527135746 ], "name": "c4", "script": [ "import fab", "import math", "", "title('Cylinder (X)')", "", "input('xmin', float)", "input('xmax', float)", "input('y', float)", "input('z', float)", "input('r', float)", "", "output('shape', fab.shapes.cylinder_x(xmin, xmax, y, z, r))", "", "# UI", "sb.ui.wireframe([(xmin, y, z), (xmax, y, z)])", "sb.ui.wireframe([(xmin, y, z), (xmin, y, z + r)])", "", "sb.ui.wireframe([", " (xmin, math.cos(i/36. * 2*math.pi) * r + y,", " math.sin(i/36. * 2*math.pi) * r + z)", " for i in range(36)], close=True)", "", "sb.ui.wireframe([", " (xmax, math.cos(i/36. * 2*math.pi) * r + y,", " math.sin(i/36. * 2*math.pi) * r + z)", " for i in range(36)], close=True)", "", "sb.ui.point(xmin, y, z)", "sb.ui.point(xmax, y, z)", "sb.ui.point(xmin, y, z + r, drag=(None, None, r))", "" ], "uid": 102 }, { "datums": [ { "expr": "1.3", "name": "xmin", "type": "float", "uid": 0 }, { "expr": "1.6", "name": "xmax", "type": "float", "uid": 1 }, { "expr": "-0.3", "name": "y", "type": "float", "uid": 2 }, { "expr": "-0.3", "name": "z", "type": "float", "uid": 3 }, { "expr": "varWord.supportRadius", "name": "r", "type": "float", "uid": 4 }, { "expr": "\u0012fab.types.Shape('a-r+q-Yf-0.3q-Zf-0.3f0.05a-f1.3X-Xf1.6',float('1.300000'),float('-0.350000'),float('-0.350000'),float('1.600000'),float('-0.250000'),float('-0.250000'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 4705.2967601651535, 1535.3985503293634 ], "name": "c5", "script": [ "import fab", "import math", "", "title('Cylinder (X)')", "", "input('xmin', float)", "input('xmax', float)", "input('y', float)", "input('z', float)", "input('r', float)", "", "output('shape', fab.shapes.cylinder_x(xmin, xmax, y, z, r))", "", "# UI", "sb.ui.wireframe([(xmin, y, z), (xmax, y, z)])", "sb.ui.wireframe([(xmin, y, z), (xmin, y, z + r)])", "", "sb.ui.wireframe([", " (xmin, math.cos(i/36. * 2*math.pi) * r + y,", " math.sin(i/36. * 2*math.pi) * r + z)", " for i in range(36)], close=True)", "", "sb.ui.wireframe([", " (xmax, math.cos(i/36. * 2*math.pi) * r + y,", " math.sin(i/36. * 2*math.pi) * r + z)", " for i in range(36)], close=True)", "", "sb.ui.point(xmin, y, z)", "sb.ui.point(xmax, y, z)", "sb.ui.point(xmin, y, z + r, drag=(None, None, r))", "" ], "uid": 103 }, { "datums": [ { "expr": "2.65", "name": "xmin", "type": "float", "uid": 0 }, { "expr": "2.939", "name": "xmax", "type": "float", "uid": 1 }, { "expr": "-0.3", "name": "y", "type": "float", "uid": 2 }, { "expr": "-0.3", "name": "z", "type": "float", "uid": 3 }, { "expr": "varWord.supportRadius", "name": "r", "type": "float", "uid": 4 }, { "expr": "\u0012fab.types.Shape('a-r+q-Yf-0.3q-Zf-0.3f0.05a-f2.65X-Xf2.939',float('2.650000'),float('-0.350000'),float('-0.350000'),float('2.939000'),float('-0.250000'),float('-0.250000'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 4702.6281050634107, 2009.5636750098611 ], "name": "c6", "script": [ "import fab", "import math", "", "title('Cylinder (X)')", "", "input('xmin', float)", "input('xmax', float)", "input('y', float)", "input('z', float)", "input('r', float)", "", "output('shape', fab.shapes.cylinder_x(xmin, xmax, y, z, r))", "", "# UI", "sb.ui.wireframe([(xmin, y, z), (xmax, y, z)])", "sb.ui.wireframe([(xmin, y, z), (xmin, y, z + r)])", "", "sb.ui.wireframe([", " (xmin, math.cos(i/36. * 2*math.pi) * r + y,", " math.sin(i/36. * 2*math.pi) * r + z)", " for i in range(36)], close=True)", "", "sb.ui.wireframe([", " (xmax, math.cos(i/36. * 2*math.pi) * r + y,", " math.sin(i/36. * 2*math.pi) * r + z)", " for i in range(36)], close=True)", "", "sb.ui.point(xmin, y, z)", "sb.ui.point(xmax, y, z)", "sb.ui.point(xmin, y, z + r, drag=(None, None, r))", "" ], "uid": 104 }, { "datums": [ { "expr": "3.27", "name": "xmin", "type": "float", "uid": 0 }, { "expr": "3.6", "name": "xmax", "type": "float", "uid": 1 }, { "expr": "-0.3", "name": "y", "type": "float", "uid": 2 }, { "expr": "-0.3", "name": "z", "type": "float", "uid": 3 }, { "expr": "varWord.supportRadius", "name": "r", "type": "float", "uid": 4 }, { "expr": "\u0012fab.types.Shape('a-r+q-Yf-0.3q-Zf-0.3f0.05a-f3.27X-Xf3.6',float('3.270000'),float('-0.350000'),float('-0.350000'),float('3.600000'),float('-0.250000'),float('-0.250000'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 4706.1636320689186, 2239.3729303679074 ], "name": "c7", "script": [ "import fab", "import math", "", "title('Cylinder (X)')", "", "input('xmin', float)", "input('xmax', float)", "input('y', float)", "input('z', float)", "input('r', float)", "", "output('shape', fab.shapes.cylinder_x(xmin, xmax, y, z, r))", "", "# UI", "sb.ui.wireframe([(xmin, y, z), (xmax, y, z)])", "sb.ui.wireframe([(xmin, y, z), (xmin, y, z + r)])", "", "sb.ui.wireframe([", " (xmin, math.cos(i/36. * 2*math.pi) * r + y,", " math.sin(i/36. * 2*math.pi) * r + z)", " for i in range(36)], close=True)", "", "sb.ui.wireframe([", " (xmax, math.cos(i/36. * 2*math.pi) * r + y,", " math.sin(i/36. * 2*math.pi) * r + z)", " for i in range(36)], close=True)", "", "sb.ui.point(xmin, y, z)", "sb.ui.point(xmax, y, z)", "sb.ui.point(xmin, y, z + r, drag=(None, None, r))", "" ], "uid": 105 }, { "datums": [ { "expr": "4.4", "name": "xmin", "type": "float", "uid": 0 }, { "expr": "5", "name": "xmax", "type": "float", "uid": 1 }, { "expr": "-0.3", "name": "y", "type": "float", "uid": 2 }, { "expr": "-0.3", "name": "z", "type": "float", "uid": 3 }, { "expr": "varWord.supportRadius", "name": "r", "type": "float", "uid": 4 }, { "expr": "\u0012fab.types.Shape('a-r+q-Yf-0.3q-Zf-0.3f0.05a-f4.4X-Xf5',float('4.400000'),float('-0.350000'),float('-0.350000'),float('5.000000'),float('-0.250000'),float('-0.250000'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 4706.1636320689204, 2470.9499492287109 ], "name": "c8", "script": [ "import fab", "import math", "", "title('Cylinder (X)')", "", "input('xmin', float)", "input('xmax', float)", "input('y', float)", "input('z', float)", "input('r', float)", "", "output('shape', fab.shapes.cylinder_x(xmin, xmax, y, z, r))", "", "# UI", "sb.ui.wireframe([(xmin, y, z), (xmax, y, z)])", "sb.ui.wireframe([(xmin, y, z), (xmin, y, z + r)])", "", "sb.ui.wireframe([", " (xmin, math.cos(i/36. * 2*math.pi) * r + y,", " math.sin(i/36. * 2*math.pi) * r + z)", " for i in range(36)], close=True)", "", "sb.ui.wireframe([", " (xmax, math.cos(i/36. * 2*math.pi) * r + y,", " math.sin(i/36. * 2*math.pi) * r + z)", " for i in range(36)], close=True)", "", "sb.ui.point(xmin, y, z)", "sb.ui.point(xmax, y, z)", "sb.ui.point(xmin, y, z + r, drag=(None, None, r))", "" ], "uid": 106 }, { "datums": [ { "expr": "\u0011[__100.__2]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "0", "name": "x0", "type": "float", "uid": 1 }, { "expr": "0", "name": "y0", "type": "float", "uid": 2 }, { "expr": "0", "name": "z0", "type": "float", "uid": 3 }, { "expr": "0", "name": "x1", "type": "float", "uid": 4 }, { "expr": "0", "name": "y1", "type": "float", "uid": 5 }, { "expr": "0.6", "name": "z1", "type": "float", "uid": 6 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf0-Zf0.6aa-r+q-Yf-0.3q-Zf-0.3f0.05a-f0.2X-Xf4.75niiiiia-r+q-Yf-0.3q-Zf-0.3f0.05a-f0.65X-Xf1a-r+q-Yf-0.3q-Zf-0.3f0.05a-f1.3X-Xf1.6a-r+q-Yf-0.3q-Zf-0.3f0.05a-f1.85X-Xf2a-r+q-Yf-0.3q-Zf-0.3f0.05a-f2.65X-Xf2.939a-r+q-Yf-0.3q-Zf-0.3f0.05a-f3.27X-Xf3.6a-r+q-Yf-0.3q-Zf-0.3f0.05a-f4.4X-Xf5',float('0.200000'),float('-0.350000'),float('0.250000'),float('4.750000'),float('-0.250000'),float('0.350000'))", "name": "out", "type": "_fabtypes.Shape", "uid": 7 } ], "inspector": [ 5292.8993004725735, 1160.9493498301767 ], "name": "s24", "script": [ "# Neil Gershenfeld 1/25/15", "# Matt Keeter 6/13/15", "", "import fab", "", "title('Set origin (XYZ)')", "", "input('a',fab.types.Shape)", "", "input('x0', float)", "input('y0', float)", "input('z0', float)", "input('x1', float)", "input('y1', float)", "input('z1', float)", "", "output('out', fab.shapes.origin_xyz(a, x0, y0, z0, x1, y1, z1))", "", "# UI", "sb.ui.wireframe([(x0, y0, z0), (x1, y1, z1)], color=sb.color.green)", "sb.ui.point(x0, y0, z0, color=sb.color.green)", "sb.ui.point(x1, y1, z1, color=sb.color.green)", "", "" ], "uid": 107 }, { "datums": [ { "expr": "\u0011[__100.__2]", "name": "shape", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0012fab.types.Shape('aa-r+q-Yf-0.3q-Zf-0.3f0.05a-f0.2X-Xf4.75niiiiia-r+q-Yf-0.3q-Zf-0.3f0.05a-f0.65X-Xf1a-r+q-Yf-0.3q-Zf-0.3f0.05a-f1.3X-Xf1.6a-r+q-Yf-0.3q-Zf-0.3f0.05a-f1.85X-Xf2a-r+q-Yf-0.3q-Zf-0.3f0.05a-f2.65X-Xf2.939a-r+q-Yf-0.3q-Zf-0.3f0.05a-f3.27X-Xf3.6a-r+q-Yf-0.3q-Zf-0.3f0.05a-f4.4X-Xf5',float('0.200000'),float('-0.350000'),float('-0.350000'),float('4.750000'),float('-0.250000'),float('-0.250000'))", "name": "copy", "type": "_fabtypes.Shape", "uid": 1 } ], "inspector": [ 5287.5308997966995, 1055.4157893030138 ], "name": "c9", "script": [ "# Neil Gershenfeld 2/14/15", "# Matt Keeter 6/12/15", "", "import fab", "", "title('Copy')", "", "input('shape', fab.types.Shape)", "output('copy', shape)", "", "" ], "uid": 108 }, { "datums": [ { "expr": "1.85", "name": "xmin", "type": "float", "uid": 0 }, { "expr": "2", "name": "xmax", "type": "float", "uid": 1 }, { "expr": "-0.3", "name": "y", "type": "float", "uid": 2 }, { "expr": "-0.3", "name": "z", "type": "float", "uid": 3 }, { "expr": "varWord.supportRadius", "name": "r", "type": "float", "uid": 4 }, { "expr": "\u0012fab.types.Shape('a-r+q-Yf-0.3q-Zf-0.3f0.05a-f1.85X-Xf2',float('1.850000'),float('-0.350000'),float('-0.350000'),float('2.000000'),float('-0.250000'),float('-0.250000'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 4706.8833486814519, 1774.4540693796562 ], "name": "c10", "script": [ "import fab", "import math", "", "title('Cylinder (X)')", "", "input('xmin', float)", "input('xmax', float)", "input('y', float)", "input('z', float)", "input('r', float)", "", "output('shape', fab.shapes.cylinder_x(xmin, xmax, y, z, r))", "", "# UI", "sb.ui.wireframe([(xmin, y, z), (xmax, y, z)])", "sb.ui.wireframe([(xmin, y, z), (xmin, y, z + r)])", "", "sb.ui.wireframe([", " (xmin, math.cos(i/36. * 2*math.pi) * r + y,", " math.sin(i/36. * 2*math.pi) * r + z)", " for i in range(36)], close=True)", "", "sb.ui.wireframe([", " (xmax, math.cos(i/36. * 2*math.pi) * r + y,", " math.sin(i/36. * 2*math.pi) * r + z)", " for i in range(36)], close=True)", "", "sb.ui.point(xmin, y, z)", "sb.ui.point(xmax, y, z)", "sb.ui.point(xmin, y, z + r, drag=(None, None, r))", "" ], "uid": 109 }, { "datums": [ { "expr": "\u0011[__108.__1]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__107.__7]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0011[__113.__5]", "name": "c", "type": "_fabtypes.Shape", "uid": 4 }, { "expr": "\u0011[__114.__5]", "name": "d", "type": "_fabtypes.Shape", "uid": 5 }, { "expr": "\u0012fab.types.Shape('iiiaa-r+q-Yf-0.3q-Zf-0.3f0.05a-f0.2X-Xf4.75niiiiia-r+q-Yf-0.3q-Zf-0.3f0.05a-f0.65X-Xf1a-r+q-Yf-0.3q-Zf-0.3f0.05a-f1.3X-Xf1.6a-r+q-Yf-0.3q-Zf-0.3f0.05a-f1.85X-Xf2a-r+q-Yf-0.3q-Zf-0.3f0.05a-f2.65X-Xf2.939a-r+q-Yf-0.3q-Zf-0.3f0.05a-f3.27X-Xf3.6a-r+q-Yf-0.3q-Zf-0.3f0.05a-f4.4X-Xf5m-Xf0-Yf0-Zf0.6aa-r+q-Yf-0.3q-Zf-0.3f0.05a-f0.2X-Xf4.75niiiiia-r+q-Yf-0.3q-Zf-0.3f0.05a-f0.65X-Xf1a-r+q-Yf-0.3q-Zf-0.3f0.05a-f1.3X-Xf1.6a-r+q-Yf-0.3q-Zf-0.3f0.05a-f1.85X-Xf2a-r+q-Yf-0.3q-Zf-0.3f0.05a-f2.65X-Xf2.939a-r+q-Yf-0.3q-Zf-0.3f0.05a-f3.27X-Xf3.6a-r+q-Yf-0.3q-Zf-0.3f0.05a-f4.4X-Xf5a-r+q-Xf2.365q-Zf-0.3f0.045a-f-0.6Y-Yf0a-r+q-Xf2.365q-Zf0.3f0.045a-f-0.6Y-Yf0',float('0.200000'),float('-0.600000'),float('-0.350000'),float('4.750000'),float('0.000000'),float('0.350000'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 5597.3875655773409, 1176.0496011379555 ], "name": "u2", "script": [ "import fab.types", "", "title('Union')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "input('c', fab.types.Shape)", "input('d', fab.types.Shape)", "", "output('shape', a | b | c | d)", "" ], "uid": 110 }, { "datums": [ { "expr": "\u0011[__99.__2]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__110.__2]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('iam-Xf0-Yf0-Zf0m_+*f-0.707107Y*f-0.707107Z+*f0.707107Y*f-0.707107Zm-Xf0-Yf-0-Zf-0am-Xf0-Yf0-Zf0im_r+qYqZ_m-Xf0-Yf-0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0iiiiiiiim-Xf0-Yf-1-Zf0iiaa-r+q-Xf0.4q-Yf0.75f0.25n-r+q-Xf0.4q-Yf0.75f0.15aa-f0X-Xf0.4a-f0.75Y-Yf1aa-f0X-Xf0.4a-f0.45Y-Yf0.55aa-f0.15X-Xf0.25a-f0Y-Yf0.75m-Xf0.5-Yf-1-Zf0m-Xf-0.05-Yf0-Zf0im--Xf0/*f0.1-Yf0f0.35Y_a-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175aa-f0.51X-Xf0.61a-f0Y-Yf0.35m-Xf1.18-Yf-1-Zf0iiaa-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175iaa-f0.25X-Xf1a-f0Y-Yf0.275aa-f0X-Xf1a-f0.275Y-Yf1aa-f0X-Xf0.1a-f0Y-Yf1aa-f0.1X-Xf0.25a-f0Y-Yf0.1m-Xf1.805-Yf-1-Zf0im/Xf0.7Y_aa-r+q-Xf0.55qYf0.55nm+f0.55/-Xf0.55f0.8Y_-r+q-Xf0.55qYf0.45aa-f0X-Xf0.55a-f0Y-Yf0.55aa-f0X-Xf0.1a-f0Y-Yf0.55m-Xf2.29-Yf-1-Zf0iaa-f0.025X-Xf0.125a-f0Y-Yf0.55-r+q-Xf0.075q-Yf0.7f0.075m-Xf2.54-Yf-1-Zf0aa-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175nni-*f0.275-Xf0.275*f0.275-Yf0.275i-*f-0.55-Xf0.55*f0-Yf0.55-*f0.275-Xf0.55*f-0.275-Yf0m-Xf3.12-Yf-1-Zf0m-Xf-0.05-Yf0-Zf0im--Xf0/*f0.1-Yf0f0.35Y_a-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175aa-f0.51X-Xf0.61a-f0Y-Yf0.35m-Xf3.8-Yf-1-Zf0iiaa-r+q-Xf0.4q-Yf0.25f0.25n-r+q-Xf0.4q-Yf0.25f0.15aa-f0X-Xf0.4a-f0Y-Yf0.25aa-f0X-Xf0.4a-f0.55Y-Yf0.65aa-f0.15X-Xf0.25a-f0.25Y-Yf1m-Xf4.3-Yf-1-Zf0aiaa-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175nni-*f0-Xf0.1*f0.65-Yf0.275i-*f-0.275-Xf0.75*f-0.15-Yf0.275-*f0.275-Xf0.6*f-0.5-Yf0aa-f0.05X-Xf0.55a-f0.225Y-Yf0.315-r+q-Xf0.275q-Yf0.275f0.275m_nr+qYqZ_m-Xf0-Yf-0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0iiiiiiiim-Xf0-Yf-1-Zf0iiaa-r+q-Xf0.4q-Yf0.75f0.25n-r+q-Xf0.4q-Yf0.75f0.15aa-f0X-Xf0.4a-f0.75Y-Yf1aa-f0X-Xf0.4a-f0.45Y-Yf0.55aa-f0.15X-Xf0.25a-f0Y-Yf0.75m-Xf0.5-Yf-1-Zf0m-Xf-0.05-Yf0-Zf0im--Xf0/*f0.1-Yf0f0.35Y_a-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175aa-f0.51X-Xf0.61a-f0Y-Yf0.35m-Xf1.18-Yf-1-Zf0iiaa-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175iaa-f0.25X-Xf1a-f0Y-Yf0.275aa-f0X-Xf1a-f0.275Y-Yf1aa-f0X-Xf0.1a-f0Y-Yf1aa-f0.1X-Xf0.25a-f0Y-Yf0.1m-Xf1.805-Yf-1-Zf0im/Xf0.7Y_aa-r+q-Xf0.55qYf0.55nm+f0.55/-Xf0.55f0.8Y_-r+q-Xf0.55qYf0.45aa-f0X-Xf0.55a-f0Y-Yf0.55aa-f0X-Xf0.1a-f0Y-Yf0.55m-Xf2.29-Yf-1-Zf0iaa-f0.025X-Xf0.125a-f0Y-Yf0.55-r+q-Xf0.075q-Yf0.7f0.075m-Xf2.54-Yf-1-Zf0aa-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175nni-*f0.275-Xf0.275*f0.275-Yf0.275i-*f-0.55-Xf0.55*f0-Yf0.55-*f0.275-Xf0.55*f-0.275-Yf0m-Xf3.12-Yf-1-Zf0m-Xf-0.05-Yf0-Zf0im--Xf0/*f0.1-Yf0f0.35Y_a-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175aa-f0.51X-Xf0.61a-f0Y-Yf0.35m-Xf3.8-Yf-1-Zf0iiaa-r+q-Xf0.4q-Yf0.25f0.25n-r+q-Xf0.4q-Yf0.25f0.15aa-f0X-Xf0.4a-f0Y-Yf0.25aa-f0X-Xf0.4a-f0.55Y-Yf0.65aa-f0.15X-Xf0.25a-f0.25Y-Yf1m-Xf4.3-Yf-1-Zf0aiaa-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175nni-*f0-Xf0.1*f0.65-Yf0.275i-*f-0.275-Xf0.75*f-0.15-Yf0.275-*f0.275-Xf0.6*f-0.5-Yf0aa-f0.05X-Xf0.55a-f0.225Y-Yf0.315-r+q-Xf0.275q-Yf0.275f0.275nm-Xf0-Yf0-Zf0m+*f6.12323e-17X*f-1ZY+*f1X*f6.12323e-17Zm-Xf-0-Yf0-Zf-0am__f1ni-*f-2-Xf0*f2-Yf0i-*f0-Xf2*f-4-Yf-2-*f2-Xf-2*f2-Yf-2a-f0Z-Zf13.3nam__f1aa-f5X-Xf4.9a-f-1Y-Yf1a-f0.3Z-Zf1iiiaa-r+q-Yf-0.3q-Zf-0.3f0.05a-f0.2X-Xf4.75niiiiia-r+q-Yf-0.3q-Zf-0.3f0.05a-f0.65X-Xf1a-r+q-Yf-0.3q-Zf-0.3f0.05a-f1.3X-Xf1.6a-r+q-Yf-0.3q-Zf-0.3f0.05a-f1.85X-Xf2a-r+q-Yf-0.3q-Zf-0.3f0.05a-f2.65X-Xf2.939a-r+q-Yf-0.3q-Zf-0.3f0.05a-f3.27X-Xf3.6a-r+q-Yf-0.3q-Zf-0.3f0.05a-f4.4X-Xf5m-Xf0-Yf0-Zf0.6aa-r+q-Yf-0.3q-Zf-0.3f0.05a-f0.2X-Xf4.75niiiiia-r+q-Yf-0.3q-Zf-0.3f0.05a-f0.65X-Xf1a-r+q-Yf-0.3q-Zf-0.3f0.05a-f1.3X-Xf1.6a-r+q-Yf-0.3q-Zf-0.3f0.05a-f1.85X-Xf2a-r+q-Yf-0.3q-Zf-0.3f0.05a-f2.65X-Xf2.939a-r+q-Yf-0.3q-Zf-0.3f0.05a-f3.27X-Xf3.6a-r+q-Yf-0.3q-Zf-0.3f0.05a-f4.4X-Xf5a-r+q-Xf2.365q-Zf-0.3f0.045a-f-0.6Y-Yf0a-r+q-Xf2.365q-Zf0.3f0.045a-f-0.6Y-Yf0',float('0.000000'),float('-1.414214'),float('-1.414214'),float('4.850000'),float('1.414214'),float('1.414214'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 5877.1150191377383, 1020.6874036123787 ], "name": "u3", "script": [ "import fab.types", "", "title('Union')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a | b)", "" ], "uid": 111 }, { "datums": [ { "expr": "\u0011[__115.__5]", "name": "shape", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0012fab.types.Shape('m-Xf12-Yf14-Zf0iam-Xf0-Yf0-Zf0m_+*f-0.707107Y*f-0.707107Z+*f0.707107Y*f-0.707107Zm-Xf0-Yf-0-Zf-0am-Xf0-Yf0-Zf0im_r+qYqZ_m-Xf0-Yf-0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0iiiiiiiim-Xf0-Yf-1-Zf0iiaa-r+q-Xf0.4q-Yf0.75f0.25n-r+q-Xf0.4q-Yf0.75f0.15aa-f0X-Xf0.4a-f0.75Y-Yf1aa-f0X-Xf0.4a-f0.45Y-Yf0.55aa-f0.15X-Xf0.25a-f0Y-Yf0.75m-Xf0.5-Yf-1-Zf0m-Xf-0.05-Yf0-Zf0im--Xf0/*f0.1-Yf0f0.35Y_a-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175aa-f0.51X-Xf0.61a-f0Y-Yf0.35m-Xf1.18-Yf-1-Zf0iiaa-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175iaa-f0.25X-Xf1a-f0Y-Yf0.275aa-f0X-Xf1a-f0.275Y-Yf1aa-f0X-Xf0.1a-f0Y-Yf1aa-f0.1X-Xf0.25a-f0Y-Yf0.1m-Xf1.805-Yf-1-Zf0im/Xf0.7Y_aa-r+q-Xf0.55qYf0.55nm+f0.55/-Xf0.55f0.8Y_-r+q-Xf0.55qYf0.45aa-f0X-Xf0.55a-f0Y-Yf0.55aa-f0X-Xf0.1a-f0Y-Yf0.55m-Xf2.29-Yf-1-Zf0iaa-f0.025X-Xf0.125a-f0Y-Yf0.55-r+q-Xf0.075q-Yf0.7f0.075m-Xf2.54-Yf-1-Zf0aa-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175nni-*f0.275-Xf0.275*f0.275-Yf0.275i-*f-0.55-Xf0.55*f0-Yf0.55-*f0.275-Xf0.55*f-0.275-Yf0m-Xf3.12-Yf-1-Zf0m-Xf-0.05-Yf0-Zf0im--Xf0/*f0.1-Yf0f0.35Y_a-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175aa-f0.51X-Xf0.61a-f0Y-Yf0.35m-Xf3.8-Yf-1-Zf0iiaa-r+q-Xf0.4q-Yf0.25f0.25n-r+q-Xf0.4q-Yf0.25f0.15aa-f0X-Xf0.4a-f0Y-Yf0.25aa-f0X-Xf0.4a-f0.55Y-Yf0.65aa-f0.15X-Xf0.25a-f0.25Y-Yf1m-Xf4.3-Yf-1-Zf0aiaa-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175nni-*f0-Xf0.1*f0.65-Yf0.275i-*f-0.275-Xf0.75*f-0.15-Yf0.275-*f0.275-Xf0.6*f-0.5-Yf0aa-f0.05X-Xf0.55a-f0.225Y-Yf0.315-r+q-Xf0.275q-Yf0.275f0.275m_nr+qYqZ_m-Xf0-Yf-0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0iiiiiiiim-Xf0-Yf-1-Zf0iiaa-r+q-Xf0.4q-Yf0.75f0.25n-r+q-Xf0.4q-Yf0.75f0.15aa-f0X-Xf0.4a-f0.75Y-Yf1aa-f0X-Xf0.4a-f0.45Y-Yf0.55aa-f0.15X-Xf0.25a-f0Y-Yf0.75m-Xf0.5-Yf-1-Zf0m-Xf-0.05-Yf0-Zf0im--Xf0/*f0.1-Yf0f0.35Y_a-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175aa-f0.51X-Xf0.61a-f0Y-Yf0.35m-Xf1.18-Yf-1-Zf0iiaa-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175iaa-f0.25X-Xf1a-f0Y-Yf0.275aa-f0X-Xf1a-f0.275Y-Yf1aa-f0X-Xf0.1a-f0Y-Yf1aa-f0.1X-Xf0.25a-f0Y-Yf0.1m-Xf1.805-Yf-1-Zf0im/Xf0.7Y_aa-r+q-Xf0.55qYf0.55nm+f0.55/-Xf0.55f0.8Y_-r+q-Xf0.55qYf0.45aa-f0X-Xf0.55a-f0Y-Yf0.55aa-f0X-Xf0.1a-f0Y-Yf0.55m-Xf2.29-Yf-1-Zf0iaa-f0.025X-Xf0.125a-f0Y-Yf0.55-r+q-Xf0.075q-Yf0.7f0.075m-Xf2.54-Yf-1-Zf0aa-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175nni-*f0.275-Xf0.275*f0.275-Yf0.275i-*f-0.55-Xf0.55*f0-Yf0.55-*f0.275-Xf0.55*f-0.275-Yf0m-Xf3.12-Yf-1-Zf0m-Xf-0.05-Yf0-Zf0im--Xf0/*f0.1-Yf0f0.35Y_a-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175aa-f0.51X-Xf0.61a-f0Y-Yf0.35m-Xf3.8-Yf-1-Zf0iiaa-r+q-Xf0.4q-Yf0.25f0.25n-r+q-Xf0.4q-Yf0.25f0.15aa-f0X-Xf0.4a-f0Y-Yf0.25aa-f0X-Xf0.4a-f0.55Y-Yf0.65aa-f0.15X-Xf0.25a-f0.25Y-Yf1m-Xf4.3-Yf-1-Zf0aiaa-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175nni-*f0-Xf0.1*f0.65-Yf0.275i-*f-0.275-Xf0.75*f-0.15-Yf0.275-*f0.275-Xf0.6*f-0.5-Yf0aa-f0.05X-Xf0.55a-f0.225Y-Yf0.315-r+q-Xf0.275q-Yf0.275f0.275nm-Xf0-Yf0-Zf0m+*f6.12323e-17X*f-1ZY+*f1X*f6.12323e-17Zm-Xf-0-Yf0-Zf-0am__f1ni-*f-2-Xf0*f2-Yf0i-*f0-Xf2*f-4-Yf-2-*f2-Xf-2*f2-Yf-2a-f0Z-Zf13.3nam__f1aa-f5X-Xf4.9a-f-1Y-Yf1a-f0.3Z-Zf1iiiaa-r+q-Yf-0.3q-Zf-0.3f0.05a-f0.2X-Xf4.75niiiiia-r+q-Yf-0.3q-Zf-0.3f0.05a-f0.65X-Xf1a-r+q-Yf-0.3q-Zf-0.3f0.05a-f1.3X-Xf1.6a-r+q-Yf-0.3q-Zf-0.3f0.05a-f1.85X-Xf2a-r+q-Yf-0.3q-Zf-0.3f0.05a-f2.65X-Xf2.939a-r+q-Yf-0.3q-Zf-0.3f0.05a-f3.27X-Xf3.6a-r+q-Yf-0.3q-Zf-0.3f0.05a-f4.4X-Xf5m-Xf0-Yf0-Zf0.6aa-r+q-Yf-0.3q-Zf-0.3f0.05a-f0.2X-Xf4.75niiiiia-r+q-Yf-0.3q-Zf-0.3f0.05a-f0.65X-Xf1a-r+q-Yf-0.3q-Zf-0.3f0.05a-f1.3X-Xf1.6a-r+q-Yf-0.3q-Zf-0.3f0.05a-f1.85X-Xf2a-r+q-Yf-0.3q-Zf-0.3f0.05a-f2.65X-Xf2.939a-r+q-Yf-0.3q-Zf-0.3f0.05a-f3.27X-Xf3.6a-r+q-Yf-0.3q-Zf-0.3f0.05a-f4.4X-Xf5a-r+q-Xf2.365q-Zf-0.3f0.045a-f-0.6Y-Yf0a-r+q-Xf2.365q-Zf0.3f0.045a-f-0.6Y-Yf0',float('12.000000'),float('12.585786'),float('-1.414214'),float('16.850000'),float('15.414214'),float('1.414214'))", "name": "out", "type": "_fabtypes.Shape", "uid": 1 } ], "inspector": [ 6178.4657938131786, 1237.1072391846164 ], "name": "m0", "script": [ "import fab", "", "title('Mesh (.stl)')", "", "input('shape', fab.types.Shape)", "output('out', shape)", "", "sb.export.stl(shape)", "" ], "uid": 112 }, { "datums": [ { "expr": "varWord.offsetI", "name": "x", "type": "float", "uid": 0 }, { "expr": "-0.6", "name": "ymin", "type": "float", "uid": 1 }, { "expr": "0", "name": "ymax", "type": "float", "uid": 2 }, { "expr": "-0.3", "name": "z", "type": "float", "uid": 3 }, { "expr": "varWord.supportRadius - 0.005", "name": "r", "type": "float", "uid": 4 }, { "expr": "\u0012fab.types.Shape('a-r+q-Xf2.365q-Zf-0.3f0.045a-f-0.6Y-Yf0',float('2.320000'),float('-0.600000'),float('-0.345000'),float('2.410000'),float('0.000000'),float('-0.255000'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 5292.9785564059684, 1438.5422402659924 ], "name": "c11", "script": [ "import fab", "import math", "", "title('Cylinder (Y)')", "", "input('x', float)", "input('ymin', float)", "input('ymax', float)", "input('z', float)", "input('r', float)", "", "output('shape', fab.shapes.cylinder_y(x, ymin, ymax, z, r))", "", "# UI", "sb.ui.wireframe([(x, ymin, z), (x, ymax, z)])", "sb.ui.wireframe([(x, ymin, z), (x+r, ymin, z)])", "", "sb.ui.wireframe([", " (math.cos(i/36. * 2*math.pi) * r + x, ymin,", " math.sin(i/36. * 2*math.pi) * r + z)", " for i in range(36)], close=True)", "", "sb.ui.wireframe([", " (math.cos(i/36. * 2*math.pi) * r + x, ymax,", " math.sin(i/36. * 2*math.pi) * r + z)", " for i in range(36)], close=True)", "", "sb.ui.point(x, ymin, z)", "sb.ui.point(x, ymax, z)", "sb.ui.point(x+r, ymin, z, drag=(r, None, None))", "" ], "uid": 113 }, { "datums": [ { "expr": "varWord.offsetI", "name": "x", "type": "float", "uid": 0 }, { "expr": "-0.6", "name": "ymin", "type": "float", "uid": 1 }, { "expr": "0", "name": "ymax", "type": "float", "uid": 2 }, { "expr": "0.3", "name": "z", "type": "float", "uid": 3 }, { "expr": "varWord.supportRadius - 0.005", "name": "r", "type": "float", "uid": 4 }, { "expr": "\u0012fab.types.Shape('a-r+q-Xf2.365q-Zf0.3f0.045a-f-0.6Y-Yf0',float('2.320000'),float('-0.600000'),float('0.255000'),float('2.410000'),float('0.000000'),float('0.345000'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 5292.5378704771638, 1681.2203838221394 ], "name": "c12", "script": [ "import fab", "import math", "", "title('Cylinder (Y)')", "", "input('x', float)", "input('ymin', float)", "input('ymax', float)", "input('z', float)", "input('r', float)", "", "output('shape', fab.shapes.cylinder_y(x, ymin, ymax, z, r))", "", "# UI", "sb.ui.wireframe([(x, ymin, z), (x, ymax, z)])", "sb.ui.wireframe([(x, ymin, z), (x+r, ymin, z)])", "", "sb.ui.wireframe([", " (math.cos(i/36. * 2*math.pi) * r + x, ymin,", " math.sin(i/36. * 2*math.pi) * r + z)", " for i in range(36)], close=True)", "", "sb.ui.wireframe([", " (math.cos(i/36. * 2*math.pi) * r + x, ymax,", " math.sin(i/36. * 2*math.pi) * r + z)", " for i in range(36)], close=True)", "", "sb.ui.point(x, ymin, z)", "sb.ui.point(x, ymax, z)", "sb.ui.point(x+r, ymin, z, drag=(r, None, None))", "" ], "uid": 114 }, { "datums": [ { "expr": "\u0011[__111.__2]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "0", "name": "x0", "type": "float", "uid": 1 }, { "expr": "0", "name": "y0", "type": "float", "uid": 2 }, { "expr": "var.dx * 4", "name": "x1", "type": "float", "uid": 3 }, { "expr": "var.dy * 4", "name": "y1", "type": "float", "uid": 4 }, { "expr": "\u0012fab.types.Shape('m-Xf12-Yf14-Zf0iam-Xf0-Yf0-Zf0m_+*f-0.707107Y*f-0.707107Z+*f0.707107Y*f-0.707107Zm-Xf0-Yf-0-Zf-0am-Xf0-Yf0-Zf0im_r+qYqZ_m-Xf0-Yf-0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0iiiiiiiim-Xf0-Yf-1-Zf0iiaa-r+q-Xf0.4q-Yf0.75f0.25n-r+q-Xf0.4q-Yf0.75f0.15aa-f0X-Xf0.4a-f0.75Y-Yf1aa-f0X-Xf0.4a-f0.45Y-Yf0.55aa-f0.15X-Xf0.25a-f0Y-Yf0.75m-Xf0.5-Yf-1-Zf0m-Xf-0.05-Yf0-Zf0im--Xf0/*f0.1-Yf0f0.35Y_a-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175aa-f0.51X-Xf0.61a-f0Y-Yf0.35m-Xf1.18-Yf-1-Zf0iiaa-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175iaa-f0.25X-Xf1a-f0Y-Yf0.275aa-f0X-Xf1a-f0.275Y-Yf1aa-f0X-Xf0.1a-f0Y-Yf1aa-f0.1X-Xf0.25a-f0Y-Yf0.1m-Xf1.805-Yf-1-Zf0im/Xf0.7Y_aa-r+q-Xf0.55qYf0.55nm+f0.55/-Xf0.55f0.8Y_-r+q-Xf0.55qYf0.45aa-f0X-Xf0.55a-f0Y-Yf0.55aa-f0X-Xf0.1a-f0Y-Yf0.55m-Xf2.29-Yf-1-Zf0iaa-f0.025X-Xf0.125a-f0Y-Yf0.55-r+q-Xf0.075q-Yf0.7f0.075m-Xf2.54-Yf-1-Zf0aa-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175nni-*f0.275-Xf0.275*f0.275-Yf0.275i-*f-0.55-Xf0.55*f0-Yf0.55-*f0.275-Xf0.55*f-0.275-Yf0m-Xf3.12-Yf-1-Zf0m-Xf-0.05-Yf0-Zf0im--Xf0/*f0.1-Yf0f0.35Y_a-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175aa-f0.51X-Xf0.61a-f0Y-Yf0.35m-Xf3.8-Yf-1-Zf0iiaa-r+q-Xf0.4q-Yf0.25f0.25n-r+q-Xf0.4q-Yf0.25f0.15aa-f0X-Xf0.4a-f0Y-Yf0.25aa-f0X-Xf0.4a-f0.55Y-Yf0.65aa-f0.15X-Xf0.25a-f0.25Y-Yf1m-Xf4.3-Yf-1-Zf0aiaa-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175nni-*f0-Xf0.1*f0.65-Yf0.275i-*f-0.275-Xf0.75*f-0.15-Yf0.275-*f0.275-Xf0.6*f-0.5-Yf0aa-f0.05X-Xf0.55a-f0.225Y-Yf0.315-r+q-Xf0.275q-Yf0.275f0.275m_nr+qYqZ_m-Xf0-Yf-0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0iiiiiiiim-Xf0-Yf-1-Zf0iiaa-r+q-Xf0.4q-Yf0.75f0.25n-r+q-Xf0.4q-Yf0.75f0.15aa-f0X-Xf0.4a-f0.75Y-Yf1aa-f0X-Xf0.4a-f0.45Y-Yf0.55aa-f0.15X-Xf0.25a-f0Y-Yf0.75m-Xf0.5-Yf-1-Zf0m-Xf-0.05-Yf0-Zf0im--Xf0/*f0.1-Yf0f0.35Y_a-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175aa-f0.51X-Xf0.61a-f0Y-Yf0.35m-Xf1.18-Yf-1-Zf0iiaa-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175iaa-f0.25X-Xf1a-f0Y-Yf0.275aa-f0X-Xf1a-f0.275Y-Yf1aa-f0X-Xf0.1a-f0Y-Yf1aa-f0.1X-Xf0.25a-f0Y-Yf0.1m-Xf1.805-Yf-1-Zf0im/Xf0.7Y_aa-r+q-Xf0.55qYf0.55nm+f0.55/-Xf0.55f0.8Y_-r+q-Xf0.55qYf0.45aa-f0X-Xf0.55a-f0Y-Yf0.55aa-f0X-Xf0.1a-f0Y-Yf0.55m-Xf2.29-Yf-1-Zf0iaa-f0.025X-Xf0.125a-f0Y-Yf0.55-r+q-Xf0.075q-Yf0.7f0.075m-Xf2.54-Yf-1-Zf0aa-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175nni-*f0.275-Xf0.275*f0.275-Yf0.275i-*f-0.55-Xf0.55*f0-Yf0.55-*f0.275-Xf0.55*f-0.275-Yf0m-Xf3.12-Yf-1-Zf0m-Xf-0.05-Yf0-Zf0im--Xf0/*f0.1-Yf0f0.35Y_a-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175aa-f0.51X-Xf0.61a-f0Y-Yf0.35m-Xf3.8-Yf-1-Zf0iiaa-r+q-Xf0.4q-Yf0.25f0.25n-r+q-Xf0.4q-Yf0.25f0.15aa-f0X-Xf0.4a-f0Y-Yf0.25aa-f0X-Xf0.4a-f0.55Y-Yf0.65aa-f0.15X-Xf0.25a-f0.25Y-Yf1m-Xf4.3-Yf-1-Zf0aiaa-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175nni-*f0-Xf0.1*f0.65-Yf0.275i-*f-0.275-Xf0.75*f-0.15-Yf0.275-*f0.275-Xf0.6*f-0.5-Yf0aa-f0.05X-Xf0.55a-f0.225Y-Yf0.315-r+q-Xf0.275q-Yf0.275f0.275nm-Xf0-Yf0-Zf0m+*f6.12323e-17X*f-1ZY+*f1X*f6.12323e-17Zm-Xf-0-Yf0-Zf-0am__f1ni-*f-2-Xf0*f2-Yf0i-*f0-Xf2*f-4-Yf-2-*f2-Xf-2*f2-Yf-2a-f0Z-Zf13.3nam__f1aa-f5X-Xf4.9a-f-1Y-Yf1a-f0.3Z-Zf1iiiaa-r+q-Yf-0.3q-Zf-0.3f0.05a-f0.2X-Xf4.75niiiiia-r+q-Yf-0.3q-Zf-0.3f0.05a-f0.65X-Xf1a-r+q-Yf-0.3q-Zf-0.3f0.05a-f1.3X-Xf1.6a-r+q-Yf-0.3q-Zf-0.3f0.05a-f1.85X-Xf2a-r+q-Yf-0.3q-Zf-0.3f0.05a-f2.65X-Xf2.939a-r+q-Yf-0.3q-Zf-0.3f0.05a-f3.27X-Xf3.6a-r+q-Yf-0.3q-Zf-0.3f0.05a-f4.4X-Xf5m-Xf0-Yf0-Zf0.6aa-r+q-Yf-0.3q-Zf-0.3f0.05a-f0.2X-Xf4.75niiiiia-r+q-Yf-0.3q-Zf-0.3f0.05a-f0.65X-Xf1a-r+q-Yf-0.3q-Zf-0.3f0.05a-f1.3X-Xf1.6a-r+q-Yf-0.3q-Zf-0.3f0.05a-f1.85X-Xf2a-r+q-Yf-0.3q-Zf-0.3f0.05a-f2.65X-Xf2.939a-r+q-Yf-0.3q-Zf-0.3f0.05a-f3.27X-Xf3.6a-r+q-Yf-0.3q-Zf-0.3f0.05a-f4.4X-Xf5a-r+q-Xf2.365q-Zf-0.3f0.045a-f-0.6Y-Yf0a-r+q-Xf2.365q-Zf0.3f0.045a-f-0.6Y-Yf0',float('12.000000'),float('12.585786'),float('-1.414214'),float('16.850000'),float('15.414214'),float('1.414214'))", "name": "out", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 6176.644294549289, 1016.9648086079634 ], "name": "s25", "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))", "", "# UI", "sb.ui.wireframe([(x0, y0, 0), (x1, y1, 0)], color=sb.color.green)", "sb.ui.point(x0, y0, color=sb.color.green)", "sb.ui.point(x1, y1, color=sb.color.green)", "", "" ], "uid": 115 }, { "datums": [ { "expr": "0.0", "name": "_x", "type": "float", "uid": 0 }, { "expr": "0.0", "name": "_y", "type": "float", "uid": 1 }, { "expr": "-0.05", "name": "zmin", "type": "float", "uid": 2 }, { "expr": "0", "name": "zmax", "type": "float", "uid": 3 }, { "expr": "\u0011[__71.__7]", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 }, { "expr": "\u0012fab.types.Shape('am__f1m-Xf0-Yf0-Zf0iiiiiiiim-Xf0-Yf0-Zf0ni-*f0-Xf1*f-1-Yf0i-*f2.4-Xf0*f-0.52-Yf0-*f-2.4-Xf-0.52*f1.52-Yf2.4m-Xf0.7-Yf0-Zf0ni-*f0-Xf1*f-1-Yf0i-*f2.4-Xf0*f-0.52-Yf0-*f-2.4-Xf-0.52*f1.52-Yf2.4m-Xf1.4-Yf0-Zf0ni-*f0-Xf1*f-1-Yf0i-*f2.4-Xf0*f-0.52-Yf0-*f-2.4-Xf-0.52*f1.52-Yf2.4m-Xf2.1-Yf0-Zf0ni-*f0-Xf1*f-1-Yf0i-*f2.4-Xf0*f-0.52-Yf0-*f-2.4-Xf-0.52*f1.52-Yf2.4m-Xf2.8-Yf0-Zf0ni-*f0-Xf1*f-1-Yf0i-*f2.4-Xf0*f-0.52-Yf0-*f-2.4-Xf-0.52*f1.52-Yf2.4m-Xf3.5-Yf0-Zf0ni-*f0-Xf1*f-1-Yf0i-*f2.4-Xf0*f-0.52-Yf0-*f-2.4-Xf-0.52*f1.52-Yf2.4m-Xf4.2-Yf0-Zf0ni-*f0-Xf1*f-1-Yf0i-*f2.4-Xf0*f-0.52-Yf0-*f-2.4-Xf-0.52*f1.52-Yf2.4m-Xf4.9-Yf0-Zf0ni-*f0-Xf1*f-1-Yf0i-*f2.4-Xf0*f-0.52-Yf0-*f-2.4-Xf-0.52*f1.52-Yf2.4m-Xf5.6-Yf0-Zf0ni-*f0-Xf1*f-1-Yf0i-*f2.4-Xf0*f-0.52-Yf0-*f-2.4-Xf-0.52*f1.52-Yf2.4a-f-0.05Z-Zf0',float('-0.520000'),float('0.000000'),float('-0.050000'),float('6.600000'),float('2.400000'),float('0.000000'))", "name": "out", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 2169.185484505103, 427.19519284268904 ], "name": "e3", "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": 117 }, { "datums": [ { "expr": "\u0011[__117.__5]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__72.__4]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('iam__f1m-Xf0-Yf0-Zf0iiiiiiiim-Xf0-Yf0-Zf0ni-*f0-Xf1*f-1-Yf0i-*f2.4-Xf0*f-0.52-Yf0-*f-2.4-Xf-0.52*f1.52-Yf2.4m-Xf0.7-Yf0-Zf0ni-*f0-Xf1*f-1-Yf0i-*f2.4-Xf0*f-0.52-Yf0-*f-2.4-Xf-0.52*f1.52-Yf2.4m-Xf1.4-Yf0-Zf0ni-*f0-Xf1*f-1-Yf0i-*f2.4-Xf0*f-0.52-Yf0-*f-2.4-Xf-0.52*f1.52-Yf2.4m-Xf2.1-Yf0-Zf0ni-*f0-Xf1*f-1-Yf0i-*f2.4-Xf0*f-0.52-Yf0-*f-2.4-Xf-0.52*f1.52-Yf2.4m-Xf2.8-Yf0-Zf0ni-*f0-Xf1*f-1-Yf0i-*f2.4-Xf0*f-0.52-Yf0-*f-2.4-Xf-0.52*f1.52-Yf2.4m-Xf3.5-Yf0-Zf0ni-*f0-Xf1*f-1-Yf0i-*f2.4-Xf0*f-0.52-Yf0-*f-2.4-Xf-0.52*f1.52-Yf2.4m-Xf4.2-Yf0-Zf0ni-*f0-Xf1*f-1-Yf0i-*f2.4-Xf0*f-0.52-Yf0-*f-2.4-Xf-0.52*f1.52-Yf2.4m-Xf4.9-Yf0-Zf0ni-*f0-Xf1*f-1-Yf0i-*f2.4-Xf0*f-0.52-Yf0-*f-2.4-Xf-0.52*f1.52-Yf2.4m-Xf5.6-Yf0-Zf0ni-*f0-Xf1*f-1-Yf0i-*f2.4-Xf0*f-0.52-Yf0-*f-2.4-Xf-0.52*f1.52-Yf2.4a-f-0.05Z-Zf0aa-Zf0.6-f0Z/+*-Zf0iiiiiiiim-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iiaa-r+q-Xf0.4q-Yf0.75f0.25n-r+q-Xf0.4q-Yf0.75f0.15aa-f0X-Xf0.4a-f0.75Y-Yf1aa-f0X-Xf0.4a-f0.45Y-Yf0.55aa-f0.15X-Xf0.25a-f0Y-Yf0.75m-Xf0.7-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0m-Xf-0.05-Yf0-Zf0im--Xf0/*f0.1-Yf0f0.35Y_a-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175aa-f0.51X-Xf0.61a-f0Y-Yf0.35m-Xf1.4-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iiaa-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175iaa-f0.25X-Xf1a-f0Y-Yf0.275aa-f0X-Xf1a-f0.275Y-Yf1aa-f0X-Xf0.1a-f0Y-Yf1aa-f0.1X-Xf0.25a-f0Y-Yf0.1m-Xf2.1-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0im/Xf0.7Y_aa-r+q-Xf0.55qYf0.55nm+f0.55/-Xf0.55f0.8Y_-r+q-Xf0.55qYf0.45aa-f0X-Xf0.55a-f0Y-Yf0.55aa-f0X-Xf0.1a-f0Y-Yf0.55m-Xf2.8-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iaa-f0.025X-Xf0.125a-f0Y-Yf0.55-r+q-Xf0.075q-Yf0.7f0.075m-Xf3.5-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0aa-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175nni-*f0.275-Xf0.275*f0.275-Yf0.275i-*f-0.55-Xf0.55*f0-Yf0.55-*f0.275-Xf0.55*f-0.275-Yf0m-Xf4.2-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0m-Xf-0.05-Yf0-Zf0im--Xf0/*f0.1-Yf0f0.35Y_a-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175aa-f0.51X-Xf0.61a-f0Y-Yf0.35m-Xf4.9-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iiaa-r+q-Xf0.4q-Yf0.25f0.25n-r+q-Xf0.4q-Yf0.25f0.15aa-f0X-Xf0.4a-f0Y-Yf0.25aa-f0X-Xf0.4a-f0.55Y-Yf0.65aa-f0.15X-Xf0.25a-f0.25Y-Yf1m-Xf5.6-Yf0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0aiaa-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175nni-*f0-Xf0.1*f0.65-Yf0.275i-*f-0.275-Xf0.75*f-0.15-Yf0.275-*f0.275-Xf0.6*f-0.5-Yf0aa-f0.05X-Xf0.55a-f0.225Y-Yf0.315-r+q-Xf0.275q-Yf0.275f0.275*-f0.6Zm-Xf0-Yf0-Zf0iiiiiiiim-Xf0-Yf0-Zf0ni-*f0-Xf1*f-1-Yf0i-*f2.4-Xf0*f-0.52-Yf0-*f-2.4-Xf-0.52*f1.52-Yf2.4m-Xf0.7-Yf0-Zf0ni-*f0-Xf1*f-1-Yf0i-*f2.4-Xf0*f-0.52-Yf0-*f-2.4-Xf-0.52*f1.52-Yf2.4m-Xf1.4-Yf0-Zf0ni-*f0-Xf1*f-1-Yf0i-*f2.4-Xf0*f-0.52-Yf0-*f-2.4-Xf-0.52*f1.52-Yf2.4m-Xf2.1-Yf0-Zf0ni-*f0-Xf1*f-1-Yf0i-*f2.4-Xf0*f-0.52-Yf0-*f-2.4-Xf-0.52*f1.52-Yf2.4m-Xf2.8-Yf0-Zf0ni-*f0-Xf1*f-1-Yf0i-*f2.4-Xf0*f-0.52-Yf0-*f-2.4-Xf-0.52*f1.52-Yf2.4m-Xf3.5-Yf0-Zf0ni-*f0-Xf1*f-1-Yf0i-*f2.4-Xf0*f-0.52-Yf0-*f-2.4-Xf-0.52*f1.52-Yf2.4m-Xf4.2-Yf0-Zf0ni-*f0-Xf1*f-1-Yf0i-*f2.4-Xf0*f-0.52-Yf0-*f-2.4-Xf-0.52*f1.52-Yf2.4m-Xf4.9-Yf0-Zf0ni-*f0-Xf1*f-1-Yf0i-*f2.4-Xf0*f-0.52-Yf0-*f-2.4-Xf-0.52*f1.52-Yf2.4m-Xf5.6-Yf0-Zf0ni-*f0-Xf1*f-1-Yf0i-*f2.4-Xf0*f-0.52-Yf0-*f-2.4-Xf-0.52*f1.52-Yf2.4f0.6',float('-0.520000'),float('0.000000'),float('-0.050000'),float('6.600000'),float('2.400000'),float('0.600000'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 2173.7140554539656, 658.15231123467277 ], "name": "u4", "script": [ "import fab.types", "", "title('Union')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a | b)", "" ], "uid": 118 }, { "datums": [ { "expr": "\u0011[__94.__4]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "0", "name": "y", "type": "float", "uid": 1 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf0-Zf0im_r+qYqZ_m-Xf0-Yf-0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0iiiiiiiim-Xf0-Yf-1-Zf0iiaa-r+q-Xf0.4q-Yf0.75f0.25n-r+q-Xf0.4q-Yf0.75f0.15aa-f0X-Xf0.4a-f0.75Y-Yf1aa-f0X-Xf0.4a-f0.45Y-Yf0.55aa-f0.15X-Xf0.25a-f0Y-Yf0.75m-Xf0.5-Yf-1-Zf0m-Xf-0.05-Yf0-Zf0im--Xf0/*f0.1-Yf0f0.35Y_a-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175aa-f0.51X-Xf0.61a-f0Y-Yf0.35m-Xf1.18-Yf-1-Zf0iiaa-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175iaa-f0.25X-Xf1a-f0Y-Yf0.275aa-f0X-Xf1a-f0.275Y-Yf1aa-f0X-Xf0.1a-f0Y-Yf1aa-f0.1X-Xf0.25a-f0Y-Yf0.1m-Xf1.805-Yf-1-Zf0im/Xf0.7Y_aa-r+q-Xf0.55qYf0.55nm+f0.55/-Xf0.55f0.8Y_-r+q-Xf0.55qYf0.45aa-f0X-Xf0.55a-f0Y-Yf0.55aa-f0X-Xf0.1a-f0Y-Yf0.55m-Xf2.29-Yf-1-Zf0iaa-f0.025X-Xf0.125a-f0Y-Yf0.55-r+q-Xf0.075q-Yf0.7f0.075m-Xf2.54-Yf-1-Zf0aa-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175nni-*f0.275-Xf0.275*f0.275-Yf0.275i-*f-0.55-Xf0.55*f0-Yf0.55-*f0.275-Xf0.55*f-0.275-Yf0m-Xf3.12-Yf-1-Zf0m-Xf-0.05-Yf0-Zf0im--Xf0/*f0.1-Yf0f0.35Y_a-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175aa-f0.51X-Xf0.61a-f0Y-Yf0.35m-Xf3.8-Yf-1-Zf0iiaa-r+q-Xf0.4q-Yf0.25f0.25n-r+q-Xf0.4q-Yf0.25f0.15aa-f0X-Xf0.4a-f0Y-Yf0.25aa-f0X-Xf0.4a-f0.55Y-Yf0.65aa-f0.15X-Xf0.25a-f0.25Y-Yf1m-Xf4.3-Yf-1-Zf0aiaa-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175nni-*f0-Xf0.1*f0.65-Yf0.275i-*f-0.275-Xf0.75*f-0.15-Yf0.275-*f0.275-Xf0.6*f-0.5-Yf0aa-f0.05X-Xf0.55a-f0.225Y-Yf0.315-r+q-Xf0.275q-Yf0.275f0.275m_nr+qYqZ_m-Xf0-Yf-0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0iiiiiiiim-Xf0-Yf-1-Zf0iiaa-r+q-Xf0.4q-Yf0.75f0.25n-r+q-Xf0.4q-Yf0.75f0.15aa-f0X-Xf0.4a-f0.75Y-Yf1aa-f0X-Xf0.4a-f0.45Y-Yf0.55aa-f0.15X-Xf0.25a-f0Y-Yf0.75m-Xf0.5-Yf-1-Zf0m-Xf-0.05-Yf0-Zf0im--Xf0/*f0.1-Yf0f0.35Y_a-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175aa-f0.51X-Xf0.61a-f0Y-Yf0.35m-Xf1.18-Yf-1-Zf0iiaa-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175iaa-f0.25X-Xf1a-f0Y-Yf0.275aa-f0X-Xf1a-f0.275Y-Yf1aa-f0X-Xf0.1a-f0Y-Yf1aa-f0.1X-Xf0.25a-f0Y-Yf0.1m-Xf1.805-Yf-1-Zf0im/Xf0.7Y_aa-r+q-Xf0.55qYf0.55nm+f0.55/-Xf0.55f0.8Y_-r+q-Xf0.55qYf0.45aa-f0X-Xf0.55a-f0Y-Yf0.55aa-f0X-Xf0.1a-f0Y-Yf0.55m-Xf2.29-Yf-1-Zf0iaa-f0.025X-Xf0.125a-f0Y-Yf0.55-r+q-Xf0.075q-Yf0.7f0.075m-Xf2.54-Yf-1-Zf0aa-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175nni-*f0.275-Xf0.275*f0.275-Yf0.275i-*f-0.55-Xf0.55*f0-Yf0.55-*f0.275-Xf0.55*f-0.275-Yf0m-Xf3.12-Yf-1-Zf0m-Xf-0.05-Yf0-Zf0im--Xf0/*f0.1-Yf0f0.35Y_a-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175aa-f0.51X-Xf0.61a-f0Y-Yf0.35m-Xf3.8-Yf-1-Zf0iiaa-r+q-Xf0.4q-Yf0.25f0.25n-r+q-Xf0.4q-Yf0.25f0.15aa-f0X-Xf0.4a-f0Y-Yf0.25aa-f0X-Xf0.4a-f0.55Y-Yf0.65aa-f0.15X-Xf0.25a-f0.25Y-Yf1m-Xf4.3-Yf-1-Zf0aiaa-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175nni-*f0-Xf0.1*f0.65-Yf0.275i-*f-0.275-Xf0.75*f-0.15-Yf0.275-*f0.275-Xf0.6*f-0.5-Yf0aa-f0.05X-Xf0.55a-f0.225Y-Yf0.315-r+q-Xf0.275q-Yf0.275f0.275',float('0.000000'),float('-1.000000'),float('-1.000000'),float('4.850000'),float('1.000000'),float('1.000000'))", "name": "out", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 6517.9971922389241, 559.31136075057884 ], "name": "revolved", "script": [ "# Neil Gershenfeld 2/1/15", "# Matt Keeter 6/13/2015", "", "import fab", "", "title('Revolve (X)')", "", "input('a',fab.types.Shape)", "input('y', float)", "output('out', fab.shapes.revolve_xy_x(a, y))", "", "" ], "uid": 95 }, { "datums": [ { "expr": "0.0", "name": "x", "type": "float", "uid": 0 }, { "expr": "0.0", "name": "y", "type": "float", "uid": 1 }, { "expr": "'fabricate'", "name": "text", "type": "str", "uid": 2 }, { "expr": "1", "name": "scale", "type": "float", "uid": 3 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0iiiiiiiim-Xf0-Yf-1-Zf0iiaa-r+q-Xf0.4q-Yf0.75f0.25n-r+q-Xf0.4q-Yf0.75f0.15aa-f0X-Xf0.4a-f0.75Y-Yf1aa-f0X-Xf0.4a-f0.45Y-Yf0.55aa-f0.15X-Xf0.25a-f0Y-Yf0.75m-Xf0.5-Yf-1-Zf0m-Xf-0.05-Yf0-Zf0im--Xf0/*f0.1-Yf0f0.35Y_a-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175aa-f0.51X-Xf0.61a-f0Y-Yf0.35m-Xf1.18-Yf-1-Zf0iiaa-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175iaa-f0.25X-Xf1a-f0Y-Yf0.275aa-f0X-Xf1a-f0.275Y-Yf1aa-f0X-Xf0.1a-f0Y-Yf1aa-f0.1X-Xf0.25a-f0Y-Yf0.1m-Xf1.805-Yf-1-Zf0im/Xf0.7Y_aa-r+q-Xf0.55qYf0.55nm+f0.55/-Xf0.55f0.8Y_-r+q-Xf0.55qYf0.45aa-f0X-Xf0.55a-f0Y-Yf0.55aa-f0X-Xf0.1a-f0Y-Yf0.55m-Xf2.29-Yf-1-Zf0iaa-f0.025X-Xf0.125a-f0Y-Yf0.55-r+q-Xf0.075q-Yf0.7f0.075m-Xf2.54-Yf-1-Zf0aa-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175nni-*f0.275-Xf0.275*f0.275-Yf0.275i-*f-0.55-Xf0.55*f0-Yf0.55-*f0.275-Xf0.55*f-0.275-Yf0m-Xf3.12-Yf-1-Zf0m-Xf-0.05-Yf0-Zf0im--Xf0/*f0.1-Yf0f0.35Y_a-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175aa-f0.51X-Xf0.61a-f0Y-Yf0.35m-Xf3.8-Yf-1-Zf0iiaa-r+q-Xf0.4q-Yf0.25f0.25n-r+q-Xf0.4q-Yf0.25f0.15aa-f0X-Xf0.4a-f0Y-Yf0.25aa-f0X-Xf0.4a-f0.55Y-Yf0.65aa-f0.15X-Xf0.25a-f0.25Y-Yf1m-Xf4.3-Yf-1-Zf0aiaa-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175nni-*f0-Xf0.1*f0.65-Yf0.275i-*f-0.275-Xf0.75*f-0.15-Yf0.275-*f0.275-Xf0.6*f-0.5-Yf0aa-f0.05X-Xf0.55a-f0.225Y-Yf0.315-r+q-Xf0.275q-Yf0.275f0.275',float('0.000000'),float('0.000000'),float('-inf'),float('4.850000'),float('1.000000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 6518.8061846525707, 364.77343423877335 ], "name": "t24", "script": [ "import fab", "", "title('Text')", "", "input('x', float)", "input('y', float)", "input('text', str)", "input('scale', float)", "", "output('shape', fab.shapes.text(text, x, y, scale))", "", "# UI", "sb.ui.wireframe([(x, y, 0), (x, y+scale, 0)])", "sb.ui.point(x, y, 0)", "sb.ui.point(x, y + scale, 0, drag=(None, scale, None))", "" ], "uid": 94 }, { "datums": [ { "expr": "\u0011[__95.__2]", "name": "shape", "type": "_fabtypes.Shape", "uid": 0 } ], "inspector": [ 6515.9152519924864, 695.84250229558745 ], "name": "h0", "script": [ "import fab", "", "title('Hide')", "", "input('shape',fab.types.Shape)", "" ], "uid": 116 }, { "datums": [ { "expr": "\u0011[__127.__2]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "0", "name": "x0", "type": "float", "uid": 1 }, { "expr": "0", "name": "y0", "type": "float", "uid": 2 }, { "expr": "var.dx * 10", "name": "x1", "type": "float", "uid": 3 }, { "expr": "var.dx * 1", "name": "y1", "type": "float", "uid": 4 }, { "expr": "\u0012fab.types.Shape('m-Xf30-Yf3-Zf0am-Xf0-Yf0-Zf0im_r+qYqZ_m-Xf0-Yf-0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0iiiiiiiim-Xf0-Yf-1-Zf0iiaa-r+q-Xf0.4q-Yf0.75f0.25n-r+q-Xf0.4q-Yf0.75f0.15aa-f0X-Xf0.4a-f0.75Y-Yf1aa-f0X-Xf0.4a-f0.45Y-Yf0.55aa-f0.15X-Xf0.25a-f0Y-Yf0.75m-Xf0.5-Yf-1-Zf0m-Xf-0.05-Yf0-Zf0im--Xf0/*f0.1-Yf0f0.35Y_a-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175aa-f0.51X-Xf0.61a-f0Y-Yf0.35m-Xf1.18-Yf-1-Zf0iiaa-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175iaa-f0.25X-Xf1a-f0Y-Yf0.275aa-f0X-Xf1a-f0.275Y-Yf1aa-f0X-Xf0.1a-f0Y-Yf1aa-f0.1X-Xf0.25a-f0Y-Yf0.1m-Xf1.805-Yf-1-Zf0im/Xf0.7Y_aa-r+q-Xf0.55qYf0.55nm+f0.55/-Xf0.55f0.8Y_-r+q-Xf0.55qYf0.45aa-f0X-Xf0.55a-f0Y-Yf0.55aa-f0X-Xf0.1a-f0Y-Yf0.55m-Xf2.29-Yf-1-Zf0iaa-f0.025X-Xf0.125a-f0Y-Yf0.55-r+q-Xf0.075q-Yf0.7f0.075m-Xf2.54-Yf-1-Zf0aa-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175nni-*f0.275-Xf0.275*f0.275-Yf0.275i-*f-0.55-Xf0.55*f0-Yf0.55-*f0.275-Xf0.55*f-0.275-Yf0m-Xf3.12-Yf-1-Zf0m-Xf-0.05-Yf0-Zf0im--Xf0/*f0.1-Yf0f0.35Y_a-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175aa-f0.51X-Xf0.61a-f0Y-Yf0.35m-Xf3.8-Yf-1-Zf0iiaa-r+q-Xf0.4q-Yf0.25f0.25n-r+q-Xf0.4q-Yf0.25f0.15aa-f0X-Xf0.4a-f0Y-Yf0.25aa-f0X-Xf0.4a-f0.55Y-Yf0.65aa-f0.15X-Xf0.25a-f0.25Y-Yf1m-Xf4.3-Yf-1-Zf0aiaa-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175nni-*f0-Xf0.1*f0.65-Yf0.275i-*f-0.275-Xf0.75*f-0.15-Yf0.275-*f0.275-Xf0.6*f-0.5-Yf0aa-f0.05X-Xf0.55a-f0.225Y-Yf0.315-r+q-Xf0.275q-Yf0.275f0.275m_nr+qYqZ_m-Xf0-Yf-0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0iiiiiiiim-Xf0-Yf-1-Zf0iiaa-r+q-Xf0.4q-Yf0.75f0.25n-r+q-Xf0.4q-Yf0.75f0.15aa-f0X-Xf0.4a-f0.75Y-Yf1aa-f0X-Xf0.4a-f0.45Y-Yf0.55aa-f0.15X-Xf0.25a-f0Y-Yf0.75m-Xf0.5-Yf-1-Zf0m-Xf-0.05-Yf0-Zf0im--Xf0/*f0.1-Yf0f0.35Y_a-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175aa-f0.51X-Xf0.61a-f0Y-Yf0.35m-Xf1.18-Yf-1-Zf0iiaa-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175iaa-f0.25X-Xf1a-f0Y-Yf0.275aa-f0X-Xf1a-f0.275Y-Yf1aa-f0X-Xf0.1a-f0Y-Yf1aa-f0.1X-Xf0.25a-f0Y-Yf0.1m-Xf1.805-Yf-1-Zf0im/Xf0.7Y_aa-r+q-Xf0.55qYf0.55nm+f0.55/-Xf0.55f0.8Y_-r+q-Xf0.55qYf0.45aa-f0X-Xf0.55a-f0Y-Yf0.55aa-f0X-Xf0.1a-f0Y-Yf0.55m-Xf2.29-Yf-1-Zf0iaa-f0.025X-Xf0.125a-f0Y-Yf0.55-r+q-Xf0.075q-Yf0.7f0.075m-Xf2.54-Yf-1-Zf0aa-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175nni-*f0.275-Xf0.275*f0.275-Yf0.275i-*f-0.55-Xf0.55*f0-Yf0.55-*f0.275-Xf0.55*f-0.275-Yf0m-Xf3.12-Yf-1-Zf0m-Xf-0.05-Yf0-Zf0im--Xf0/*f0.1-Yf0f0.35Y_a-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175aa-f0.51X-Xf0.61a-f0Y-Yf0.35m-Xf3.8-Yf-1-Zf0iiaa-r+q-Xf0.4q-Yf0.25f0.25n-r+q-Xf0.4q-Yf0.25f0.15aa-f0X-Xf0.4a-f0Y-Yf0.25aa-f0X-Xf0.4a-f0.55Y-Yf0.65aa-f0.15X-Xf0.25a-f0.25Y-Yf1m-Xf4.3-Yf-1-Zf0aiaa-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175nni-*f0-Xf0.1*f0.65-Yf0.275i-*f-0.275-Xf0.75*f-0.15-Yf0.275-*f0.275-Xf0.6*f-0.5-Yf0aa-f0.05X-Xf0.55a-f0.225Y-Yf0.315-r+q-Xf0.275q-Yf0.275f0.275niiiii-r++qXq-Yf-1.1q-Zf-0.3f0.8-r++q-Xf0.9q-Yf0.4q-Zf1.2f1.1-r++q-Xf2.1q-Yf-0.8q-Zf1.1f1.1-r++q-Xf3.5q-Yf0.8q-Zf-0.5f0.9-r++q-Xf4.5q-Yf-0.4qZf0.45-r++q-Xf5.2qYq-Zf1.2f0.8',float('30.000000'),float('2.000000'),float('-1.000000'),float('34.849998'),float('4.000000'),float('1.000000'))", "name": "out", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 7556.259037731742, 1115.4886553908932 ], "name": "s26", "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))", "", "# UI", "sb.ui.wireframe([(x0, y0, 0), (x1, y1, 0)], color=sb.color.green)", "sb.ui.point(x0, y0, color=sb.color.green)", "sb.ui.point(x1, y1, color=sb.color.green)", "", "" ], "uid": 119 }, { "datums": [ { "expr": "0.9", "name": "x", "type": "float", "uid": 0 }, { "expr": "0.4", "name": "y", "type": "float", "uid": 1 }, { "expr": "1.2", "name": "z", "type": "float", "uid": 2 }, { "expr": "1.1", "name": "r", "type": "float", "uid": 3 }, { "expr": "\u0012fab.types.Shape('-r++q-Xf0.9q-Yf0.4q-Zf1.2f1.1',float('-0.200000'),float('-0.700000'),float('0.100000'),float('2.000000'),float('1.500000'),float('2.300000'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 6919.3728825744593, 557.15037457551739 ], "name": "s27", "script": [ "import fab", "import math", "", "title('Sphere (center)')", "", "input('x', float)", "input('y', float)", "input('z', float)", "input('r', float)", "", "output('shape', fab.shapes.sphere(x, y, z, r))", "", "# UI", "sb.ui.wireframe([", " (math.cos(i/36. * 2*math.pi) * r + x,", " math.sin(i/36. * 2*math.pi) * r + y, z)", " for i in range(36)], close=True)", "sb.ui.wireframe([(x,y,z-r), (x,y,z+r)])", "", "sb.ui.point(x, y, z)", "sb.ui.point(x, y, z + r, drag=(None, None, r))", "sb.ui.point(x, y, z - r, drag=(None, None, r))", "" ], "uid": 120 }, { "datums": [ { "expr": "2.1", "name": "x", "type": "float", "uid": 0 }, { "expr": "-0.8", "name": "y", "type": "float", "uid": 1 }, { "expr": "1.1", "name": "z", "type": "float", "uid": 2 }, { "expr": "1.1", "name": "r", "type": "float", "uid": 3 }, { "expr": "\u0012fab.types.Shape('-r++q-Xf2.1q-Yf-0.8q-Zf1.1f1.1',float('1.000000'),float('-1.900000'),float('0.000000'),float('3.200000'),float('0.300000'),float('2.200000'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 6922.3300422101211, 750.26422404833033 ], "name": "s28", "script": [ "import fab", "import math", "", "title('Sphere (center)')", "", "input('x', float)", "input('y', float)", "input('z', float)", "input('r', float)", "", "output('shape', fab.shapes.sphere(x, y, z, r))", "", "# UI", "sb.ui.wireframe([", " (math.cos(i/36. * 2*math.pi) * r + x,", " math.sin(i/36. * 2*math.pi) * r + y, z)", " for i in range(36)], close=True)", "sb.ui.wireframe([(x,y,z-r), (x,y,z+r)])", "", "sb.ui.point(x, y, z)", "sb.ui.point(x, y, z + r, drag=(None, None, r))", "sb.ui.point(x, y, z - r, drag=(None, None, r))", "" ], "uid": 121 }, { "datums": [ { "expr": "4.5", "name": "x", "type": "float", "uid": 0 }, { "expr": "-0.4", "name": "y", "type": "float", "uid": 1 }, { "expr": "0.0", "name": "z", "type": "float", "uid": 2 }, { "expr": "0.45", "name": "r", "type": "float", "uid": 3 }, { "expr": "\u0012fab.types.Shape('-r++q-Xf4.5q-Yf-0.4qZf0.45',float('4.050000'),float('-0.850000'),float('-0.450000'),float('4.950000'),float('0.050000'),float('0.450000'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 6931.1335926655456, 1139.3811541780583 ], "name": "s29", "script": [ "import fab", "import math", "", "title('Sphere (center)')", "", "input('x', float)", "input('y', float)", "input('z', float)", "input('r', float)", "", "output('shape', fab.shapes.sphere(x, y, z, r))", "", "# UI", "sb.ui.wireframe([", " (math.cos(i/36. * 2*math.pi) * r + x,", " math.sin(i/36. * 2*math.pi) * r + y, z)", " for i in range(36)], close=True)", "sb.ui.wireframe([(x,y,z-r), (x,y,z+r)])", "", "sb.ui.point(x, y, z)", "sb.ui.point(x, y, z + r, drag=(None, None, r))", "sb.ui.point(x, y, z - r, drag=(None, None, r))", "" ], "uid": 122 }, { "datums": [ { "expr": "3.5", "name": "x", "type": "float", "uid": 0 }, { "expr": "0.8", "name": "y", "type": "float", "uid": 1 }, { "expr": "-0.5", "name": "z", "type": "float", "uid": 2 }, { "expr": "0.9", "name": "r", "type": "float", "uid": 3 }, { "expr": "\u0012fab.types.Shape('-r++q-Xf3.5q-Yf0.8q-Zf-0.5f0.9',float('2.600000'),float('-0.100000'),float('-1.400000'),float('4.400000'),float('1.700000'),float('0.400000'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 6927.6121724833765, 943.94233406765227 ], "name": "s30", "script": [ "import fab", "import math", "", "title('Sphere (center)')", "", "input('x', float)", "input('y', float)", "input('z', float)", "input('r', float)", "", "output('shape', fab.shapes.sphere(x, y, z, r))", "", "# UI", "sb.ui.wireframe([", " (math.cos(i/36. * 2*math.pi) * r + x,", " math.sin(i/36. * 2*math.pi) * r + y, z)", " for i in range(36)], close=True)", "sb.ui.wireframe([(x,y,z-r), (x,y,z+r)])", "", "sb.ui.point(x, y, z)", "sb.ui.point(x, y, z + r, drag=(None, None, r))", "sb.ui.point(x, y, z - r, drag=(None, None, r))", "" ], "uid": 123 }, { "datums": [ { "expr": "0.0", "name": "x", "type": "float", "uid": 0 }, { "expr": "-1.1", "name": "y", "type": "float", "uid": 1 }, { "expr": "-0.3", "name": "z", "type": "float", "uid": 2 }, { "expr": "0.8", "name": "r", "type": "float", "uid": 3 }, { "expr": "\u0012fab.types.Shape('-r++qXq-Yf-1.1q-Zf-0.3f0.8',float('-0.800000'),float('-1.900000'),float('-1.100000'),float('0.800000'),float('-0.300000'),float('0.500000'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 6920.5693321190347, 364.66871410077209 ], "name": "s31", "script": [ "import fab", "import math", "", "title('Sphere (center)')", "", "input('x', float)", "input('y', float)", "input('z', float)", "input('r', float)", "", "output('shape', fab.shapes.sphere(x, y, z, r))", "", "# UI", "sb.ui.wireframe([", " (math.cos(i/36. * 2*math.pi) * r + x,", " math.sin(i/36. * 2*math.pi) * r + y, z)", " for i in range(36)], close=True)", "sb.ui.wireframe([(x,y,z-r), (x,y,z+r)])", "", "sb.ui.point(x, y, z)", "sb.ui.point(x, y, z + r, drag=(None, None, r))", "sb.ui.point(x, y, z - r, drag=(None, None, r))", "" ], "uid": 124 }, { "datums": [ { "expr": "5.2", "name": "x", "type": "float", "uid": 0 }, { "expr": "0.0", "name": "y", "type": "float", "uid": 1 }, { "expr": "1.2", "name": "z", "type": "float", "uid": 2 }, { "expr": "0.8", "name": "r", "type": "float", "uid": 3 }, { "expr": "\u0012fab.types.Shape('-r++q-Xf5.2qYq-Zf1.2f0.8',float('4.400000'),float('-0.800000'),float('0.400000'),float('6.000000'),float('0.800000'),float('2.000000'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 6931.1335926655456, 1329.5378440152108 ], "name": "s32", "script": [ "import fab", "import math", "", "title('Sphere (center)')", "", "input('x', float)", "input('y', float)", "input('z', float)", "input('r', float)", "", "output('shape', fab.shapes.sphere(x, y, z, r))", "", "# UI", "sb.ui.wireframe([", " (math.cos(i/36. * 2*math.pi) * r + x,", " math.sin(i/36. * 2*math.pi) * r + y, z)", " for i in range(36)], close=True)", "sb.ui.wireframe([(x,y,z-r), (x,y,z+r)])", "", "sb.ui.point(x, y, z)", "sb.ui.point(x, y, z + r, drag=(None, None, r))", "sb.ui.point(x, y, z - r, drag=(None, None, r))", "" ], "uid": 125 }, { "datums": [ { "expr": "\u0011[__124.__4]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__120.__4]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0011[__121.__4]", "name": "c", "type": "_fabtypes.Shape", "uid": 4 }, { "expr": "\u0011[__123.__4]", "name": "d", "type": "_fabtypes.Shape", "uid": 5 }, { "expr": "\u0011[__122.__4]", "name": "e", "type": "_fabtypes.Shape", "uid": 6 }, { "expr": "\u0011[__125.__4]", "name": "f", "type": "_fabtypes.Shape", "uid": 7 }, { "expr": "\u0012fab.types.Shape('iiiii-r++qXq-Yf-1.1q-Zf-0.3f0.8-r++q-Xf0.9q-Yf0.4q-Zf1.2f1.1-r++q-Xf2.1q-Yf-0.8q-Zf1.1f1.1-r++q-Xf3.5q-Yf0.8q-Zf-0.5f0.9-r++q-Xf4.5q-Yf-0.4qZf0.45-r++q-Xf5.2qYq-Zf1.2f0.8',float('-0.800000'),float('-1.900000'),float('-1.400000'),float('6.000000'),float('1.700000'),float('2.300000'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 7229.9411912815131, 828.49665453551165 ], "name": "spheres", "script": [ "import fab.types", "", "title('Union')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "input('c', fab.types.Shape)", "input('d', fab.types.Shape)", "input('e', fab.types.Shape)", "input('f', fab.types.Shape)", "", "output('shape', a | b | c | d | e | f)", "" ], "uid": 126 }, { "datums": [ { "expr": "revolved.out", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "spheres.shape", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('am-Xf0-Yf0-Zf0im_r+qYqZ_m-Xf0-Yf-0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0iiiiiiiim-Xf0-Yf-1-Zf0iiaa-r+q-Xf0.4q-Yf0.75f0.25n-r+q-Xf0.4q-Yf0.75f0.15aa-f0X-Xf0.4a-f0.75Y-Yf1aa-f0X-Xf0.4a-f0.45Y-Yf0.55aa-f0.15X-Xf0.25a-f0Y-Yf0.75m-Xf0.5-Yf-1-Zf0m-Xf-0.05-Yf0-Zf0im--Xf0/*f0.1-Yf0f0.35Y_a-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175aa-f0.51X-Xf0.61a-f0Y-Yf0.35m-Xf1.18-Yf-1-Zf0iiaa-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175iaa-f0.25X-Xf1a-f0Y-Yf0.275aa-f0X-Xf1a-f0.275Y-Yf1aa-f0X-Xf0.1a-f0Y-Yf1aa-f0.1X-Xf0.25a-f0Y-Yf0.1m-Xf1.805-Yf-1-Zf0im/Xf0.7Y_aa-r+q-Xf0.55qYf0.55nm+f0.55/-Xf0.55f0.8Y_-r+q-Xf0.55qYf0.45aa-f0X-Xf0.55a-f0Y-Yf0.55aa-f0X-Xf0.1a-f0Y-Yf0.55m-Xf2.29-Yf-1-Zf0iaa-f0.025X-Xf0.125a-f0Y-Yf0.55-r+q-Xf0.075q-Yf0.7f0.075m-Xf2.54-Yf-1-Zf0aa-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175nni-*f0.275-Xf0.275*f0.275-Yf0.275i-*f-0.55-Xf0.55*f0-Yf0.55-*f0.275-Xf0.55*f-0.275-Yf0m-Xf3.12-Yf-1-Zf0m-Xf-0.05-Yf0-Zf0im--Xf0/*f0.1-Yf0f0.35Y_a-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175aa-f0.51X-Xf0.61a-f0Y-Yf0.35m-Xf3.8-Yf-1-Zf0iiaa-r+q-Xf0.4q-Yf0.25f0.25n-r+q-Xf0.4q-Yf0.25f0.15aa-f0X-Xf0.4a-f0Y-Yf0.25aa-f0X-Xf0.4a-f0.55Y-Yf0.65aa-f0.15X-Xf0.25a-f0.25Y-Yf1m-Xf4.3-Yf-1-Zf0aiaa-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175nni-*f0-Xf0.1*f0.65-Yf0.275i-*f-0.275-Xf0.75*f-0.15-Yf0.275-*f0.275-Xf0.6*f-0.5-Yf0aa-f0.05X-Xf0.55a-f0.225Y-Yf0.315-r+q-Xf0.275q-Yf0.275f0.275m_nr+qYqZ_m-Xf0-Yf-0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0iiiiiiiim-Xf0-Yf-1-Zf0iiaa-r+q-Xf0.4q-Yf0.75f0.25n-r+q-Xf0.4q-Yf0.75f0.15aa-f0X-Xf0.4a-f0.75Y-Yf1aa-f0X-Xf0.4a-f0.45Y-Yf0.55aa-f0.15X-Xf0.25a-f0Y-Yf0.75m-Xf0.5-Yf-1-Zf0m-Xf-0.05-Yf0-Zf0im--Xf0/*f0.1-Yf0f0.35Y_a-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175aa-f0.51X-Xf0.61a-f0Y-Yf0.35m-Xf1.18-Yf-1-Zf0iiaa-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175iaa-f0.25X-Xf1a-f0Y-Yf0.275aa-f0X-Xf1a-f0.275Y-Yf1aa-f0X-Xf0.1a-f0Y-Yf1aa-f0.1X-Xf0.25a-f0Y-Yf0.1m-Xf1.805-Yf-1-Zf0im/Xf0.7Y_aa-r+q-Xf0.55qYf0.55nm+f0.55/-Xf0.55f0.8Y_-r+q-Xf0.55qYf0.45aa-f0X-Xf0.55a-f0Y-Yf0.55aa-f0X-Xf0.1a-f0Y-Yf0.55m-Xf2.29-Yf-1-Zf0iaa-f0.025X-Xf0.125a-f0Y-Yf0.55-r+q-Xf0.075q-Yf0.7f0.075m-Xf2.54-Yf-1-Zf0aa-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175nni-*f0.275-Xf0.275*f0.275-Yf0.275i-*f-0.55-Xf0.55*f0-Yf0.55-*f0.275-Xf0.55*f-0.275-Yf0m-Xf3.12-Yf-1-Zf0m-Xf-0.05-Yf0-Zf0im--Xf0/*f0.1-Yf0f0.35Y_a-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175aa-f0.51X-Xf0.61a-f0Y-Yf0.35m-Xf3.8-Yf-1-Zf0iiaa-r+q-Xf0.4q-Yf0.25f0.25n-r+q-Xf0.4q-Yf0.25f0.15aa-f0X-Xf0.4a-f0Y-Yf0.25aa-f0X-Xf0.4a-f0.55Y-Yf0.65aa-f0.15X-Xf0.25a-f0.25Y-Yf1m-Xf4.3-Yf-1-Zf0aiaa-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175nni-*f0-Xf0.1*f0.65-Yf0.275i-*f-0.275-Xf0.75*f-0.15-Yf0.275-*f0.275-Xf0.6*f-0.5-Yf0aa-f0.05X-Xf0.55a-f0.225Y-Yf0.315-r+q-Xf0.275q-Yf0.275f0.275niiiii-r++qXq-Yf-1.1q-Zf-0.3f0.8-r++q-Xf0.9q-Yf0.4q-Zf1.2f1.1-r++q-Xf2.1q-Yf-0.8q-Zf1.1f1.1-r++q-Xf3.5q-Yf0.8q-Zf-0.5f0.9-r++q-Xf4.5q-Yf-0.4qZf0.45-r++q-Xf5.2qYq-Zf1.2f0.8',float('0.000000'),float('-1.000000'),float('-1.000000'),float('4.850000'),float('1.000000'),float('1.000000'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 7235.2608488581254, 1151.278317762697 ], "name": "d4", "script": [ "import fab.types", "", "title('Difference')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a & ~b)", "" ], "uid": 127 }, { "datums": [ { "expr": "\u0011[__126.__2]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "0", "name": "x0", "type": "float", "uid": 1 }, { "expr": "0", "name": "y0", "type": "float", "uid": 2 }, { "expr": "var.dx * 7", "name": "x1", "type": "float", "uid": 3 }, { "expr": "var.dx * 1", "name": "y1", "type": "float", "uid": 4 }, { "expr": "\u0012fab.types.Shape('m-Xf21-Yf3-Zf0iiiii-r++qXq-Yf-1.1q-Zf-0.3f0.8-r++q-Xf0.9q-Yf0.4q-Zf1.2f1.1-r++q-Xf2.1q-Yf-0.8q-Zf1.1f1.1-r++q-Xf3.5q-Yf0.8q-Zf-0.5f0.9-r++q-Xf4.5q-Yf-0.4qZf0.45-r++q-Xf5.2qYq-Zf1.2f0.8',float('20.200001'),float('1.100000'),float('-1.400000'),float('27.000000'),float('4.700000'),float('2.300000'))", "name": "out", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 7551.9791970253818, 835.58994168326194 ], "name": "s33", "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))", "", "# UI", "sb.ui.wireframe([(x0, y0, 0), (x1, y1, 0)], color=sb.color.green)", "sb.ui.point(x0, y0, color=sb.color.green)", "sb.ui.point(x1, y1, color=sb.color.green)", "", "" ], "uid": 128 }, { "datums": [ { "expr": "2", "name": "x", "type": "float", "uid": 3 }, { "expr": "90.0", "name": "a", "type": "float", "uid": 2 }, { "expr": "\u00122.0000000000000004", "name": "y", "type": "float", "uid": 1 }, { "expr": "\u0012fab.types.Shape('ni-*f-2-Xf0*f2-Yf0i-*f0-Xf2*f-4-Yf-2-*f2-Xf-2*f2-Yf-2',float('-2.000000'),float('-2.000000'),float('-inf'),float('2.000000'),float('0.000000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 7899.0060629597965, 375.46331086567056 ], "name": "t25", "script": [ "import fab", "import math", "", "title('Isosceles triangle')", "", "input('x', float)", "input('a', float)", "", "if x == 0:", " x = 1", "", "angle = a * math.pi / 180", "y = abs(x / math.tan(angle / 2))", "", "output('y', y)", "output('shape', fab.shapes.triangle(x, -y, 0, 0, -x, -y))", "# UI", "sb.ui.wireframe([(x, y, 0)], close=True)", "sb.ui.point(x, y, 0)" ], "uid": 129 }, { "datums": [ { "expr": "0.0", "name": "_x", "type": "float", "uid": 0 }, { "expr": "0.0", "name": "_y", "type": "float", "uid": 1 }, { "expr": "0", "name": "zmin", "type": "float", "uid": 2 }, { "expr": "varFabLetters.letterSpacing * 8", "name": "zmax", "type": "float", "uid": 3 }, { "expr": "\u0011[__129.__4]", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 }, { "expr": "\u0012fab.types.Shape('am__f1ni-*f-2-Xf0*f2-Yf0i-*f0-Xf2*f-4-Yf-2-*f2-Xf-2*f2-Yf-2a-f0Z-Zf5.6',float('-2.000000'),float('-2.000000'),float('0.000000'),float('2.000000'),float('0.000000'),float('5.600000'))", "name": "out", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 7899.199036433316, 561.00575260906635 ], "name": "e4", "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": 130 }, { "datums": [ { "expr": "\u0011[__130.__5]", "name": "shape", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "0", "name": "x", "type": "float", "uid": 1 }, { "expr": "0", "name": "y", "type": "float", "uid": 2 }, { "expr": "0", "name": "z0", "type": "float", "uid": 3 }, { "expr": "4", "name": "z1", "type": "float", "uid": 4 }, { "expr": "0", "name": "theta0", "type": "float", "uid": 5 }, { "expr": "90", "name": "theta1", "type": "float", "uid": 6 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf0-Zf0mXY/Zf4m+*Xc+*f1.5708Z*f0-f1Z*Ys+*f1.5708Z*f0-f1Z+n*Xs+*f1.5708Z*f0-f1Z*Yc+*f1.5708Z*f0-f1Z_mXY/Zf0.25m-Xf-0-Yf-0-Zf-0am__f1ni-*f-2-Xf0*f2-Yf0i-*f0-Xf2*f-4-Yf-2-*f2-Xf-2*f2-Yf-2a-f0Z-Zf5.6',float('-4.000000'),float('-4.000000'),float('0.000000'),float('4.000000'),float('4.000000'),float('5.600000'))", "name": "twisted", "type": "_fabtypes.Shape", "uid": 7 } ], "inspector": [ 7901.0531805658075, 748.22513959462879 ], "name": "t26", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 6/13/15", "", "import fab", "", "title('Twist (Z)')", "", "input('shape', fab.types.Shape)", "input('x', float)", "input('y', float)", "input('z0', float)", "input('z1', float)", "input('theta0', float)", "input('theta1', float)", "", "output('twisted', fab.shapes.twist_xy_z(shape, x, y, z0, z1, theta0, theta1))", "", "" ], "uid": 131 }, { "datums": [ { "expr": "0.0", "name": "x", "type": "float", "uid": 0 }, { "expr": "0.0", "name": "_y", "type": "float", "uid": 1 }, { "expr": "0.0", "name": "z", "type": "float", "uid": 2 }, { "expr": "-90", "name": "a", "type": "float", "uid": 3 }, { "expr": "\u0011[__136.__5]", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf0-Zf0m+*f6.12323e-17X*f-1ZY+*f1X*f6.12323e-17Zm-Xf-0-Yf0-Zf-0m-Xf0-Yf0-Zf0m+*f-0.707107X*f-0.707107Y+*f0.707107X*f-0.707107Y_m-Xf-0-Yf-0-Zf0m-Xf0-Yf0-Zf0mXY/Zf4m+*Xc+*f1.5708Z*f0-f1Z*Ys+*f1.5708Z*f0-f1Z+n*Xs+*f1.5708Z*f0-f1Z*Yc+*f1.5708Z*f0-f1Z_mXY/Zf0.25m-Xf-0-Yf-0-Zf-0am__f1ni-*f-2-Xf0*f2-Yf0i-*f0-Xf2*f-4-Yf-2-*f2-Xf-2*f2-Yf-2a-f0Z-Zf5.6',float('-0.000000'),float('-5.656856'),float('-5.656856'),float('5.600000'),float('5.656856'),float('5.656856'))", "name": "rotated", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 8200.3415410855669, 554.18485185746044 ], "name": "twisted90", "script": [ "import fab", "import math", "", "title('Rotate (Y)')", "", "input('x', float)", "input('_y', float)", "input('z', float)", "input('a', float)", "", "input('shape', fab.types.Shape)", "output('rotated', fab.shapes.rotate_y(shape, a, x, z))", "", "# UI", "rad = math.radians(a)", "sb.ui.wireframe([(x + math.cos(rad), _y, z + math.sin(rad)),", " (x, _y, z),", " (x + 1, _y, z)], color=sb.color.teal)", "", "# Draw a semi-circular arc showing the rotation", "if int(a) % 360 != 0:", " sb.ui.wireframe([", " (x + math.cos(math.radians(a_)) * 0.3, _y,", " z + math.sin(math.radians(a_)) * 0.3)", " for a_ in range(int(a) % 360)], color=sb.color.teal)", "", "sb.ui.point(x, _y, z, color=sb.color.teal)", "", "def drag_pt(this, x, y, z):", " this.a = math.degrees(math.atan2(z - this.z, x - this.x))", "sb.ui.point(x + math.cos(rad), _y, z + math.sin(rad),", " color=sb.color.teal, drag=drag_pt, relative=False)", "", "" ], "uid": 132 }, { "datums": [ { "expr": "\u0011[__132.__5]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "0", "name": "x0", "type": "float", "uid": 1 }, { "expr": "0", "name": "y0", "type": "float", "uid": 2 }, { "expr": "var.dx * 7", "name": "x1", "type": "float", "uid": 3 }, { "expr": "var.dx * 3", "name": "y1", "type": "float", "uid": 4 }, { "expr": "\u0012fab.types.Shape('m-Xf21-Yf9-Zf0m-Xf0-Yf0-Zf0m+*f6.12323e-17X*f-1ZY+*f1X*f6.12323e-17Zm-Xf-0-Yf0-Zf-0m-Xf0-Yf0-Zf0m+*f-0.707107X*f-0.707107Y+*f0.707107X*f-0.707107Y_m-Xf-0-Yf-0-Zf0m-Xf0-Yf0-Zf0mXY/Zf4m+*Xc+*f1.5708Z*f0-f1Z*Ys+*f1.5708Z*f0-f1Z+n*Xs+*f1.5708Z*f0-f1Z*Yc+*f1.5708Z*f0-f1Z_mXY/Zf0.25m-Xf-0-Yf-0-Zf-0am__f1ni-*f-2-Xf0*f2-Yf0i-*f0-Xf2*f-4-Yf-2-*f2-Xf-2*f2-Yf-2a-f0Z-Zf5.6',float('21.000000'),float('3.343144'),float('-5.656856'),float('26.600000'),float('14.656857'),float('5.656856'))", "name": "out", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 8523.2848559450758, 552.19324147437794 ], "name": "s34", "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))", "", "# UI", "sb.ui.wireframe([(x0, y0, 0), (x1, y1, 0)], color=sb.color.green)", "sb.ui.point(x0, y0, color=sb.color.green)", "sb.ui.point(x1, y1, color=sb.color.green)", "", "" ], "uid": 133 }, { "datums": [ { "expr": "revolved.out", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "twisted90.rotated", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('am-Xf0-Yf0-Zf0im_r+qYqZ_m-Xf0-Yf-0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0iiiiiiiim-Xf0-Yf-1-Zf0iiaa-r+q-Xf0.4q-Yf0.75f0.25n-r+q-Xf0.4q-Yf0.75f0.15aa-f0X-Xf0.4a-f0.75Y-Yf1aa-f0X-Xf0.4a-f0.45Y-Yf0.55aa-f0.15X-Xf0.25a-f0Y-Yf0.75m-Xf0.5-Yf-1-Zf0m-Xf-0.05-Yf0-Zf0im--Xf0/*f0.1-Yf0f0.35Y_a-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175aa-f0.51X-Xf0.61a-f0Y-Yf0.35m-Xf1.18-Yf-1-Zf0iiaa-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175iaa-f0.25X-Xf1a-f0Y-Yf0.275aa-f0X-Xf1a-f0.275Y-Yf1aa-f0X-Xf0.1a-f0Y-Yf1aa-f0.1X-Xf0.25a-f0Y-Yf0.1m-Xf1.805-Yf-1-Zf0im/Xf0.7Y_aa-r+q-Xf0.55qYf0.55nm+f0.55/-Xf0.55f0.8Y_-r+q-Xf0.55qYf0.45aa-f0X-Xf0.55a-f0Y-Yf0.55aa-f0X-Xf0.1a-f0Y-Yf0.55m-Xf2.29-Yf-1-Zf0iaa-f0.025X-Xf0.125a-f0Y-Yf0.55-r+q-Xf0.075q-Yf0.7f0.075m-Xf2.54-Yf-1-Zf0aa-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175nni-*f0.275-Xf0.275*f0.275-Yf0.275i-*f-0.55-Xf0.55*f0-Yf0.55-*f0.275-Xf0.55*f-0.275-Yf0m-Xf3.12-Yf-1-Zf0m-Xf-0.05-Yf0-Zf0im--Xf0/*f0.1-Yf0f0.35Y_a-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175aa-f0.51X-Xf0.61a-f0Y-Yf0.35m-Xf3.8-Yf-1-Zf0iiaa-r+q-Xf0.4q-Yf0.25f0.25n-r+q-Xf0.4q-Yf0.25f0.15aa-f0X-Xf0.4a-f0Y-Yf0.25aa-f0X-Xf0.4a-f0.55Y-Yf0.65aa-f0.15X-Xf0.25a-f0.25Y-Yf1m-Xf4.3-Yf-1-Zf0aiaa-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175nni-*f0-Xf0.1*f0.65-Yf0.275i-*f-0.275-Xf0.75*f-0.15-Yf0.275-*f0.275-Xf0.6*f-0.5-Yf0aa-f0.05X-Xf0.55a-f0.225Y-Yf0.315-r+q-Xf0.275q-Yf0.275f0.275m_nr+qYqZ_m-Xf0-Yf-0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0iiiiiiiim-Xf0-Yf-1-Zf0iiaa-r+q-Xf0.4q-Yf0.75f0.25n-r+q-Xf0.4q-Yf0.75f0.15aa-f0X-Xf0.4a-f0.75Y-Yf1aa-f0X-Xf0.4a-f0.45Y-Yf0.55aa-f0.15X-Xf0.25a-f0Y-Yf0.75m-Xf0.5-Yf-1-Zf0m-Xf-0.05-Yf0-Zf0im--Xf0/*f0.1-Yf0f0.35Y_a-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175aa-f0.51X-Xf0.61a-f0Y-Yf0.35m-Xf1.18-Yf-1-Zf0iiaa-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175iaa-f0.25X-Xf1a-f0Y-Yf0.275aa-f0X-Xf1a-f0.275Y-Yf1aa-f0X-Xf0.1a-f0Y-Yf1aa-f0.1X-Xf0.25a-f0Y-Yf0.1m-Xf1.805-Yf-1-Zf0im/Xf0.7Y_aa-r+q-Xf0.55qYf0.55nm+f0.55/-Xf0.55f0.8Y_-r+q-Xf0.55qYf0.45aa-f0X-Xf0.55a-f0Y-Yf0.55aa-f0X-Xf0.1a-f0Y-Yf0.55m-Xf2.29-Yf-1-Zf0iaa-f0.025X-Xf0.125a-f0Y-Yf0.55-r+q-Xf0.075q-Yf0.7f0.075m-Xf2.54-Yf-1-Zf0aa-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175nni-*f0.275-Xf0.275*f0.275-Yf0.275i-*f-0.55-Xf0.55*f0-Yf0.55-*f0.275-Xf0.55*f-0.275-Yf0m-Xf3.12-Yf-1-Zf0m-Xf-0.05-Yf0-Zf0im--Xf0/*f0.1-Yf0f0.35Y_a-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175aa-f0.51X-Xf0.61a-f0Y-Yf0.35m-Xf3.8-Yf-1-Zf0iiaa-r+q-Xf0.4q-Yf0.25f0.25n-r+q-Xf0.4q-Yf0.25f0.15aa-f0X-Xf0.4a-f0Y-Yf0.25aa-f0X-Xf0.4a-f0.55Y-Yf0.65aa-f0.15X-Xf0.25a-f0.25Y-Yf1m-Xf4.3-Yf-1-Zf0aiaa-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175nni-*f0-Xf0.1*f0.65-Yf0.275i-*f-0.275-Xf0.75*f-0.15-Yf0.275-*f0.275-Xf0.6*f-0.5-Yf0aa-f0.05X-Xf0.55a-f0.225Y-Yf0.315-r+q-Xf0.275q-Yf0.275f0.275nm-Xf0-Yf0-Zf0m+*f6.12323e-17X*f-1ZY+*f1X*f6.12323e-17Zm-Xf-0-Yf0-Zf-0m-Xf0-Yf0-Zf0m+*f-0.707107X*f-0.707107Y+*f0.707107X*f-0.707107Y_m-Xf-0-Yf-0-Zf0m-Xf0-Yf0-Zf0mXY/Zf4m+*Xc+*f1.5708Z*f0-f1Z*Ys+*f1.5708Z*f0-f1Z+n*Xs+*f1.5708Z*f0-f1Z*Yc+*f1.5708Z*f0-f1Z_mXY/Zf0.25m-Xf-0-Yf-0-Zf-0am__f1ni-*f-2-Xf0*f2-Yf0i-*f0-Xf2*f-4-Yf-2-*f2-Xf-2*f2-Yf-2a-f0Z-Zf5.6',float('0.000000'),float('-1.000000'),float('-1.000000'),float('4.850000'),float('1.000000'),float('1.000000'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 8199.6630560082012, 819.55745516646755 ], "name": "d5", "script": [ "import fab.types", "", "title('Difference')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a & ~b)", "" ], "uid": 134 }, { "datums": [ { "expr": "\u0011[__134.__2]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "0", "name": "x0", "type": "float", "uid": 1 }, { "expr": "0", "name": "y0", "type": "float", "uid": 2 }, { "expr": "var.dx * 10", "name": "x1", "type": "float", "uid": 3 }, { "expr": "var.dx * 3", "name": "y1", "type": "float", "uid": 4 }, { "expr": "\u0012fab.types.Shape('m-Xf30-Yf9-Zf0am-Xf0-Yf0-Zf0im_r+qYqZ_m-Xf0-Yf-0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0iiiiiiiim-Xf0-Yf-1-Zf0iiaa-r+q-Xf0.4q-Yf0.75f0.25n-r+q-Xf0.4q-Yf0.75f0.15aa-f0X-Xf0.4a-f0.75Y-Yf1aa-f0X-Xf0.4a-f0.45Y-Yf0.55aa-f0.15X-Xf0.25a-f0Y-Yf0.75m-Xf0.5-Yf-1-Zf0m-Xf-0.05-Yf0-Zf0im--Xf0/*f0.1-Yf0f0.35Y_a-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175aa-f0.51X-Xf0.61a-f0Y-Yf0.35m-Xf1.18-Yf-1-Zf0iiaa-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175iaa-f0.25X-Xf1a-f0Y-Yf0.275aa-f0X-Xf1a-f0.275Y-Yf1aa-f0X-Xf0.1a-f0Y-Yf1aa-f0.1X-Xf0.25a-f0Y-Yf0.1m-Xf1.805-Yf-1-Zf0im/Xf0.7Y_aa-r+q-Xf0.55qYf0.55nm+f0.55/-Xf0.55f0.8Y_-r+q-Xf0.55qYf0.45aa-f0X-Xf0.55a-f0Y-Yf0.55aa-f0X-Xf0.1a-f0Y-Yf0.55m-Xf2.29-Yf-1-Zf0iaa-f0.025X-Xf0.125a-f0Y-Yf0.55-r+q-Xf0.075q-Yf0.7f0.075m-Xf2.54-Yf-1-Zf0aa-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175nni-*f0.275-Xf0.275*f0.275-Yf0.275i-*f-0.55-Xf0.55*f0-Yf0.55-*f0.275-Xf0.55*f-0.275-Yf0m-Xf3.12-Yf-1-Zf0m-Xf-0.05-Yf0-Zf0im--Xf0/*f0.1-Yf0f0.35Y_a-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175aa-f0.51X-Xf0.61a-f0Y-Yf0.35m-Xf3.8-Yf-1-Zf0iiaa-r+q-Xf0.4q-Yf0.25f0.25n-r+q-Xf0.4q-Yf0.25f0.15aa-f0X-Xf0.4a-f0Y-Yf0.25aa-f0X-Xf0.4a-f0.55Y-Yf0.65aa-f0.15X-Xf0.25a-f0.25Y-Yf1m-Xf4.3-Yf-1-Zf0aiaa-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175nni-*f0-Xf0.1*f0.65-Yf0.275i-*f-0.275-Xf0.75*f-0.15-Yf0.275-*f0.275-Xf0.6*f-0.5-Yf0aa-f0.05X-Xf0.55a-f0.225Y-Yf0.315-r+q-Xf0.275q-Yf0.275f0.275m_nr+qYqZ_m-Xf0-Yf-0-Zf0m-Xf0-Yf0-Zf0m-Xf0-Yf1-Zf0iiiiiiiim-Xf0-Yf-1-Zf0iiaa-r+q-Xf0.4q-Yf0.75f0.25n-r+q-Xf0.4q-Yf0.75f0.15aa-f0X-Xf0.4a-f0.75Y-Yf1aa-f0X-Xf0.4a-f0.45Y-Yf0.55aa-f0.15X-Xf0.25a-f0Y-Yf0.75m-Xf0.5-Yf-1-Zf0m-Xf-0.05-Yf0-Zf0im--Xf0/*f0.1-Yf0f0.35Y_a-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175aa-f0.51X-Xf0.61a-f0Y-Yf0.35m-Xf1.18-Yf-1-Zf0iiaa-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175iaa-f0.25X-Xf1a-f0Y-Yf0.275aa-f0X-Xf1a-f0.275Y-Yf1aa-f0X-Xf0.1a-f0Y-Yf1aa-f0.1X-Xf0.25a-f0Y-Yf0.1m-Xf1.805-Yf-1-Zf0im/Xf0.7Y_aa-r+q-Xf0.55qYf0.55nm+f0.55/-Xf0.55f0.8Y_-r+q-Xf0.55qYf0.45aa-f0X-Xf0.55a-f0Y-Yf0.55aa-f0X-Xf0.1a-f0Y-Yf0.55m-Xf2.29-Yf-1-Zf0iaa-f0.025X-Xf0.125a-f0Y-Yf0.55-r+q-Xf0.075q-Yf0.7f0.075m-Xf2.54-Yf-1-Zf0aa-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175nni-*f0.275-Xf0.275*f0.275-Yf0.275i-*f-0.55-Xf0.55*f0-Yf0.55-*f0.275-Xf0.55*f-0.275-Yf0m-Xf3.12-Yf-1-Zf0m-Xf-0.05-Yf0-Zf0im--Xf0/*f0.1-Yf0f0.35Y_a-r+q-Xf0.25q-Yf0.275f0.275n-r+q-Xf0.25q-Yf0.275f0.175aa-f0.51X-Xf0.61a-f0Y-Yf0.35m-Xf3.8-Yf-1-Zf0iiaa-r+q-Xf0.4q-Yf0.25f0.25n-r+q-Xf0.4q-Yf0.25f0.15aa-f0X-Xf0.4a-f0Y-Yf0.25aa-f0X-Xf0.4a-f0.55Y-Yf0.65aa-f0.15X-Xf0.25a-f0.25Y-Yf1m-Xf4.3-Yf-1-Zf0aiaa-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175nni-*f0-Xf0.1*f0.65-Yf0.275i-*f-0.275-Xf0.75*f-0.15-Yf0.275-*f0.275-Xf0.6*f-0.5-Yf0aa-f0.05X-Xf0.55a-f0.225Y-Yf0.315-r+q-Xf0.275q-Yf0.275f0.275nm-Xf0-Yf0-Zf0m+*f6.12323e-17X*f-1ZY+*f1X*f6.12323e-17Zm-Xf-0-Yf0-Zf-0m-Xf0-Yf0-Zf0m+*f-0.707107X*f-0.707107Y+*f0.707107X*f-0.707107Y_m-Xf-0-Yf-0-Zf0m-Xf0-Yf0-Zf0mXY/Zf4m+*Xc+*f1.5708Z*f0-f1Z*Ys+*f1.5708Z*f0-f1Z+n*Xs+*f1.5708Z*f0-f1Z*Yc+*f1.5708Z*f0-f1Z_mXY/Zf0.25m-Xf-0-Yf-0-Zf-0am__f1ni-*f-2-Xf0*f2-Yf0i-*f0-Xf2*f-4-Yf-2-*f2-Xf-2*f2-Yf-2a-f0Z-Zf5.6',float('30.000000'),float('8.000000'),float('-1.000000'),float('34.849998'),float('10.000000'),float('1.000000'))", "name": "out", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 8520.6612448818159, 783.76779279466371 ], "name": "s35", "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))", "", "# UI", "sb.ui.wireframe([(x0, y0, 0), (x1, y1, 0)], color=sb.color.green)", "sb.ui.point(x0, y0, color=sb.color.green)", "sb.ui.point(x1, y1, color=sb.color.green)", "", "" ], "uid": 135 }, { "datums": [ { "expr": "0.0", "name": "x", "type": "float", "uid": 0 }, { "expr": "0.0", "name": "y", "type": "float", "uid": 1 }, { "expr": "0.0", "name": "_z", "type": "float", "uid": 2 }, { "expr": "225", "name": "a", "type": "float", "uid": 3 }, { "expr": "\u0011[__131.__7]", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf0-Zf0m+*f-0.707107X*f-0.707107Y+*f0.707107X*f-0.707107Y_m-Xf-0-Yf-0-Zf0m-Xf0-Yf0-Zf0mXY/Zf4m+*Xc+*f1.5708Z*f0-f1Z*Ys+*f1.5708Z*f0-f1Z+n*Xs+*f1.5708Z*f0-f1Z*Yc+*f1.5708Z*f0-f1Z_mXY/Zf0.25m-Xf-0-Yf-0-Zf-0am__f1ni-*f-2-Xf0*f2-Yf0i-*f0-Xf2*f-4-Yf-2-*f2-Xf-2*f2-Yf-2a-f0Z-Zf5.6',float('-5.656856'),float('-5.656856'),float('0.000000'),float('5.656856'),float('5.656856'),float('5.600000'))", "name": "rotated", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 7902.726413273409, 1030.3401766159043 ], "name": "r5", "script": [ "import fab", "import math", "", "title('Rotate (Z)')", "", "input('x', float)", "input('y', float)", "input('_z', float)", "input('a', float)", "", "input('shape', fab.types.Shape)", "output('rotated', fab.shapes.rotate_z(shape, a, x, y))", "", "# UI", "rad = math.radians(a)", "sb.ui.wireframe([(x + math.cos(rad), y + math.sin(rad), _z),", " (x, y, _z),", " (x + 1, y, _z)], color=sb.color.teal)", "", "# Draw a semi-circular arc showing the rotation", "if int(a) % 360 != 0:", " sb.ui.wireframe([", " (x + math.cos(math.radians(a_)) * 0.3,", " y + math.sin(math.radians(a_)) * 0.3, _z)", " for a_ in range(int(a) % 360)], color=sb.color.teal)", "", "sb.ui.point(x, y, _z, color=sb.color.teal)", "", "def drag_pt(this, x, y, z):", " this.a = math.degrees(math.atan2(y - this.y, x - this.x))", "sb.ui.point(x + math.cos(rad), y + math.sin(rad), _z,", " color=sb.color.teal, drag=drag_pt, relative=False)", "", "" ], "uid": 136 } ], "protocol": 6, "type": "sb" }