{ "nodes": [ { "datums": [ { "expr": "1.625", "name": "r", "subdatum": [ -401, -470 ], "type": "float", "uid": 0 }, { "expr": "13", "name": "nTeeth", "subdatum": [ -400.46614198105999, -429.5338580189399 ], "type": "int", "uid": 1 }, { "expr": "var.wTeeth", "name": "wTeeth", "subdatum": [ -402, -386 ], "type": "float", "uid": 2 }, { "expr": "var.hTeeth", "name": "hTeeth", "subdatum": [ -402, -346 ], "type": "float", "uid": 3 }, { "expr": "var.wBeam", "name": "wBeam", "subdatum": [ -403, -307 ], "type": "float", "uid": 4 }, { "expr": "var.dAxle", "name": "dAxle", "subdatum": [ -402, -268 ], "type": "float", "uid": 5 }, { "expr": "var.kerf", "name": "kerf", "subdatum": [ -403, -229 ], "type": "float", "uid": 6 }, { "expr": "\u0013[__16.__3]", "name": "gear", "subdatum": [ 1320.8383871349215, -9.4493373291903708 ], "type": "_fabtypes.Shape", "uid": 7 } ], "inspector": [ -70.307377212308438, -457.48112831872533 ], "name": "gear13", "subgraph": [ { "datums": [ { "expr": "\u0011[__parent.__0]", "name": "rGear", "type": "float", "uid": 8 }, { "expr": "\u0011[__parent.__3]", "name": "hTeeth", "type": "float", "uid": 9 }, { "expr": "\u0011[__parent.__4]", "name": "wBeam", "type": "float", "uid": 2 }, { "expr": "\u0011[__parent.__5]", "name": "dAxle", "type": "float", "uid": 5 }, { "expr": "\u0011[__parent.__6]", "name": "kerf", "type": "float", "uid": 10 }, { "expr": "0", "name": "_a", "type": "float", "uid": 3 }, { "expr": "\u0012fab.types.Shape('-r+qXqYf1.15',float('-1.150000'),float('-1.150000'),float('-inf'),float('1.150000'),float('1.150000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 9, -477 ], "name": "outer", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 6/11/18", "", "import fab", "import math", "", "title('Circle (center)')", "", "input('rGear',float)", "input('hTeeth', float)", "input('wBeam', float)", "input('dAxle', float)", "input('kerf', float)", "input('_a',float)", "", "x0 = 0", "y0 = 0", "r = rGear - hTeeth/2 + kerf/2", "", "output('shape', fab.shapes.circle(x0, y0, r))", "", "def drag_r(this,x,y,z):", " dx = x - this.x0", " dy = y - this.y0", " this.r = math.sqrt(dx**2 + dy**2)", " this._a = math.atan2(dy, dx)", "", "# UI", "sb.ui.wireframe([", " (math.cos(i/36. * 2*math.pi) * r + x0,", " math.sin(i/36. * 2*math.pi) * r + y0, 0)", " for i in range(36)], close=True)", "sb.ui.point(x0,y0)", "sb.ui.point(x0 + r*math.cos(_a),", " y0 + r*math.sin(_a),", " drag=drag_r, relative=False)", "", "" ], "uid": 0 }, { "datums": [ { "expr": "\u0011[__0.__8]", "name": "rGear", "type": "float", "uid": 8 }, { "expr": "\u0011[__0.__9]", "name": "hTeeth", "type": "float", "uid": 9 }, { "expr": "\u0011[__0.__2]", "name": "wBeam", "type": "float", "uid": 2 }, { "expr": "\u0011[__0.__5]", "name": "dAxle", "type": "float", "uid": 5 }, { "expr": "\u0011[__0.__10]", "name": "kerf", "type": "float", "uid": 10 }, { "expr": "0", "name": "_a", "type": "float", "uid": 3 }, { "expr": "\u0012fab.types.Shape('-r+qXqYf0.5',float('-0.500000'),float('-0.500000'),float('-inf'),float('0.500000'),float('0.500000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 921.07461668293922, -476.00000000000006 ], "name": "SupportIn0", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 6/11/18", "", "import fab", "import math", "", "title('Circle (center)')", "", "input('rGear',float)", "input('hTeeth', float)", "input('wBeam', float)", "input('dAxle', float)", "input('kerf', float)", "input('_a',float)", "", "x0 = 0", "y0 = 0", "r = dAxle/2 - kerf/2", "", "output('shape', fab.shapes.circle(x0, y0, r))", "", "def drag_r(this,x,y,z):", " dx = x - this.x0", " dy = y - this.y0", " this.r = math.sqrt(dx**2 + dy**2)", " this._a = math.atan2(dy, dx)", "", "# UI", "sb.ui.wireframe([", " (math.cos(i/36. * 2*math.pi) * r + x0,", " math.sin(i/36. * 2*math.pi) * r + y0, 0)", " for i in range(36)], close=True)", "sb.ui.point(x0,y0)", "sb.ui.point(x0 + r*math.cos(_a),", " y0 + r*math.sin(_a),", " drag=drag_r, relative=False)", "", "" ], "uid": 4 }, { "datums": [ { "expr": "\u0011[__0.__4]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__4.__4]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('a-r+qXqYf1.15n-r+qXqYf0.5',float('-1.150000'),float('-1.150000'),float('-inf'),float('1.150000'),float('1.150000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 1095.46614198106, -264.15117264395565 ], "name": "d1", "script": [ "import fab.types", "", "title('Difference')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a & ~b)", "" ], "uid": 13 }, { "datums": [ { "expr": "\u0011[__parent.__0]", "name": "rGear", "type": "float", "uid": 9 }, { "expr": "\u0011[__parent.__2]", "name": "wTeeth", "type": "float", "uid": 15 }, { "expr": "\u0011[__parent.__3]", "name": "hTeeth", "type": "float", "uid": 17 }, { "expr": "\u0011[__parent.__6]", "name": "kerf", "type": "float", "uid": 18 }, { "expr": "0.5", "name": "r", "type": "float", "uid": 4 }, { "expr": "\u0012fab.types.Shape('iiiiiaa-f-0.25X-Xf0.25a-f1.025Y-Yf2.225aa-f-0.125X-Xf0.125a-f0.9Y-Yf2.35-r+q-Xf-0.125q-Yf1.025f0.125-r+q-Xf-0.125q-Yf2.225f0.125-r+q-Xf0.125q-Yf1.025f0.125-r+q-Xf0.125q-Yf2.225f0.125',float('-0.250000'),float('0.900000'),float('-inf'),float('0.250000'),float('2.350000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 26.262219149669534, -33.991065632228356 ], "name": "teeth", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 6/11/15", "", "import fab", "", "title('Rounded rectangle (center)')", "", "input('rGear', float)", "input('wTeeth', float)", "input('hTeeth', float)", "input('kerf', float)", "input('r', float)", "", "x = 0", "y = rGear", "width = wTeeth + kerf", "height = hTeeth + kerf", "", "xmin, xmax = x - width/2, x + width/2", "ymin, ymax = y - height/2, y + height/2", "", "# This is the circle's radius in actual units (not a 0-1 fraction)", "r_ = r * min(width, height)/2", "", "output('shape', fab.shapes.rounded_rectangle(xmin, xmax, ymin, ymax, r))", "", "def drag_r(this, x, y, z):", " if abs(this.width) < abs(this.height):", " d = abs(this.width)", " mid = this.y + this.height/2 - d/2", " else:", " d = abs(this.width)", " mid = this.y", " r = 1 - (y - mid) / (d/2)", " this.r = float(min(1, max(0, r)))", "", "def drag_hw(this, x, y, z):", " this.height = abs(2 * (y - this.y))", " this.width = abs(2 * (x - this.x))", "", "# UI", "sb.ui.wireframe(", " [(xmin, ymin, 0), (xmax, ymin, 0), (xmax, ymax, 0), (xmin, ymax, 0)],", " close=True)", "sb.ui.wireframe([(xmax - r_, ymax, 0), (xmax, ymax - r_, 0)])", "sb.ui.point(x, y)", "sb.ui.point(xmax, ymax, drag=drag_hw, relative=False)", "sb.ui.point(xmax, ymax - r_, drag=drag_r, relative=False)", "", "" ], "uid": 14 }, { "datums": [ { "expr": "\u0011[__14.__5]", "name": "shape", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__parent.__1]", "name": "n", "type": "int", "uid": 3 }, { "expr": "\u0012fab.types.Shape('iiiiiiiiiiiim-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.025Y-Yf2.225aa-f-0.125X-Xf0.125a-f0.9Y-Yf2.35-r+q-Xf-0.125q-Yf1.025f0.125-r+q-Xf-0.125q-Yf2.225f0.125-r+q-Xf0.125q-Yf1.025f0.125-r+q-Xf0.125q-Yf2.225f0.125m-Xf0-Yf0-Zf0m+*f0.885456X*f0.464723Y+*f-0.464723X*f0.885456Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.025Y-Yf2.225aa-f-0.125X-Xf0.125a-f0.9Y-Yf2.35-r+q-Xf-0.125q-Yf1.025f0.125-r+q-Xf-0.125q-Yf2.225f0.125-r+q-Xf0.125q-Yf1.025f0.125-r+q-Xf0.125q-Yf2.225f0.125m-Xf0-Yf0-Zf0m+*f0.568065X*f0.822984Y+*f-0.822984X*f0.568065Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.025Y-Yf2.225aa-f-0.125X-Xf0.125a-f0.9Y-Yf2.35-r+q-Xf-0.125q-Yf1.025f0.125-r+q-Xf-0.125q-Yf2.225f0.125-r+q-Xf0.125q-Yf1.025f0.125-r+q-Xf0.125q-Yf2.225f0.125m-Xf0-Yf0-Zf0m+*f0.120537X*f0.992709Y+*f-0.992709X*f0.120537Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.025Y-Yf2.225aa-f-0.125X-Xf0.125a-f0.9Y-Yf2.35-r+q-Xf-0.125q-Yf1.025f0.125-r+q-Xf-0.125q-Yf2.225f0.125-r+q-Xf0.125q-Yf1.025f0.125-r+q-Xf0.125q-Yf2.225f0.125m-Xf0-Yf0-Zf0m+*f-0.354605X*f0.935016Y+*f-0.935016X*f-0.354605Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.025Y-Yf2.225aa-f-0.125X-Xf0.125a-f0.9Y-Yf2.35-r+q-Xf-0.125q-Yf1.025f0.125-r+q-Xf-0.125q-Yf2.225f0.125-r+q-Xf0.125q-Yf1.025f0.125-r+q-Xf0.125q-Yf2.225f0.125m-Xf0-Yf0-Zf0m+*f-0.748511X*f0.663123Y+*f-0.663123X*f-0.748511Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.025Y-Yf2.225aa-f-0.125X-Xf0.125a-f0.9Y-Yf2.35-r+q-Xf-0.125q-Yf1.025f0.125-r+q-Xf-0.125q-Yf2.225f0.125-r+q-Xf0.125q-Yf1.025f0.125-r+q-Xf0.125q-Yf2.225f0.125m-Xf0-Yf0-Zf0m+*f-0.970942X*f0.239316Y+*f-0.239316X*f-0.970942Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.025Y-Yf2.225aa-f-0.125X-Xf0.125a-f0.9Y-Yf2.35-r+q-Xf-0.125q-Yf1.025f0.125-r+q-Xf-0.125q-Yf2.225f0.125-r+q-Xf0.125q-Yf1.025f0.125-r+q-Xf0.125q-Yf2.225f0.125m-Xf0-Yf0-Zf0m+*f-0.970942X*f-0.239316Y+*f0.239316X*f-0.970942Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.025Y-Yf2.225aa-f-0.125X-Xf0.125a-f0.9Y-Yf2.35-r+q-Xf-0.125q-Yf1.025f0.125-r+q-Xf-0.125q-Yf2.225f0.125-r+q-Xf0.125q-Yf1.025f0.125-r+q-Xf0.125q-Yf2.225f0.125m-Xf0-Yf0-Zf0m+*f-0.748511X*f-0.663123Y+*f0.663123X*f-0.748511Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.025Y-Yf2.225aa-f-0.125X-Xf0.125a-f0.9Y-Yf2.35-r+q-Xf-0.125q-Yf1.025f0.125-r+q-Xf-0.125q-Yf2.225f0.125-r+q-Xf0.125q-Yf1.025f0.125-r+q-Xf0.125q-Yf2.225f0.125m-Xf0-Yf0-Zf0m+*f-0.354605X*f-0.935016Y+*f0.935016X*f-0.354605Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.025Y-Yf2.225aa-f-0.125X-Xf0.125a-f0.9Y-Yf2.35-r+q-Xf-0.125q-Yf1.025f0.125-r+q-Xf-0.125q-Yf2.225f0.125-r+q-Xf0.125q-Yf1.025f0.125-r+q-Xf0.125q-Yf2.225f0.125m-Xf0-Yf0-Zf0m+*f0.120537X*f-0.992709Y+*f0.992709X*f0.120537Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.025Y-Yf2.225aa-f-0.125X-Xf0.125a-f0.9Y-Yf2.35-r+q-Xf-0.125q-Yf1.025f0.125-r+q-Xf-0.125q-Yf2.225f0.125-r+q-Xf0.125q-Yf1.025f0.125-r+q-Xf0.125q-Yf2.225f0.125m-Xf0-Yf0-Zf0m+*f0.568065X*f-0.822984Y+*f0.822984X*f0.568065Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.025Y-Yf2.225aa-f-0.125X-Xf0.125a-f0.9Y-Yf2.35-r+q-Xf-0.125q-Yf1.025f0.125-r+q-Xf-0.125q-Yf2.225f0.125-r+q-Xf0.125q-Yf1.025f0.125-r+q-Xf0.125q-Yf2.225f0.125m-Xf0-Yf0-Zf0m+*f0.885456X*f-0.464723Y+*f0.464723X*f0.885456Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.025Y-Yf2.225aa-f-0.125X-Xf0.125a-f0.9Y-Yf2.35-r+q-Xf-0.125q-Yf1.025f0.125-r+q-Xf-0.125q-Yf2.225f0.125-r+q-Xf0.125q-Yf1.025f0.125-r+q-Xf0.125q-Yf2.225f0.125',float('-2.363000'),float('-2.341543'),float('-inf'),float('2.363000'),float('2.350000'),float('inf'))", "name": "array", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 345.30468708916288, -24.787917518589211 ], "name": "a0", "script": [ "import fab", "import math", "", "title('Array (polar)')", "", "input('shape', fab.types.Shape)", "input('n', int)", "", "x = 0", "y = 0", "", "output('array', fab.shapes.iterate_polar(shape, x, y, n))", "", "# UI", "sb.ui.wireframe([", " (math.cos(i/36. * 2*math.pi) * 0.3 + x,", " math.sin(i/36. * 2*math.pi) * 0.3 + y, 0)", " for i in range(36)], close=True, color=sb.color.teal)", "", "sb.ui.point(x, y, 0, color=sb.color.teal)", "" ], "uid": 15 }, { "datums": [ { "expr": "\u0011[__13.__2]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__15.__4]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "0.5", "name": "q", "type": "float", "uid": 2 }, { "expr": "\u0012fab.types.Shape('iia-r+qXqYf1.15n-r+qXqYf0.5iiiiiiiiiiiim-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.025Y-Yf2.225aa-f-0.125X-Xf0.125a-f0.9Y-Yf2.35-r+q-Xf-0.125q-Yf1.025f0.125-r+q-Xf-0.125q-Yf2.225f0.125-r+q-Xf0.125q-Yf1.025f0.125-r+q-Xf0.125q-Yf2.225f0.125m-Xf0-Yf0-Zf0m+*f0.885456X*f0.464723Y+*f-0.464723X*f0.885456Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.025Y-Yf2.225aa-f-0.125X-Xf0.125a-f0.9Y-Yf2.35-r+q-Xf-0.125q-Yf1.025f0.125-r+q-Xf-0.125q-Yf2.225f0.125-r+q-Xf0.125q-Yf1.025f0.125-r+q-Xf0.125q-Yf2.225f0.125m-Xf0-Yf0-Zf0m+*f0.568065X*f0.822984Y+*f-0.822984X*f0.568065Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.025Y-Yf2.225aa-f-0.125X-Xf0.125a-f0.9Y-Yf2.35-r+q-Xf-0.125q-Yf1.025f0.125-r+q-Xf-0.125q-Yf2.225f0.125-r+q-Xf0.125q-Yf1.025f0.125-r+q-Xf0.125q-Yf2.225f0.125m-Xf0-Yf0-Zf0m+*f0.120537X*f0.992709Y+*f-0.992709X*f0.120537Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.025Y-Yf2.225aa-f-0.125X-Xf0.125a-f0.9Y-Yf2.35-r+q-Xf-0.125q-Yf1.025f0.125-r+q-Xf-0.125q-Yf2.225f0.125-r+q-Xf0.125q-Yf1.025f0.125-r+q-Xf0.125q-Yf2.225f0.125m-Xf0-Yf0-Zf0m+*f-0.354605X*f0.935016Y+*f-0.935016X*f-0.354605Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.025Y-Yf2.225aa-f-0.125X-Xf0.125a-f0.9Y-Yf2.35-r+q-Xf-0.125q-Yf1.025f0.125-r+q-Xf-0.125q-Yf2.225f0.125-r+q-Xf0.125q-Yf1.025f0.125-r+q-Xf0.125q-Yf2.225f0.125m-Xf0-Yf0-Zf0m+*f-0.748511X*f0.663123Y+*f-0.663123X*f-0.748511Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.025Y-Yf2.225aa-f-0.125X-Xf0.125a-f0.9Y-Yf2.35-r+q-Xf-0.125q-Yf1.025f0.125-r+q-Xf-0.125q-Yf2.225f0.125-r+q-Xf0.125q-Yf1.025f0.125-r+q-Xf0.125q-Yf2.225f0.125m-Xf0-Yf0-Zf0m+*f-0.970942X*f0.239316Y+*f-0.239316X*f-0.970942Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.025Y-Yf2.225aa-f-0.125X-Xf0.125a-f0.9Y-Yf2.35-r+q-Xf-0.125q-Yf1.025f0.125-r+q-Xf-0.125q-Yf2.225f0.125-r+q-Xf0.125q-Yf1.025f0.125-r+q-Xf0.125q-Yf2.225f0.125m-Xf0-Yf0-Zf0m+*f-0.970942X*f-0.239316Y+*f0.239316X*f-0.970942Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.025Y-Yf2.225aa-f-0.125X-Xf0.125a-f0.9Y-Yf2.35-r+q-Xf-0.125q-Yf1.025f0.125-r+q-Xf-0.125q-Yf2.225f0.125-r+q-Xf0.125q-Yf1.025f0.125-r+q-Xf0.125q-Yf2.225f0.125m-Xf0-Yf0-Zf0m+*f-0.748511X*f-0.663123Y+*f0.663123X*f-0.748511Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.025Y-Yf2.225aa-f-0.125X-Xf0.125a-f0.9Y-Yf2.35-r+q-Xf-0.125q-Yf1.025f0.125-r+q-Xf-0.125q-Yf2.225f0.125-r+q-Xf0.125q-Yf1.025f0.125-r+q-Xf0.125q-Yf2.225f0.125m-Xf0-Yf0-Zf0m+*f-0.354605X*f-0.935016Y+*f0.935016X*f-0.354605Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.025Y-Yf2.225aa-f-0.125X-Xf0.125a-f0.9Y-Yf2.35-r+q-Xf-0.125q-Yf1.025f0.125-r+q-Xf-0.125q-Yf2.225f0.125-r+q-Xf0.125q-Yf1.025f0.125-r+q-Xf0.125q-Yf2.225f0.125m-Xf0-Yf0-Zf0m+*f0.120537X*f-0.992709Y+*f0.992709X*f0.120537Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.025Y-Yf2.225aa-f-0.125X-Xf0.125a-f0.9Y-Yf2.35-r+q-Xf-0.125q-Yf1.025f0.125-r+q-Xf-0.125q-Yf2.225f0.125-r+q-Xf0.125q-Yf1.025f0.125-r+q-Xf0.125q-Yf2.225f0.125m-Xf0-Yf0-Zf0m+*f0.568065X*f-0.822984Y+*f0.822984X*f0.568065Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.025Y-Yf2.225aa-f-0.125X-Xf0.125a-f0.9Y-Yf2.35-r+q-Xf-0.125q-Yf1.025f0.125-r+q-Xf-0.125q-Yf2.225f0.125-r+q-Xf0.125q-Yf1.025f0.125-r+q-Xf0.125q-Yf2.225f0.125m-Xf0-Yf0-Zf0m+*f0.885456X*f-0.464723Y+*f0.464723X*f0.885456Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.025Y-Yf2.225aa-f-0.125X-Xf0.125a-f0.9Y-Yf2.35-r+q-Xf-0.125q-Yf1.025f0.125-r+q-Xf-0.125q-Yf2.225f0.125-r+q-Xf0.125q-Yf1.025f0.125-r+q-Xf0.125q-Yf2.225f0.125-+rba-r+qXqYf1.15n-r+qXqYf0.5rbiiiiiiiiiiiim-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.025Y-Yf2.225aa-f-0.125X-Xf0.125a-f0.9Y-Yf2.35-r+q-Xf-0.125q-Yf1.025f0.125-r+q-Xf-0.125q-Yf2.225f0.125-r+q-Xf0.125q-Yf1.025f0.125-r+q-Xf0.125q-Yf2.225f0.125m-Xf0-Yf0-Zf0m+*f0.885456X*f0.464723Y+*f-0.464723X*f0.885456Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.025Y-Yf2.225aa-f-0.125X-Xf0.125a-f0.9Y-Yf2.35-r+q-Xf-0.125q-Yf1.025f0.125-r+q-Xf-0.125q-Yf2.225f0.125-r+q-Xf0.125q-Yf1.025f0.125-r+q-Xf0.125q-Yf2.225f0.125m-Xf0-Yf0-Zf0m+*f0.568065X*f0.822984Y+*f-0.822984X*f0.568065Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.025Y-Yf2.225aa-f-0.125X-Xf0.125a-f0.9Y-Yf2.35-r+q-Xf-0.125q-Yf1.025f0.125-r+q-Xf-0.125q-Yf2.225f0.125-r+q-Xf0.125q-Yf1.025f0.125-r+q-Xf0.125q-Yf2.225f0.125m-Xf0-Yf0-Zf0m+*f0.120537X*f0.992709Y+*f-0.992709X*f0.120537Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.025Y-Yf2.225aa-f-0.125X-Xf0.125a-f0.9Y-Yf2.35-r+q-Xf-0.125q-Yf1.025f0.125-r+q-Xf-0.125q-Yf2.225f0.125-r+q-Xf0.125q-Yf1.025f0.125-r+q-Xf0.125q-Yf2.225f0.125m-Xf0-Yf0-Zf0m+*f-0.354605X*f0.935016Y+*f-0.935016X*f-0.354605Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.025Y-Yf2.225aa-f-0.125X-Xf0.125a-f0.9Y-Yf2.35-r+q-Xf-0.125q-Yf1.025f0.125-r+q-Xf-0.125q-Yf2.225f0.125-r+q-Xf0.125q-Yf1.025f0.125-r+q-Xf0.125q-Yf2.225f0.125m-Xf0-Yf0-Zf0m+*f-0.748511X*f0.663123Y+*f-0.663123X*f-0.748511Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.025Y-Yf2.225aa-f-0.125X-Xf0.125a-f0.9Y-Yf2.35-r+q-Xf-0.125q-Yf1.025f0.125-r+q-Xf-0.125q-Yf2.225f0.125-r+q-Xf0.125q-Yf1.025f0.125-r+q-Xf0.125q-Yf2.225f0.125m-Xf0-Yf0-Zf0m+*f-0.970942X*f0.239316Y+*f-0.239316X*f-0.970942Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.025Y-Yf2.225aa-f-0.125X-Xf0.125a-f0.9Y-Yf2.35-r+q-Xf-0.125q-Yf1.025f0.125-r+q-Xf-0.125q-Yf2.225f0.125-r+q-Xf0.125q-Yf1.025f0.125-r+q-Xf0.125q-Yf2.225f0.125m-Xf0-Yf0-Zf0m+*f-0.970942X*f-0.239316Y+*f0.239316X*f-0.970942Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.025Y-Yf2.225aa-f-0.125X-Xf0.125a-f0.9Y-Yf2.35-r+q-Xf-0.125q-Yf1.025f0.125-r+q-Xf-0.125q-Yf2.225f0.125-r+q-Xf0.125q-Yf1.025f0.125-r+q-Xf0.125q-Yf2.225f0.125m-Xf0-Yf0-Zf0m+*f-0.748511X*f-0.663123Y+*f0.663123X*f-0.748511Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.025Y-Yf2.225aa-f-0.125X-Xf0.125a-f0.9Y-Yf2.35-r+q-Xf-0.125q-Yf1.025f0.125-r+q-Xf-0.125q-Yf2.225f0.125-r+q-Xf0.125q-Yf1.025f0.125-r+q-Xf0.125q-Yf2.225f0.125m-Xf0-Yf0-Zf0m+*f-0.354605X*f-0.935016Y+*f0.935016X*f-0.354605Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.025Y-Yf2.225aa-f-0.125X-Xf0.125a-f0.9Y-Yf2.35-r+q-Xf-0.125q-Yf1.025f0.125-r+q-Xf-0.125q-Yf2.225f0.125-r+q-Xf0.125q-Yf1.025f0.125-r+q-Xf0.125q-Yf2.225f0.125m-Xf0-Yf0-Zf0m+*f0.120537X*f-0.992709Y+*f0.992709X*f0.120537Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.025Y-Yf2.225aa-f-0.125X-Xf0.125a-f0.9Y-Yf2.35-r+q-Xf-0.125q-Yf1.025f0.125-r+q-Xf-0.125q-Yf2.225f0.125-r+q-Xf0.125q-Yf1.025f0.125-r+q-Xf0.125q-Yf2.225f0.125m-Xf0-Yf0-Zf0m+*f0.568065X*f-0.822984Y+*f0.822984X*f0.568065Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.025Y-Yf2.225aa-f-0.125X-Xf0.125a-f0.9Y-Yf2.35-r+q-Xf-0.125q-Yf1.025f0.125-r+q-Xf-0.125q-Yf2.225f0.125-r+q-Xf0.125q-Yf1.025f0.125-r+q-Xf0.125q-Yf2.225f0.125m-Xf0-Yf0-Zf0m+*f0.885456X*f-0.464723Y+*f0.464723X*f0.885456Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.025Y-Yf2.225aa-f-0.125X-Xf0.125a-f0.9Y-Yf2.35-r+q-Xf-0.125q-Yf1.025f0.125-r+q-Xf-0.125q-Yf2.225f0.125-r+q-Xf0.125q-Yf1.025f0.125-r+q-Xf0.125q-Yf2.225f0.125f0.5',float('-2.363000'),float('-2.341543'),float('-inf'),float('2.363000'),float('2.350000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 3 } ], "inspector": [ 1014.0667833469471, -119.88711469286116 ], "name": "b2", "script": [ "import fab.types", "import fab.shapes", "", "title('Blend')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "input('q', float)", "", "output('shape', fab.shapes.blend(a, b, q))", "" ], "uid": 16 } ], "uid": 0 }, { "datums": [ { "expr": "0.25", "name": "wTeeth", "type": "float", "uid": 1 }, { "expr": "1.2", "name": "hTeeth", "type": "float", "uid": 2 }, { "expr": "1", "name": "wBeam", "type": "float", "uid": 3 }, { "expr": "1.25", "name": "dAxle", "type": "float", "uid": 4 }, { "expr": "1.5", "name": "wPend", "type": "float", "uid": 7 }, { "expr": "39.118893", "name": "lPend", "type": "float", "uid": 5 }, { "expr": "4", "name": "rPend", "type": "float", "uid": 6 }, { "expr": "11.25", "name": "d", "type": "float", "uid": 8 }, { "expr": "var.d*math.sqrt(32)", "name": "h", "type": "float", "uid": 9 }, { "expr": "8", "name": "rFace", "type": "float", "uid": 10 }, { "expr": "0.25", "name": "kerf", "type": "float", "uid": 0 } ], "inspector": [ -375.24912649787785, -465.06939613832736 ], "name": "var", "script": [ "import fab", "", "title('script')", "input('wTeeth', float)", "input('hTeeth', float)", "input('wBeam', float)", "input('dAxle', float)", "input('wPend', float)", "input('lPend', float)", "input('rPend', float)", "input('d', float)", "input('h', float)", "input('rFace', float)", "input('kerf', float)" ], "uid": 1 }, { "datums": [ { "expr": "10", "name": "r", "subdatum": [ -401, -470 ], "type": "float", "uid": 0 }, { "expr": "60", "name": "nTeeth", "subdatum": [ -400.46614198105999, -429.5338580189399 ], "type": "int", "uid": 1 }, { "expr": "var.wTeeth/2", "name": "wTeeth", "subdatum": [ -402, -386 ], "type": "float", "uid": 2 }, { "expr": "var.hTeeth*1.5", "name": "hTeeth", "subdatum": [ -402, -346 ], "type": "float", "uid": 3 }, { "expr": "var.wBeam", "name": "wBeam", "subdatum": [ -403, -307 ], "type": "float", "uid": 4 }, { "expr": "var.dAxle", "name": "dAxle", "subdatum": [ -402, -268 ], "type": "float", "uid": 5 }, { "expr": "var.kerf", "name": "kerf", "subdatum": [ -403, -229 ], "type": "float", "uid": 6 }, { "expr": "\u0013[__16.__3]", "name": "gear", "subdatum": [ 1302.2454580799513, 351.25348633723064 ], "type": "_fabtypes.Shape", "uid": 7 } ], "inspector": [ -56.587325727601225, 459.25206186870724 ], "name": "powerGear", "subgraph": [ { "datums": [ { "expr": "\u0011[__parent.__0]", "name": "rGear", "type": "float", "uid": 8 }, { "expr": "\u0011[__parent.__3]", "name": "hTeeth", "type": "float", "uid": 9 }, { "expr": "\u0011[__parent.__4]", "name": "wBeam", "type": "float", "uid": 2 }, { "expr": "\u0011[__parent.__5]", "name": "dAxle", "type": "float", "uid": 5 }, { "expr": "\u0011[__parent.__6]", "name": "kerf", "type": "float", "uid": 10 }, { "expr": "0", "name": "_a", "type": "float", "uid": 3 }, { "expr": "\u0012fab.types.Shape('-r+qXqYf9.225',float('-9.225000'),float('-9.225000'),float('-inf'),float('9.225000'),float('9.225000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 19, -467 ], "name": "outer", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 6/11/18", "", "import fab", "import math", "", "title('Circle (center)')", "", "input('rGear',float)", "input('hTeeth', float)", "input('wBeam', float)", "input('dAxle', float)", "input('kerf', float)", "input('_a',float)", "", "x0 = 0", "y0 = 0", "r = rGear - hTeeth/2 + kerf/2", "", "output('shape', fab.shapes.circle(x0, y0, r))", "", "def drag_r(this,x,y,z):", " dx = x - this.x0", " dy = y - this.y0", " this.r = math.sqrt(dx**2 + dy**2)", " this._a = math.atan2(dy, dx)", "", "# UI", "sb.ui.wireframe([", " (math.cos(i/36. * 2*math.pi) * r + x0,", " math.sin(i/36. * 2*math.pi) * r + y0, 0)", " for i in range(36)], close=True)", "sb.ui.point(x0,y0)", "sb.ui.point(x0 + r*math.cos(_a),", " y0 + r*math.sin(_a),", " drag=drag_r, relative=False)", "", "" ], "uid": 0 }, { "datums": [ { "expr": "\u0011[__parent.__0]", "name": "rGear", "type": "float", "uid": 6 }, { "expr": "\u0011[__parent.__4]", "name": "wBeam", "type": "float", "uid": 5 }, { "expr": "\u0011[__parent.__6]", "name": "kerf", "type": "float", "uid": 7 }, { "expr": "\u0012fab.types.Shape('aa-f-9X-Xf9a-f-0.625Y-Yf0.625',float('-9.000000'),float('-0.625000'),float('-inf'),float('9.000000'),float('0.625000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 15.466141981060218, -48.151172643955647 ], "name": "beam", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 6/11/15", "", "import fab", "", "title('Rectangle (center)')", "", "input('rGear',float)", "input('wBeam', float)", "input('kerf', float)", "", "x0 = 0", "y0 = 0", "height = wBeam + kerf", "width = rGear*2 - wBeam*2", "", "xmin, xmax = x0 - width/2, x0 + width/2", "ymin, ymax = y0 - height/2, y0 + height/2", "", "output('shape', fab.shapes.rectangle(xmin, xmax, ymin, ymax))", "", "def drag_hw(this, x, y, z):", " this.width = abs(2 * (x - this.x0))", " this.height = abs(2 * (y - this.y0))", "", "# UI", "sb.ui.wireframe(", " [(xmin, ymin, 0), (xmax, ymin, 0), (xmax, ymax, 0), (xmin, ymax, 0)],", " close=True)", "sb.ui.point(x0, y0)", "sb.ui.point(xmax, ymax, drag=drag_hw, relative=False)", "" ], "uid": 1 }, { "datums": [ { "expr": "\u0011[__0.__8]", "name": "rGear", "type": "float", "uid": 8 }, { "expr": "\u0011[__0.__9]", "name": "hTeeth", "type": "float", "uid": 9 }, { "expr": "\u0011[__0.__2]", "name": "wBeam", "type": "float", "uid": 2 }, { "expr": "\u0011[__0.__5]", "name": "dAxle", "type": "float", "uid": 5 }, { "expr": "\u0011[__0.__10]", "name": "kerf", "type": "float", "uid": 10 }, { "expr": "0", "name": "_a", "type": "float", "uid": 3 }, { "expr": "\u0012fab.types.Shape('-r+qXqYf8.875',float('-8.875000'),float('-8.875000'),float('-inf'),float('8.875000'),float('8.875000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 317, -467 ], "name": "rimOut", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 6/11/18", "", "import fab", "import math", "", "title('Circle (center)')", "", "input('rGear',float)", "input('hTeeth', float)", "input('wBeam', float)", "input('dAxle', float)", "input('kerf', float)", "input('_a',float)", "", "x0 = 0", "y0 = 0", "r = rGear - wBeam - kerf/2", "", "output('shape', fab.shapes.circle(x0, y0, r))", "", "def drag_r(this,x,y,z):", " dx = x - this.x0", " dy = y - this.y0", " this.r = math.sqrt(dx**2 + dy**2)", " this._a = math.atan2(dy, dx)", "", "# UI", "sb.ui.wireframe([", " (math.cos(i/36. * 2*math.pi) * r + x0,", " math.sin(i/36. * 2*math.pi) * r + y0, 0)", " for i in range(36)], close=True)", "sb.ui.point(x0,y0)", "sb.ui.point(x0 + r*math.cos(_a),", " y0 + r*math.sin(_a),", " drag=drag_r, relative=False)", "", "" ], "uid": 2 }, { "datums": [ { "expr": "\u0011[__2.__8]", "name": "rGear", "type": "float", "uid": 8 }, { "expr": "\u0011[__2.__9]", "name": "hTeeth", "type": "float", "uid": 9 }, { "expr": "\u0011[__2.__2]", "name": "wBeam", "type": "float", "uid": 2 }, { "expr": "\u0011[__2.__5]", "name": "dAxle", "type": "float", "uid": 5 }, { "expr": "\u0011[__2.__10]", "name": "kerf", "type": "float", "uid": 10 }, { "expr": "0", "name": "_a", "type": "float", "uid": 3 }, { "expr": "\u0012fab.types.Shape('-r+qXqYf1.75',float('-1.750000'),float('-1.750000'),float('-inf'),float('1.750000'),float('1.750000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 619, -467 ], "name": "rimIn", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 6/11/18", "", "import fab", "import math", "", "title('Circle (center)')", "", "input('rGear',float)", "input('hTeeth', float)", "input('wBeam', float)", "input('dAxle', float)", "input('kerf', float)", "input('_a',float)", "", "x0 = 0", "y0 = 0", "r = dAxle/2 + wBeam + kerf/2", "", "output('shape', fab.shapes.circle(x0, y0, r))", "", "def drag_r(this,x,y,z):", " dx = x - this.x0", " dy = y - this.y0", " this.r = math.sqrt(dx**2 + dy**2)", " this._a = math.atan2(dy, dx)", "", "# UI", "sb.ui.wireframe([", " (math.cos(i/36. * 2*math.pi) * r + x0,", " math.sin(i/36. * 2*math.pi) * r + y0, 0)", " for i in range(36)], close=True)", "sb.ui.point(x0,y0)", "sb.ui.point(x0 + r*math.cos(_a),", " y0 + r*math.sin(_a),", " drag=drag_r, relative=False)", "", "" ], "uid": 3 }, { "datums": [ { "expr": "\u0011[__3.__8]", "name": "rGear", "type": "float", "uid": 8 }, { "expr": "\u0011[__3.__9]", "name": "hTeeth", "type": "float", "uid": 9 }, { "expr": "\u0011[__3.__2]", "name": "wBeam", "type": "float", "uid": 2 }, { "expr": "\u0011[__3.__5]", "name": "dAxle", "type": "float", "uid": 5 }, { "expr": "\u0011[__3.__10]", "name": "kerf", "type": "float", "uid": 10 }, { "expr": "0", "name": "_a", "type": "float", "uid": 3 }, { "expr": "\u0012fab.types.Shape('-r+qXqYf0.5',float('-0.500000'),float('-0.500000'),float('-inf'),float('0.500000'),float('0.500000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 930, -466 ], "name": "SupportIn0", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 6/11/18", "", "import fab", "import math", "", "title('Circle (center)')", "", "input('rGear',float)", "input('hTeeth', float)", "input('wBeam', float)", "input('dAxle', float)", "input('kerf', float)", "input('_a',float)", "", "x0 = 0", "y0 = 0", "r = dAxle/2 - kerf/2", "", "output('shape', fab.shapes.circle(x0, y0, r))", "", "def drag_r(this,x,y,z):", " dx = x - this.x0", " dy = y - this.y0", " this.r = math.sqrt(dx**2 + dy**2)", " this._a = math.atan2(dy, dx)", "", "# UI", "sb.ui.wireframe([", " (math.cos(i/36. * 2*math.pi) * r + x0,", " math.sin(i/36. * 2*math.pi) * r + y0, 0)", " for i in range(36)], close=True)", "sb.ui.point(x0,y0)", "sb.ui.point(x0 + r*math.cos(_a),", " y0 + r*math.sin(_a),", " drag=drag_r, relative=False)", "", "" ], "uid": 4 }, { "datums": [ { "expr": "0.0", "name": "_z", "type": "float", "uid": 2 }, { "expr": "0", "name": "a", "type": "float", "uid": 3 }, { "expr": "\u0011[__1.__4]", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-9X-Xf9a-f-0.625Y-Yf0.625',float('-9.000000'),float('-0.625000'),float('-inf'),float('9.000000'),float('0.625000'),float('inf'))", "name": "rotated", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 318.46614198106022, -46.151172643955647 ], "name": "r1", "script": [ "import fab", "import math", "", "title('Rotate (Z)')", "", "input('_z', float)", "input('a', float)", "", "x = 0", "y = 0", "", "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": 5 }, { "datums": [ { "expr": "0.0", "name": "_z", "type": "float", "uid": 2 }, { "expr": "60", "name": "a", "type": "float", "uid": 3 }, { "expr": "\u0011[__1.__4]", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-9X-Xf9a-f-0.625Y-Yf0.625',float('-5.041265'),float('-8.106725'),float('-inf'),float('5.041265'),float('8.106725'),float('inf'))", "name": "rotated", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 319.93228396212032, 84.697654712088706 ], "name": "r2", "script": [ "import fab", "import math", "", "title('Rotate (Z)')", "", "input('_z', float)", "input('a', float)", "", "x = 0", "y = 0", "", "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": 6 }, { "datums": [ { "expr": "0.0", "name": "_z", "type": "float", "uid": 2 }, { "expr": "120", "name": "a", "type": "float", "uid": 3 }, { "expr": "\u0011[__1.__4]", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-9X-Xf9a-f-0.625Y-Yf0.625',float('-5.041265'),float('-8.106725'),float('-inf'),float('5.041265'),float('8.106725'),float('inf'))", "name": "rotated", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 323.53385801893995, 215.01262404919316 ], "name": "r3", "script": [ "import fab", "import math", "", "title('Rotate (Z)')", "", "input('_z', float)", "input('a', float)", "", "x = 0", "y = 0", "", "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": 7 }, { "datums": [ { "expr": "\u0011[__0.__4]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__2.__4]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('a-r+qXqYf9.225n-r+qXqYf8.875',float('-9.225000'),float('-9.225000'),float('-inf'),float('9.225000'),float('9.225000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 214.46614198106022, -259.15117264395565 ], "name": "d0", "script": [ "import fab.types", "", "title('Difference')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a & ~b)", "" ], "uid": 8 }, { "datums": [ { "expr": "\u0011[__5.__5]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__10.__2]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('im-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-9X-Xf9a-f-0.625Y-Yf0.625im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-9X-Xf9a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-9X-Xf9a-f-0.625Y-Yf0.625',float('-9.000000'),float('-8.106725'),float('-inf'),float('9.000000'),float('8.106725'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 628.5338580189399, 54.103950939367181 ], "name": "u0", "script": [ "import fab.types", "", "title('Union')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a | b)", "" ], "uid": 9 }, { "datums": [ { "expr": "\u0011[__6.__5]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__7.__5]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-9X-Xf9a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-9X-Xf9a-f-0.625Y-Yf0.625',float('-5.041265'),float('-8.106725'),float('-inf'),float('5.041265'),float('8.106725'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 631.93228396212021, 186.95277829541152 ], "name": "u1", "script": [ "import fab.types", "", "title('Union')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a | b)", "" ], "uid": 10 }, { "datums": [ { "expr": "\u0011[__12.__3]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__4.__4]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('aii-r+qXqYf1.75iia-r+qXqYf9.225n-r+qXqYf8.875im-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-9X-Xf9a-f-0.625Y-Yf0.625im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-9X-Xf9a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-9X-Xf9a-f-0.625Y-Yf0.625-+rba-r+qXqYf9.225n-r+qXqYf8.875rbim-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-9X-Xf9a-f-0.625Y-Yf0.625im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-9X-Xf9a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-9X-Xf9a-f-0.625Y-Yf0.625f1-+rb-r+qXqYf1.75rbiia-r+qXqYf9.225n-r+qXqYf8.875im-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-9X-Xf9a-f-0.625Y-Yf0.625im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-9X-Xf9a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-9X-Xf9a-f-0.625Y-Yf0.625-+rba-r+qXqYf9.225n-r+qXqYf8.875rbim-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-9X-Xf9a-f-0.625Y-Yf0.625im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-9X-Xf9a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-9X-Xf9a-f-0.625Y-Yf0.625f1f1n-r+qXqYf0.5',float('-9.225000'),float('-9.225000'),float('-inf'),float('9.225000'),float('9.225000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 1105.46614198106, -254.15117264395565 ], "name": "d1", "script": [ "import fab.types", "", "title('Difference')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a & ~b)", "" ], "uid": 13 }, { "datums": [ { "expr": "\u0011[__8.__2]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__9.__2]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "1", "name": "q", "type": "float", "uid": 2 }, { "expr": "\u0012fab.types.Shape('iia-r+qXqYf9.225n-r+qXqYf8.875im-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-9X-Xf9a-f-0.625Y-Yf0.625im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-9X-Xf9a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-9X-Xf9a-f-0.625Y-Yf0.625-+rba-r+qXqYf9.225n-r+qXqYf8.875rbim-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-9X-Xf9a-f-0.625Y-Yf0.625im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-9X-Xf9a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-9X-Xf9a-f-0.625Y-Yf0.625f1',float('-9.225000'),float('-9.225000'),float('-inf'),float('9.225000'),float('9.225000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 3 } ], "inspector": [ 633.46614198106022, -106.15117264395565 ], "name": "b0", "script": [ "import fab.types", "import fab.shapes", "", "title('Blend')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "input('q', float)", "", "output('shape', fab.shapes.blend(a, b, q))", "" ], "uid": 11 }, { "datums": [ { "expr": "\u0011[__3.__4]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__11.__3]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "1", "name": "q", "type": "float", "uid": 2 }, { "expr": "\u0012fab.types.Shape('ii-r+qXqYf1.75iia-r+qXqYf9.225n-r+qXqYf8.875im-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-9X-Xf9a-f-0.625Y-Yf0.625im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-9X-Xf9a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-9X-Xf9a-f-0.625Y-Yf0.625-+rba-r+qXqYf9.225n-r+qXqYf8.875rbim-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-9X-Xf9a-f-0.625Y-Yf0.625im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-9X-Xf9a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-9X-Xf9a-f-0.625Y-Yf0.625f1-+rb-r+qXqYf1.75rbiia-r+qXqYf9.225n-r+qXqYf8.875im-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-9X-Xf9a-f-0.625Y-Yf0.625im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-9X-Xf9a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-9X-Xf9a-f-0.625Y-Yf0.625-+rba-r+qXqYf9.225n-r+qXqYf8.875rbim-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-9X-Xf9a-f-0.625Y-Yf0.625im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-9X-Xf9a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-9X-Xf9a-f-0.625Y-Yf0.625f1f1',float('-9.225000'),float('-9.225000'),float('-inf'),float('9.225000'),float('9.225000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 3 } ], "inspector": [ 757.46614198106022, -255.15117264395565 ], "name": "b1", "script": [ "import fab.types", "import fab.shapes", "", "title('Blend')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "input('q', float)", "", "output('shape', fab.shapes.blend(a, b, q))", "" ], "uid": 12 }, { "datums": [ { "expr": "\u0011[__parent.__0]", "name": "rGear", "type": "float", "uid": 9 }, { "expr": "\u0011[__parent.__2]", "name": "wTeeth", "type": "float", "uid": 15 }, { "expr": "\u0011[__parent.__3]", "name": "hTeeth", "type": "float", "uid": 17 }, { "expr": "\u0011[__parent.__6]", "name": "kerf", "type": "float", "uid": 18 }, { "expr": "0.5", "name": "r", "type": "float", "uid": 4 }, { "expr": "\u0012fab.types.Shape('iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375',float('-0.187500'),float('-1.025000'),float('-inf'),float('0.187500'),float('1.025000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 17.669290094699363, 336.71175803419271 ], "name": "teeth", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 6/11/15", "", "import fab", "", "title('Rounded rectangle (center)')", "", "input('rGear', float)", "input('wTeeth', float)", "input('hTeeth', float)", "input('kerf', float)", "input('r', float)", "", "x = 0", "y = 0", "width = wTeeth + kerf", "height = hTeeth + kerf", "", "xmin, xmax = x - width/2, x + width/2", "ymin, ymax = y - height/2, y + height/2", "", "# This is the circle's radius in actual units (not a 0-1 fraction)", "r_ = r * min(width, height)/2", "", "output('shape', fab.shapes.rounded_rectangle(xmin, xmax, ymin, ymax, r))", "", "def drag_r(this, x, y, z):", " if abs(this.width) < abs(this.height):", " d = abs(this.width)", " mid = this.y + this.height/2 - d/2", " else:", " d = abs(this.width)", " mid = this.y", " r = 1 - (y - mid) / (d/2)", " this.r = float(min(1, max(0, r)))", "", "def drag_hw(this, x, y, z):", " this.height = abs(2 * (y - this.y))", " this.width = abs(2 * (x - this.x))", "", "# UI", "sb.ui.wireframe(", " [(xmin, ymin, 0), (xmax, ymin, 0), (xmax, ymax, 0), (xmin, ymax, 0)],", " close=True)", "sb.ui.wireframe([(xmax - r_, ymax, 0), (xmax, ymax - r_, 0)])", "sb.ui.point(x, y)", "sb.ui.point(xmax, ymax, drag=drag_hw, relative=False)", "sb.ui.point(xmax, ymax - r_, drag=drag_r, relative=False)", "", "" ], "uid": 14 }, { "datums": [ { "expr": "\u0011[__18.__4]", "name": "shape", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__parent.__1]", "name": "n", "type": "int", "uid": 3 }, { "expr": "\u0012fab.types.Shape('iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiim-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.994522X*f0.104528Y+*f-0.104528X*f0.994522Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.978148X*f0.207912Y+*f-0.207912X*f0.978148Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.951057X*f0.309017Y+*f-0.309017X*f0.951057Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.913545X*f0.406737Y+*f-0.406737X*f0.913545Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.866025X*f0.5Y+*f-0.5X*f0.866025Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.809017X*f0.587785Y+*f-0.587785X*f0.809017Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.743145X*f0.669131Y+*f-0.669131X*f0.743145Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.669131X*f0.743145Y+*f-0.743145X*f0.669131Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.587785X*f0.809017Y+*f-0.809017X*f0.587785Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.406737X*f0.913545Y+*f-0.913545X*f0.406737Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.309017X*f0.951057Y+*f-0.951057X*f0.309017Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.207912X*f0.978148Y+*f-0.978148X*f0.207912Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.104528X*f0.994522Y+*f-0.994522X*f0.104528Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f6.12323e-17X*f1Y+*f-1X*f6.12323e-17Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.104528X*f0.994522Y+*f-0.994522X*f-0.104528Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.207912X*f0.978148Y+*f-0.978148X*f-0.207912Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.309017X*f0.951057Y+*f-0.951057X*f-0.309017Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.406737X*f0.913545Y+*f-0.913545X*f-0.406737Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.587785X*f0.809017Y+*f-0.809017X*f-0.587785Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.669131X*f0.743145Y+*f-0.743145X*f-0.669131Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.743145X*f0.669131Y+*f-0.669131X*f-0.743145Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.809017X*f0.587785Y+*f-0.587785X*f-0.809017Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.866025X*f0.5Y+*f-0.5X*f-0.866025Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.913545X*f0.406737Y+*f-0.406737X*f-0.913545Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.951057X*f0.309017Y+*f-0.309017X*f-0.951057Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.978148X*f0.207912Y+*f-0.207912X*f-0.978148Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.994522X*f0.104528Y+*f-0.104528X*f-0.994522Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-1X*f1.22465e-16Y+*f-1.22465e-16X*f-1Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.994522X*f-0.104528Y+*f0.104528X*f-0.994522Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.978148X*f-0.207912Y+*f0.207912X*f-0.978148Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.951057X*f-0.309017Y+*f0.309017X*f-0.951057Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.913545X*f-0.406737Y+*f0.406737X*f-0.913545Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.866025X*f-0.5Y+*f0.5X*f-0.866025Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.809017X*f-0.587785Y+*f0.587785X*f-0.809017Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.743145X*f-0.669131Y+*f0.669131X*f-0.743145Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.669131X*f-0.743145Y+*f0.743145X*f-0.669131Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.587785X*f-0.809017Y+*f0.809017X*f-0.587785Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.5X*f-0.866025Y+*f0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.406737X*f-0.913545Y+*f0.913545X*f-0.406737Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.309017X*f-0.951057Y+*f0.951057X*f-0.309017Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.207912X*f-0.978148Y+*f0.978148X*f-0.207912Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.104528X*f-0.994522Y+*f0.994522X*f-0.104528Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-1.83697e-16X*f-1Y+*f1X*f-1.83697e-16Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.104528X*f-0.994522Y+*f0.994522X*f0.104528Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.207912X*f-0.978148Y+*f0.978148X*f0.207912Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.309017X*f-0.951057Y+*f0.951057X*f0.309017Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.406737X*f-0.913545Y+*f0.913545X*f0.406737Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.5X*f-0.866025Y+*f0.866025X*f0.5Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.587785X*f-0.809017Y+*f0.809017X*f0.587785Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.669131X*f-0.743145Y+*f0.743145X*f0.669131Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.743145X*f-0.669131Y+*f0.669131X*f0.743145Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.809017X*f-0.587785Y+*f0.587785X*f0.809017Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.866025X*f-0.5Y+*f0.5X*f0.866025Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.913545X*f-0.406737Y+*f0.406737X*f0.913545Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.951057X*f-0.309017Y+*f0.309017X*f0.951057Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.978148X*f-0.207912Y+*f0.207912X*f0.978148Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.994522X*f-0.104528Y+*f0.104528X*f0.994522Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375',float('-11.025000'),float('-11.025000'),float('-inf'),float('11.025000'),float('11.025000'),float('inf'))", "name": "array", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 940.4103537395647, 414.46676133781943 ], "name": "a0", "script": [ "import fab", "import math", "", "title('Array (polar)')", "", "input('shape', fab.types.Shape)", "input('n', int)", "", "x = 0", "y = 0", "", "output('array', fab.shapes.iterate_polar(shape, x, y, n))", "", "# UI", "sb.ui.wireframe([", " (math.cos(i/36. * 2*math.pi) * 0.3 + x,", " math.sin(i/36. * 2*math.pi) * 0.3 + y, 0)", " for i in range(36)], close=True, color=sb.color.teal)", "", "sb.ui.point(x, y, 0, color=sb.color.teal)", "" ], "uid": 15 }, { "datums": [ { "expr": "\u0011[__13.__2]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__15.__4]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "1", "name": "q", "type": "float", "uid": 2 }, { "expr": "\u0012fab.types.Shape('iiaii-r+qXqYf1.75iia-r+qXqYf9.225n-r+qXqYf8.875im-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-9X-Xf9a-f-0.625Y-Yf0.625im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-9X-Xf9a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-9X-Xf9a-f-0.625Y-Yf0.625-+rba-r+qXqYf9.225n-r+qXqYf8.875rbim-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-9X-Xf9a-f-0.625Y-Yf0.625im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-9X-Xf9a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-9X-Xf9a-f-0.625Y-Yf0.625f1-+rb-r+qXqYf1.75rbiia-r+qXqYf9.225n-r+qXqYf8.875im-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-9X-Xf9a-f-0.625Y-Yf0.625im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-9X-Xf9a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-9X-Xf9a-f-0.625Y-Yf0.625-+rba-r+qXqYf9.225n-r+qXqYf8.875rbim-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-9X-Xf9a-f-0.625Y-Yf0.625im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-9X-Xf9a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-9X-Xf9a-f-0.625Y-Yf0.625f1f1n-r+qXqYf0.5iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiim-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.994522X*f0.104528Y+*f-0.104528X*f0.994522Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.978148X*f0.207912Y+*f-0.207912X*f0.978148Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.951057X*f0.309017Y+*f-0.309017X*f0.951057Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.913545X*f0.406737Y+*f-0.406737X*f0.913545Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.866025X*f0.5Y+*f-0.5X*f0.866025Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.809017X*f0.587785Y+*f-0.587785X*f0.809017Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.743145X*f0.669131Y+*f-0.669131X*f0.743145Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.669131X*f0.743145Y+*f-0.743145X*f0.669131Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.587785X*f0.809017Y+*f-0.809017X*f0.587785Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.406737X*f0.913545Y+*f-0.913545X*f0.406737Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.309017X*f0.951057Y+*f-0.951057X*f0.309017Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.207912X*f0.978148Y+*f-0.978148X*f0.207912Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.104528X*f0.994522Y+*f-0.994522X*f0.104528Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f6.12323e-17X*f1Y+*f-1X*f6.12323e-17Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.104528X*f0.994522Y+*f-0.994522X*f-0.104528Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.207912X*f0.978148Y+*f-0.978148X*f-0.207912Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.309017X*f0.951057Y+*f-0.951057X*f-0.309017Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.406737X*f0.913545Y+*f-0.913545X*f-0.406737Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.587785X*f0.809017Y+*f-0.809017X*f-0.587785Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.669131X*f0.743145Y+*f-0.743145X*f-0.669131Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.743145X*f0.669131Y+*f-0.669131X*f-0.743145Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.809017X*f0.587785Y+*f-0.587785X*f-0.809017Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.866025X*f0.5Y+*f-0.5X*f-0.866025Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.913545X*f0.406737Y+*f-0.406737X*f-0.913545Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.951057X*f0.309017Y+*f-0.309017X*f-0.951057Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.978148X*f0.207912Y+*f-0.207912X*f-0.978148Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.994522X*f0.104528Y+*f-0.104528X*f-0.994522Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-1X*f1.22465e-16Y+*f-1.22465e-16X*f-1Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.994522X*f-0.104528Y+*f0.104528X*f-0.994522Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.978148X*f-0.207912Y+*f0.207912X*f-0.978148Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.951057X*f-0.309017Y+*f0.309017X*f-0.951057Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.913545X*f-0.406737Y+*f0.406737X*f-0.913545Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.866025X*f-0.5Y+*f0.5X*f-0.866025Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.809017X*f-0.587785Y+*f0.587785X*f-0.809017Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.743145X*f-0.669131Y+*f0.669131X*f-0.743145Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.669131X*f-0.743145Y+*f0.743145X*f-0.669131Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.587785X*f-0.809017Y+*f0.809017X*f-0.587785Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.5X*f-0.866025Y+*f0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.406737X*f-0.913545Y+*f0.913545X*f-0.406737Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.309017X*f-0.951057Y+*f0.951057X*f-0.309017Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.207912X*f-0.978148Y+*f0.978148X*f-0.207912Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.104528X*f-0.994522Y+*f0.994522X*f-0.104528Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-1.83697e-16X*f-1Y+*f1X*f-1.83697e-16Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.104528X*f-0.994522Y+*f0.994522X*f0.104528Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.207912X*f-0.978148Y+*f0.978148X*f0.207912Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.309017X*f-0.951057Y+*f0.951057X*f0.309017Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.406737X*f-0.913545Y+*f0.913545X*f0.406737Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.5X*f-0.866025Y+*f0.866025X*f0.5Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.587785X*f-0.809017Y+*f0.809017X*f0.587785Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.669131X*f-0.743145Y+*f0.743145X*f0.669131Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.743145X*f-0.669131Y+*f0.669131X*f0.743145Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.809017X*f-0.587785Y+*f0.587785X*f0.809017Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.866025X*f-0.5Y+*f0.5X*f0.866025Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.913545X*f-0.406737Y+*f0.406737X*f0.913545Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.951057X*f-0.309017Y+*f0.309017X*f0.951057Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.978148X*f-0.207912Y+*f0.207912X*f0.978148Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.994522X*f-0.104528Y+*f0.104528X*f0.994522Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375-+rbaii-r+qXqYf1.75iia-r+qXqYf9.225n-r+qXqYf8.875im-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-9X-Xf9a-f-0.625Y-Yf0.625im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-9X-Xf9a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-9X-Xf9a-f-0.625Y-Yf0.625-+rba-r+qXqYf9.225n-r+qXqYf8.875rbim-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-9X-Xf9a-f-0.625Y-Yf0.625im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-9X-Xf9a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-9X-Xf9a-f-0.625Y-Yf0.625f1-+rb-r+qXqYf1.75rbiia-r+qXqYf9.225n-r+qXqYf8.875im-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-9X-Xf9a-f-0.625Y-Yf0.625im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-9X-Xf9a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-9X-Xf9a-f-0.625Y-Yf0.625-+rba-r+qXqYf9.225n-r+qXqYf8.875rbim-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-9X-Xf9a-f-0.625Y-Yf0.625im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-9X-Xf9a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-9X-Xf9a-f-0.625Y-Yf0.625f1f1n-r+qXqYf0.5rbiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiim-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.994522X*f0.104528Y+*f-0.104528X*f0.994522Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.978148X*f0.207912Y+*f-0.207912X*f0.978148Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.951057X*f0.309017Y+*f-0.309017X*f0.951057Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.913545X*f0.406737Y+*f-0.406737X*f0.913545Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.866025X*f0.5Y+*f-0.5X*f0.866025Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.809017X*f0.587785Y+*f-0.587785X*f0.809017Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.743145X*f0.669131Y+*f-0.669131X*f0.743145Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.669131X*f0.743145Y+*f-0.743145X*f0.669131Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.587785X*f0.809017Y+*f-0.809017X*f0.587785Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.406737X*f0.913545Y+*f-0.913545X*f0.406737Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.309017X*f0.951057Y+*f-0.951057X*f0.309017Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.207912X*f0.978148Y+*f-0.978148X*f0.207912Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.104528X*f0.994522Y+*f-0.994522X*f0.104528Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f6.12323e-17X*f1Y+*f-1X*f6.12323e-17Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.104528X*f0.994522Y+*f-0.994522X*f-0.104528Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.207912X*f0.978148Y+*f-0.978148X*f-0.207912Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.309017X*f0.951057Y+*f-0.951057X*f-0.309017Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.406737X*f0.913545Y+*f-0.913545X*f-0.406737Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.587785X*f0.809017Y+*f-0.809017X*f-0.587785Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.669131X*f0.743145Y+*f-0.743145X*f-0.669131Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.743145X*f0.669131Y+*f-0.669131X*f-0.743145Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.809017X*f0.587785Y+*f-0.587785X*f-0.809017Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.866025X*f0.5Y+*f-0.5X*f-0.866025Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.913545X*f0.406737Y+*f-0.406737X*f-0.913545Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.951057X*f0.309017Y+*f-0.309017X*f-0.951057Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.978148X*f0.207912Y+*f-0.207912X*f-0.978148Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.994522X*f0.104528Y+*f-0.104528X*f-0.994522Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-1X*f1.22465e-16Y+*f-1.22465e-16X*f-1Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.994522X*f-0.104528Y+*f0.104528X*f-0.994522Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.978148X*f-0.207912Y+*f0.207912X*f-0.978148Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.951057X*f-0.309017Y+*f0.309017X*f-0.951057Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.913545X*f-0.406737Y+*f0.406737X*f-0.913545Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.866025X*f-0.5Y+*f0.5X*f-0.866025Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.809017X*f-0.587785Y+*f0.587785X*f-0.809017Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.743145X*f-0.669131Y+*f0.669131X*f-0.743145Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.669131X*f-0.743145Y+*f0.743145X*f-0.669131Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.587785X*f-0.809017Y+*f0.809017X*f-0.587785Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.5X*f-0.866025Y+*f0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.406737X*f-0.913545Y+*f0.913545X*f-0.406737Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.309017X*f-0.951057Y+*f0.951057X*f-0.309017Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.207912X*f-0.978148Y+*f0.978148X*f-0.207912Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.104528X*f-0.994522Y+*f0.994522X*f-0.104528Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-1.83697e-16X*f-1Y+*f1X*f-1.83697e-16Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.104528X*f-0.994522Y+*f0.994522X*f0.104528Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.207912X*f-0.978148Y+*f0.978148X*f0.207912Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.309017X*f-0.951057Y+*f0.951057X*f0.309017Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.406737X*f-0.913545Y+*f0.913545X*f0.406737Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.5X*f-0.866025Y+*f0.866025X*f0.5Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.587785X*f-0.809017Y+*f0.809017X*f0.587785Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.669131X*f-0.743145Y+*f0.743145X*f0.669131Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.743145X*f-0.669131Y+*f0.669131X*f0.743145Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.809017X*f-0.587785Y+*f0.587785X*f0.809017Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.866025X*f-0.5Y+*f0.5X*f0.866025Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.913545X*f-0.406737Y+*f0.406737X*f0.913545Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.951057X*f-0.309017Y+*f0.309017X*f0.951057Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.978148X*f-0.207912Y+*f0.207912X*f0.978148Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.994522X*f-0.104528Y+*f0.104528X*f0.994522Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375f1',float('-11.025000'),float('-11.025000'),float('-inf'),float('11.025000'),float('11.025000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 3 } ], "inspector": [ 1005.4738542919769, 250.81570897355988 ], "name": "b2", "script": [ "import fab.types", "import fab.shapes", "", "title('Blend')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "input('q', float)", "", "output('shape', fab.shapes.blend(a, b, q))", "" ], "uid": 16 }, { "datums": [ { "expr": "0", "name": "y0", "type": "float", "uid": 0 }, { "expr": "1", "name": "y1", "type": "float", "uid": 1 }, { "expr": "0", "name": "dx0", "type": "float", "uid": 2 }, { "expr": "0.25", "name": "dx1", "type": "float", "uid": 3 }, { "expr": "\u0011[__14.__5]", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 }, { "expr": "\u0012fab.types.Shape('m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375',float('-0.443750'),float('-1.025000'),float('-inf'),float('0.443750'),float('1.025000'),float('inf'))", "name": "sheared", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 325.06847461058499, 347.18197628477441 ], "name": "s0", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 5/31/15", "", "import fab", "", "title('Shear (2D)')", "", "input('y0', float)", "input('y1', float)", "input('dx0', float)", "input('dx1', float)", "", "input('shape', fab.types.Shape)", "output('sheared', fab.shapes.shear_x_y(shape, y0, y1, dx0, dx1))", "", "# UI", "dy = abs(y1 - y0)", "sb.ui.wireframe([(dx0, y0, 0), (dx1, y1, 0)], color=sb.color.teal)", "sb.ui.wireframe([(dx0 - dy/5, y0, 0), (dx0 + dy/5, y0, 0)],", " color=sb.color.teal)", "sb.ui.wireframe([(dx1 - dy/5, y1, 0), (dx1 + dy/5, y1, 0)],", " color=sb.color.teal)", "sb.ui.point(dx0, y0, 0, color=sb.color.teal)", "sb.ui.point(dx1, y1, 0, color=sb.color.teal)", "", "", "", "", "" ], "uid": 17 }, { "datums": [ { "expr": "0.0", "name": "x", "type": "float", "uid": 0 }, { "expr": "\u0011[__parent.__0]", "name": "y", "type": "float", "uid": 1 }, { "expr": "0.0", "name": "z", "type": "float", "uid": 2 }, { "expr": "\u0011[__17.__5]", "name": "shape", "type": "_fabtypes.Shape", "uid": 3 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375',float('-0.443750'),float('8.975000'),float('-inf'),float('0.443750'),float('11.025000'),float('inf'))", "name": "out", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 621.38939704472364, 353.81602678703126 ], "name": "r4", "script": [ "import fab", "", "title('Recenter')", "", "input('x', float)", "input('y', float)", "input('z', float)", "", "input('shape', fab.types.Shape)", "output('out', fab.shapes.recenter(shape, x, y, z))", "", "# UI", "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)", "" ], "uid": 18 } ], "uid": 2 }, { "datums": [ { "expr": "-11", "name": "x", "type": "float", "uid": 0 }, { "expr": "-11", "name": "y", "type": "float", "uid": 1 }, { "expr": "0.0", "name": "z", "type": "float", "uid": 2 }, { "expr": "\u0011[__2.__7]", "name": "shape", "type": "_fabtypes.Shape", "uid": 3 }, { "expr": "\u0012fab.types.Shape('m-Xf-11-Yf-11-Zf0iiaii-r+qXqYf1.75iia-r+qXqYf9.225n-r+qXqYf8.875im-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-9X-Xf9a-f-0.625Y-Yf0.625im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-9X-Xf9a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-9X-Xf9a-f-0.625Y-Yf0.625-+rba-r+qXqYf9.225n-r+qXqYf8.875rbim-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-9X-Xf9a-f-0.625Y-Yf0.625im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-9X-Xf9a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-9X-Xf9a-f-0.625Y-Yf0.625f1-+rb-r+qXqYf1.75rbiia-r+qXqYf9.225n-r+qXqYf8.875im-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-9X-Xf9a-f-0.625Y-Yf0.625im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-9X-Xf9a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-9X-Xf9a-f-0.625Y-Yf0.625-+rba-r+qXqYf9.225n-r+qXqYf8.875rbim-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-9X-Xf9a-f-0.625Y-Yf0.625im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-9X-Xf9a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-9X-Xf9a-f-0.625Y-Yf0.625f1f1n-r+qXqYf0.5iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiim-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.994522X*f0.104528Y+*f-0.104528X*f0.994522Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.978148X*f0.207912Y+*f-0.207912X*f0.978148Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.951057X*f0.309017Y+*f-0.309017X*f0.951057Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.913545X*f0.406737Y+*f-0.406737X*f0.913545Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.866025X*f0.5Y+*f-0.5X*f0.866025Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.809017X*f0.587785Y+*f-0.587785X*f0.809017Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.743145X*f0.669131Y+*f-0.669131X*f0.743145Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.669131X*f0.743145Y+*f-0.743145X*f0.669131Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.587785X*f0.809017Y+*f-0.809017X*f0.587785Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.406737X*f0.913545Y+*f-0.913545X*f0.406737Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.309017X*f0.951057Y+*f-0.951057X*f0.309017Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.207912X*f0.978148Y+*f-0.978148X*f0.207912Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.104528X*f0.994522Y+*f-0.994522X*f0.104528Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f6.12323e-17X*f1Y+*f-1X*f6.12323e-17Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.104528X*f0.994522Y+*f-0.994522X*f-0.104528Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.207912X*f0.978148Y+*f-0.978148X*f-0.207912Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.309017X*f0.951057Y+*f-0.951057X*f-0.309017Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.406737X*f0.913545Y+*f-0.913545X*f-0.406737Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.587785X*f0.809017Y+*f-0.809017X*f-0.587785Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.669131X*f0.743145Y+*f-0.743145X*f-0.669131Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.743145X*f0.669131Y+*f-0.669131X*f-0.743145Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.809017X*f0.587785Y+*f-0.587785X*f-0.809017Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.866025X*f0.5Y+*f-0.5X*f-0.866025Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.913545X*f0.406737Y+*f-0.406737X*f-0.913545Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.951057X*f0.309017Y+*f-0.309017X*f-0.951057Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.978148X*f0.207912Y+*f-0.207912X*f-0.978148Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.994522X*f0.104528Y+*f-0.104528X*f-0.994522Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-1X*f1.22465e-16Y+*f-1.22465e-16X*f-1Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.994522X*f-0.104528Y+*f0.104528X*f-0.994522Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.978148X*f-0.207912Y+*f0.207912X*f-0.978148Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.951057X*f-0.309017Y+*f0.309017X*f-0.951057Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.913545X*f-0.406737Y+*f0.406737X*f-0.913545Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.866025X*f-0.5Y+*f0.5X*f-0.866025Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.809017X*f-0.587785Y+*f0.587785X*f-0.809017Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.743145X*f-0.669131Y+*f0.669131X*f-0.743145Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.669131X*f-0.743145Y+*f0.743145X*f-0.669131Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.587785X*f-0.809017Y+*f0.809017X*f-0.587785Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.5X*f-0.866025Y+*f0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.406737X*f-0.913545Y+*f0.913545X*f-0.406737Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.309017X*f-0.951057Y+*f0.951057X*f-0.309017Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.207912X*f-0.978148Y+*f0.978148X*f-0.207912Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.104528X*f-0.994522Y+*f0.994522X*f-0.104528Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-1.83697e-16X*f-1Y+*f1X*f-1.83697e-16Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.104528X*f-0.994522Y+*f0.994522X*f0.104528Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.207912X*f-0.978148Y+*f0.978148X*f0.207912Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.309017X*f-0.951057Y+*f0.951057X*f0.309017Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.406737X*f-0.913545Y+*f0.913545X*f0.406737Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.5X*f-0.866025Y+*f0.866025X*f0.5Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.587785X*f-0.809017Y+*f0.809017X*f0.587785Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.669131X*f-0.743145Y+*f0.743145X*f0.669131Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.743145X*f-0.669131Y+*f0.669131X*f0.743145Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.809017X*f-0.587785Y+*f0.587785X*f0.809017Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.866025X*f-0.5Y+*f0.5X*f0.866025Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.913545X*f-0.406737Y+*f0.406737X*f0.913545Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.951057X*f-0.309017Y+*f0.309017X*f0.951057Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.978148X*f-0.207912Y+*f0.207912X*f0.978148Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.994522X*f-0.104528Y+*f0.104528X*f0.994522Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375-+rbaii-r+qXqYf1.75iia-r+qXqYf9.225n-r+qXqYf8.875im-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-9X-Xf9a-f-0.625Y-Yf0.625im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-9X-Xf9a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-9X-Xf9a-f-0.625Y-Yf0.625-+rba-r+qXqYf9.225n-r+qXqYf8.875rbim-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-9X-Xf9a-f-0.625Y-Yf0.625im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-9X-Xf9a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-9X-Xf9a-f-0.625Y-Yf0.625f1-+rb-r+qXqYf1.75rbiia-r+qXqYf9.225n-r+qXqYf8.875im-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-9X-Xf9a-f-0.625Y-Yf0.625im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-9X-Xf9a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-9X-Xf9a-f-0.625Y-Yf0.625-+rba-r+qXqYf9.225n-r+qXqYf8.875rbim-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-9X-Xf9a-f-0.625Y-Yf0.625im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-9X-Xf9a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-9X-Xf9a-f-0.625Y-Yf0.625f1f1n-r+qXqYf0.5rbiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiim-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.994522X*f0.104528Y+*f-0.104528X*f0.994522Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.978148X*f0.207912Y+*f-0.207912X*f0.978148Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.951057X*f0.309017Y+*f-0.309017X*f0.951057Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.913545X*f0.406737Y+*f-0.406737X*f0.913545Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.866025X*f0.5Y+*f-0.5X*f0.866025Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.809017X*f0.587785Y+*f-0.587785X*f0.809017Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.743145X*f0.669131Y+*f-0.669131X*f0.743145Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.669131X*f0.743145Y+*f-0.743145X*f0.669131Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.587785X*f0.809017Y+*f-0.809017X*f0.587785Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.406737X*f0.913545Y+*f-0.913545X*f0.406737Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.309017X*f0.951057Y+*f-0.951057X*f0.309017Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.207912X*f0.978148Y+*f-0.978148X*f0.207912Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.104528X*f0.994522Y+*f-0.994522X*f0.104528Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f6.12323e-17X*f1Y+*f-1X*f6.12323e-17Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.104528X*f0.994522Y+*f-0.994522X*f-0.104528Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.207912X*f0.978148Y+*f-0.978148X*f-0.207912Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.309017X*f0.951057Y+*f-0.951057X*f-0.309017Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.406737X*f0.913545Y+*f-0.913545X*f-0.406737Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.587785X*f0.809017Y+*f-0.809017X*f-0.587785Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.669131X*f0.743145Y+*f-0.743145X*f-0.669131Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.743145X*f0.669131Y+*f-0.669131X*f-0.743145Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.809017X*f0.587785Y+*f-0.587785X*f-0.809017Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.866025X*f0.5Y+*f-0.5X*f-0.866025Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.913545X*f0.406737Y+*f-0.406737X*f-0.913545Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.951057X*f0.309017Y+*f-0.309017X*f-0.951057Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.978148X*f0.207912Y+*f-0.207912X*f-0.978148Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.994522X*f0.104528Y+*f-0.104528X*f-0.994522Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-1X*f1.22465e-16Y+*f-1.22465e-16X*f-1Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.994522X*f-0.104528Y+*f0.104528X*f-0.994522Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.978148X*f-0.207912Y+*f0.207912X*f-0.978148Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.951057X*f-0.309017Y+*f0.309017X*f-0.951057Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.913545X*f-0.406737Y+*f0.406737X*f-0.913545Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.866025X*f-0.5Y+*f0.5X*f-0.866025Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.809017X*f-0.587785Y+*f0.587785X*f-0.809017Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.743145X*f-0.669131Y+*f0.669131X*f-0.743145Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.669131X*f-0.743145Y+*f0.743145X*f-0.669131Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.587785X*f-0.809017Y+*f0.809017X*f-0.587785Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.5X*f-0.866025Y+*f0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.406737X*f-0.913545Y+*f0.913545X*f-0.406737Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.309017X*f-0.951057Y+*f0.951057X*f-0.309017Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.207912X*f-0.978148Y+*f0.978148X*f-0.207912Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-0.104528X*f-0.994522Y+*f0.994522X*f-0.104528Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f-1.83697e-16X*f-1Y+*f1X*f-1.83697e-16Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.104528X*f-0.994522Y+*f0.994522X*f0.104528Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.207912X*f-0.978148Y+*f0.978148X*f0.207912Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.309017X*f-0.951057Y+*f0.951057X*f0.309017Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.406737X*f-0.913545Y+*f0.913545X*f0.406737Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.5X*f-0.866025Y+*f0.866025X*f0.5Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.587785X*f-0.809017Y+*f0.809017X*f0.587785Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.669131X*f-0.743145Y+*f0.743145X*f0.669131Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.743145X*f-0.669131Y+*f0.669131X*f0.743145Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.809017X*f-0.587785Y+*f0.587785X*f0.809017Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.866025X*f-0.5Y+*f0.5X*f0.866025Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.913545X*f-0.406737Y+*f0.406737X*f0.913545Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.951057X*f-0.309017Y+*f0.309017X*f0.951057Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.978148X*f-0.207912Y+*f0.207912X*f0.978148Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375m-Xf0-Yf0-Zf0m+*f0.994522X*f-0.104528Y+*f0.104528X*f0.994522Y_m-Xf0-Yf0-Zf0m-Xf0-Yf10-Zf0m--Xf0/*f0.25-Yf0f1Y_iiiiiaa-f-0.1875X-Xf0.1875a-f-0.93125Y-Yf0.93125aa-f-0.09375X-Xf0.09375a-f-1.025Y-Yf1.025-r+q-Xf-0.09375q-Yf-0.93125f0.09375-r+q-Xf-0.09375q-Yf0.93125f0.09375-r+q-Xf0.09375q-Yf-0.93125f0.09375-r+q-Xf0.09375q-Yf0.93125f0.09375f1',float('-22.025000'),float('-22.025000'),float('-inf'),float('0.025000'),float('0.025000'),float('inf'))", "name": "out", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ -59.796563173241154, 731.34706127906952 ], "name": "r0", "script": [ "import fab", "", "title('Recenter')", "", "input('x', float)", "input('y', float)", "input('z', float)", "", "input('shape', fab.types.Shape)", "output('out', fab.shapes.recenter(shape, x, y, z))", "", "# UI", "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)", "" ], "uid": 3 }, { "datums": [ { "expr": "-8", "name": "x", "type": "float", "uid": 0 }, { "expr": "30", "name": "y", "type": "float", "uid": 1 }, { "expr": "0.0", "name": "z", "type": "float", "uid": 2 }, { "expr": "\u0011[__0.__7]", "name": "shape", "type": "_fabtypes.Shape", "uid": 3 }, { "expr": "\u0012fab.types.Shape('m-Xf-8-Yf29.9958-Zf0iia-r+qXqYf1.15n-r+qXqYf0.5iiiiiiiiiiiim-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.025Y-Yf2.225aa-f-0.125X-Xf0.125a-f0.9Y-Yf2.35-r+q-Xf-0.125q-Yf1.025f0.125-r+q-Xf-0.125q-Yf2.225f0.125-r+q-Xf0.125q-Yf1.025f0.125-r+q-Xf0.125q-Yf2.225f0.125m-Xf0-Yf0-Zf0m+*f0.885456X*f0.464723Y+*f-0.464723X*f0.885456Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.025Y-Yf2.225aa-f-0.125X-Xf0.125a-f0.9Y-Yf2.35-r+q-Xf-0.125q-Yf1.025f0.125-r+q-Xf-0.125q-Yf2.225f0.125-r+q-Xf0.125q-Yf1.025f0.125-r+q-Xf0.125q-Yf2.225f0.125m-Xf0-Yf0-Zf0m+*f0.568065X*f0.822984Y+*f-0.822984X*f0.568065Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.025Y-Yf2.225aa-f-0.125X-Xf0.125a-f0.9Y-Yf2.35-r+q-Xf-0.125q-Yf1.025f0.125-r+q-Xf-0.125q-Yf2.225f0.125-r+q-Xf0.125q-Yf1.025f0.125-r+q-Xf0.125q-Yf2.225f0.125m-Xf0-Yf0-Zf0m+*f0.120537X*f0.992709Y+*f-0.992709X*f0.120537Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.025Y-Yf2.225aa-f-0.125X-Xf0.125a-f0.9Y-Yf2.35-r+q-Xf-0.125q-Yf1.025f0.125-r+q-Xf-0.125q-Yf2.225f0.125-r+q-Xf0.125q-Yf1.025f0.125-r+q-Xf0.125q-Yf2.225f0.125m-Xf0-Yf0-Zf0m+*f-0.354605X*f0.935016Y+*f-0.935016X*f-0.354605Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.025Y-Yf2.225aa-f-0.125X-Xf0.125a-f0.9Y-Yf2.35-r+q-Xf-0.125q-Yf1.025f0.125-r+q-Xf-0.125q-Yf2.225f0.125-r+q-Xf0.125q-Yf1.025f0.125-r+q-Xf0.125q-Yf2.225f0.125m-Xf0-Yf0-Zf0m+*f-0.748511X*f0.663123Y+*f-0.663123X*f-0.748511Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.025Y-Yf2.225aa-f-0.125X-Xf0.125a-f0.9Y-Yf2.35-r+q-Xf-0.125q-Yf1.025f0.125-r+q-Xf-0.125q-Yf2.225f0.125-r+q-Xf0.125q-Yf1.025f0.125-r+q-Xf0.125q-Yf2.225f0.125m-Xf0-Yf0-Zf0m+*f-0.970942X*f0.239316Y+*f-0.239316X*f-0.970942Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.025Y-Yf2.225aa-f-0.125X-Xf0.125a-f0.9Y-Yf2.35-r+q-Xf-0.125q-Yf1.025f0.125-r+q-Xf-0.125q-Yf2.225f0.125-r+q-Xf0.125q-Yf1.025f0.125-r+q-Xf0.125q-Yf2.225f0.125m-Xf0-Yf0-Zf0m+*f-0.970942X*f-0.239316Y+*f0.239316X*f-0.970942Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.025Y-Yf2.225aa-f-0.125X-Xf0.125a-f0.9Y-Yf2.35-r+q-Xf-0.125q-Yf1.025f0.125-r+q-Xf-0.125q-Yf2.225f0.125-r+q-Xf0.125q-Yf1.025f0.125-r+q-Xf0.125q-Yf2.225f0.125m-Xf0-Yf0-Zf0m+*f-0.748511X*f-0.663123Y+*f0.663123X*f-0.748511Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.025Y-Yf2.225aa-f-0.125X-Xf0.125a-f0.9Y-Yf2.35-r+q-Xf-0.125q-Yf1.025f0.125-r+q-Xf-0.125q-Yf2.225f0.125-r+q-Xf0.125q-Yf1.025f0.125-r+q-Xf0.125q-Yf2.225f0.125m-Xf0-Yf0-Zf0m+*f-0.354605X*f-0.935016Y+*f0.935016X*f-0.354605Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.025Y-Yf2.225aa-f-0.125X-Xf0.125a-f0.9Y-Yf2.35-r+q-Xf-0.125q-Yf1.025f0.125-r+q-Xf-0.125q-Yf2.225f0.125-r+q-Xf0.125q-Yf1.025f0.125-r+q-Xf0.125q-Yf2.225f0.125m-Xf0-Yf0-Zf0m+*f0.120537X*f-0.992709Y+*f0.992709X*f0.120537Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.025Y-Yf2.225aa-f-0.125X-Xf0.125a-f0.9Y-Yf2.35-r+q-Xf-0.125q-Yf1.025f0.125-r+q-Xf-0.125q-Yf2.225f0.125-r+q-Xf0.125q-Yf1.025f0.125-r+q-Xf0.125q-Yf2.225f0.125m-Xf0-Yf0-Zf0m+*f0.568065X*f-0.822984Y+*f0.822984X*f0.568065Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.025Y-Yf2.225aa-f-0.125X-Xf0.125a-f0.9Y-Yf2.35-r+q-Xf-0.125q-Yf1.025f0.125-r+q-Xf-0.125q-Yf2.225f0.125-r+q-Xf0.125q-Yf1.025f0.125-r+q-Xf0.125q-Yf2.225f0.125m-Xf0-Yf0-Zf0m+*f0.885456X*f-0.464723Y+*f0.464723X*f0.885456Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.025Y-Yf2.225aa-f-0.125X-Xf0.125a-f0.9Y-Yf2.35-r+q-Xf-0.125q-Yf1.025f0.125-r+q-Xf-0.125q-Yf2.225f0.125-r+q-Xf0.125q-Yf1.025f0.125-r+q-Xf0.125q-Yf2.225f0.125-+rba-r+qXqYf1.15n-r+qXqYf0.5rbiiiiiiiiiiiim-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.025Y-Yf2.225aa-f-0.125X-Xf0.125a-f0.9Y-Yf2.35-r+q-Xf-0.125q-Yf1.025f0.125-r+q-Xf-0.125q-Yf2.225f0.125-r+q-Xf0.125q-Yf1.025f0.125-r+q-Xf0.125q-Yf2.225f0.125m-Xf0-Yf0-Zf0m+*f0.885456X*f0.464723Y+*f-0.464723X*f0.885456Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.025Y-Yf2.225aa-f-0.125X-Xf0.125a-f0.9Y-Yf2.35-r+q-Xf-0.125q-Yf1.025f0.125-r+q-Xf-0.125q-Yf2.225f0.125-r+q-Xf0.125q-Yf1.025f0.125-r+q-Xf0.125q-Yf2.225f0.125m-Xf0-Yf0-Zf0m+*f0.568065X*f0.822984Y+*f-0.822984X*f0.568065Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.025Y-Yf2.225aa-f-0.125X-Xf0.125a-f0.9Y-Yf2.35-r+q-Xf-0.125q-Yf1.025f0.125-r+q-Xf-0.125q-Yf2.225f0.125-r+q-Xf0.125q-Yf1.025f0.125-r+q-Xf0.125q-Yf2.225f0.125m-Xf0-Yf0-Zf0m+*f0.120537X*f0.992709Y+*f-0.992709X*f0.120537Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.025Y-Yf2.225aa-f-0.125X-Xf0.125a-f0.9Y-Yf2.35-r+q-Xf-0.125q-Yf1.025f0.125-r+q-Xf-0.125q-Yf2.225f0.125-r+q-Xf0.125q-Yf1.025f0.125-r+q-Xf0.125q-Yf2.225f0.125m-Xf0-Yf0-Zf0m+*f-0.354605X*f0.935016Y+*f-0.935016X*f-0.354605Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.025Y-Yf2.225aa-f-0.125X-Xf0.125a-f0.9Y-Yf2.35-r+q-Xf-0.125q-Yf1.025f0.125-r+q-Xf-0.125q-Yf2.225f0.125-r+q-Xf0.125q-Yf1.025f0.125-r+q-Xf0.125q-Yf2.225f0.125m-Xf0-Yf0-Zf0m+*f-0.748511X*f0.663123Y+*f-0.663123X*f-0.748511Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.025Y-Yf2.225aa-f-0.125X-Xf0.125a-f0.9Y-Yf2.35-r+q-Xf-0.125q-Yf1.025f0.125-r+q-Xf-0.125q-Yf2.225f0.125-r+q-Xf0.125q-Yf1.025f0.125-r+q-Xf0.125q-Yf2.225f0.125m-Xf0-Yf0-Zf0m+*f-0.970942X*f0.239316Y+*f-0.239316X*f-0.970942Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.025Y-Yf2.225aa-f-0.125X-Xf0.125a-f0.9Y-Yf2.35-r+q-Xf-0.125q-Yf1.025f0.125-r+q-Xf-0.125q-Yf2.225f0.125-r+q-Xf0.125q-Yf1.025f0.125-r+q-Xf0.125q-Yf2.225f0.125m-Xf0-Yf0-Zf0m+*f-0.970942X*f-0.239316Y+*f0.239316X*f-0.970942Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.025Y-Yf2.225aa-f-0.125X-Xf0.125a-f0.9Y-Yf2.35-r+q-Xf-0.125q-Yf1.025f0.125-r+q-Xf-0.125q-Yf2.225f0.125-r+q-Xf0.125q-Yf1.025f0.125-r+q-Xf0.125q-Yf2.225f0.125m-Xf0-Yf0-Zf0m+*f-0.748511X*f-0.663123Y+*f0.663123X*f-0.748511Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.025Y-Yf2.225aa-f-0.125X-Xf0.125a-f0.9Y-Yf2.35-r+q-Xf-0.125q-Yf1.025f0.125-r+q-Xf-0.125q-Yf2.225f0.125-r+q-Xf0.125q-Yf1.025f0.125-r+q-Xf0.125q-Yf2.225f0.125m-Xf0-Yf0-Zf0m+*f-0.354605X*f-0.935016Y+*f0.935016X*f-0.354605Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.025Y-Yf2.225aa-f-0.125X-Xf0.125a-f0.9Y-Yf2.35-r+q-Xf-0.125q-Yf1.025f0.125-r+q-Xf-0.125q-Yf2.225f0.125-r+q-Xf0.125q-Yf1.025f0.125-r+q-Xf0.125q-Yf2.225f0.125m-Xf0-Yf0-Zf0m+*f0.120537X*f-0.992709Y+*f0.992709X*f0.120537Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.025Y-Yf2.225aa-f-0.125X-Xf0.125a-f0.9Y-Yf2.35-r+q-Xf-0.125q-Yf1.025f0.125-r+q-Xf-0.125q-Yf2.225f0.125-r+q-Xf0.125q-Yf1.025f0.125-r+q-Xf0.125q-Yf2.225f0.125m-Xf0-Yf0-Zf0m+*f0.568065X*f-0.822984Y+*f0.822984X*f0.568065Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.025Y-Yf2.225aa-f-0.125X-Xf0.125a-f0.9Y-Yf2.35-r+q-Xf-0.125q-Yf1.025f0.125-r+q-Xf-0.125q-Yf2.225f0.125-r+q-Xf0.125q-Yf1.025f0.125-r+q-Xf0.125q-Yf2.225f0.125m-Xf0-Yf0-Zf0m+*f0.885456X*f-0.464723Y+*f0.464723X*f0.885456Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.025Y-Yf2.225aa-f-0.125X-Xf0.125a-f0.9Y-Yf2.35-r+q-Xf-0.125q-Yf1.025f0.125-r+q-Xf-0.125q-Yf2.225f0.125-r+q-Xf0.125q-Yf1.025f0.125-r+q-Xf0.125q-Yf2.225f0.125f0.5',float('-10.363000'),float('27.654257'),float('-inf'),float('-5.637000'),float('32.345798'),float('inf'))", "name": "out", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ -64.416890680401423, -186.10968557565423 ], "name": "r1", "script": [ "import fab", "", "title('Recenter')", "", "input('x', float)", "input('y', float)", "input('z', float)", "", "input('shape', fab.types.Shape)", "output('out', fab.shapes.recenter(shape, x, y, z))", "", "# UI", "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)", "" ], "uid": 5 }, { "datums": [ { "expr": "-0.5", "name": "x", "type": "float", "uid": 0 }, { "expr": "30", "name": "y", "type": "float", "uid": 1 }, { "expr": "0.0", "name": "z", "type": "float", "uid": 2 }, { "expr": "\u0011[__29.__7]", "name": "shape", "type": "_fabtypes.Shape", "uid": 3 }, { "expr": "\u0012fab.types.Shape('m-Xf-0.5-Yf29.9976-Zf0iia-r+qXqYf1.4n-r+qXqYf0.5iiiiiiiiiiiiiim-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.275Y-Yf2.475aa-f-0.125X-Xf0.125a-f1.15Y-Yf2.6-r+q-Xf-0.125q-Yf1.275f0.125-r+q-Xf-0.125q-Yf2.475f0.125-r+q-Xf0.125q-Yf1.275f0.125-r+q-Xf0.125q-Yf2.475f0.125m-Xf0-Yf0-Zf0m+*f0.913545X*f0.406737Y+*f-0.406737X*f0.913545Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.275Y-Yf2.475aa-f-0.125X-Xf0.125a-f1.15Y-Yf2.6-r+q-Xf-0.125q-Yf1.275f0.125-r+q-Xf-0.125q-Yf2.475f0.125-r+q-Xf0.125q-Yf1.275f0.125-r+q-Xf0.125q-Yf2.475f0.125m-Xf0-Yf0-Zf0m+*f0.669131X*f0.743145Y+*f-0.743145X*f0.669131Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.275Y-Yf2.475aa-f-0.125X-Xf0.125a-f1.15Y-Yf2.6-r+q-Xf-0.125q-Yf1.275f0.125-r+q-Xf-0.125q-Yf2.475f0.125-r+q-Xf0.125q-Yf1.275f0.125-r+q-Xf0.125q-Yf2.475f0.125m-Xf0-Yf0-Zf0m+*f0.309017X*f0.951057Y+*f-0.951057X*f0.309017Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.275Y-Yf2.475aa-f-0.125X-Xf0.125a-f1.15Y-Yf2.6-r+q-Xf-0.125q-Yf1.275f0.125-r+q-Xf-0.125q-Yf2.475f0.125-r+q-Xf0.125q-Yf1.275f0.125-r+q-Xf0.125q-Yf2.475f0.125m-Xf0-Yf0-Zf0m+*f-0.104528X*f0.994522Y+*f-0.994522X*f-0.104528Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.275Y-Yf2.475aa-f-0.125X-Xf0.125a-f1.15Y-Yf2.6-r+q-Xf-0.125q-Yf1.275f0.125-r+q-Xf-0.125q-Yf2.475f0.125-r+q-Xf0.125q-Yf1.275f0.125-r+q-Xf0.125q-Yf2.475f0.125m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.275Y-Yf2.475aa-f-0.125X-Xf0.125a-f1.15Y-Yf2.6-r+q-Xf-0.125q-Yf1.275f0.125-r+q-Xf-0.125q-Yf2.475f0.125-r+q-Xf0.125q-Yf1.275f0.125-r+q-Xf0.125q-Yf2.475f0.125m-Xf0-Yf0-Zf0m+*f-0.809017X*f0.587785Y+*f-0.587785X*f-0.809017Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.275Y-Yf2.475aa-f-0.125X-Xf0.125a-f1.15Y-Yf2.6-r+q-Xf-0.125q-Yf1.275f0.125-r+q-Xf-0.125q-Yf2.475f0.125-r+q-Xf0.125q-Yf1.275f0.125-r+q-Xf0.125q-Yf2.475f0.125m-Xf0-Yf0-Zf0m+*f-0.978148X*f0.207912Y+*f-0.207912X*f-0.978148Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.275Y-Yf2.475aa-f-0.125X-Xf0.125a-f1.15Y-Yf2.6-r+q-Xf-0.125q-Yf1.275f0.125-r+q-Xf-0.125q-Yf2.475f0.125-r+q-Xf0.125q-Yf1.275f0.125-r+q-Xf0.125q-Yf2.475f0.125m-Xf0-Yf0-Zf0m+*f-0.978148X*f-0.207912Y+*f0.207912X*f-0.978148Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.275Y-Yf2.475aa-f-0.125X-Xf0.125a-f1.15Y-Yf2.6-r+q-Xf-0.125q-Yf1.275f0.125-r+q-Xf-0.125q-Yf2.475f0.125-r+q-Xf0.125q-Yf1.275f0.125-r+q-Xf0.125q-Yf2.475f0.125m-Xf0-Yf0-Zf0m+*f-0.809017X*f-0.587785Y+*f0.587785X*f-0.809017Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.275Y-Yf2.475aa-f-0.125X-Xf0.125a-f1.15Y-Yf2.6-r+q-Xf-0.125q-Yf1.275f0.125-r+q-Xf-0.125q-Yf2.475f0.125-r+q-Xf0.125q-Yf1.275f0.125-r+q-Xf0.125q-Yf2.475f0.125m-Xf0-Yf0-Zf0m+*f-0.5X*f-0.866025Y+*f0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.275Y-Yf2.475aa-f-0.125X-Xf0.125a-f1.15Y-Yf2.6-r+q-Xf-0.125q-Yf1.275f0.125-r+q-Xf-0.125q-Yf2.475f0.125-r+q-Xf0.125q-Yf1.275f0.125-r+q-Xf0.125q-Yf2.475f0.125m-Xf0-Yf0-Zf0m+*f-0.104528X*f-0.994522Y+*f0.994522X*f-0.104528Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.275Y-Yf2.475aa-f-0.125X-Xf0.125a-f1.15Y-Yf2.6-r+q-Xf-0.125q-Yf1.275f0.125-r+q-Xf-0.125q-Yf2.475f0.125-r+q-Xf0.125q-Yf1.275f0.125-r+q-Xf0.125q-Yf2.475f0.125m-Xf0-Yf0-Zf0m+*f0.309017X*f-0.951057Y+*f0.951057X*f0.309017Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.275Y-Yf2.475aa-f-0.125X-Xf0.125a-f1.15Y-Yf2.6-r+q-Xf-0.125q-Yf1.275f0.125-r+q-Xf-0.125q-Yf2.475f0.125-r+q-Xf0.125q-Yf1.275f0.125-r+q-Xf0.125q-Yf2.475f0.125m-Xf0-Yf0-Zf0m+*f0.669131X*f-0.743145Y+*f0.743145X*f0.669131Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.275Y-Yf2.475aa-f-0.125X-Xf0.125a-f1.15Y-Yf2.6-r+q-Xf-0.125q-Yf1.275f0.125-r+q-Xf-0.125q-Yf2.475f0.125-r+q-Xf0.125q-Yf1.275f0.125-r+q-Xf0.125q-Yf2.475f0.125m-Xf0-Yf0-Zf0m+*f0.913545X*f-0.406737Y+*f0.406737X*f0.913545Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.275Y-Yf2.475aa-f-0.125X-Xf0.125a-f1.15Y-Yf2.6-r+q-Xf-0.125q-Yf1.275f0.125-r+q-Xf-0.125q-Yf2.475f0.125-r+q-Xf0.125q-Yf1.275f0.125-r+q-Xf0.125q-Yf2.475f0.125-+rba-r+qXqYf1.4n-r+qXqYf0.5rbiiiiiiiiiiiiiim-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.275Y-Yf2.475aa-f-0.125X-Xf0.125a-f1.15Y-Yf2.6-r+q-Xf-0.125q-Yf1.275f0.125-r+q-Xf-0.125q-Yf2.475f0.125-r+q-Xf0.125q-Yf1.275f0.125-r+q-Xf0.125q-Yf2.475f0.125m-Xf0-Yf0-Zf0m+*f0.913545X*f0.406737Y+*f-0.406737X*f0.913545Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.275Y-Yf2.475aa-f-0.125X-Xf0.125a-f1.15Y-Yf2.6-r+q-Xf-0.125q-Yf1.275f0.125-r+q-Xf-0.125q-Yf2.475f0.125-r+q-Xf0.125q-Yf1.275f0.125-r+q-Xf0.125q-Yf2.475f0.125m-Xf0-Yf0-Zf0m+*f0.669131X*f0.743145Y+*f-0.743145X*f0.669131Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.275Y-Yf2.475aa-f-0.125X-Xf0.125a-f1.15Y-Yf2.6-r+q-Xf-0.125q-Yf1.275f0.125-r+q-Xf-0.125q-Yf2.475f0.125-r+q-Xf0.125q-Yf1.275f0.125-r+q-Xf0.125q-Yf2.475f0.125m-Xf0-Yf0-Zf0m+*f0.309017X*f0.951057Y+*f-0.951057X*f0.309017Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.275Y-Yf2.475aa-f-0.125X-Xf0.125a-f1.15Y-Yf2.6-r+q-Xf-0.125q-Yf1.275f0.125-r+q-Xf-0.125q-Yf2.475f0.125-r+q-Xf0.125q-Yf1.275f0.125-r+q-Xf0.125q-Yf2.475f0.125m-Xf0-Yf0-Zf0m+*f-0.104528X*f0.994522Y+*f-0.994522X*f-0.104528Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.275Y-Yf2.475aa-f-0.125X-Xf0.125a-f1.15Y-Yf2.6-r+q-Xf-0.125q-Yf1.275f0.125-r+q-Xf-0.125q-Yf2.475f0.125-r+q-Xf0.125q-Yf1.275f0.125-r+q-Xf0.125q-Yf2.475f0.125m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.275Y-Yf2.475aa-f-0.125X-Xf0.125a-f1.15Y-Yf2.6-r+q-Xf-0.125q-Yf1.275f0.125-r+q-Xf-0.125q-Yf2.475f0.125-r+q-Xf0.125q-Yf1.275f0.125-r+q-Xf0.125q-Yf2.475f0.125m-Xf0-Yf0-Zf0m+*f-0.809017X*f0.587785Y+*f-0.587785X*f-0.809017Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.275Y-Yf2.475aa-f-0.125X-Xf0.125a-f1.15Y-Yf2.6-r+q-Xf-0.125q-Yf1.275f0.125-r+q-Xf-0.125q-Yf2.475f0.125-r+q-Xf0.125q-Yf1.275f0.125-r+q-Xf0.125q-Yf2.475f0.125m-Xf0-Yf0-Zf0m+*f-0.978148X*f0.207912Y+*f-0.207912X*f-0.978148Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.275Y-Yf2.475aa-f-0.125X-Xf0.125a-f1.15Y-Yf2.6-r+q-Xf-0.125q-Yf1.275f0.125-r+q-Xf-0.125q-Yf2.475f0.125-r+q-Xf0.125q-Yf1.275f0.125-r+q-Xf0.125q-Yf2.475f0.125m-Xf0-Yf0-Zf0m+*f-0.978148X*f-0.207912Y+*f0.207912X*f-0.978148Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.275Y-Yf2.475aa-f-0.125X-Xf0.125a-f1.15Y-Yf2.6-r+q-Xf-0.125q-Yf1.275f0.125-r+q-Xf-0.125q-Yf2.475f0.125-r+q-Xf0.125q-Yf1.275f0.125-r+q-Xf0.125q-Yf2.475f0.125m-Xf0-Yf0-Zf0m+*f-0.809017X*f-0.587785Y+*f0.587785X*f-0.809017Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.275Y-Yf2.475aa-f-0.125X-Xf0.125a-f1.15Y-Yf2.6-r+q-Xf-0.125q-Yf1.275f0.125-r+q-Xf-0.125q-Yf2.475f0.125-r+q-Xf0.125q-Yf1.275f0.125-r+q-Xf0.125q-Yf2.475f0.125m-Xf0-Yf0-Zf0m+*f-0.5X*f-0.866025Y+*f0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.275Y-Yf2.475aa-f-0.125X-Xf0.125a-f1.15Y-Yf2.6-r+q-Xf-0.125q-Yf1.275f0.125-r+q-Xf-0.125q-Yf2.475f0.125-r+q-Xf0.125q-Yf1.275f0.125-r+q-Xf0.125q-Yf2.475f0.125m-Xf0-Yf0-Zf0m+*f-0.104528X*f-0.994522Y+*f0.994522X*f-0.104528Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.275Y-Yf2.475aa-f-0.125X-Xf0.125a-f1.15Y-Yf2.6-r+q-Xf-0.125q-Yf1.275f0.125-r+q-Xf-0.125q-Yf2.475f0.125-r+q-Xf0.125q-Yf1.275f0.125-r+q-Xf0.125q-Yf2.475f0.125m-Xf0-Yf0-Zf0m+*f0.309017X*f-0.951057Y+*f0.951057X*f0.309017Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.275Y-Yf2.475aa-f-0.125X-Xf0.125a-f1.15Y-Yf2.6-r+q-Xf-0.125q-Yf1.275f0.125-r+q-Xf-0.125q-Yf2.475f0.125-r+q-Xf0.125q-Yf1.275f0.125-r+q-Xf0.125q-Yf2.475f0.125m-Xf0-Yf0-Zf0m+*f0.669131X*f-0.743145Y+*f0.743145X*f0.669131Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.275Y-Yf2.475aa-f-0.125X-Xf0.125a-f1.15Y-Yf2.6-r+q-Xf-0.125q-Yf1.275f0.125-r+q-Xf-0.125q-Yf2.475f0.125-r+q-Xf0.125q-Yf1.275f0.125-r+q-Xf0.125q-Yf2.475f0.125m-Xf0-Yf0-Zf0m+*f0.913545X*f-0.406737Y+*f0.406737X*f0.913545Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.275Y-Yf2.475aa-f-0.125X-Xf0.125a-f1.15Y-Yf2.6-r+q-Xf-0.125q-Yf1.275f0.125-r+q-Xf-0.125q-Yf2.475f0.125-r+q-Xf0.125q-Yf1.275f0.125-r+q-Xf0.125q-Yf2.475f0.125f0.5',float('-3.111889'),float('27.402437'),float('-inf'),float('2.111889'),float('32.597599'),float('inf'))", "name": "out", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 224.91586800817379, -189.94866413626295 ], "name": "r2", "script": [ "import fab", "", "title('Recenter')", "", "input('x', float)", "input('y', float)", "input('z', float)", "", "input('shape', fab.types.Shape)", "output('out', fab.shapes.recenter(shape, x, y, z))", "", "# UI", "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)", "" ], "uid": 6 }, { "datums": [ { "expr": "8", "name": "x", "type": "float", "uid": 0 }, { "expr": "30", "name": "y", "type": "float", "uid": 1 }, { "expr": "0.0", "name": "z", "type": "float", "uid": 2 }, { "expr": "\u0011[__4.__7]", "name": "shape", "type": "_fabtypes.Shape", "uid": 3 }, { "expr": "\u0012fab.types.Shape('m-Xf8-Yf30-Zf0iia-r+qXqYf1.775n-r+qXqYf0.5iiiiiiiiiiiiiiiiim-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.65Y-Yf2.85aa-f-0.125X-Xf0.125a-f1.525Y-Yf2.975-r+q-Xf-0.125q-Yf1.65f0.125-r+q-Xf-0.125q-Yf2.85f0.125-r+q-Xf0.125q-Yf1.65f0.125-r+q-Xf0.125q-Yf2.85f0.125m-Xf0-Yf0-Zf0m+*f0.939693X*f0.34202Y+*f-0.34202X*f0.939693Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.65Y-Yf2.85aa-f-0.125X-Xf0.125a-f1.525Y-Yf2.975-r+q-Xf-0.125q-Yf1.65f0.125-r+q-Xf-0.125q-Yf2.85f0.125-r+q-Xf0.125q-Yf1.65f0.125-r+q-Xf0.125q-Yf2.85f0.125m-Xf0-Yf0-Zf0m+*f0.766044X*f0.642788Y+*f-0.642788X*f0.766044Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.65Y-Yf2.85aa-f-0.125X-Xf0.125a-f1.525Y-Yf2.975-r+q-Xf-0.125q-Yf1.65f0.125-r+q-Xf-0.125q-Yf2.85f0.125-r+q-Xf0.125q-Yf1.65f0.125-r+q-Xf0.125q-Yf2.85f0.125m-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.65Y-Yf2.85aa-f-0.125X-Xf0.125a-f1.525Y-Yf2.975-r+q-Xf-0.125q-Yf1.65f0.125-r+q-Xf-0.125q-Yf2.85f0.125-r+q-Xf0.125q-Yf1.65f0.125-r+q-Xf0.125q-Yf2.85f0.125m-Xf0-Yf0-Zf0m+*f0.173648X*f0.984808Y+*f-0.984808X*f0.173648Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.65Y-Yf2.85aa-f-0.125X-Xf0.125a-f1.525Y-Yf2.975-r+q-Xf-0.125q-Yf1.65f0.125-r+q-Xf-0.125q-Yf2.85f0.125-r+q-Xf0.125q-Yf1.65f0.125-r+q-Xf0.125q-Yf2.85f0.125m-Xf0-Yf0-Zf0m+*f-0.173648X*f0.984808Y+*f-0.984808X*f-0.173648Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.65Y-Yf2.85aa-f-0.125X-Xf0.125a-f1.525Y-Yf2.975-r+q-Xf-0.125q-Yf1.65f0.125-r+q-Xf-0.125q-Yf2.85f0.125-r+q-Xf0.125q-Yf1.65f0.125-r+q-Xf0.125q-Yf2.85f0.125m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.65Y-Yf2.85aa-f-0.125X-Xf0.125a-f1.525Y-Yf2.975-r+q-Xf-0.125q-Yf1.65f0.125-r+q-Xf-0.125q-Yf2.85f0.125-r+q-Xf0.125q-Yf1.65f0.125-r+q-Xf0.125q-Yf2.85f0.125m-Xf0-Yf0-Zf0m+*f-0.766044X*f0.642788Y+*f-0.642788X*f-0.766044Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.65Y-Yf2.85aa-f-0.125X-Xf0.125a-f1.525Y-Yf2.975-r+q-Xf-0.125q-Yf1.65f0.125-r+q-Xf-0.125q-Yf2.85f0.125-r+q-Xf0.125q-Yf1.65f0.125-r+q-Xf0.125q-Yf2.85f0.125m-Xf0-Yf0-Zf0m+*f-0.939693X*f0.34202Y+*f-0.34202X*f-0.939693Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.65Y-Yf2.85aa-f-0.125X-Xf0.125a-f1.525Y-Yf2.975-r+q-Xf-0.125q-Yf1.65f0.125-r+q-Xf-0.125q-Yf2.85f0.125-r+q-Xf0.125q-Yf1.65f0.125-r+q-Xf0.125q-Yf2.85f0.125m-Xf0-Yf0-Zf0m+*f-1X*f1.22465e-16Y+*f-1.22465e-16X*f-1Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.65Y-Yf2.85aa-f-0.125X-Xf0.125a-f1.525Y-Yf2.975-r+q-Xf-0.125q-Yf1.65f0.125-r+q-Xf-0.125q-Yf2.85f0.125-r+q-Xf0.125q-Yf1.65f0.125-r+q-Xf0.125q-Yf2.85f0.125m-Xf0-Yf0-Zf0m+*f-0.939693X*f-0.34202Y+*f0.34202X*f-0.939693Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.65Y-Yf2.85aa-f-0.125X-Xf0.125a-f1.525Y-Yf2.975-r+q-Xf-0.125q-Yf1.65f0.125-r+q-Xf-0.125q-Yf2.85f0.125-r+q-Xf0.125q-Yf1.65f0.125-r+q-Xf0.125q-Yf2.85f0.125m-Xf0-Yf0-Zf0m+*f-0.766044X*f-0.642788Y+*f0.642788X*f-0.766044Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.65Y-Yf2.85aa-f-0.125X-Xf0.125a-f1.525Y-Yf2.975-r+q-Xf-0.125q-Yf1.65f0.125-r+q-Xf-0.125q-Yf2.85f0.125-r+q-Xf0.125q-Yf1.65f0.125-r+q-Xf0.125q-Yf2.85f0.125m-Xf0-Yf0-Zf0m+*f-0.5X*f-0.866025Y+*f0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.65Y-Yf2.85aa-f-0.125X-Xf0.125a-f1.525Y-Yf2.975-r+q-Xf-0.125q-Yf1.65f0.125-r+q-Xf-0.125q-Yf2.85f0.125-r+q-Xf0.125q-Yf1.65f0.125-r+q-Xf0.125q-Yf2.85f0.125m-Xf0-Yf0-Zf0m+*f-0.173648X*f-0.984808Y+*f0.984808X*f-0.173648Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.65Y-Yf2.85aa-f-0.125X-Xf0.125a-f1.525Y-Yf2.975-r+q-Xf-0.125q-Yf1.65f0.125-r+q-Xf-0.125q-Yf2.85f0.125-r+q-Xf0.125q-Yf1.65f0.125-r+q-Xf0.125q-Yf2.85f0.125m-Xf0-Yf0-Zf0m+*f0.173648X*f-0.984808Y+*f0.984808X*f0.173648Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.65Y-Yf2.85aa-f-0.125X-Xf0.125a-f1.525Y-Yf2.975-r+q-Xf-0.125q-Yf1.65f0.125-r+q-Xf-0.125q-Yf2.85f0.125-r+q-Xf0.125q-Yf1.65f0.125-r+q-Xf0.125q-Yf2.85f0.125m-Xf0-Yf0-Zf0m+*f0.5X*f-0.866025Y+*f0.866025X*f0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.65Y-Yf2.85aa-f-0.125X-Xf0.125a-f1.525Y-Yf2.975-r+q-Xf-0.125q-Yf1.65f0.125-r+q-Xf-0.125q-Yf2.85f0.125-r+q-Xf0.125q-Yf1.65f0.125-r+q-Xf0.125q-Yf2.85f0.125m-Xf0-Yf0-Zf0m+*f0.766044X*f-0.642788Y+*f0.642788X*f0.766044Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.65Y-Yf2.85aa-f-0.125X-Xf0.125a-f1.525Y-Yf2.975-r+q-Xf-0.125q-Yf1.65f0.125-r+q-Xf-0.125q-Yf2.85f0.125-r+q-Xf0.125q-Yf1.65f0.125-r+q-Xf0.125q-Yf2.85f0.125m-Xf0-Yf0-Zf0m+*f0.939693X*f-0.34202Y+*f0.34202X*f0.939693Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.65Y-Yf2.85aa-f-0.125X-Xf0.125a-f1.525Y-Yf2.975-r+q-Xf-0.125q-Yf1.65f0.125-r+q-Xf-0.125q-Yf2.85f0.125-r+q-Xf0.125q-Yf1.65f0.125-r+q-Xf0.125q-Yf2.85f0.125-+rba-r+qXqYf1.775n-r+qXqYf0.5rbiiiiiiiiiiiiiiiiim-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.65Y-Yf2.85aa-f-0.125X-Xf0.125a-f1.525Y-Yf2.975-r+q-Xf-0.125q-Yf1.65f0.125-r+q-Xf-0.125q-Yf2.85f0.125-r+q-Xf0.125q-Yf1.65f0.125-r+q-Xf0.125q-Yf2.85f0.125m-Xf0-Yf0-Zf0m+*f0.939693X*f0.34202Y+*f-0.34202X*f0.939693Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.65Y-Yf2.85aa-f-0.125X-Xf0.125a-f1.525Y-Yf2.975-r+q-Xf-0.125q-Yf1.65f0.125-r+q-Xf-0.125q-Yf2.85f0.125-r+q-Xf0.125q-Yf1.65f0.125-r+q-Xf0.125q-Yf2.85f0.125m-Xf0-Yf0-Zf0m+*f0.766044X*f0.642788Y+*f-0.642788X*f0.766044Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.65Y-Yf2.85aa-f-0.125X-Xf0.125a-f1.525Y-Yf2.975-r+q-Xf-0.125q-Yf1.65f0.125-r+q-Xf-0.125q-Yf2.85f0.125-r+q-Xf0.125q-Yf1.65f0.125-r+q-Xf0.125q-Yf2.85f0.125m-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.65Y-Yf2.85aa-f-0.125X-Xf0.125a-f1.525Y-Yf2.975-r+q-Xf-0.125q-Yf1.65f0.125-r+q-Xf-0.125q-Yf2.85f0.125-r+q-Xf0.125q-Yf1.65f0.125-r+q-Xf0.125q-Yf2.85f0.125m-Xf0-Yf0-Zf0m+*f0.173648X*f0.984808Y+*f-0.984808X*f0.173648Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.65Y-Yf2.85aa-f-0.125X-Xf0.125a-f1.525Y-Yf2.975-r+q-Xf-0.125q-Yf1.65f0.125-r+q-Xf-0.125q-Yf2.85f0.125-r+q-Xf0.125q-Yf1.65f0.125-r+q-Xf0.125q-Yf2.85f0.125m-Xf0-Yf0-Zf0m+*f-0.173648X*f0.984808Y+*f-0.984808X*f-0.173648Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.65Y-Yf2.85aa-f-0.125X-Xf0.125a-f1.525Y-Yf2.975-r+q-Xf-0.125q-Yf1.65f0.125-r+q-Xf-0.125q-Yf2.85f0.125-r+q-Xf0.125q-Yf1.65f0.125-r+q-Xf0.125q-Yf2.85f0.125m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.65Y-Yf2.85aa-f-0.125X-Xf0.125a-f1.525Y-Yf2.975-r+q-Xf-0.125q-Yf1.65f0.125-r+q-Xf-0.125q-Yf2.85f0.125-r+q-Xf0.125q-Yf1.65f0.125-r+q-Xf0.125q-Yf2.85f0.125m-Xf0-Yf0-Zf0m+*f-0.766044X*f0.642788Y+*f-0.642788X*f-0.766044Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.65Y-Yf2.85aa-f-0.125X-Xf0.125a-f1.525Y-Yf2.975-r+q-Xf-0.125q-Yf1.65f0.125-r+q-Xf-0.125q-Yf2.85f0.125-r+q-Xf0.125q-Yf1.65f0.125-r+q-Xf0.125q-Yf2.85f0.125m-Xf0-Yf0-Zf0m+*f-0.939693X*f0.34202Y+*f-0.34202X*f-0.939693Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.65Y-Yf2.85aa-f-0.125X-Xf0.125a-f1.525Y-Yf2.975-r+q-Xf-0.125q-Yf1.65f0.125-r+q-Xf-0.125q-Yf2.85f0.125-r+q-Xf0.125q-Yf1.65f0.125-r+q-Xf0.125q-Yf2.85f0.125m-Xf0-Yf0-Zf0m+*f-1X*f1.22465e-16Y+*f-1.22465e-16X*f-1Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.65Y-Yf2.85aa-f-0.125X-Xf0.125a-f1.525Y-Yf2.975-r+q-Xf-0.125q-Yf1.65f0.125-r+q-Xf-0.125q-Yf2.85f0.125-r+q-Xf0.125q-Yf1.65f0.125-r+q-Xf0.125q-Yf2.85f0.125m-Xf0-Yf0-Zf0m+*f-0.939693X*f-0.34202Y+*f0.34202X*f-0.939693Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.65Y-Yf2.85aa-f-0.125X-Xf0.125a-f1.525Y-Yf2.975-r+q-Xf-0.125q-Yf1.65f0.125-r+q-Xf-0.125q-Yf2.85f0.125-r+q-Xf0.125q-Yf1.65f0.125-r+q-Xf0.125q-Yf2.85f0.125m-Xf0-Yf0-Zf0m+*f-0.766044X*f-0.642788Y+*f0.642788X*f-0.766044Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.65Y-Yf2.85aa-f-0.125X-Xf0.125a-f1.525Y-Yf2.975-r+q-Xf-0.125q-Yf1.65f0.125-r+q-Xf-0.125q-Yf2.85f0.125-r+q-Xf0.125q-Yf1.65f0.125-r+q-Xf0.125q-Yf2.85f0.125m-Xf0-Yf0-Zf0m+*f-0.5X*f-0.866025Y+*f0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.65Y-Yf2.85aa-f-0.125X-Xf0.125a-f1.525Y-Yf2.975-r+q-Xf-0.125q-Yf1.65f0.125-r+q-Xf-0.125q-Yf2.85f0.125-r+q-Xf0.125q-Yf1.65f0.125-r+q-Xf0.125q-Yf2.85f0.125m-Xf0-Yf0-Zf0m+*f-0.173648X*f-0.984808Y+*f0.984808X*f-0.173648Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.65Y-Yf2.85aa-f-0.125X-Xf0.125a-f1.525Y-Yf2.975-r+q-Xf-0.125q-Yf1.65f0.125-r+q-Xf-0.125q-Yf2.85f0.125-r+q-Xf0.125q-Yf1.65f0.125-r+q-Xf0.125q-Yf2.85f0.125m-Xf0-Yf0-Zf0m+*f0.173648X*f-0.984808Y+*f0.984808X*f0.173648Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.65Y-Yf2.85aa-f-0.125X-Xf0.125a-f1.525Y-Yf2.975-r+q-Xf-0.125q-Yf1.65f0.125-r+q-Xf-0.125q-Yf2.85f0.125-r+q-Xf0.125q-Yf1.65f0.125-r+q-Xf0.125q-Yf2.85f0.125m-Xf0-Yf0-Zf0m+*f0.5X*f-0.866025Y+*f0.866025X*f0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.65Y-Yf2.85aa-f-0.125X-Xf0.125a-f1.525Y-Yf2.975-r+q-Xf-0.125q-Yf1.65f0.125-r+q-Xf-0.125q-Yf2.85f0.125-r+q-Xf0.125q-Yf1.65f0.125-r+q-Xf0.125q-Yf2.85f0.125m-Xf0-Yf0-Zf0m+*f0.766044X*f-0.642788Y+*f0.642788X*f0.766044Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.65Y-Yf2.85aa-f-0.125X-Xf0.125a-f1.525Y-Yf2.975-r+q-Xf-0.125q-Yf1.65f0.125-r+q-Xf-0.125q-Yf2.85f0.125-r+q-Xf0.125q-Yf1.65f0.125-r+q-Xf0.125q-Yf2.85f0.125m-Xf0-Yf0-Zf0m+*f0.939693X*f-0.34202Y+*f0.34202X*f0.939693Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.65Y-Yf2.85aa-f-0.125X-Xf0.125a-f1.525Y-Yf2.975-r+q-Xf-0.125q-Yf1.65f0.125-r+q-Xf-0.125q-Yf2.85f0.125-r+q-Xf0.125q-Yf1.65f0.125-r+q-Xf0.125q-Yf2.85f0.125f0.5',float('5.026784'),float('27.025000'),float('-inf'),float('10.973216'),float('32.974998'),float('inf'))", "name": "out", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 511.09566213657422, -193.55358010317929 ], "name": "r3", "script": [ "import fab", "", "title('Recenter')", "", "input('x', float)", "input('y', float)", "input('z', float)", "", "input('shape', fab.types.Shape)", "output('out', fab.shapes.recenter(shape, x, y, z))", "", "# UI", "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)", "" ], "uid": 8 }, { "datums": [ { "expr": "9", "name": "r", "subdatum": [ -401, -470 ], "type": "float", "uid": 0 }, { "expr": "72", "name": "nTeeth", "subdatum": [ -400.46614198105999, -429.5338580189399 ], "type": "int", "uid": 1 }, { "expr": "var.wTeeth", "name": "wTeeth", "subdatum": [ -402, -386 ], "type": "float", "uid": 2 }, { "expr": "var.hTeeth", "name": "hTeeth", "subdatum": [ -402, -346 ], "type": "float", "uid": 3 }, { "expr": "var.wBeam", "name": "wBeam", "subdatum": [ -403, -307 ], "type": "float", "uid": 4 }, { "expr": "1.660", "name": "dAxle", "subdatum": [ -402, -268 ], "type": "float", "uid": 5 }, { "expr": "var.kerf", "name": "kerf", "subdatum": [ -403, -229 ], "type": "float", "uid": 6 }, { "expr": "\u0013[__16.__3]", "name": "gear", "subdatum": [ 1302.2454580799513, 351.25348633723064 ], "type": "_fabtypes.Shape", "uid": 7 } ], "inspector": [ -61.882756363921743, -1.23988460387136 ], "name": "gear72", "subgraph": [ { "datums": [ { "expr": "\u0011[__parent.__0]", "name": "rGear", "type": "float", "uid": 8 }, { "expr": "\u0011[__parent.__3]", "name": "hTeeth", "type": "float", "uid": 9 }, { "expr": "\u0011[__parent.__4]", "name": "wBeam", "type": "float", "uid": 2 }, { "expr": "\u0011[__parent.__5]", "name": "dAxle", "type": "float", "uid": 5 }, { "expr": "\u0011[__parent.__6]", "name": "kerf", "type": "float", "uid": 10 }, { "expr": "0", "name": "_a", "type": "float", "uid": 3 }, { "expr": "\u0012fab.types.Shape('-r+qXqYf8.525',float('-8.525000'),float('-8.525000'),float('-inf'),float('8.525000'),float('8.525000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 19, -467 ], "name": "outer", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 6/11/18", "", "import fab", "import math", "", "title('Circle (center)')", "", "input('rGear',float)", "input('hTeeth', float)", "input('wBeam', float)", "input('dAxle', float)", "input('kerf', float)", "input('_a',float)", "", "x0 = 0", "y0 = 0", "r = rGear - hTeeth/2 + kerf/2", "", "output('shape', fab.shapes.circle(x0, y0, r))", "", "def drag_r(this,x,y,z):", " dx = x - this.x0", " dy = y - this.y0", " this.r = math.sqrt(dx**2 + dy**2)", " this._a = math.atan2(dy, dx)", "", "# UI", "sb.ui.wireframe([", " (math.cos(i/36. * 2*math.pi) * r + x0,", " math.sin(i/36. * 2*math.pi) * r + y0, 0)", " for i in range(36)], close=True)", "sb.ui.point(x0,y0)", "sb.ui.point(x0 + r*math.cos(_a),", " y0 + r*math.sin(_a),", " drag=drag_r, relative=False)", "", "" ], "uid": 0 }, { "datums": [ { "expr": "\u0011[__parent.__0]", "name": "rGear", "type": "float", "uid": 6 }, { "expr": "\u0011[__parent.__4]", "name": "wBeam", "type": "float", "uid": 5 }, { "expr": "\u0011[__parent.__6]", "name": "kerf", "type": "float", "uid": 7 }, { "expr": "\u0012fab.types.Shape('aa-f-8X-Xf8a-f-0.625Y-Yf0.625',float('-8.000000'),float('-0.625000'),float('-inf'),float('8.000000'),float('0.625000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 15.466141981060218, -48.151172643955647 ], "name": "beam", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 6/11/15", "", "import fab", "", "title('Rectangle (center)')", "", "input('rGear',float)", "input('wBeam', float)", "input('kerf', float)", "", "x0 = 0", "y0 = 0", "height = wBeam + kerf", "width = rGear*2 - wBeam*2", "", "xmin, xmax = x0 - width/2, x0 + width/2", "ymin, ymax = y0 - height/2, y0 + height/2", "", "output('shape', fab.shapes.rectangle(xmin, xmax, ymin, ymax))", "", "def drag_hw(this, x, y, z):", " this.width = abs(2 * (x - this.x0))", " this.height = abs(2 * (y - this.y0))", "", "# UI", "sb.ui.wireframe(", " [(xmin, ymin, 0), (xmax, ymin, 0), (xmax, ymax, 0), (xmin, ymax, 0)],", " close=True)", "sb.ui.point(x0, y0)", "sb.ui.point(xmax, ymax, drag=drag_hw, relative=False)", "" ], "uid": 1 }, { "datums": [ { "expr": "\u0011[__0.__8]", "name": "rGear", "type": "float", "uid": 8 }, { "expr": "\u0011[__0.__9]", "name": "hTeeth", "type": "float", "uid": 9 }, { "expr": "\u0011[__0.__2]", "name": "wBeam", "type": "float", "uid": 2 }, { "expr": "\u0011[__0.__5]", "name": "dAxle", "type": "float", "uid": 5 }, { "expr": "\u0011[__0.__10]", "name": "kerf", "type": "float", "uid": 10 }, { "expr": "0", "name": "_a", "type": "float", "uid": 3 }, { "expr": "\u0012fab.types.Shape('-r+qXqYf7.875',float('-7.875000'),float('-7.875000'),float('-inf'),float('7.875000'),float('7.875000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 317, -467 ], "name": "rimOut", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 6/11/18", "", "import fab", "import math", "", "title('Circle (center)')", "", "input('rGear',float)", "input('hTeeth', float)", "input('wBeam', float)", "input('dAxle', float)", "input('kerf', float)", "input('_a',float)", "", "x0 = 0", "y0 = 0", "r = rGear - wBeam - kerf/2", "", "output('shape', fab.shapes.circle(x0, y0, r))", "", "def drag_r(this,x,y,z):", " dx = x - this.x0", " dy = y - this.y0", " this.r = math.sqrt(dx**2 + dy**2)", " this._a = math.atan2(dy, dx)", "", "# UI", "sb.ui.wireframe([", " (math.cos(i/36. * 2*math.pi) * r + x0,", " math.sin(i/36. * 2*math.pi) * r + y0, 0)", " for i in range(36)], close=True)", "sb.ui.point(x0,y0)", "sb.ui.point(x0 + r*math.cos(_a),", " y0 + r*math.sin(_a),", " drag=drag_r, relative=False)", "", "" ], "uid": 2 }, { "datums": [ { "expr": "\u0011[__2.__8]", "name": "rGear", "type": "float", "uid": 8 }, { "expr": "\u0011[__2.__9]", "name": "hTeeth", "type": "float", "uid": 9 }, { "expr": "\u0011[__2.__2]", "name": "wBeam", "type": "float", "uid": 2 }, { "expr": "\u0011[__2.__5]", "name": "dAxle", "type": "float", "uid": 5 }, { "expr": "\u0011[__2.__10]", "name": "kerf", "type": "float", "uid": 10 }, { "expr": "0", "name": "_a", "type": "float", "uid": 3 }, { "expr": "\u0012fab.types.Shape('-r+qXqYf1.955',float('-1.955000'),float('-1.955000'),float('-inf'),float('1.955000'),float('1.955000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 619, -467 ], "name": "rimIn", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 6/11/18", "", "import fab", "import math", "", "title('Circle (center)')", "", "input('rGear',float)", "input('hTeeth', float)", "input('wBeam', float)", "input('dAxle', float)", "input('kerf', float)", "input('_a',float)", "", "x0 = 0", "y0 = 0", "r = dAxle/2 + wBeam + kerf/2", "", "output('shape', fab.shapes.circle(x0, y0, r))", "", "def drag_r(this,x,y,z):", " dx = x - this.x0", " dy = y - this.y0", " this.r = math.sqrt(dx**2 + dy**2)", " this._a = math.atan2(dy, dx)", "", "# UI", "sb.ui.wireframe([", " (math.cos(i/36. * 2*math.pi) * r + x0,", " math.sin(i/36. * 2*math.pi) * r + y0, 0)", " for i in range(36)], close=True)", "sb.ui.point(x0,y0)", "sb.ui.point(x0 + r*math.cos(_a),", " y0 + r*math.sin(_a),", " drag=drag_r, relative=False)", "", "" ], "uid": 3 }, { "datums": [ { "expr": "\u0011[__3.__8]", "name": "rGear", "type": "float", "uid": 8 }, { "expr": "\u0011[__3.__9]", "name": "hTeeth", "type": "float", "uid": 9 }, { "expr": "\u0011[__3.__2]", "name": "wBeam", "type": "float", "uid": 2 }, { "expr": "\u0011[__3.__5]", "name": "dAxle", "type": "float", "uid": 5 }, { "expr": "\u0011[__3.__10]", "name": "kerf", "type": "float", "uid": 10 }, { "expr": "0", "name": "_a", "type": "float", "uid": 3 }, { "expr": "\u0012fab.types.Shape('-r+qXqYf0.705',float('-0.705000'),float('-0.705000'),float('-inf'),float('0.705000'),float('0.705000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 930, -466 ], "name": "SupportIn0", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 6/11/18", "", "import fab", "import math", "", "title('Circle (center)')", "", "input('rGear',float)", "input('hTeeth', float)", "input('wBeam', float)", "input('dAxle', float)", "input('kerf', float)", "input('_a',float)", "", "x0 = 0", "y0 = 0", "r = dAxle/2 - kerf/2", "", "output('shape', fab.shapes.circle(x0, y0, r))", "", "def drag_r(this,x,y,z):", " dx = x - this.x0", " dy = y - this.y0", " this.r = math.sqrt(dx**2 + dy**2)", " this._a = math.atan2(dy, dx)", "", "# UI", "sb.ui.wireframe([", " (math.cos(i/36. * 2*math.pi) * r + x0,", " math.sin(i/36. * 2*math.pi) * r + y0, 0)", " for i in range(36)], close=True)", "sb.ui.point(x0,y0)", "sb.ui.point(x0 + r*math.cos(_a),", " y0 + r*math.sin(_a),", " drag=drag_r, relative=False)", "", "" ], "uid": 4 }, { "datums": [ { "expr": "0.0", "name": "_z", "type": "float", "uid": 2 }, { "expr": "0", "name": "a", "type": "float", "uid": 3 }, { "expr": "\u0011[__1.__4]", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-8X-Xf8a-f-0.625Y-Yf0.625',float('-8.000000'),float('-0.625000'),float('-inf'),float('8.000000'),float('0.625000'),float('inf'))", "name": "rotated", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 318.46614198106022, -46.151172643955647 ], "name": "r1", "script": [ "import fab", "import math", "", "title('Rotate (Z)')", "", "input('_z', float)", "input('a', float)", "", "x = 0", "y = 0", "", "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": 5 }, { "datums": [ { "expr": "0.0", "name": "_z", "type": "float", "uid": 2 }, { "expr": "60", "name": "a", "type": "float", "uid": 3 }, { "expr": "\u0011[__1.__4]", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-8X-Xf8a-f-0.625Y-Yf0.625',float('-4.541265'),float('-7.240700'),float('-inf'),float('4.541265'),float('7.240700'),float('inf'))", "name": "rotated", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 319.93228396212032, 84.697654712088706 ], "name": "r2", "script": [ "import fab", "import math", "", "title('Rotate (Z)')", "", "input('_z', float)", "input('a', float)", "", "x = 0", "y = 0", "", "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": 6 }, { "datums": [ { "expr": "0.0", "name": "_z", "type": "float", "uid": 2 }, { "expr": "120", "name": "a", "type": "float", "uid": 3 }, { "expr": "\u0011[__1.__4]", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-8X-Xf8a-f-0.625Y-Yf0.625',float('-4.541265'),float('-7.240700'),float('-inf'),float('4.541265'),float('7.240700'),float('inf'))", "name": "rotated", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 323.53385801893995, 215.01262404919316 ], "name": "r3", "script": [ "import fab", "import math", "", "title('Rotate (Z)')", "", "input('_z', float)", "input('a', float)", "", "x = 0", "y = 0", "", "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": 7 }, { "datums": [ { "expr": "\u0011[__0.__4]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__2.__4]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('a-r+qXqYf8.525n-r+qXqYf7.875',float('-8.525000'),float('-8.525000'),float('-inf'),float('8.525000'),float('8.525000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 214.46614198106022, -259.15117264395565 ], "name": "d0", "script": [ "import fab.types", "", "title('Difference')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a & ~b)", "" ], "uid": 8 }, { "datums": [ { "expr": "\u0011[__5.__5]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__10.__2]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('im-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-8X-Xf8a-f-0.625Y-Yf0.625im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-8X-Xf8a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-8X-Xf8a-f-0.625Y-Yf0.625',float('-8.000000'),float('-7.240700'),float('-inf'),float('8.000000'),float('7.240700'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 628.5338580189399, 54.103950939367181 ], "name": "u0", "script": [ "import fab.types", "", "title('Union')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a | b)", "" ], "uid": 9 }, { "datums": [ { "expr": "\u0011[__6.__5]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__7.__5]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-8X-Xf8a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-8X-Xf8a-f-0.625Y-Yf0.625',float('-4.541265'),float('-7.240700'),float('-inf'),float('4.541265'),float('7.240700'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 631.93228396212021, 186.95277829541152 ], "name": "u1", "script": [ "import fab.types", "", "title('Union')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a | b)", "" ], "uid": 10 }, { "datums": [ { "expr": "\u0011[__12.__3]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__4.__4]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('aii-r+qXqYf1.955iia-r+qXqYf8.525n-r+qXqYf7.875im-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-8X-Xf8a-f-0.625Y-Yf0.625im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-8X-Xf8a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-8X-Xf8a-f-0.625Y-Yf0.625-+rba-r+qXqYf8.525n-r+qXqYf7.875rbim-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-8X-Xf8a-f-0.625Y-Yf0.625im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-8X-Xf8a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-8X-Xf8a-f-0.625Y-Yf0.625f1-+rb-r+qXqYf1.955rbiia-r+qXqYf8.525n-r+qXqYf7.875im-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-8X-Xf8a-f-0.625Y-Yf0.625im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-8X-Xf8a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-8X-Xf8a-f-0.625Y-Yf0.625-+rba-r+qXqYf8.525n-r+qXqYf7.875rbim-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-8X-Xf8a-f-0.625Y-Yf0.625im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-8X-Xf8a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-8X-Xf8a-f-0.625Y-Yf0.625f1f1n-r+qXqYf0.705',float('-8.525000'),float('-8.525000'),float('-inf'),float('8.525000'),float('8.525000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 1105.46614198106, -254.15117264395565 ], "name": "d1", "script": [ "import fab.types", "", "title('Difference')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a & ~b)", "" ], "uid": 13 }, { "datums": [ { "expr": "\u0011[__8.__2]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__9.__2]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "1", "name": "q", "type": "float", "uid": 2 }, { "expr": "\u0012fab.types.Shape('iia-r+qXqYf8.525n-r+qXqYf7.875im-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-8X-Xf8a-f-0.625Y-Yf0.625im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-8X-Xf8a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-8X-Xf8a-f-0.625Y-Yf0.625-+rba-r+qXqYf8.525n-r+qXqYf7.875rbim-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-8X-Xf8a-f-0.625Y-Yf0.625im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-8X-Xf8a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-8X-Xf8a-f-0.625Y-Yf0.625f1',float('-8.525000'),float('-8.525000'),float('-inf'),float('8.525000'),float('8.525000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 3 } ], "inspector": [ 633.46614198106022, -106.15117264395565 ], "name": "b0", "script": [ "import fab.types", "import fab.shapes", "", "title('Blend')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "input('q', float)", "", "output('shape', fab.shapes.blend(a, b, q))", "" ], "uid": 11 }, { "datums": [ { "expr": "\u0011[__3.__4]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__11.__3]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "1", "name": "q", "type": "float", "uid": 2 }, { "expr": "\u0012fab.types.Shape('ii-r+qXqYf1.955iia-r+qXqYf8.525n-r+qXqYf7.875im-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-8X-Xf8a-f-0.625Y-Yf0.625im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-8X-Xf8a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-8X-Xf8a-f-0.625Y-Yf0.625-+rba-r+qXqYf8.525n-r+qXqYf7.875rbim-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-8X-Xf8a-f-0.625Y-Yf0.625im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-8X-Xf8a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-8X-Xf8a-f-0.625Y-Yf0.625f1-+rb-r+qXqYf1.955rbiia-r+qXqYf8.525n-r+qXqYf7.875im-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-8X-Xf8a-f-0.625Y-Yf0.625im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-8X-Xf8a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-8X-Xf8a-f-0.625Y-Yf0.625-+rba-r+qXqYf8.525n-r+qXqYf7.875rbim-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-8X-Xf8a-f-0.625Y-Yf0.625im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-8X-Xf8a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-8X-Xf8a-f-0.625Y-Yf0.625f1f1',float('-8.525000'),float('-8.525000'),float('-inf'),float('8.525000'),float('8.525000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 3 } ], "inspector": [ 757.46614198106022, -255.15117264395565 ], "name": "b1", "script": [ "import fab.types", "import fab.shapes", "", "title('Blend')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "input('q', float)", "", "output('shape', fab.shapes.blend(a, b, q))", "" ], "uid": 12 }, { "datums": [ { "expr": "\u0011[__parent.__0]", "name": "rGear", "type": "float", "uid": 9 }, { "expr": "\u0011[__parent.__2]", "name": "wTeeth", "type": "float", "uid": 15 }, { "expr": "\u0011[__parent.__3]", "name": "hTeeth", "type": "float", "uid": 17 }, { "expr": "\u0011[__parent.__6]", "name": "kerf", "type": "float", "uid": 18 }, { "expr": "0.5", "name": "r", "type": "float", "uid": 4 }, { "expr": "\u0012fab.types.Shape('iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125',float('-0.250000'),float('8.275000'),float('-inf'),float('0.250000'),float('9.725000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 17.669290094699363, 336.71175803419271 ], "name": "teeth", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 6/11/15", "", "import fab", "", "title('Rounded rectangle (center)')", "", "input('rGear', float)", "input('wTeeth', float)", "input('hTeeth', float)", "input('kerf', float)", "input('r', float)", "", "x = 0", "y = rGear", "width = wTeeth + kerf", "height = hTeeth + kerf", "", "xmin, xmax = x - width/2, x + width/2", "ymin, ymax = y - height/2, y + height/2", "", "# This is the circle's radius in actual units (not a 0-1 fraction)", "r_ = r * min(width, height)/2", "", "output('shape', fab.shapes.rounded_rectangle(xmin, xmax, ymin, ymax, r))", "", "def drag_r(this, x, y, z):", " if abs(this.width) < abs(this.height):", " d = abs(this.width)", " mid = this.y + this.height/2 - d/2", " else:", " d = abs(this.width)", " mid = this.y", " r = 1 - (y - mid) / (d/2)", " this.r = float(min(1, max(0, r)))", "", "def drag_hw(this, x, y, z):", " this.height = abs(2 * (y - this.y))", " this.width = abs(2 * (x - this.x))", "", "# UI", "sb.ui.wireframe(", " [(xmin, ymin, 0), (xmax, ymin, 0), (xmax, ymax, 0), (xmin, ymax, 0)],", " close=True)", "sb.ui.wireframe([(xmax - r_, ymax, 0), (xmax, ymax - r_, 0)])", "sb.ui.point(x, y)", "sb.ui.point(xmax, ymax, drag=drag_hw, relative=False)", "sb.ui.point(xmax, ymax - r_, drag=drag_r, relative=False)", "", "" ], "uid": 14 }, { "datums": [ { "expr": "\u0011[__14.__5]", "name": "shape", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__parent.__1]", "name": "n", "type": "int", "uid": 3 }, { "expr": "\u0012fab.types.Shape('iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiim-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.996195X*f0.0871557Y+*f-0.0871557X*f0.996195Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.984808X*f0.173648Y+*f-0.173648X*f0.984808Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.965926X*f0.258819Y+*f-0.258819X*f0.965926Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.939693X*f0.34202Y+*f-0.34202X*f0.939693Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.906308X*f0.422618Y+*f-0.422618X*f0.906308Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.866025X*f0.5Y+*f-0.5X*f0.866025Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.819152X*f0.573576Y+*f-0.573576X*f0.819152Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.766044X*f0.642788Y+*f-0.642788X*f0.766044Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.642788X*f0.766044Y+*f-0.766044X*f0.642788Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.573576X*f0.819152Y+*f-0.819152X*f0.573576Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.422618X*f0.906308Y+*f-0.906308X*f0.422618Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.34202X*f0.939693Y+*f-0.939693X*f0.34202Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.258819X*f0.965926Y+*f-0.965926X*f0.258819Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.173648X*f0.984808Y+*f-0.984808X*f0.173648Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.0871557X*f0.996195Y+*f-0.996195X*f0.0871557Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f6.12323e-17X*f1Y+*f-1X*f6.12323e-17Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.0871557X*f0.996195Y+*f-0.996195X*f-0.0871557Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.173648X*f0.984808Y+*f-0.984808X*f-0.173648Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.258819X*f0.965926Y+*f-0.965926X*f-0.258819Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.34202X*f0.939693Y+*f-0.939693X*f-0.34202Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.422618X*f0.906308Y+*f-0.906308X*f-0.422618Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.573576X*f0.819152Y+*f-0.819152X*f-0.573576Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.642788X*f0.766044Y+*f-0.766044X*f-0.642788Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.707107X*f0.707107Y+*f-0.707107X*f-0.707107Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.766044X*f0.642788Y+*f-0.642788X*f-0.766044Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.819152X*f0.573576Y+*f-0.573576X*f-0.819152Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.866025X*f0.5Y+*f-0.5X*f-0.866025Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.906308X*f0.422618Y+*f-0.422618X*f-0.906308Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.939693X*f0.34202Y+*f-0.34202X*f-0.939693Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.965926X*f0.258819Y+*f-0.258819X*f-0.965926Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.984808X*f0.173648Y+*f-0.173648X*f-0.984808Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.996195X*f0.0871557Y+*f-0.0871557X*f-0.996195Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-1X*f1.22465e-16Y+*f-1.22465e-16X*f-1Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.996195X*f-0.0871557Y+*f0.0871557X*f-0.996195Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.984808X*f-0.173648Y+*f0.173648X*f-0.984808Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.965926X*f-0.258819Y+*f0.258819X*f-0.965926Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.939693X*f-0.34202Y+*f0.34202X*f-0.939693Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.906308X*f-0.422618Y+*f0.422618X*f-0.906308Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.866025X*f-0.5Y+*f0.5X*f-0.866025Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.819152X*f-0.573576Y+*f0.573576X*f-0.819152Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.766044X*f-0.642788Y+*f0.642788X*f-0.766044Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.707107X*f-0.707107Y+*f0.707107X*f-0.707107Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.642788X*f-0.766044Y+*f0.766044X*f-0.642788Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.573576X*f-0.819152Y+*f0.819152X*f-0.573576Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.5X*f-0.866025Y+*f0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.422618X*f-0.906308Y+*f0.906308X*f-0.422618Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.34202X*f-0.939693Y+*f0.939693X*f-0.34202Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.258819X*f-0.965926Y+*f0.965926X*f-0.258819Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.173648X*f-0.984808Y+*f0.984808X*f-0.173648Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.0871557X*f-0.996195Y+*f0.996195X*f-0.0871557Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-1.83697e-16X*f-1Y+*f1X*f-1.83697e-16Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.0871557X*f-0.996195Y+*f0.996195X*f0.0871557Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.173648X*f-0.984808Y+*f0.984808X*f0.173648Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.258819X*f-0.965926Y+*f0.965926X*f0.258819Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.34202X*f-0.939693Y+*f0.939693X*f0.34202Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.422618X*f-0.906308Y+*f0.906308X*f0.422618Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.5X*f-0.866025Y+*f0.866025X*f0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.573576X*f-0.819152Y+*f0.819152X*f0.573576Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.642788X*f-0.766044Y+*f0.766044X*f0.642788Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.707107X*f-0.707107Y+*f0.707107X*f0.707107Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.766044X*f-0.642788Y+*f0.642788X*f0.766044Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.819152X*f-0.573576Y+*f0.573576X*f0.819152Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.866025X*f-0.5Y+*f0.5X*f0.866025Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.906308X*f-0.422618Y+*f0.422618X*f0.906308Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.939693X*f-0.34202Y+*f0.34202X*f0.939693Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.965926X*f-0.258819Y+*f0.258819X*f0.965926Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.984808X*f-0.173648Y+*f0.173648X*f0.984808Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.996195X*f-0.0871557Y+*f0.0871557X*f0.996195Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125',float('-9.725000'),float('-9.725000'),float('-inf'),float('9.725000'),float('9.725000'),float('inf'))", "name": "array", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 336.71175803419271, 345.91490614783186 ], "name": "a0", "script": [ "import fab", "import math", "", "title('Array (polar)')", "", "input('shape', fab.types.Shape)", "input('n', int)", "", "x = 0", "y = 0", "", "output('array', fab.shapes.iterate_polar(shape, x, y, n))", "", "# UI", "sb.ui.wireframe([", " (math.cos(i/36. * 2*math.pi) * 0.3 + x,", " math.sin(i/36. * 2*math.pi) * 0.3 + y, 0)", " for i in range(36)], close=True, color=sb.color.teal)", "", "sb.ui.point(x, y, 0, color=sb.color.teal)", "" ], "uid": 15 }, { "datums": [ { "expr": "\u0011[__13.__2]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__15.__4]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "0.5", "name": "q", "type": "float", "uid": 2 }, { "expr": "\u0012fab.types.Shape('iiaii-r+qXqYf1.955iia-r+qXqYf8.525n-r+qXqYf7.875im-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-8X-Xf8a-f-0.625Y-Yf0.625im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-8X-Xf8a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-8X-Xf8a-f-0.625Y-Yf0.625-+rba-r+qXqYf8.525n-r+qXqYf7.875rbim-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-8X-Xf8a-f-0.625Y-Yf0.625im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-8X-Xf8a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-8X-Xf8a-f-0.625Y-Yf0.625f1-+rb-r+qXqYf1.955rbiia-r+qXqYf8.525n-r+qXqYf7.875im-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-8X-Xf8a-f-0.625Y-Yf0.625im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-8X-Xf8a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-8X-Xf8a-f-0.625Y-Yf0.625-+rba-r+qXqYf8.525n-r+qXqYf7.875rbim-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-8X-Xf8a-f-0.625Y-Yf0.625im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-8X-Xf8a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-8X-Xf8a-f-0.625Y-Yf0.625f1f1n-r+qXqYf0.705iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiim-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.996195X*f0.0871557Y+*f-0.0871557X*f0.996195Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.984808X*f0.173648Y+*f-0.173648X*f0.984808Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.965926X*f0.258819Y+*f-0.258819X*f0.965926Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.939693X*f0.34202Y+*f-0.34202X*f0.939693Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.906308X*f0.422618Y+*f-0.422618X*f0.906308Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.866025X*f0.5Y+*f-0.5X*f0.866025Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.819152X*f0.573576Y+*f-0.573576X*f0.819152Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.766044X*f0.642788Y+*f-0.642788X*f0.766044Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.642788X*f0.766044Y+*f-0.766044X*f0.642788Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.573576X*f0.819152Y+*f-0.819152X*f0.573576Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.422618X*f0.906308Y+*f-0.906308X*f0.422618Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.34202X*f0.939693Y+*f-0.939693X*f0.34202Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.258819X*f0.965926Y+*f-0.965926X*f0.258819Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.173648X*f0.984808Y+*f-0.984808X*f0.173648Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.0871557X*f0.996195Y+*f-0.996195X*f0.0871557Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f6.12323e-17X*f1Y+*f-1X*f6.12323e-17Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.0871557X*f0.996195Y+*f-0.996195X*f-0.0871557Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.173648X*f0.984808Y+*f-0.984808X*f-0.173648Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.258819X*f0.965926Y+*f-0.965926X*f-0.258819Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.34202X*f0.939693Y+*f-0.939693X*f-0.34202Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.422618X*f0.906308Y+*f-0.906308X*f-0.422618Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.573576X*f0.819152Y+*f-0.819152X*f-0.573576Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.642788X*f0.766044Y+*f-0.766044X*f-0.642788Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.707107X*f0.707107Y+*f-0.707107X*f-0.707107Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.766044X*f0.642788Y+*f-0.642788X*f-0.766044Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.819152X*f0.573576Y+*f-0.573576X*f-0.819152Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.866025X*f0.5Y+*f-0.5X*f-0.866025Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.906308X*f0.422618Y+*f-0.422618X*f-0.906308Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.939693X*f0.34202Y+*f-0.34202X*f-0.939693Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.965926X*f0.258819Y+*f-0.258819X*f-0.965926Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.984808X*f0.173648Y+*f-0.173648X*f-0.984808Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.996195X*f0.0871557Y+*f-0.0871557X*f-0.996195Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-1X*f1.22465e-16Y+*f-1.22465e-16X*f-1Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.996195X*f-0.0871557Y+*f0.0871557X*f-0.996195Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.984808X*f-0.173648Y+*f0.173648X*f-0.984808Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.965926X*f-0.258819Y+*f0.258819X*f-0.965926Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.939693X*f-0.34202Y+*f0.34202X*f-0.939693Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.906308X*f-0.422618Y+*f0.422618X*f-0.906308Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.866025X*f-0.5Y+*f0.5X*f-0.866025Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.819152X*f-0.573576Y+*f0.573576X*f-0.819152Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.766044X*f-0.642788Y+*f0.642788X*f-0.766044Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.707107X*f-0.707107Y+*f0.707107X*f-0.707107Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.642788X*f-0.766044Y+*f0.766044X*f-0.642788Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.573576X*f-0.819152Y+*f0.819152X*f-0.573576Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.5X*f-0.866025Y+*f0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.422618X*f-0.906308Y+*f0.906308X*f-0.422618Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.34202X*f-0.939693Y+*f0.939693X*f-0.34202Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.258819X*f-0.965926Y+*f0.965926X*f-0.258819Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.173648X*f-0.984808Y+*f0.984808X*f-0.173648Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.0871557X*f-0.996195Y+*f0.996195X*f-0.0871557Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-1.83697e-16X*f-1Y+*f1X*f-1.83697e-16Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.0871557X*f-0.996195Y+*f0.996195X*f0.0871557Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.173648X*f-0.984808Y+*f0.984808X*f0.173648Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.258819X*f-0.965926Y+*f0.965926X*f0.258819Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.34202X*f-0.939693Y+*f0.939693X*f0.34202Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.422618X*f-0.906308Y+*f0.906308X*f0.422618Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.5X*f-0.866025Y+*f0.866025X*f0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.573576X*f-0.819152Y+*f0.819152X*f0.573576Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.642788X*f-0.766044Y+*f0.766044X*f0.642788Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.707107X*f-0.707107Y+*f0.707107X*f0.707107Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.766044X*f-0.642788Y+*f0.642788X*f0.766044Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.819152X*f-0.573576Y+*f0.573576X*f0.819152Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.866025X*f-0.5Y+*f0.5X*f0.866025Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.906308X*f-0.422618Y+*f0.422618X*f0.906308Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.939693X*f-0.34202Y+*f0.34202X*f0.939693Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.965926X*f-0.258819Y+*f0.258819X*f0.965926Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.984808X*f-0.173648Y+*f0.173648X*f0.984808Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.996195X*f-0.0871557Y+*f0.0871557X*f0.996195Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125-+rbaii-r+qXqYf1.955iia-r+qXqYf8.525n-r+qXqYf7.875im-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-8X-Xf8a-f-0.625Y-Yf0.625im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-8X-Xf8a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-8X-Xf8a-f-0.625Y-Yf0.625-+rba-r+qXqYf8.525n-r+qXqYf7.875rbim-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-8X-Xf8a-f-0.625Y-Yf0.625im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-8X-Xf8a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-8X-Xf8a-f-0.625Y-Yf0.625f1-+rb-r+qXqYf1.955rbiia-r+qXqYf8.525n-r+qXqYf7.875im-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-8X-Xf8a-f-0.625Y-Yf0.625im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-8X-Xf8a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-8X-Xf8a-f-0.625Y-Yf0.625-+rba-r+qXqYf8.525n-r+qXqYf7.875rbim-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-8X-Xf8a-f-0.625Y-Yf0.625im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-8X-Xf8a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-8X-Xf8a-f-0.625Y-Yf0.625f1f1n-r+qXqYf0.705rbiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiim-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.996195X*f0.0871557Y+*f-0.0871557X*f0.996195Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.984808X*f0.173648Y+*f-0.173648X*f0.984808Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.965926X*f0.258819Y+*f-0.258819X*f0.965926Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.939693X*f0.34202Y+*f-0.34202X*f0.939693Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.906308X*f0.422618Y+*f-0.422618X*f0.906308Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.866025X*f0.5Y+*f-0.5X*f0.866025Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.819152X*f0.573576Y+*f-0.573576X*f0.819152Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.766044X*f0.642788Y+*f-0.642788X*f0.766044Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.642788X*f0.766044Y+*f-0.766044X*f0.642788Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.573576X*f0.819152Y+*f-0.819152X*f0.573576Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.422618X*f0.906308Y+*f-0.906308X*f0.422618Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.34202X*f0.939693Y+*f-0.939693X*f0.34202Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.258819X*f0.965926Y+*f-0.965926X*f0.258819Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.173648X*f0.984808Y+*f-0.984808X*f0.173648Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.0871557X*f0.996195Y+*f-0.996195X*f0.0871557Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f6.12323e-17X*f1Y+*f-1X*f6.12323e-17Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.0871557X*f0.996195Y+*f-0.996195X*f-0.0871557Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.173648X*f0.984808Y+*f-0.984808X*f-0.173648Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.258819X*f0.965926Y+*f-0.965926X*f-0.258819Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.34202X*f0.939693Y+*f-0.939693X*f-0.34202Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.422618X*f0.906308Y+*f-0.906308X*f-0.422618Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.573576X*f0.819152Y+*f-0.819152X*f-0.573576Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.642788X*f0.766044Y+*f-0.766044X*f-0.642788Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.707107X*f0.707107Y+*f-0.707107X*f-0.707107Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.766044X*f0.642788Y+*f-0.642788X*f-0.766044Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.819152X*f0.573576Y+*f-0.573576X*f-0.819152Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.866025X*f0.5Y+*f-0.5X*f-0.866025Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.906308X*f0.422618Y+*f-0.422618X*f-0.906308Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.939693X*f0.34202Y+*f-0.34202X*f-0.939693Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.965926X*f0.258819Y+*f-0.258819X*f-0.965926Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.984808X*f0.173648Y+*f-0.173648X*f-0.984808Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.996195X*f0.0871557Y+*f-0.0871557X*f-0.996195Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-1X*f1.22465e-16Y+*f-1.22465e-16X*f-1Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.996195X*f-0.0871557Y+*f0.0871557X*f-0.996195Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.984808X*f-0.173648Y+*f0.173648X*f-0.984808Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.965926X*f-0.258819Y+*f0.258819X*f-0.965926Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.939693X*f-0.34202Y+*f0.34202X*f-0.939693Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.906308X*f-0.422618Y+*f0.422618X*f-0.906308Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.866025X*f-0.5Y+*f0.5X*f-0.866025Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.819152X*f-0.573576Y+*f0.573576X*f-0.819152Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.766044X*f-0.642788Y+*f0.642788X*f-0.766044Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.707107X*f-0.707107Y+*f0.707107X*f-0.707107Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.642788X*f-0.766044Y+*f0.766044X*f-0.642788Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.573576X*f-0.819152Y+*f0.819152X*f-0.573576Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.5X*f-0.866025Y+*f0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.422618X*f-0.906308Y+*f0.906308X*f-0.422618Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.34202X*f-0.939693Y+*f0.939693X*f-0.34202Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.258819X*f-0.965926Y+*f0.965926X*f-0.258819Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.173648X*f-0.984808Y+*f0.984808X*f-0.173648Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.0871557X*f-0.996195Y+*f0.996195X*f-0.0871557Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-1.83697e-16X*f-1Y+*f1X*f-1.83697e-16Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.0871557X*f-0.996195Y+*f0.996195X*f0.0871557Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.173648X*f-0.984808Y+*f0.984808X*f0.173648Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.258819X*f-0.965926Y+*f0.965926X*f0.258819Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.34202X*f-0.939693Y+*f0.939693X*f0.34202Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.422618X*f-0.906308Y+*f0.906308X*f0.422618Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.5X*f-0.866025Y+*f0.866025X*f0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.573576X*f-0.819152Y+*f0.819152X*f0.573576Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.642788X*f-0.766044Y+*f0.766044X*f0.642788Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.707107X*f-0.707107Y+*f0.707107X*f0.707107Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.766044X*f-0.642788Y+*f0.642788X*f0.766044Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.819152X*f-0.573576Y+*f0.573576X*f0.819152Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.866025X*f-0.5Y+*f0.5X*f0.866025Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.906308X*f-0.422618Y+*f0.422618X*f0.906308Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.939693X*f-0.34202Y+*f0.34202X*f0.939693Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.965926X*f-0.258819Y+*f0.258819X*f0.965926Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.984808X*f-0.173648Y+*f0.173648X*f0.984808Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.996195X*f-0.0871557Y+*f0.0871557X*f0.996195Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125f0.5',float('-9.725000'),float('-9.725000'),float('-inf'),float('9.725000'),float('9.725000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 3 } ], "inspector": [ 1005.4738542919769, 250.81570897355988 ], "name": "b2", "script": [ "import fab.types", "import fab.shapes", "", "title('Blend')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "input('q', float)", "", "output('shape', fab.shapes.blend(a, b, q))", "" ], "uid": 16 } ], "uid": 9 }, { "datums": [ { "expr": "-11", "name": "x", "type": "float", "uid": 0 }, { "expr": "11", "name": "y", "type": "float", "uid": 1 }, { "expr": "0.0", "name": "z", "type": "float", "uid": 2 }, { "expr": "\u0011[__9.__7]", "name": "shape", "type": "_fabtypes.Shape", "uid": 3 }, { "expr": "\u0012fab.types.Shape('m-Xf-11-Yf11-Zf0iiaii-r+qXqYf1.955iia-r+qXqYf8.525n-r+qXqYf7.875im-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-8X-Xf8a-f-0.625Y-Yf0.625im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-8X-Xf8a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-8X-Xf8a-f-0.625Y-Yf0.625-+rba-r+qXqYf8.525n-r+qXqYf7.875rbim-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-8X-Xf8a-f-0.625Y-Yf0.625im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-8X-Xf8a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-8X-Xf8a-f-0.625Y-Yf0.625f1-+rb-r+qXqYf1.955rbiia-r+qXqYf8.525n-r+qXqYf7.875im-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-8X-Xf8a-f-0.625Y-Yf0.625im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-8X-Xf8a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-8X-Xf8a-f-0.625Y-Yf0.625-+rba-r+qXqYf8.525n-r+qXqYf7.875rbim-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-8X-Xf8a-f-0.625Y-Yf0.625im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-8X-Xf8a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-8X-Xf8a-f-0.625Y-Yf0.625f1f1n-r+qXqYf0.705iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiim-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.996195X*f0.0871557Y+*f-0.0871557X*f0.996195Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.984808X*f0.173648Y+*f-0.173648X*f0.984808Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.965926X*f0.258819Y+*f-0.258819X*f0.965926Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.939693X*f0.34202Y+*f-0.34202X*f0.939693Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.906308X*f0.422618Y+*f-0.422618X*f0.906308Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.866025X*f0.5Y+*f-0.5X*f0.866025Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.819152X*f0.573576Y+*f-0.573576X*f0.819152Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.766044X*f0.642788Y+*f-0.642788X*f0.766044Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.642788X*f0.766044Y+*f-0.766044X*f0.642788Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.573576X*f0.819152Y+*f-0.819152X*f0.573576Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.422618X*f0.906308Y+*f-0.906308X*f0.422618Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.34202X*f0.939693Y+*f-0.939693X*f0.34202Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.258819X*f0.965926Y+*f-0.965926X*f0.258819Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.173648X*f0.984808Y+*f-0.984808X*f0.173648Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.0871557X*f0.996195Y+*f-0.996195X*f0.0871557Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f6.12323e-17X*f1Y+*f-1X*f6.12323e-17Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.0871557X*f0.996195Y+*f-0.996195X*f-0.0871557Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.173648X*f0.984808Y+*f-0.984808X*f-0.173648Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.258819X*f0.965926Y+*f-0.965926X*f-0.258819Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.34202X*f0.939693Y+*f-0.939693X*f-0.34202Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.422618X*f0.906308Y+*f-0.906308X*f-0.422618Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.573576X*f0.819152Y+*f-0.819152X*f-0.573576Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.642788X*f0.766044Y+*f-0.766044X*f-0.642788Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.707107X*f0.707107Y+*f-0.707107X*f-0.707107Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.766044X*f0.642788Y+*f-0.642788X*f-0.766044Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.819152X*f0.573576Y+*f-0.573576X*f-0.819152Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.866025X*f0.5Y+*f-0.5X*f-0.866025Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.906308X*f0.422618Y+*f-0.422618X*f-0.906308Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.939693X*f0.34202Y+*f-0.34202X*f-0.939693Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.965926X*f0.258819Y+*f-0.258819X*f-0.965926Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.984808X*f0.173648Y+*f-0.173648X*f-0.984808Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.996195X*f0.0871557Y+*f-0.0871557X*f-0.996195Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-1X*f1.22465e-16Y+*f-1.22465e-16X*f-1Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.996195X*f-0.0871557Y+*f0.0871557X*f-0.996195Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.984808X*f-0.173648Y+*f0.173648X*f-0.984808Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.965926X*f-0.258819Y+*f0.258819X*f-0.965926Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.939693X*f-0.34202Y+*f0.34202X*f-0.939693Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.906308X*f-0.422618Y+*f0.422618X*f-0.906308Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.866025X*f-0.5Y+*f0.5X*f-0.866025Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.819152X*f-0.573576Y+*f0.573576X*f-0.819152Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.766044X*f-0.642788Y+*f0.642788X*f-0.766044Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.707107X*f-0.707107Y+*f0.707107X*f-0.707107Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.642788X*f-0.766044Y+*f0.766044X*f-0.642788Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.573576X*f-0.819152Y+*f0.819152X*f-0.573576Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.5X*f-0.866025Y+*f0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.422618X*f-0.906308Y+*f0.906308X*f-0.422618Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.34202X*f-0.939693Y+*f0.939693X*f-0.34202Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.258819X*f-0.965926Y+*f0.965926X*f-0.258819Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.173648X*f-0.984808Y+*f0.984808X*f-0.173648Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.0871557X*f-0.996195Y+*f0.996195X*f-0.0871557Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-1.83697e-16X*f-1Y+*f1X*f-1.83697e-16Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.0871557X*f-0.996195Y+*f0.996195X*f0.0871557Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.173648X*f-0.984808Y+*f0.984808X*f0.173648Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.258819X*f-0.965926Y+*f0.965926X*f0.258819Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.34202X*f-0.939693Y+*f0.939693X*f0.34202Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.422618X*f-0.906308Y+*f0.906308X*f0.422618Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.5X*f-0.866025Y+*f0.866025X*f0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.573576X*f-0.819152Y+*f0.819152X*f0.573576Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.642788X*f-0.766044Y+*f0.766044X*f0.642788Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.707107X*f-0.707107Y+*f0.707107X*f0.707107Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.766044X*f-0.642788Y+*f0.642788X*f0.766044Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.819152X*f-0.573576Y+*f0.573576X*f0.819152Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.866025X*f-0.5Y+*f0.5X*f0.866025Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.906308X*f-0.422618Y+*f0.422618X*f0.906308Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.939693X*f-0.34202Y+*f0.34202X*f0.939693Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.965926X*f-0.258819Y+*f0.258819X*f0.965926Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.984808X*f-0.173648Y+*f0.173648X*f0.984808Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.996195X*f-0.0871557Y+*f0.0871557X*f0.996195Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125-+rbaii-r+qXqYf1.955iia-r+qXqYf8.525n-r+qXqYf7.875im-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-8X-Xf8a-f-0.625Y-Yf0.625im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-8X-Xf8a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-8X-Xf8a-f-0.625Y-Yf0.625-+rba-r+qXqYf8.525n-r+qXqYf7.875rbim-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-8X-Xf8a-f-0.625Y-Yf0.625im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-8X-Xf8a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-8X-Xf8a-f-0.625Y-Yf0.625f1-+rb-r+qXqYf1.955rbiia-r+qXqYf8.525n-r+qXqYf7.875im-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-8X-Xf8a-f-0.625Y-Yf0.625im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-8X-Xf8a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-8X-Xf8a-f-0.625Y-Yf0.625-+rba-r+qXqYf8.525n-r+qXqYf7.875rbim-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-8X-Xf8a-f-0.625Y-Yf0.625im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-8X-Xf8a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-8X-Xf8a-f-0.625Y-Yf0.625f1f1n-r+qXqYf0.705rbiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiim-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.996195X*f0.0871557Y+*f-0.0871557X*f0.996195Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.984808X*f0.173648Y+*f-0.173648X*f0.984808Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.965926X*f0.258819Y+*f-0.258819X*f0.965926Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.939693X*f0.34202Y+*f-0.34202X*f0.939693Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.906308X*f0.422618Y+*f-0.422618X*f0.906308Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.866025X*f0.5Y+*f-0.5X*f0.866025Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.819152X*f0.573576Y+*f-0.573576X*f0.819152Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.766044X*f0.642788Y+*f-0.642788X*f0.766044Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.642788X*f0.766044Y+*f-0.766044X*f0.642788Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.573576X*f0.819152Y+*f-0.819152X*f0.573576Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.422618X*f0.906308Y+*f-0.906308X*f0.422618Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.34202X*f0.939693Y+*f-0.939693X*f0.34202Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.258819X*f0.965926Y+*f-0.965926X*f0.258819Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.173648X*f0.984808Y+*f-0.984808X*f0.173648Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.0871557X*f0.996195Y+*f-0.996195X*f0.0871557Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f6.12323e-17X*f1Y+*f-1X*f6.12323e-17Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.0871557X*f0.996195Y+*f-0.996195X*f-0.0871557Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.173648X*f0.984808Y+*f-0.984808X*f-0.173648Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.258819X*f0.965926Y+*f-0.965926X*f-0.258819Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.34202X*f0.939693Y+*f-0.939693X*f-0.34202Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.422618X*f0.906308Y+*f-0.906308X*f-0.422618Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.573576X*f0.819152Y+*f-0.819152X*f-0.573576Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.642788X*f0.766044Y+*f-0.766044X*f-0.642788Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.707107X*f0.707107Y+*f-0.707107X*f-0.707107Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.766044X*f0.642788Y+*f-0.642788X*f-0.766044Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.819152X*f0.573576Y+*f-0.573576X*f-0.819152Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.866025X*f0.5Y+*f-0.5X*f-0.866025Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.906308X*f0.422618Y+*f-0.422618X*f-0.906308Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.939693X*f0.34202Y+*f-0.34202X*f-0.939693Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.965926X*f0.258819Y+*f-0.258819X*f-0.965926Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.984808X*f0.173648Y+*f-0.173648X*f-0.984808Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.996195X*f0.0871557Y+*f-0.0871557X*f-0.996195Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-1X*f1.22465e-16Y+*f-1.22465e-16X*f-1Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.996195X*f-0.0871557Y+*f0.0871557X*f-0.996195Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.984808X*f-0.173648Y+*f0.173648X*f-0.984808Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.965926X*f-0.258819Y+*f0.258819X*f-0.965926Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.939693X*f-0.34202Y+*f0.34202X*f-0.939693Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.906308X*f-0.422618Y+*f0.422618X*f-0.906308Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.866025X*f-0.5Y+*f0.5X*f-0.866025Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.819152X*f-0.573576Y+*f0.573576X*f-0.819152Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.766044X*f-0.642788Y+*f0.642788X*f-0.766044Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.707107X*f-0.707107Y+*f0.707107X*f-0.707107Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.642788X*f-0.766044Y+*f0.766044X*f-0.642788Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.573576X*f-0.819152Y+*f0.819152X*f-0.573576Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.5X*f-0.866025Y+*f0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.422618X*f-0.906308Y+*f0.906308X*f-0.422618Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.34202X*f-0.939693Y+*f0.939693X*f-0.34202Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.258819X*f-0.965926Y+*f0.965926X*f-0.258819Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.173648X*f-0.984808Y+*f0.984808X*f-0.173648Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-0.0871557X*f-0.996195Y+*f0.996195X*f-0.0871557Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f-1.83697e-16X*f-1Y+*f1X*f-1.83697e-16Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.0871557X*f-0.996195Y+*f0.996195X*f0.0871557Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.173648X*f-0.984808Y+*f0.984808X*f0.173648Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.258819X*f-0.965926Y+*f0.965926X*f0.258819Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.34202X*f-0.939693Y+*f0.939693X*f0.34202Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.422618X*f-0.906308Y+*f0.906308X*f0.422618Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.5X*f-0.866025Y+*f0.866025X*f0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.573576X*f-0.819152Y+*f0.819152X*f0.573576Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.642788X*f-0.766044Y+*f0.766044X*f0.642788Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.707107X*f-0.707107Y+*f0.707107X*f0.707107Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.766044X*f-0.642788Y+*f0.642788X*f0.766044Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.819152X*f-0.573576Y+*f0.573576X*f0.819152Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.866025X*f-0.5Y+*f0.5X*f0.866025Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.906308X*f-0.422618Y+*f0.422618X*f0.906308Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.939693X*f-0.34202Y+*f0.34202X*f0.939693Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.965926X*f-0.258819Y+*f0.258819X*f0.965926Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.984808X*f-0.173648Y+*f0.173648X*f0.984808Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125m-Xf0-Yf0-Zf0m+*f0.996195X*f-0.0871557Y+*f0.0871557X*f0.996195Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.4Y-Yf9.6aa-f-0.125X-Xf0.125a-f8.275Y-Yf9.725-r+q-Xf-0.125q-Yf8.4f0.125-r+q-Xf-0.125q-Yf9.6f0.125-r+q-Xf0.125q-Yf8.4f0.125-r+q-Xf0.125q-Yf9.6f0.125f0.5',float('-20.725000'),float('1.275000'),float('-inf'),float('-1.275000'),float('20.725000'),float('inf'))", "name": "out", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ -57.137873873784685, 270.13155813919968 ], "name": "r4", "script": [ "import fab", "", "title('Recenter')", "", "input('x', float)", "input('y', float)", "input('z', float)", "", "input('shape', fab.types.Shape)", "output('out', fab.shapes.recenter(shape, x, y, z))", "", "# UI", "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)", "" ], "uid": 10 }, { "datums": [ { "expr": "9.375", "name": "r", "subdatum": [ -401, -470 ], "type": "float", "uid": 0 }, { "expr": "75", "name": "nTeeth", "subdatum": [ -400.46614198105999, -429.5338580189399 ], "type": "int", "uid": 1 }, { "expr": "var.wTeeth", "name": "wTeeth", "subdatum": [ -402, -386 ], "type": "float", "uid": 2 }, { "expr": "var.hTeeth", "name": "hTeeth", "subdatum": [ -402, -346 ], "type": "float", "uid": 3 }, { "expr": "var.wBeam", "name": "wBeam", "subdatum": [ -403, -307 ], "type": "float", "uid": 4 }, { "expr": "var.dAxle", "name": "dAxle", "subdatum": [ -402, -268 ], "type": "float", "uid": 5 }, { "expr": "var.kerf", "name": "kerf", "subdatum": [ -403, -229 ], "type": "float", "uid": 6 }, { "expr": "\u0013[__16.__3]", "name": "gear", "subdatum": [ 1302.2454580799513, 351.25348633723064 ], "type": "_fabtypes.Shape", "uid": 7 } ], "inspector": [ 228.37851255455365, 1.9576574126704998 ], "name": "gear75", "subgraph": [ { "datums": [ { "expr": "\u0011[__parent.__0]", "name": "rGear", "type": "float", "uid": 8 }, { "expr": "\u0011[__parent.__3]", "name": "hTeeth", "type": "float", "uid": 9 }, { "expr": "\u0011[__parent.__4]", "name": "wBeam", "type": "float", "uid": 2 }, { "expr": "\u0011[__parent.__5]", "name": "dAxle", "type": "float", "uid": 5 }, { "expr": "\u0011[__parent.__6]", "name": "kerf", "type": "float", "uid": 10 }, { "expr": "0", "name": "_a", "type": "float", "uid": 3 }, { "expr": "\u0012fab.types.Shape('-r+qXqYf8.9',float('-8.900000'),float('-8.900000'),float('-inf'),float('8.900000'),float('8.900000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 29, -457 ], "name": "outer", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 6/11/18", "", "import fab", "import math", "", "title('Circle (center)')", "", "input('rGear',float)", "input('hTeeth', float)", "input('wBeam', float)", "input('dAxle', float)", "input('kerf', float)", "input('_a',float)", "", "x0 = 0", "y0 = 0", "r = rGear - hTeeth/2 + kerf/2", "", "output('shape', fab.shapes.circle(x0, y0, r))", "", "def drag_r(this,x,y,z):", " dx = x - this.x0", " dy = y - this.y0", " this.r = math.sqrt(dx**2 + dy**2)", " this._a = math.atan2(dy, dx)", "", "# UI", "sb.ui.wireframe([", " (math.cos(i/36. * 2*math.pi) * r + x0,", " math.sin(i/36. * 2*math.pi) * r + y0, 0)", " for i in range(36)], close=True)", "sb.ui.point(x0,y0)", "sb.ui.point(x0 + r*math.cos(_a),", " y0 + r*math.sin(_a),", " drag=drag_r, relative=False)", "", "" ], "uid": 0 }, { "datums": [ { "expr": "\u0011[__parent.__0]", "name": "rGear", "type": "float", "uid": 6 }, { "expr": "\u0011[__parent.__4]", "name": "wBeam", "type": "float", "uid": 5 }, { "expr": "\u0011[__parent.__6]", "name": "kerf", "type": "float", "uid": 7 }, { "expr": "\u0012fab.types.Shape('aa-f-8.375X-Xf8.375a-f-0.625Y-Yf0.625',float('-8.375000'),float('-0.625000'),float('-inf'),float('8.375000'),float('0.625000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 25.466141981060218, -38.151172643955647 ], "name": "beam", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 6/11/15", "", "import fab", "", "title('Rectangle (center)')", "", "input('rGear',float)", "input('wBeam', float)", "input('kerf', float)", "", "x0 = 0", "y0 = 0", "height = wBeam + kerf", "width = rGear*2 - wBeam*2", "", "xmin, xmax = x0 - width/2, x0 + width/2", "ymin, ymax = y0 - height/2, y0 + height/2", "", "output('shape', fab.shapes.rectangle(xmin, xmax, ymin, ymax))", "", "def drag_hw(this, x, y, z):", " this.width = abs(2 * (x - this.x0))", " this.height = abs(2 * (y - this.y0))", "", "# UI", "sb.ui.wireframe(", " [(xmin, ymin, 0), (xmax, ymin, 0), (xmax, ymax, 0), (xmin, ymax, 0)],", " close=True)", "sb.ui.point(x0, y0)", "sb.ui.point(xmax, ymax, drag=drag_hw, relative=False)", "" ], "uid": 1 }, { "datums": [ { "expr": "\u0011[__0.__8]", "name": "rGear", "type": "float", "uid": 8 }, { "expr": "\u0011[__0.__9]", "name": "hTeeth", "type": "float", "uid": 9 }, { "expr": "\u0011[__0.__2]", "name": "wBeam", "type": "float", "uid": 2 }, { "expr": "\u0011[__0.__5]", "name": "dAxle", "type": "float", "uid": 5 }, { "expr": "\u0011[__0.__10]", "name": "kerf", "type": "float", "uid": 10 }, { "expr": "0", "name": "_a", "type": "float", "uid": 3 }, { "expr": "\u0012fab.types.Shape('-r+qXqYf8.25',float('-8.250000'),float('-8.250000'),float('-inf'),float('8.250000'),float('8.250000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 327, -457 ], "name": "rimOut", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 6/11/18", "", "import fab", "import math", "", "title('Circle (center)')", "", "input('rGear',float)", "input('hTeeth', float)", "input('wBeam', float)", "input('dAxle', float)", "input('kerf', float)", "input('_a',float)", "", "x0 = 0", "y0 = 0", "r = rGear - wBeam - kerf/2", "", "output('shape', fab.shapes.circle(x0, y0, r))", "", "def drag_r(this,x,y,z):", " dx = x - this.x0", " dy = y - this.y0", " this.r = math.sqrt(dx**2 + dy**2)", " this._a = math.atan2(dy, dx)", "", "# UI", "sb.ui.wireframe([", " (math.cos(i/36. * 2*math.pi) * r + x0,", " math.sin(i/36. * 2*math.pi) * r + y0, 0)", " for i in range(36)], close=True)", "sb.ui.point(x0,y0)", "sb.ui.point(x0 + r*math.cos(_a),", " y0 + r*math.sin(_a),", " drag=drag_r, relative=False)", "", "" ], "uid": 2 }, { "datums": [ { "expr": "\u0011[__2.__8]", "name": "rGear", "type": "float", "uid": 8 }, { "expr": "\u0011[__2.__9]", "name": "hTeeth", "type": "float", "uid": 9 }, { "expr": "\u0011[__2.__2]", "name": "wBeam", "type": "float", "uid": 2 }, { "expr": "\u0011[__2.__5]", "name": "dAxle", "type": "float", "uid": 5 }, { "expr": "\u0011[__2.__10]", "name": "kerf", "type": "float", "uid": 10 }, { "expr": "0", "name": "_a", "type": "float", "uid": 3 }, { "expr": "\u0012fab.types.Shape('-r+qXqYf1.75',float('-1.750000'),float('-1.750000'),float('-inf'),float('1.750000'),float('1.750000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 629, -457 ], "name": "rimIn", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 6/11/18", "", "import fab", "import math", "", "title('Circle (center)')", "", "input('rGear',float)", "input('hTeeth', float)", "input('wBeam', float)", "input('dAxle', float)", "input('kerf', float)", "input('_a',float)", "", "x0 = 0", "y0 = 0", "r = dAxle/2 + wBeam + kerf/2", "", "output('shape', fab.shapes.circle(x0, y0, r))", "", "def drag_r(this,x,y,z):", " dx = x - this.x0", " dy = y - this.y0", " this.r = math.sqrt(dx**2 + dy**2)", " this._a = math.atan2(dy, dx)", "", "# UI", "sb.ui.wireframe([", " (math.cos(i/36. * 2*math.pi) * r + x0,", " math.sin(i/36. * 2*math.pi) * r + y0, 0)", " for i in range(36)], close=True)", "sb.ui.point(x0,y0)", "sb.ui.point(x0 + r*math.cos(_a),", " y0 + r*math.sin(_a),", " drag=drag_r, relative=False)", "", "" ], "uid": 3 }, { "datums": [ { "expr": "\u0011[__3.__8]", "name": "rGear", "type": "float", "uid": 8 }, { "expr": "\u0011[__3.__9]", "name": "hTeeth", "type": "float", "uid": 9 }, { "expr": "\u0011[__3.__2]", "name": "wBeam", "type": "float", "uid": 2 }, { "expr": "\u0011[__3.__5]", "name": "dAxle", "type": "float", "uid": 5 }, { "expr": "\u0011[__3.__10]", "name": "kerf", "type": "float", "uid": 10 }, { "expr": "0", "name": "_a", "type": "float", "uid": 3 }, { "expr": "\u0012fab.types.Shape('-r+qXqYf0.5',float('-0.500000'),float('-0.500000'),float('-inf'),float('0.500000'),float('0.500000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 940, -456 ], "name": "SupportIn0", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 6/11/18", "", "import fab", "import math", "", "title('Circle (center)')", "", "input('rGear',float)", "input('hTeeth', float)", "input('wBeam', float)", "input('dAxle', float)", "input('kerf', float)", "input('_a',float)", "", "x0 = 0", "y0 = 0", "r = dAxle/2 - kerf/2", "", "output('shape', fab.shapes.circle(x0, y0, r))", "", "def drag_r(this,x,y,z):", " dx = x - this.x0", " dy = y - this.y0", " this.r = math.sqrt(dx**2 + dy**2)", " this._a = math.atan2(dy, dx)", "", "# UI", "sb.ui.wireframe([", " (math.cos(i/36. * 2*math.pi) * r + x0,", " math.sin(i/36. * 2*math.pi) * r + y0, 0)", " for i in range(36)], close=True)", "sb.ui.point(x0,y0)", "sb.ui.point(x0 + r*math.cos(_a),", " y0 + r*math.sin(_a),", " drag=drag_r, relative=False)", "", "" ], "uid": 4 }, { "datums": [ { "expr": "0.0", "name": "_z", "type": "float", "uid": 2 }, { "expr": "0", "name": "a", "type": "float", "uid": 3 }, { "expr": "\u0011[__1.__4]", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-8.375X-Xf8.375a-f-0.625Y-Yf0.625',float('-8.375000'),float('-0.625000'),float('-inf'),float('8.375000'),float('0.625000'),float('inf'))", "name": "rotated", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 328.46614198106022, -36.151172643955647 ], "name": "r1", "script": [ "import fab", "import math", "", "title('Rotate (Z)')", "", "input('_z', float)", "input('a', float)", "", "x = 0", "y = 0", "", "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": 5 }, { "datums": [ { "expr": "0.0", "name": "_z", "type": "float", "uid": 2 }, { "expr": "60", "name": "a", "type": "float", "uid": 3 }, { "expr": "\u0011[__1.__4]", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-8.375X-Xf8.375a-f-0.625Y-Yf0.625',float('-4.728765'),float('-7.565459'),float('-inf'),float('4.728765'),float('7.565459'),float('inf'))", "name": "rotated", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 329.93228396212032, 94.697654712088706 ], "name": "r2", "script": [ "import fab", "import math", "", "title('Rotate (Z)')", "", "input('_z', float)", "input('a', float)", "", "x = 0", "y = 0", "", "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": 6 }, { "datums": [ { "expr": "0.0", "name": "_z", "type": "float", "uid": 2 }, { "expr": "120", "name": "a", "type": "float", "uid": 3 }, { "expr": "\u0011[__1.__4]", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-8.375X-Xf8.375a-f-0.625Y-Yf0.625',float('-4.728765'),float('-7.565459'),float('-inf'),float('4.728765'),float('7.565459'),float('inf'))", "name": "rotated", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 333.53385801893995, 225.01262404919316 ], "name": "r3", "script": [ "import fab", "import math", "", "title('Rotate (Z)')", "", "input('_z', float)", "input('a', float)", "", "x = 0", "y = 0", "", "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": 7 }, { "datums": [ { "expr": "\u0011[__0.__4]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__2.__4]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('a-r+qXqYf8.9n-r+qXqYf8.25',float('-8.900000'),float('-8.900000'),float('-inf'),float('8.900000'),float('8.900000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 224.46614198106022, -249.15117264395565 ], "name": "d0", "script": [ "import fab.types", "", "title('Difference')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a & ~b)", "" ], "uid": 8 }, { "datums": [ { "expr": "\u0011[__5.__5]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__10.__2]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('im-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-8.375X-Xf8.375a-f-0.625Y-Yf0.625im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-8.375X-Xf8.375a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-8.375X-Xf8.375a-f-0.625Y-Yf0.625',float('-8.375000'),float('-7.565459'),float('-inf'),float('8.375000'),float('7.565459'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 638.5338580189399, 64.103950939367181 ], "name": "u0", "script": [ "import fab.types", "", "title('Union')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a | b)", "" ], "uid": 9 }, { "datums": [ { "expr": "\u0011[__6.__5]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__7.__5]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-8.375X-Xf8.375a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-8.375X-Xf8.375a-f-0.625Y-Yf0.625',float('-4.728765'),float('-7.565459'),float('-inf'),float('4.728765'),float('7.565459'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 641.93228396212021, 196.95277829541152 ], "name": "u1", "script": [ "import fab.types", "", "title('Union')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a | b)", "" ], "uid": 10 }, { "datums": [ { "expr": "\u0011[__12.__3]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__4.__4]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('aii-r+qXqYf1.75iia-r+qXqYf8.9n-r+qXqYf8.25im-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-8.375X-Xf8.375a-f-0.625Y-Yf0.625im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-8.375X-Xf8.375a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-8.375X-Xf8.375a-f-0.625Y-Yf0.625-+rba-r+qXqYf8.9n-r+qXqYf8.25rbim-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-8.375X-Xf8.375a-f-0.625Y-Yf0.625im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-8.375X-Xf8.375a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-8.375X-Xf8.375a-f-0.625Y-Yf0.625f1-+rb-r+qXqYf1.75rbiia-r+qXqYf8.9n-r+qXqYf8.25im-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-8.375X-Xf8.375a-f-0.625Y-Yf0.625im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-8.375X-Xf8.375a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-8.375X-Xf8.375a-f-0.625Y-Yf0.625-+rba-r+qXqYf8.9n-r+qXqYf8.25rbim-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-8.375X-Xf8.375a-f-0.625Y-Yf0.625im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-8.375X-Xf8.375a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-8.375X-Xf8.375a-f-0.625Y-Yf0.625f1f1n-r+qXqYf0.5',float('-8.900000'),float('-8.900000'),float('-inf'),float('8.900000'),float('8.900000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 1115.46614198106, -244.15117264395565 ], "name": "d1", "script": [ "import fab.types", "", "title('Difference')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a & ~b)", "" ], "uid": 13 }, { "datums": [ { "expr": "\u0011[__8.__2]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__9.__2]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "1", "name": "q", "type": "float", "uid": 2 }, { "expr": "\u0012fab.types.Shape('iia-r+qXqYf8.9n-r+qXqYf8.25im-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-8.375X-Xf8.375a-f-0.625Y-Yf0.625im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-8.375X-Xf8.375a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-8.375X-Xf8.375a-f-0.625Y-Yf0.625-+rba-r+qXqYf8.9n-r+qXqYf8.25rbim-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-8.375X-Xf8.375a-f-0.625Y-Yf0.625im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-8.375X-Xf8.375a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-8.375X-Xf8.375a-f-0.625Y-Yf0.625f1',float('-8.900000'),float('-8.900000'),float('-inf'),float('8.900000'),float('8.900000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 3 } ], "inspector": [ 643.46614198106022, -96.151172643955647 ], "name": "b0", "script": [ "import fab.types", "import fab.shapes", "", "title('Blend')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "input('q', float)", "", "output('shape', fab.shapes.blend(a, b, q))", "" ], "uid": 11 }, { "datums": [ { "expr": "\u0011[__3.__4]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__11.__3]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "1", "name": "q", "type": "float", "uid": 2 }, { "expr": "\u0012fab.types.Shape('ii-r+qXqYf1.75iia-r+qXqYf8.9n-r+qXqYf8.25im-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-8.375X-Xf8.375a-f-0.625Y-Yf0.625im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-8.375X-Xf8.375a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-8.375X-Xf8.375a-f-0.625Y-Yf0.625-+rba-r+qXqYf8.9n-r+qXqYf8.25rbim-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-8.375X-Xf8.375a-f-0.625Y-Yf0.625im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-8.375X-Xf8.375a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-8.375X-Xf8.375a-f-0.625Y-Yf0.625f1-+rb-r+qXqYf1.75rbiia-r+qXqYf8.9n-r+qXqYf8.25im-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-8.375X-Xf8.375a-f-0.625Y-Yf0.625im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-8.375X-Xf8.375a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-8.375X-Xf8.375a-f-0.625Y-Yf0.625-+rba-r+qXqYf8.9n-r+qXqYf8.25rbim-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-8.375X-Xf8.375a-f-0.625Y-Yf0.625im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-8.375X-Xf8.375a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-8.375X-Xf8.375a-f-0.625Y-Yf0.625f1f1',float('-8.900000'),float('-8.900000'),float('-inf'),float('8.900000'),float('8.900000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 3 } ], "inspector": [ 767.46614198106022, -245.15117264395565 ], "name": "b1", "script": [ "import fab.types", "import fab.shapes", "", "title('Blend')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "input('q', float)", "", "output('shape', fab.shapes.blend(a, b, q))", "" ], "uid": 12 }, { "datums": [ { "expr": "\u0011[__parent.__0]", "name": "rGear", "type": "float", "uid": 9 }, { "expr": "\u0011[__parent.__2]", "name": "wTeeth", "type": "float", "uid": 15 }, { "expr": "\u0011[__parent.__3]", "name": "hTeeth", "type": "float", "uid": 17 }, { "expr": "\u0011[__parent.__6]", "name": "kerf", "type": "float", "uid": 18 }, { "expr": "0.5", "name": "r", "type": "float", "uid": 4 }, { "expr": "\u0012fab.types.Shape('iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125',float('-0.250000'),float('8.650000'),float('-inf'),float('0.250000'),float('10.100000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 27.669290094699363, 346.71175803419271 ], "name": "teeth", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 6/11/15", "", "import fab", "", "title('Rounded rectangle (center)')", "", "input('rGear', float)", "input('wTeeth', float)", "input('hTeeth', float)", "input('kerf', float)", "input('r', float)", "", "x = 0", "y = rGear", "width = wTeeth + kerf", "height = hTeeth + kerf", "", "xmin, xmax = x - width/2, x + width/2", "ymin, ymax = y - height/2, y + height/2", "", "# This is the circle's radius in actual units (not a 0-1 fraction)", "r_ = r * min(width, height)/2", "", "output('shape', fab.shapes.rounded_rectangle(xmin, xmax, ymin, ymax, r))", "", "def drag_r(this, x, y, z):", " if abs(this.width) < abs(this.height):", " d = abs(this.width)", " mid = this.y + this.height/2 - d/2", " else:", " d = abs(this.width)", " mid = this.y", " r = 1 - (y - mid) / (d/2)", " this.r = float(min(1, max(0, r)))", "", "def drag_hw(this, x, y, z):", " this.height = abs(2 * (y - this.y))", " this.width = abs(2 * (x - this.x))", "", "# UI", "sb.ui.wireframe(", " [(xmin, ymin, 0), (xmax, ymin, 0), (xmax, ymax, 0), (xmin, ymax, 0)],", " close=True)", "sb.ui.wireframe([(xmax - r_, ymax, 0), (xmax, ymax - r_, 0)])", "sb.ui.point(x, y)", "sb.ui.point(xmax, ymax, drag=drag_hw, relative=False)", "sb.ui.point(xmax, ymax - r_, drag=drag_r, relative=False)", "", "" ], "uid": 14 }, { "datums": [ { "expr": "\u0011[__14.__5]", "name": "shape", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__parent.__1]", "name": "n", "type": "int", "uid": 3 }, { "expr": "\u0012fab.types.Shape('iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiim-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.996493X*f0.0836778Y+*f-0.0836778X*f0.996493Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.985996X*f0.166769Y+*f-0.166769X*f0.985996Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.968583X*f0.24869Y+*f-0.24869X*f0.968583Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.944376X*f0.328867Y+*f-0.328867X*f0.944376Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.913545X*f0.406737Y+*f-0.406737X*f0.913545Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.876307X*f0.481754Y+*f-0.481754X*f0.876307Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.832921X*f0.553392Y+*f-0.553392X*f0.832921Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.783693X*f0.621148Y+*f-0.621148X*f0.783693Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.728969X*f0.684547Y+*f-0.684547X*f0.728969Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.669131X*f0.743145Y+*f-0.743145X*f0.669131Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.604599X*f0.79653Y+*f-0.79653X*f0.604599Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.535827X*f0.844328Y+*f-0.844328X*f0.535827Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.463296X*f0.886204Y+*f-0.886204X*f0.463296Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.387516X*f0.921863Y+*f-0.921863X*f0.387516Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.309017X*f0.951057Y+*f-0.951057X*f0.309017Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.228351X*f0.973579Y+*f-0.973579X*f0.228351Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.146083X*f0.989272Y+*f-0.989272X*f0.146083Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.0627905X*f0.998027Y+*f-0.998027X*f0.0627905Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.0209424X*f0.999781Y+*f-0.999781X*f-0.0209424Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.104528X*f0.994522Y+*f-0.994522X*f-0.104528Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.187381X*f0.982287Y+*f-0.982287X*f-0.187381Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.26892X*f0.963163Y+*f-0.963163X*f-0.26892Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.348572X*f0.937282Y+*f-0.937282X*f-0.348572Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.425779X*f0.904827Y+*f-0.904827X*f-0.425779Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.570714X*f0.821149Y+*f-0.821149X*f-0.570714Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.637424X*f0.770513Y+*f-0.770513X*f-0.637424Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.699663X*f0.714473Y+*f-0.714473X*f-0.699663Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.756995X*f0.653421Y+*f-0.653421X*f-0.756995Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.809017X*f0.587785Y+*f-0.587785X*f-0.809017Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.855364X*f0.518027Y+*f-0.518027X*f-0.855364Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.895712X*f0.444635Y+*f-0.444635X*f-0.895712Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.929776X*f0.368125Y+*f-0.368125X*f-0.929776Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.957319X*f0.289032Y+*f-0.289032X*f-0.957319Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.978148X*f0.207912Y+*f-0.207912X*f-0.978148Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.992115X*f0.125333Y+*f-0.125333X*f-0.992115Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.999123X*f0.0418757Y+*f-0.0418757X*f-0.999123Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.999123X*f-0.0418757Y+*f0.0418757X*f-0.999123Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.992115X*f-0.125333Y+*f0.125333X*f-0.992115Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.978148X*f-0.207912Y+*f0.207912X*f-0.978148Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.957319X*f-0.289032Y+*f0.289032X*f-0.957319Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.929776X*f-0.368125Y+*f0.368125X*f-0.929776Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.895712X*f-0.444635Y+*f0.444635X*f-0.895712Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.855364X*f-0.518027Y+*f0.518027X*f-0.855364Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.809017X*f-0.587785Y+*f0.587785X*f-0.809017Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.756995X*f-0.653421Y+*f0.653421X*f-0.756995Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.699663X*f-0.714473Y+*f0.714473X*f-0.699663Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.637424X*f-0.770513Y+*f0.770513X*f-0.637424Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.570714X*f-0.821149Y+*f0.821149X*f-0.570714Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.5X*f-0.866025Y+*f0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.425779X*f-0.904827Y+*f0.904827X*f-0.425779Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.348572X*f-0.937282Y+*f0.937282X*f-0.348572Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.26892X*f-0.963163Y+*f0.963163X*f-0.26892Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.187381X*f-0.982287Y+*f0.982287X*f-0.187381Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.104528X*f-0.994522Y+*f0.994522X*f-0.104528Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.0209424X*f-0.999781Y+*f0.999781X*f-0.0209424Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.0627905X*f-0.998027Y+*f0.998027X*f0.0627905Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.146083X*f-0.989272Y+*f0.989272X*f0.146083Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.228351X*f-0.973579Y+*f0.973579X*f0.228351Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.309017X*f-0.951057Y+*f0.951057X*f0.309017Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.387516X*f-0.921863Y+*f0.921863X*f0.387516Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.463296X*f-0.886204Y+*f0.886204X*f0.463296Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.535827X*f-0.844328Y+*f0.844328X*f0.535827Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.604599X*f-0.79653Y+*f0.79653X*f0.604599Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.669131X*f-0.743145Y+*f0.743145X*f0.669131Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.728969X*f-0.684547Y+*f0.684547X*f0.728969Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.783693X*f-0.621148Y+*f0.621148X*f0.783693Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.832921X*f-0.553392Y+*f0.553392X*f0.832921Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.876307X*f-0.481754Y+*f0.481754X*f0.876307Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.913545X*f-0.406737Y+*f0.406737X*f0.913545Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.944376X*f-0.328867Y+*f0.328867X*f0.944376Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.968583X*f-0.24869Y+*f0.24869X*f0.968583Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.985996X*f-0.166769Y+*f0.166769X*f0.985996Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.996493X*f-0.0836778Y+*f0.0836778X*f0.996493Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125',float('-10.103024'),float('-10.101611'),float('-inf'),float('10.103024'),float('10.100000'),float('inf'))", "name": "array", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 346.71175803419271, 355.91490614783186 ], "name": "a0", "script": [ "import fab", "import math", "", "title('Array (polar)')", "", "input('shape', fab.types.Shape)", "input('n', int)", "", "x = 0", "y = 0", "", "output('array', fab.shapes.iterate_polar(shape, x, y, n))", "", "# UI", "sb.ui.wireframe([", " (math.cos(i/36. * 2*math.pi) * 0.3 + x,", " math.sin(i/36. * 2*math.pi) * 0.3 + y, 0)", " for i in range(36)], close=True, color=sb.color.teal)", "", "sb.ui.point(x, y, 0, color=sb.color.teal)", "" ], "uid": 15 }, { "datums": [ { "expr": "\u0011[__13.__2]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__15.__4]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "0.5", "name": "q", "type": "float", "uid": 2 }, { "expr": "\u0012fab.types.Shape('iiaii-r+qXqYf1.75iia-r+qXqYf8.9n-r+qXqYf8.25im-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-8.375X-Xf8.375a-f-0.625Y-Yf0.625im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-8.375X-Xf8.375a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-8.375X-Xf8.375a-f-0.625Y-Yf0.625-+rba-r+qXqYf8.9n-r+qXqYf8.25rbim-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-8.375X-Xf8.375a-f-0.625Y-Yf0.625im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-8.375X-Xf8.375a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-8.375X-Xf8.375a-f-0.625Y-Yf0.625f1-+rb-r+qXqYf1.75rbiia-r+qXqYf8.9n-r+qXqYf8.25im-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-8.375X-Xf8.375a-f-0.625Y-Yf0.625im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-8.375X-Xf8.375a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-8.375X-Xf8.375a-f-0.625Y-Yf0.625-+rba-r+qXqYf8.9n-r+qXqYf8.25rbim-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-8.375X-Xf8.375a-f-0.625Y-Yf0.625im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-8.375X-Xf8.375a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-8.375X-Xf8.375a-f-0.625Y-Yf0.625f1f1n-r+qXqYf0.5iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiim-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.996493X*f0.0836778Y+*f-0.0836778X*f0.996493Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.985996X*f0.166769Y+*f-0.166769X*f0.985996Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.968583X*f0.24869Y+*f-0.24869X*f0.968583Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.944376X*f0.328867Y+*f-0.328867X*f0.944376Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.913545X*f0.406737Y+*f-0.406737X*f0.913545Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.876307X*f0.481754Y+*f-0.481754X*f0.876307Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.832921X*f0.553392Y+*f-0.553392X*f0.832921Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.783693X*f0.621148Y+*f-0.621148X*f0.783693Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.728969X*f0.684547Y+*f-0.684547X*f0.728969Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.669131X*f0.743145Y+*f-0.743145X*f0.669131Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.604599X*f0.79653Y+*f-0.79653X*f0.604599Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.535827X*f0.844328Y+*f-0.844328X*f0.535827Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.463296X*f0.886204Y+*f-0.886204X*f0.463296Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.387516X*f0.921863Y+*f-0.921863X*f0.387516Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.309017X*f0.951057Y+*f-0.951057X*f0.309017Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.228351X*f0.973579Y+*f-0.973579X*f0.228351Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.146083X*f0.989272Y+*f-0.989272X*f0.146083Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.0627905X*f0.998027Y+*f-0.998027X*f0.0627905Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.0209424X*f0.999781Y+*f-0.999781X*f-0.0209424Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.104528X*f0.994522Y+*f-0.994522X*f-0.104528Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.187381X*f0.982287Y+*f-0.982287X*f-0.187381Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.26892X*f0.963163Y+*f-0.963163X*f-0.26892Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.348572X*f0.937282Y+*f-0.937282X*f-0.348572Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.425779X*f0.904827Y+*f-0.904827X*f-0.425779Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.570714X*f0.821149Y+*f-0.821149X*f-0.570714Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.637424X*f0.770513Y+*f-0.770513X*f-0.637424Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.699663X*f0.714473Y+*f-0.714473X*f-0.699663Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.756995X*f0.653421Y+*f-0.653421X*f-0.756995Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.809017X*f0.587785Y+*f-0.587785X*f-0.809017Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.855364X*f0.518027Y+*f-0.518027X*f-0.855364Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.895712X*f0.444635Y+*f-0.444635X*f-0.895712Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.929776X*f0.368125Y+*f-0.368125X*f-0.929776Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.957319X*f0.289032Y+*f-0.289032X*f-0.957319Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.978148X*f0.207912Y+*f-0.207912X*f-0.978148Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.992115X*f0.125333Y+*f-0.125333X*f-0.992115Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.999123X*f0.0418757Y+*f-0.0418757X*f-0.999123Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.999123X*f-0.0418757Y+*f0.0418757X*f-0.999123Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.992115X*f-0.125333Y+*f0.125333X*f-0.992115Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.978148X*f-0.207912Y+*f0.207912X*f-0.978148Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.957319X*f-0.289032Y+*f0.289032X*f-0.957319Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.929776X*f-0.368125Y+*f0.368125X*f-0.929776Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.895712X*f-0.444635Y+*f0.444635X*f-0.895712Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.855364X*f-0.518027Y+*f0.518027X*f-0.855364Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.809017X*f-0.587785Y+*f0.587785X*f-0.809017Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.756995X*f-0.653421Y+*f0.653421X*f-0.756995Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.699663X*f-0.714473Y+*f0.714473X*f-0.699663Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.637424X*f-0.770513Y+*f0.770513X*f-0.637424Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.570714X*f-0.821149Y+*f0.821149X*f-0.570714Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.5X*f-0.866025Y+*f0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.425779X*f-0.904827Y+*f0.904827X*f-0.425779Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.348572X*f-0.937282Y+*f0.937282X*f-0.348572Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.26892X*f-0.963163Y+*f0.963163X*f-0.26892Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.187381X*f-0.982287Y+*f0.982287X*f-0.187381Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.104528X*f-0.994522Y+*f0.994522X*f-0.104528Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.0209424X*f-0.999781Y+*f0.999781X*f-0.0209424Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.0627905X*f-0.998027Y+*f0.998027X*f0.0627905Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.146083X*f-0.989272Y+*f0.989272X*f0.146083Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.228351X*f-0.973579Y+*f0.973579X*f0.228351Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.309017X*f-0.951057Y+*f0.951057X*f0.309017Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.387516X*f-0.921863Y+*f0.921863X*f0.387516Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.463296X*f-0.886204Y+*f0.886204X*f0.463296Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.535827X*f-0.844328Y+*f0.844328X*f0.535827Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.604599X*f-0.79653Y+*f0.79653X*f0.604599Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.669131X*f-0.743145Y+*f0.743145X*f0.669131Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.728969X*f-0.684547Y+*f0.684547X*f0.728969Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.783693X*f-0.621148Y+*f0.621148X*f0.783693Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.832921X*f-0.553392Y+*f0.553392X*f0.832921Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.876307X*f-0.481754Y+*f0.481754X*f0.876307Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.913545X*f-0.406737Y+*f0.406737X*f0.913545Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.944376X*f-0.328867Y+*f0.328867X*f0.944376Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.968583X*f-0.24869Y+*f0.24869X*f0.968583Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.985996X*f-0.166769Y+*f0.166769X*f0.985996Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.996493X*f-0.0836778Y+*f0.0836778X*f0.996493Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125-+rbaii-r+qXqYf1.75iia-r+qXqYf8.9n-r+qXqYf8.25im-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-8.375X-Xf8.375a-f-0.625Y-Yf0.625im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-8.375X-Xf8.375a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-8.375X-Xf8.375a-f-0.625Y-Yf0.625-+rba-r+qXqYf8.9n-r+qXqYf8.25rbim-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-8.375X-Xf8.375a-f-0.625Y-Yf0.625im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-8.375X-Xf8.375a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-8.375X-Xf8.375a-f-0.625Y-Yf0.625f1-+rb-r+qXqYf1.75rbiia-r+qXqYf8.9n-r+qXqYf8.25im-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-8.375X-Xf8.375a-f-0.625Y-Yf0.625im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-8.375X-Xf8.375a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-8.375X-Xf8.375a-f-0.625Y-Yf0.625-+rba-r+qXqYf8.9n-r+qXqYf8.25rbim-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-8.375X-Xf8.375a-f-0.625Y-Yf0.625im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-8.375X-Xf8.375a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-8.375X-Xf8.375a-f-0.625Y-Yf0.625f1f1n-r+qXqYf0.5rbiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiim-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.996493X*f0.0836778Y+*f-0.0836778X*f0.996493Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.985996X*f0.166769Y+*f-0.166769X*f0.985996Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.968583X*f0.24869Y+*f-0.24869X*f0.968583Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.944376X*f0.328867Y+*f-0.328867X*f0.944376Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.913545X*f0.406737Y+*f-0.406737X*f0.913545Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.876307X*f0.481754Y+*f-0.481754X*f0.876307Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.832921X*f0.553392Y+*f-0.553392X*f0.832921Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.783693X*f0.621148Y+*f-0.621148X*f0.783693Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.728969X*f0.684547Y+*f-0.684547X*f0.728969Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.669131X*f0.743145Y+*f-0.743145X*f0.669131Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.604599X*f0.79653Y+*f-0.79653X*f0.604599Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.535827X*f0.844328Y+*f-0.844328X*f0.535827Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.463296X*f0.886204Y+*f-0.886204X*f0.463296Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.387516X*f0.921863Y+*f-0.921863X*f0.387516Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.309017X*f0.951057Y+*f-0.951057X*f0.309017Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.228351X*f0.973579Y+*f-0.973579X*f0.228351Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.146083X*f0.989272Y+*f-0.989272X*f0.146083Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.0627905X*f0.998027Y+*f-0.998027X*f0.0627905Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.0209424X*f0.999781Y+*f-0.999781X*f-0.0209424Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.104528X*f0.994522Y+*f-0.994522X*f-0.104528Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.187381X*f0.982287Y+*f-0.982287X*f-0.187381Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.26892X*f0.963163Y+*f-0.963163X*f-0.26892Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.348572X*f0.937282Y+*f-0.937282X*f-0.348572Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.425779X*f0.904827Y+*f-0.904827X*f-0.425779Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.570714X*f0.821149Y+*f-0.821149X*f-0.570714Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.637424X*f0.770513Y+*f-0.770513X*f-0.637424Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.699663X*f0.714473Y+*f-0.714473X*f-0.699663Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.756995X*f0.653421Y+*f-0.653421X*f-0.756995Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.809017X*f0.587785Y+*f-0.587785X*f-0.809017Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.855364X*f0.518027Y+*f-0.518027X*f-0.855364Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.895712X*f0.444635Y+*f-0.444635X*f-0.895712Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.929776X*f0.368125Y+*f-0.368125X*f-0.929776Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.957319X*f0.289032Y+*f-0.289032X*f-0.957319Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.978148X*f0.207912Y+*f-0.207912X*f-0.978148Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.992115X*f0.125333Y+*f-0.125333X*f-0.992115Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.999123X*f0.0418757Y+*f-0.0418757X*f-0.999123Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.999123X*f-0.0418757Y+*f0.0418757X*f-0.999123Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.992115X*f-0.125333Y+*f0.125333X*f-0.992115Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.978148X*f-0.207912Y+*f0.207912X*f-0.978148Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.957319X*f-0.289032Y+*f0.289032X*f-0.957319Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.929776X*f-0.368125Y+*f0.368125X*f-0.929776Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.895712X*f-0.444635Y+*f0.444635X*f-0.895712Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.855364X*f-0.518027Y+*f0.518027X*f-0.855364Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.809017X*f-0.587785Y+*f0.587785X*f-0.809017Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.756995X*f-0.653421Y+*f0.653421X*f-0.756995Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.699663X*f-0.714473Y+*f0.714473X*f-0.699663Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.637424X*f-0.770513Y+*f0.770513X*f-0.637424Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.570714X*f-0.821149Y+*f0.821149X*f-0.570714Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.5X*f-0.866025Y+*f0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.425779X*f-0.904827Y+*f0.904827X*f-0.425779Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.348572X*f-0.937282Y+*f0.937282X*f-0.348572Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.26892X*f-0.963163Y+*f0.963163X*f-0.26892Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.187381X*f-0.982287Y+*f0.982287X*f-0.187381Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.104528X*f-0.994522Y+*f0.994522X*f-0.104528Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.0209424X*f-0.999781Y+*f0.999781X*f-0.0209424Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.0627905X*f-0.998027Y+*f0.998027X*f0.0627905Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.146083X*f-0.989272Y+*f0.989272X*f0.146083Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.228351X*f-0.973579Y+*f0.973579X*f0.228351Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.309017X*f-0.951057Y+*f0.951057X*f0.309017Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.387516X*f-0.921863Y+*f0.921863X*f0.387516Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.463296X*f-0.886204Y+*f0.886204X*f0.463296Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.535827X*f-0.844328Y+*f0.844328X*f0.535827Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.604599X*f-0.79653Y+*f0.79653X*f0.604599Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.669131X*f-0.743145Y+*f0.743145X*f0.669131Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.728969X*f-0.684547Y+*f0.684547X*f0.728969Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.783693X*f-0.621148Y+*f0.621148X*f0.783693Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.832921X*f-0.553392Y+*f0.553392X*f0.832921Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.876307X*f-0.481754Y+*f0.481754X*f0.876307Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.913545X*f-0.406737Y+*f0.406737X*f0.913545Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.944376X*f-0.328867Y+*f0.328867X*f0.944376Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.968583X*f-0.24869Y+*f0.24869X*f0.968583Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.985996X*f-0.166769Y+*f0.166769X*f0.985996Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.996493X*f-0.0836778Y+*f0.0836778X*f0.996493Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125f0.5',float('-10.103024'),float('-10.101611'),float('-inf'),float('10.103024'),float('10.100000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 3 } ], "inspector": [ 1015.4738542919769, 260.81570897355988 ], "name": "b2", "script": [ "import fab.types", "import fab.shapes", "", "title('Blend')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "input('q', float)", "", "output('shape', fab.shapes.blend(a, b, q))", "" ], "uid": 16 } ], "uid": 11 }, { "datums": [ { "expr": "11", "name": "x", "type": "float", "uid": 0 }, { "expr": "11", "name": "y", "type": "float", "uid": 1 }, { "expr": "0.0", "name": "z", "type": "float", "uid": 2 }, { "expr": "\u0011[__11.__7]", "name": "shape", "type": "_fabtypes.Shape", "uid": 3 }, { "expr": "\u0012fab.types.Shape('m-Xf11-Yf11.0008-Zf0iiaii-r+qXqYf1.75iia-r+qXqYf8.9n-r+qXqYf8.25im-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-8.375X-Xf8.375a-f-0.625Y-Yf0.625im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-8.375X-Xf8.375a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-8.375X-Xf8.375a-f-0.625Y-Yf0.625-+rba-r+qXqYf8.9n-r+qXqYf8.25rbim-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-8.375X-Xf8.375a-f-0.625Y-Yf0.625im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-8.375X-Xf8.375a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-8.375X-Xf8.375a-f-0.625Y-Yf0.625f1-+rb-r+qXqYf1.75rbiia-r+qXqYf8.9n-r+qXqYf8.25im-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-8.375X-Xf8.375a-f-0.625Y-Yf0.625im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-8.375X-Xf8.375a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-8.375X-Xf8.375a-f-0.625Y-Yf0.625-+rba-r+qXqYf8.9n-r+qXqYf8.25rbim-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-8.375X-Xf8.375a-f-0.625Y-Yf0.625im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-8.375X-Xf8.375a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-8.375X-Xf8.375a-f-0.625Y-Yf0.625f1f1n-r+qXqYf0.5iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiim-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.996493X*f0.0836778Y+*f-0.0836778X*f0.996493Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.985996X*f0.166769Y+*f-0.166769X*f0.985996Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.968583X*f0.24869Y+*f-0.24869X*f0.968583Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.944376X*f0.328867Y+*f-0.328867X*f0.944376Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.913545X*f0.406737Y+*f-0.406737X*f0.913545Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.876307X*f0.481754Y+*f-0.481754X*f0.876307Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.832921X*f0.553392Y+*f-0.553392X*f0.832921Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.783693X*f0.621148Y+*f-0.621148X*f0.783693Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.728969X*f0.684547Y+*f-0.684547X*f0.728969Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.669131X*f0.743145Y+*f-0.743145X*f0.669131Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.604599X*f0.79653Y+*f-0.79653X*f0.604599Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.535827X*f0.844328Y+*f-0.844328X*f0.535827Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.463296X*f0.886204Y+*f-0.886204X*f0.463296Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.387516X*f0.921863Y+*f-0.921863X*f0.387516Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.309017X*f0.951057Y+*f-0.951057X*f0.309017Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.228351X*f0.973579Y+*f-0.973579X*f0.228351Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.146083X*f0.989272Y+*f-0.989272X*f0.146083Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.0627905X*f0.998027Y+*f-0.998027X*f0.0627905Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.0209424X*f0.999781Y+*f-0.999781X*f-0.0209424Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.104528X*f0.994522Y+*f-0.994522X*f-0.104528Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.187381X*f0.982287Y+*f-0.982287X*f-0.187381Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.26892X*f0.963163Y+*f-0.963163X*f-0.26892Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.348572X*f0.937282Y+*f-0.937282X*f-0.348572Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.425779X*f0.904827Y+*f-0.904827X*f-0.425779Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.570714X*f0.821149Y+*f-0.821149X*f-0.570714Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.637424X*f0.770513Y+*f-0.770513X*f-0.637424Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.699663X*f0.714473Y+*f-0.714473X*f-0.699663Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.756995X*f0.653421Y+*f-0.653421X*f-0.756995Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.809017X*f0.587785Y+*f-0.587785X*f-0.809017Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.855364X*f0.518027Y+*f-0.518027X*f-0.855364Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.895712X*f0.444635Y+*f-0.444635X*f-0.895712Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.929776X*f0.368125Y+*f-0.368125X*f-0.929776Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.957319X*f0.289032Y+*f-0.289032X*f-0.957319Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.978148X*f0.207912Y+*f-0.207912X*f-0.978148Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.992115X*f0.125333Y+*f-0.125333X*f-0.992115Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.999123X*f0.0418757Y+*f-0.0418757X*f-0.999123Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.999123X*f-0.0418757Y+*f0.0418757X*f-0.999123Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.992115X*f-0.125333Y+*f0.125333X*f-0.992115Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.978148X*f-0.207912Y+*f0.207912X*f-0.978148Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.957319X*f-0.289032Y+*f0.289032X*f-0.957319Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.929776X*f-0.368125Y+*f0.368125X*f-0.929776Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.895712X*f-0.444635Y+*f0.444635X*f-0.895712Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.855364X*f-0.518027Y+*f0.518027X*f-0.855364Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.809017X*f-0.587785Y+*f0.587785X*f-0.809017Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.756995X*f-0.653421Y+*f0.653421X*f-0.756995Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.699663X*f-0.714473Y+*f0.714473X*f-0.699663Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.637424X*f-0.770513Y+*f0.770513X*f-0.637424Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.570714X*f-0.821149Y+*f0.821149X*f-0.570714Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.5X*f-0.866025Y+*f0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.425779X*f-0.904827Y+*f0.904827X*f-0.425779Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.348572X*f-0.937282Y+*f0.937282X*f-0.348572Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.26892X*f-0.963163Y+*f0.963163X*f-0.26892Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.187381X*f-0.982287Y+*f0.982287X*f-0.187381Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.104528X*f-0.994522Y+*f0.994522X*f-0.104528Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.0209424X*f-0.999781Y+*f0.999781X*f-0.0209424Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.0627905X*f-0.998027Y+*f0.998027X*f0.0627905Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.146083X*f-0.989272Y+*f0.989272X*f0.146083Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.228351X*f-0.973579Y+*f0.973579X*f0.228351Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.309017X*f-0.951057Y+*f0.951057X*f0.309017Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.387516X*f-0.921863Y+*f0.921863X*f0.387516Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.463296X*f-0.886204Y+*f0.886204X*f0.463296Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.535827X*f-0.844328Y+*f0.844328X*f0.535827Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.604599X*f-0.79653Y+*f0.79653X*f0.604599Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.669131X*f-0.743145Y+*f0.743145X*f0.669131Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.728969X*f-0.684547Y+*f0.684547X*f0.728969Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.783693X*f-0.621148Y+*f0.621148X*f0.783693Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.832921X*f-0.553392Y+*f0.553392X*f0.832921Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.876307X*f-0.481754Y+*f0.481754X*f0.876307Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.913545X*f-0.406737Y+*f0.406737X*f0.913545Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.944376X*f-0.328867Y+*f0.328867X*f0.944376Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.968583X*f-0.24869Y+*f0.24869X*f0.968583Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.985996X*f-0.166769Y+*f0.166769X*f0.985996Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.996493X*f-0.0836778Y+*f0.0836778X*f0.996493Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125-+rbaii-r+qXqYf1.75iia-r+qXqYf8.9n-r+qXqYf8.25im-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-8.375X-Xf8.375a-f-0.625Y-Yf0.625im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-8.375X-Xf8.375a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-8.375X-Xf8.375a-f-0.625Y-Yf0.625-+rba-r+qXqYf8.9n-r+qXqYf8.25rbim-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-8.375X-Xf8.375a-f-0.625Y-Yf0.625im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-8.375X-Xf8.375a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-8.375X-Xf8.375a-f-0.625Y-Yf0.625f1-+rb-r+qXqYf1.75rbiia-r+qXqYf8.9n-r+qXqYf8.25im-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-8.375X-Xf8.375a-f-0.625Y-Yf0.625im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-8.375X-Xf8.375a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-8.375X-Xf8.375a-f-0.625Y-Yf0.625-+rba-r+qXqYf8.9n-r+qXqYf8.25rbim-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-8.375X-Xf8.375a-f-0.625Y-Yf0.625im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-8.375X-Xf8.375a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-8.375X-Xf8.375a-f-0.625Y-Yf0.625f1f1n-r+qXqYf0.5rbiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiim-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.996493X*f0.0836778Y+*f-0.0836778X*f0.996493Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.985996X*f0.166769Y+*f-0.166769X*f0.985996Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.968583X*f0.24869Y+*f-0.24869X*f0.968583Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.944376X*f0.328867Y+*f-0.328867X*f0.944376Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.913545X*f0.406737Y+*f-0.406737X*f0.913545Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.876307X*f0.481754Y+*f-0.481754X*f0.876307Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.832921X*f0.553392Y+*f-0.553392X*f0.832921Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.783693X*f0.621148Y+*f-0.621148X*f0.783693Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.728969X*f0.684547Y+*f-0.684547X*f0.728969Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.669131X*f0.743145Y+*f-0.743145X*f0.669131Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.604599X*f0.79653Y+*f-0.79653X*f0.604599Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.535827X*f0.844328Y+*f-0.844328X*f0.535827Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.463296X*f0.886204Y+*f-0.886204X*f0.463296Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.387516X*f0.921863Y+*f-0.921863X*f0.387516Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.309017X*f0.951057Y+*f-0.951057X*f0.309017Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.228351X*f0.973579Y+*f-0.973579X*f0.228351Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.146083X*f0.989272Y+*f-0.989272X*f0.146083Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.0627905X*f0.998027Y+*f-0.998027X*f0.0627905Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.0209424X*f0.999781Y+*f-0.999781X*f-0.0209424Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.104528X*f0.994522Y+*f-0.994522X*f-0.104528Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.187381X*f0.982287Y+*f-0.982287X*f-0.187381Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.26892X*f0.963163Y+*f-0.963163X*f-0.26892Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.348572X*f0.937282Y+*f-0.937282X*f-0.348572Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.425779X*f0.904827Y+*f-0.904827X*f-0.425779Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.570714X*f0.821149Y+*f-0.821149X*f-0.570714Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.637424X*f0.770513Y+*f-0.770513X*f-0.637424Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.699663X*f0.714473Y+*f-0.714473X*f-0.699663Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.756995X*f0.653421Y+*f-0.653421X*f-0.756995Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.809017X*f0.587785Y+*f-0.587785X*f-0.809017Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.855364X*f0.518027Y+*f-0.518027X*f-0.855364Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.895712X*f0.444635Y+*f-0.444635X*f-0.895712Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.929776X*f0.368125Y+*f-0.368125X*f-0.929776Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.957319X*f0.289032Y+*f-0.289032X*f-0.957319Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.978148X*f0.207912Y+*f-0.207912X*f-0.978148Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.992115X*f0.125333Y+*f-0.125333X*f-0.992115Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.999123X*f0.0418757Y+*f-0.0418757X*f-0.999123Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.999123X*f-0.0418757Y+*f0.0418757X*f-0.999123Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.992115X*f-0.125333Y+*f0.125333X*f-0.992115Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.978148X*f-0.207912Y+*f0.207912X*f-0.978148Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.957319X*f-0.289032Y+*f0.289032X*f-0.957319Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.929776X*f-0.368125Y+*f0.368125X*f-0.929776Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.895712X*f-0.444635Y+*f0.444635X*f-0.895712Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.855364X*f-0.518027Y+*f0.518027X*f-0.855364Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.809017X*f-0.587785Y+*f0.587785X*f-0.809017Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.756995X*f-0.653421Y+*f0.653421X*f-0.756995Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.699663X*f-0.714473Y+*f0.714473X*f-0.699663Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.637424X*f-0.770513Y+*f0.770513X*f-0.637424Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.570714X*f-0.821149Y+*f0.821149X*f-0.570714Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.5X*f-0.866025Y+*f0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.425779X*f-0.904827Y+*f0.904827X*f-0.425779Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.348572X*f-0.937282Y+*f0.937282X*f-0.348572Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.26892X*f-0.963163Y+*f0.963163X*f-0.26892Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.187381X*f-0.982287Y+*f0.982287X*f-0.187381Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.104528X*f-0.994522Y+*f0.994522X*f-0.104528Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f-0.0209424X*f-0.999781Y+*f0.999781X*f-0.0209424Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.0627905X*f-0.998027Y+*f0.998027X*f0.0627905Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.146083X*f-0.989272Y+*f0.989272X*f0.146083Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.228351X*f-0.973579Y+*f0.973579X*f0.228351Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.309017X*f-0.951057Y+*f0.951057X*f0.309017Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.387516X*f-0.921863Y+*f0.921863X*f0.387516Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.463296X*f-0.886204Y+*f0.886204X*f0.463296Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.535827X*f-0.844328Y+*f0.844328X*f0.535827Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.604599X*f-0.79653Y+*f0.79653X*f0.604599Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.669131X*f-0.743145Y+*f0.743145X*f0.669131Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.728969X*f-0.684547Y+*f0.684547X*f0.728969Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.783693X*f-0.621148Y+*f0.621148X*f0.783693Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.832921X*f-0.553392Y+*f0.553392X*f0.832921Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.876307X*f-0.481754Y+*f0.481754X*f0.876307Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.913545X*f-0.406737Y+*f0.406737X*f0.913545Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.944376X*f-0.328867Y+*f0.328867X*f0.944376Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.968583X*f-0.24869Y+*f0.24869X*f0.968583Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.985996X*f-0.166769Y+*f0.166769X*f0.985996Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125m-Xf0-Yf0-Zf0m+*f0.996493X*f-0.0836778Y+*f0.0836778X*f0.996493Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f8.775Y-Yf9.975aa-f-0.125X-Xf0.125a-f8.65Y-Yf10.1-r+q-Xf-0.125q-Yf8.775f0.125-r+q-Xf-0.125q-Yf9.975f0.125-r+q-Xf0.125q-Yf8.775f0.125-r+q-Xf0.125q-Yf9.975f0.125f0.5',float('0.896976'),float('0.899189'),float('-inf'),float('21.103024'),float('21.100800'),float('inf'))", "name": "out", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 233.12339504469065, 273.32910015574146 ], "name": "r5", "script": [ "import fab", "", "title('Recenter')", "", "input('x', float)", "input('y', float)", "input('z', float)", "", "input('shape', fab.types.Shape)", "output('out', fab.shapes.recenter(shape, x, y, z))", "", "# UI", "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)", "" ], "uid": 12 }, { "datums": [ { "expr": "11", "name": "x", "type": "float", "uid": 0 }, { "expr": "-11", "name": "y", "type": "float", "uid": 1 }, { "expr": "0.0", "name": "z", "type": "float", "uid": 2 }, { "expr": "\u0011[__14.__7]", "name": "shape", "type": "_fabtypes.Shape", "uid": 3 }, { "expr": "\u0012fab.types.Shape('m-Xf11-Yf-11-Zf0iiaii-r+qXqYf1.75iia-r+qXqYf9.15n-r+qXqYf8.5im-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-8.625X-Xf8.625a-f-0.625Y-Yf0.625im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-8.625X-Xf8.625a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-8.625X-Xf8.625a-f-0.625Y-Yf0.625-+rba-r+qXqYf9.15n-r+qXqYf8.5rbim-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-8.625X-Xf8.625a-f-0.625Y-Yf0.625im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-8.625X-Xf8.625a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-8.625X-Xf8.625a-f-0.625Y-Yf0.625f1-+rb-r+qXqYf1.75rbiia-r+qXqYf9.15n-r+qXqYf8.5im-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-8.625X-Xf8.625a-f-0.625Y-Yf0.625im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-8.625X-Xf8.625a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-8.625X-Xf8.625a-f-0.625Y-Yf0.625-+rba-r+qXqYf9.15n-r+qXqYf8.5rbim-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-8.625X-Xf8.625a-f-0.625Y-Yf0.625im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-8.625X-Xf8.625a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-8.625X-Xf8.625a-f-0.625Y-Yf0.625f1f1n-r+qXqYf0.5iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiim-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.996757X*f0.0804666Y+*f-0.0804666X*f0.996757Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.98705X*f0.160411Y+*f-0.160411X*f0.98705Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.970942X*f0.239316Y+*f-0.239316X*f0.970942Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.948536X*f0.316668Y+*f-0.316668X*f0.948536Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.919979X*f0.391967Y+*f-0.391967X*f0.919979Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.885456X*f0.464723Y+*f-0.464723X*f0.885456Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.84519X*f0.534466Y+*f-0.534466X*f0.84519Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.799443X*f0.600742Y+*f-0.600742X*f0.799443Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.748511X*f0.663123Y+*f-0.663123X*f0.748511Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.692724X*f0.721202Y+*f-0.721202X*f0.692724Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.632445X*f0.774605Y+*f-0.774605X*f0.632445Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.568065X*f0.822984Y+*f-0.822984X*f0.568065Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.428693X*f0.90345Y+*f-0.90345X*f0.428693Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.354605X*f0.935016Y+*f-0.935016X*f0.354605Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.278217X*f0.960518Y+*f-0.960518X*f0.278217Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.200026X*f0.979791Y+*f-0.979791X*f0.200026Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.120537X*f0.992709Y+*f-0.992709X*f0.120537Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.0402659X*f0.999189Y+*f-0.999189X*f0.0402659Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.0402659X*f0.999189Y+*f-0.999189X*f-0.0402659Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.120537X*f0.992709Y+*f-0.992709X*f-0.120537Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.200026X*f0.979791Y+*f-0.979791X*f-0.200026Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.278217X*f0.960518Y+*f-0.960518X*f-0.278217Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.354605X*f0.935016Y+*f-0.935016X*f-0.354605Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.428693X*f0.90345Y+*f-0.90345X*f-0.428693Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.568065X*f0.822984Y+*f-0.822984X*f-0.568065Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.632445X*f0.774605Y+*f-0.774605X*f-0.632445Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.692724X*f0.721202Y+*f-0.721202X*f-0.692724Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.748511X*f0.663123Y+*f-0.663123X*f-0.748511Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.799443X*f0.600742Y+*f-0.600742X*f-0.799443Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.84519X*f0.534466Y+*f-0.534466X*f-0.84519Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.885456X*f0.464723Y+*f-0.464723X*f-0.885456Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.919979X*f0.391967Y+*f-0.391967X*f-0.919979Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.948536X*f0.316668Y+*f-0.316668X*f-0.948536Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.970942X*f0.239316Y+*f-0.239316X*f-0.970942Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.98705X*f0.160411Y+*f-0.160411X*f-0.98705Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.996757X*f0.0804666Y+*f-0.0804666X*f-0.996757Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-1X*f5.66554e-16Y+*f-5.66554e-16X*f-1Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.996757X*f-0.0804666Y+*f0.0804666X*f-0.996757Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.98705X*f-0.160411Y+*f0.160411X*f-0.98705Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.970942X*f-0.239316Y+*f0.239316X*f-0.970942Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.948536X*f-0.316668Y+*f0.316668X*f-0.948536Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.919979X*f-0.391967Y+*f0.391967X*f-0.919979Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.885456X*f-0.464723Y+*f0.464723X*f-0.885456Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.84519X*f-0.534466Y+*f0.534466X*f-0.84519Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.799443X*f-0.600742Y+*f0.600742X*f-0.799443Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.748511X*f-0.663123Y+*f0.663123X*f-0.748511Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.692724X*f-0.721202Y+*f0.721202X*f-0.692724Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.632445X*f-0.774605Y+*f0.774605X*f-0.632445Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.568065X*f-0.822984Y+*f0.822984X*f-0.568065Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.5X*f-0.866025Y+*f0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.428693X*f-0.90345Y+*f0.90345X*f-0.428693Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.354605X*f-0.935016Y+*f0.935016X*f-0.354605Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.278217X*f-0.960518Y+*f0.960518X*f-0.278217Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.200026X*f-0.979791Y+*f0.979791X*f-0.200026Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.120537X*f-0.992709Y+*f0.992709X*f-0.120537Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.0402659X*f-0.999189Y+*f0.999189X*f-0.0402659Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.0402659X*f-0.999189Y+*f0.999189X*f0.0402659Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.120537X*f-0.992709Y+*f0.992709X*f0.120537Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.200026X*f-0.979791Y+*f0.979791X*f0.200026Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.278217X*f-0.960518Y+*f0.960518X*f0.278217Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.354605X*f-0.935016Y+*f0.935016X*f0.354605Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.428693X*f-0.90345Y+*f0.90345X*f0.428693Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.5X*f-0.866025Y+*f0.866025X*f0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.568065X*f-0.822984Y+*f0.822984X*f0.568065Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.632445X*f-0.774605Y+*f0.774605X*f0.632445Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.692724X*f-0.721202Y+*f0.721202X*f0.692724Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.748511X*f-0.663123Y+*f0.663123X*f0.748511Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.799443X*f-0.600742Y+*f0.600742X*f0.799443Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.84519X*f-0.534466Y+*f0.534466X*f0.84519Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.885456X*f-0.464723Y+*f0.464723X*f0.885456Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.919979X*f-0.391967Y+*f0.391967X*f0.919979Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.948536X*f-0.316668Y+*f0.316668X*f0.948536Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.970942X*f-0.239316Y+*f0.239316X*f0.970942Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.98705X*f-0.160411Y+*f0.160411X*f0.98705Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.996757X*f-0.0804666Y+*f0.0804666X*f0.996757Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125-+rbaii-r+qXqYf1.75iia-r+qXqYf9.15n-r+qXqYf8.5im-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-8.625X-Xf8.625a-f-0.625Y-Yf0.625im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-8.625X-Xf8.625a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-8.625X-Xf8.625a-f-0.625Y-Yf0.625-+rba-r+qXqYf9.15n-r+qXqYf8.5rbim-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-8.625X-Xf8.625a-f-0.625Y-Yf0.625im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-8.625X-Xf8.625a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-8.625X-Xf8.625a-f-0.625Y-Yf0.625f1-+rb-r+qXqYf1.75rbiia-r+qXqYf9.15n-r+qXqYf8.5im-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-8.625X-Xf8.625a-f-0.625Y-Yf0.625im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-8.625X-Xf8.625a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-8.625X-Xf8.625a-f-0.625Y-Yf0.625-+rba-r+qXqYf9.15n-r+qXqYf8.5rbim-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-8.625X-Xf8.625a-f-0.625Y-Yf0.625im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-8.625X-Xf8.625a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-8.625X-Xf8.625a-f-0.625Y-Yf0.625f1f1n-r+qXqYf0.5rbiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiim-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.996757X*f0.0804666Y+*f-0.0804666X*f0.996757Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.98705X*f0.160411Y+*f-0.160411X*f0.98705Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.970942X*f0.239316Y+*f-0.239316X*f0.970942Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.948536X*f0.316668Y+*f-0.316668X*f0.948536Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.919979X*f0.391967Y+*f-0.391967X*f0.919979Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.885456X*f0.464723Y+*f-0.464723X*f0.885456Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.84519X*f0.534466Y+*f-0.534466X*f0.84519Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.799443X*f0.600742Y+*f-0.600742X*f0.799443Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.748511X*f0.663123Y+*f-0.663123X*f0.748511Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.692724X*f0.721202Y+*f-0.721202X*f0.692724Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.632445X*f0.774605Y+*f-0.774605X*f0.632445Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.568065X*f0.822984Y+*f-0.822984X*f0.568065Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.428693X*f0.90345Y+*f-0.90345X*f0.428693Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.354605X*f0.935016Y+*f-0.935016X*f0.354605Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.278217X*f0.960518Y+*f-0.960518X*f0.278217Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.200026X*f0.979791Y+*f-0.979791X*f0.200026Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.120537X*f0.992709Y+*f-0.992709X*f0.120537Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.0402659X*f0.999189Y+*f-0.999189X*f0.0402659Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.0402659X*f0.999189Y+*f-0.999189X*f-0.0402659Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.120537X*f0.992709Y+*f-0.992709X*f-0.120537Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.200026X*f0.979791Y+*f-0.979791X*f-0.200026Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.278217X*f0.960518Y+*f-0.960518X*f-0.278217Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.354605X*f0.935016Y+*f-0.935016X*f-0.354605Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.428693X*f0.90345Y+*f-0.90345X*f-0.428693Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.568065X*f0.822984Y+*f-0.822984X*f-0.568065Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.632445X*f0.774605Y+*f-0.774605X*f-0.632445Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.692724X*f0.721202Y+*f-0.721202X*f-0.692724Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.748511X*f0.663123Y+*f-0.663123X*f-0.748511Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.799443X*f0.600742Y+*f-0.600742X*f-0.799443Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.84519X*f0.534466Y+*f-0.534466X*f-0.84519Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.885456X*f0.464723Y+*f-0.464723X*f-0.885456Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.919979X*f0.391967Y+*f-0.391967X*f-0.919979Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.948536X*f0.316668Y+*f-0.316668X*f-0.948536Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.970942X*f0.239316Y+*f-0.239316X*f-0.970942Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.98705X*f0.160411Y+*f-0.160411X*f-0.98705Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.996757X*f0.0804666Y+*f-0.0804666X*f-0.996757Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-1X*f5.66554e-16Y+*f-5.66554e-16X*f-1Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.996757X*f-0.0804666Y+*f0.0804666X*f-0.996757Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.98705X*f-0.160411Y+*f0.160411X*f-0.98705Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.970942X*f-0.239316Y+*f0.239316X*f-0.970942Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.948536X*f-0.316668Y+*f0.316668X*f-0.948536Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.919979X*f-0.391967Y+*f0.391967X*f-0.919979Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.885456X*f-0.464723Y+*f0.464723X*f-0.885456Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.84519X*f-0.534466Y+*f0.534466X*f-0.84519Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.799443X*f-0.600742Y+*f0.600742X*f-0.799443Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.748511X*f-0.663123Y+*f0.663123X*f-0.748511Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.692724X*f-0.721202Y+*f0.721202X*f-0.692724Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.632445X*f-0.774605Y+*f0.774605X*f-0.632445Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.568065X*f-0.822984Y+*f0.822984X*f-0.568065Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.5X*f-0.866025Y+*f0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.428693X*f-0.90345Y+*f0.90345X*f-0.428693Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.354605X*f-0.935016Y+*f0.935016X*f-0.354605Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.278217X*f-0.960518Y+*f0.960518X*f-0.278217Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.200026X*f-0.979791Y+*f0.979791X*f-0.200026Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.120537X*f-0.992709Y+*f0.992709X*f-0.120537Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.0402659X*f-0.999189Y+*f0.999189X*f-0.0402659Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.0402659X*f-0.999189Y+*f0.999189X*f0.0402659Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.120537X*f-0.992709Y+*f0.992709X*f0.120537Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.200026X*f-0.979791Y+*f0.979791X*f0.200026Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.278217X*f-0.960518Y+*f0.960518X*f0.278217Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.354605X*f-0.935016Y+*f0.935016X*f0.354605Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.428693X*f-0.90345Y+*f0.90345X*f0.428693Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.5X*f-0.866025Y+*f0.866025X*f0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.568065X*f-0.822984Y+*f0.822984X*f0.568065Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.632445X*f-0.774605Y+*f0.774605X*f0.632445Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.692724X*f-0.721202Y+*f0.721202X*f0.692724Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.748511X*f-0.663123Y+*f0.663123X*f0.748511Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.799443X*f-0.600742Y+*f0.600742X*f0.799443Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.84519X*f-0.534466Y+*f0.534466X*f0.84519Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.885456X*f-0.464723Y+*f0.464723X*f0.885456Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.919979X*f-0.391967Y+*f0.391967X*f0.919979Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.948536X*f-0.316668Y+*f0.316668X*f0.948536Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.970942X*f-0.239316Y+*f0.239316X*f0.970942Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.98705X*f-0.160411Y+*f0.160411X*f0.98705Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.996757X*f-0.0804666Y+*f0.0804666X*f0.996757Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125f0.5',float('0.648327'),float('-21.350000'),float('-inf'),float('21.351673'),float('-0.650000'),float('inf'))", "name": "out", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 526.10564715654914, 273.80565897890006 ], "name": "r6", "script": [ "import fab", "", "title('Recenter')", "", "input('x', float)", "input('y', float)", "input('z', float)", "", "input('shape', fab.types.Shape)", "output('out', fab.shapes.recenter(shape, x, y, z))", "", "# UI", "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)", "" ], "uid": 13 }, { "datums": [ { "expr": "9.625", "name": "r", "subdatum": [ -401, -470 ], "type": "float", "uid": 0 }, { "expr": "78", "name": "nTeeth", "subdatum": [ -400.46614198105999, -429.5338580189399 ], "type": "int", "uid": 1 }, { "expr": "var.wTeeth", "name": "wTeeth", "subdatum": [ -402, -386 ], "type": "float", "uid": 2 }, { "expr": "var.hTeeth", "name": "hTeeth", "subdatum": [ -402, -346 ], "type": "float", "uid": 3 }, { "expr": "var.wBeam", "name": "wBeam", "subdatum": [ -403, -307 ], "type": "float", "uid": 4 }, { "expr": "var.dAxle", "name": "dAxle", "subdatum": [ -402, -268 ], "type": "float", "uid": 5 }, { "expr": "var.kerf", "name": "kerf", "subdatum": [ -403, -229 ], "type": "float", "uid": 6 }, { "expr": "\u0013[__16.__3]", "name": "gear", "subdatum": [ 1302.2454580799513, 351.25348633723064 ], "type": "_fabtypes.Shape", "uid": 7 } ], "inspector": [ 521.36076466641225, 2.4342162358291048 ], "name": "gear78", "subgraph": [ { "datums": [ { "expr": "\u0011[__parent.__0]", "name": "rGear", "type": "float", "uid": 8 }, { "expr": "\u0011[__parent.__3]", "name": "hTeeth", "type": "float", "uid": 9 }, { "expr": "\u0011[__parent.__4]", "name": "wBeam", "type": "float", "uid": 2 }, { "expr": "\u0011[__parent.__5]", "name": "dAxle", "type": "float", "uid": 5 }, { "expr": "\u0011[__parent.__6]", "name": "kerf", "type": "float", "uid": 10 }, { "expr": "0", "name": "_a", "type": "float", "uid": 3 }, { "expr": "\u0012fab.types.Shape('-r+qXqYf9.15',float('-9.150000'),float('-9.150000'),float('-inf'),float('9.150000'),float('9.150000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 39, -447 ], "name": "outer", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 6/11/18", "", "import fab", "import math", "", "title('Circle (center)')", "", "input('rGear',float)", "input('hTeeth', float)", "input('wBeam', float)", "input('dAxle', float)", "input('kerf', float)", "input('_a',float)", "", "x0 = 0", "y0 = 0", "r = rGear - hTeeth/2 + kerf/2", "", "output('shape', fab.shapes.circle(x0, y0, r))", "", "def drag_r(this,x,y,z):", " dx = x - this.x0", " dy = y - this.y0", " this.r = math.sqrt(dx**2 + dy**2)", " this._a = math.atan2(dy, dx)", "", "# UI", "sb.ui.wireframe([", " (math.cos(i/36. * 2*math.pi) * r + x0,", " math.sin(i/36. * 2*math.pi) * r + y0, 0)", " for i in range(36)], close=True)", "sb.ui.point(x0,y0)", "sb.ui.point(x0 + r*math.cos(_a),", " y0 + r*math.sin(_a),", " drag=drag_r, relative=False)", "", "" ], "uid": 0 }, { "datums": [ { "expr": "\u0011[__parent.__0]", "name": "rGear", "type": "float", "uid": 6 }, { "expr": "\u0011[__parent.__4]", "name": "wBeam", "type": "float", "uid": 5 }, { "expr": "\u0011[__parent.__6]", "name": "kerf", "type": "float", "uid": 7 }, { "expr": "\u0012fab.types.Shape('aa-f-8.625X-Xf8.625a-f-0.625Y-Yf0.625',float('-8.625000'),float('-0.625000'),float('-inf'),float('8.625000'),float('0.625000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 35.466141981060218, -28.151172643955647 ], "name": "beam", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 6/11/15", "", "import fab", "", "title('Rectangle (center)')", "", "input('rGear',float)", "input('wBeam', float)", "input('kerf', float)", "", "x0 = 0", "y0 = 0", "height = wBeam + kerf", "width = rGear*2 - wBeam*2", "", "xmin, xmax = x0 - width/2, x0 + width/2", "ymin, ymax = y0 - height/2, y0 + height/2", "", "output('shape', fab.shapes.rectangle(xmin, xmax, ymin, ymax))", "", "def drag_hw(this, x, y, z):", " this.width = abs(2 * (x - this.x0))", " this.height = abs(2 * (y - this.y0))", "", "# UI", "sb.ui.wireframe(", " [(xmin, ymin, 0), (xmax, ymin, 0), (xmax, ymax, 0), (xmin, ymax, 0)],", " close=True)", "sb.ui.point(x0, y0)", "sb.ui.point(xmax, ymax, drag=drag_hw, relative=False)", "" ], "uid": 1 }, { "datums": [ { "expr": "\u0011[__0.__8]", "name": "rGear", "type": "float", "uid": 8 }, { "expr": "\u0011[__0.__9]", "name": "hTeeth", "type": "float", "uid": 9 }, { "expr": "\u0011[__0.__2]", "name": "wBeam", "type": "float", "uid": 2 }, { "expr": "\u0011[__0.__5]", "name": "dAxle", "type": "float", "uid": 5 }, { "expr": "\u0011[__0.__10]", "name": "kerf", "type": "float", "uid": 10 }, { "expr": "0", "name": "_a", "type": "float", "uid": 3 }, { "expr": "\u0012fab.types.Shape('-r+qXqYf8.5',float('-8.500000'),float('-8.500000'),float('-inf'),float('8.500000'),float('8.500000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 337, -447 ], "name": "rimOut", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 6/11/18", "", "import fab", "import math", "", "title('Circle (center)')", "", "input('rGear',float)", "input('hTeeth', float)", "input('wBeam', float)", "input('dAxle', float)", "input('kerf', float)", "input('_a',float)", "", "x0 = 0", "y0 = 0", "r = rGear - wBeam - kerf/2", "", "output('shape', fab.shapes.circle(x0, y0, r))", "", "def drag_r(this,x,y,z):", " dx = x - this.x0", " dy = y - this.y0", " this.r = math.sqrt(dx**2 + dy**2)", " this._a = math.atan2(dy, dx)", "", "# UI", "sb.ui.wireframe([", " (math.cos(i/36. * 2*math.pi) * r + x0,", " math.sin(i/36. * 2*math.pi) * r + y0, 0)", " for i in range(36)], close=True)", "sb.ui.point(x0,y0)", "sb.ui.point(x0 + r*math.cos(_a),", " y0 + r*math.sin(_a),", " drag=drag_r, relative=False)", "", "" ], "uid": 2 }, { "datums": [ { "expr": "\u0011[__2.__8]", "name": "rGear", "type": "float", "uid": 8 }, { "expr": "\u0011[__2.__9]", "name": "hTeeth", "type": "float", "uid": 9 }, { "expr": "\u0011[__2.__2]", "name": "wBeam", "type": "float", "uid": 2 }, { "expr": "\u0011[__2.__5]", "name": "dAxle", "type": "float", "uid": 5 }, { "expr": "\u0011[__2.__10]", "name": "kerf", "type": "float", "uid": 10 }, { "expr": "0", "name": "_a", "type": "float", "uid": 3 }, { "expr": "\u0012fab.types.Shape('-r+qXqYf1.75',float('-1.750000'),float('-1.750000'),float('-inf'),float('1.750000'),float('1.750000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 639, -447 ], "name": "rimIn", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 6/11/18", "", "import fab", "import math", "", "title('Circle (center)')", "", "input('rGear',float)", "input('hTeeth', float)", "input('wBeam', float)", "input('dAxle', float)", "input('kerf', float)", "input('_a',float)", "", "x0 = 0", "y0 = 0", "r = dAxle/2 + wBeam + kerf/2", "", "output('shape', fab.shapes.circle(x0, y0, r))", "", "def drag_r(this,x,y,z):", " dx = x - this.x0", " dy = y - this.y0", " this.r = math.sqrt(dx**2 + dy**2)", " this._a = math.atan2(dy, dx)", "", "# UI", "sb.ui.wireframe([", " (math.cos(i/36. * 2*math.pi) * r + x0,", " math.sin(i/36. * 2*math.pi) * r + y0, 0)", " for i in range(36)], close=True)", "sb.ui.point(x0,y0)", "sb.ui.point(x0 + r*math.cos(_a),", " y0 + r*math.sin(_a),", " drag=drag_r, relative=False)", "", "" ], "uid": 3 }, { "datums": [ { "expr": "\u0011[__3.__8]", "name": "rGear", "type": "float", "uid": 8 }, { "expr": "\u0011[__3.__9]", "name": "hTeeth", "type": "float", "uid": 9 }, { "expr": "\u0011[__3.__2]", "name": "wBeam", "type": "float", "uid": 2 }, { "expr": "\u0011[__3.__5]", "name": "dAxle", "type": "float", "uid": 5 }, { "expr": "\u0011[__3.__10]", "name": "kerf", "type": "float", "uid": 10 }, { "expr": "0", "name": "_a", "type": "float", "uid": 3 }, { "expr": "\u0012fab.types.Shape('-r+qXqYf0.5',float('-0.500000'),float('-0.500000'),float('-inf'),float('0.500000'),float('0.500000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 950, -446 ], "name": "SupportIn0", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 6/11/18", "", "import fab", "import math", "", "title('Circle (center)')", "", "input('rGear',float)", "input('hTeeth', float)", "input('wBeam', float)", "input('dAxle', float)", "input('kerf', float)", "input('_a',float)", "", "x0 = 0", "y0 = 0", "r = dAxle/2 - kerf/2", "", "output('shape', fab.shapes.circle(x0, y0, r))", "", "def drag_r(this,x,y,z):", " dx = x - this.x0", " dy = y - this.y0", " this.r = math.sqrt(dx**2 + dy**2)", " this._a = math.atan2(dy, dx)", "", "# UI", "sb.ui.wireframe([", " (math.cos(i/36. * 2*math.pi) * r + x0,", " math.sin(i/36. * 2*math.pi) * r + y0, 0)", " for i in range(36)], close=True)", "sb.ui.point(x0,y0)", "sb.ui.point(x0 + r*math.cos(_a),", " y0 + r*math.sin(_a),", " drag=drag_r, relative=False)", "", "" ], "uid": 4 }, { "datums": [ { "expr": "0.0", "name": "_z", "type": "float", "uid": 2 }, { "expr": "0", "name": "a", "type": "float", "uid": 3 }, { "expr": "\u0011[__1.__4]", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-8.625X-Xf8.625a-f-0.625Y-Yf0.625',float('-8.625000'),float('-0.625000'),float('-inf'),float('8.625000'),float('0.625000'),float('inf'))", "name": "rotated", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 338.46614198106022, -26.151172643955647 ], "name": "r1", "script": [ "import fab", "import math", "", "title('Rotate (Z)')", "", "input('_z', float)", "input('a', float)", "", "x = 0", "y = 0", "", "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": 5 }, { "datums": [ { "expr": "0.0", "name": "_z", "type": "float", "uid": 2 }, { "expr": "60", "name": "a", "type": "float", "uid": 3 }, { "expr": "\u0011[__1.__4]", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-8.625X-Xf8.625a-f-0.625Y-Yf0.625',float('-4.853765'),float('-7.781965'),float('-inf'),float('4.853765'),float('7.781965'),float('inf'))", "name": "rotated", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 339.93228396212032, 104.69765471208871 ], "name": "r2", "script": [ "import fab", "import math", "", "title('Rotate (Z)')", "", "input('_z', float)", "input('a', float)", "", "x = 0", "y = 0", "", "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": 6 }, { "datums": [ { "expr": "0.0", "name": "_z", "type": "float", "uid": 2 }, { "expr": "120", "name": "a", "type": "float", "uid": 3 }, { "expr": "\u0011[__1.__4]", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-8.625X-Xf8.625a-f-0.625Y-Yf0.625',float('-4.853765'),float('-7.781965'),float('-inf'),float('4.853765'),float('7.781965'),float('inf'))", "name": "rotated", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 343.53385801893995, 235.01262404919316 ], "name": "r3", "script": [ "import fab", "import math", "", "title('Rotate (Z)')", "", "input('_z', float)", "input('a', float)", "", "x = 0", "y = 0", "", "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": 7 }, { "datums": [ { "expr": "\u0011[__0.__4]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__2.__4]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('a-r+qXqYf9.15n-r+qXqYf8.5',float('-9.150000'),float('-9.150000'),float('-inf'),float('9.150000'),float('9.150000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 234.46614198106022, -239.15117264395565 ], "name": "d0", "script": [ "import fab.types", "", "title('Difference')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a & ~b)", "" ], "uid": 8 }, { "datums": [ { "expr": "\u0011[__5.__5]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__10.__2]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('im-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-8.625X-Xf8.625a-f-0.625Y-Yf0.625im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-8.625X-Xf8.625a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-8.625X-Xf8.625a-f-0.625Y-Yf0.625',float('-8.625000'),float('-7.781965'),float('-inf'),float('8.625000'),float('7.781965'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 648.5338580189399, 74.103950939367181 ], "name": "u0", "script": [ "import fab.types", "", "title('Union')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a | b)", "" ], "uid": 9 }, { "datums": [ { "expr": "\u0011[__6.__5]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__7.__5]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-8.625X-Xf8.625a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-8.625X-Xf8.625a-f-0.625Y-Yf0.625',float('-4.853765'),float('-7.781965'),float('-inf'),float('4.853765'),float('7.781965'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 651.93228396212021, 206.95277829541152 ], "name": "u1", "script": [ "import fab.types", "", "title('Union')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a | b)", "" ], "uid": 10 }, { "datums": [ { "expr": "\u0011[__12.__3]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__4.__4]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('aii-r+qXqYf1.75iia-r+qXqYf9.15n-r+qXqYf8.5im-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-8.625X-Xf8.625a-f-0.625Y-Yf0.625im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-8.625X-Xf8.625a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-8.625X-Xf8.625a-f-0.625Y-Yf0.625-+rba-r+qXqYf9.15n-r+qXqYf8.5rbim-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-8.625X-Xf8.625a-f-0.625Y-Yf0.625im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-8.625X-Xf8.625a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-8.625X-Xf8.625a-f-0.625Y-Yf0.625f1-+rb-r+qXqYf1.75rbiia-r+qXqYf9.15n-r+qXqYf8.5im-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-8.625X-Xf8.625a-f-0.625Y-Yf0.625im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-8.625X-Xf8.625a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-8.625X-Xf8.625a-f-0.625Y-Yf0.625-+rba-r+qXqYf9.15n-r+qXqYf8.5rbim-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-8.625X-Xf8.625a-f-0.625Y-Yf0.625im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-8.625X-Xf8.625a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-8.625X-Xf8.625a-f-0.625Y-Yf0.625f1f1n-r+qXqYf0.5',float('-9.150000'),float('-9.150000'),float('-inf'),float('9.150000'),float('9.150000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 1125.46614198106, -234.15117264395565 ], "name": "d1", "script": [ "import fab.types", "", "title('Difference')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a & ~b)", "" ], "uid": 13 }, { "datums": [ { "expr": "\u0011[__8.__2]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__9.__2]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "1", "name": "q", "type": "float", "uid": 2 }, { "expr": "\u0012fab.types.Shape('iia-r+qXqYf9.15n-r+qXqYf8.5im-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-8.625X-Xf8.625a-f-0.625Y-Yf0.625im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-8.625X-Xf8.625a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-8.625X-Xf8.625a-f-0.625Y-Yf0.625-+rba-r+qXqYf9.15n-r+qXqYf8.5rbim-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-8.625X-Xf8.625a-f-0.625Y-Yf0.625im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-8.625X-Xf8.625a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-8.625X-Xf8.625a-f-0.625Y-Yf0.625f1',float('-9.150000'),float('-9.150000'),float('-inf'),float('9.150000'),float('9.150000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 3 } ], "inspector": [ 653.46614198106022, -86.151172643955647 ], "name": "b0", "script": [ "import fab.types", "import fab.shapes", "", "title('Blend')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "input('q', float)", "", "output('shape', fab.shapes.blend(a, b, q))", "" ], "uid": 11 }, { "datums": [ { "expr": "\u0011[__3.__4]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__11.__3]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "1", "name": "q", "type": "float", "uid": 2 }, { "expr": "\u0012fab.types.Shape('ii-r+qXqYf1.75iia-r+qXqYf9.15n-r+qXqYf8.5im-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-8.625X-Xf8.625a-f-0.625Y-Yf0.625im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-8.625X-Xf8.625a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-8.625X-Xf8.625a-f-0.625Y-Yf0.625-+rba-r+qXqYf9.15n-r+qXqYf8.5rbim-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-8.625X-Xf8.625a-f-0.625Y-Yf0.625im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-8.625X-Xf8.625a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-8.625X-Xf8.625a-f-0.625Y-Yf0.625f1-+rb-r+qXqYf1.75rbiia-r+qXqYf9.15n-r+qXqYf8.5im-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-8.625X-Xf8.625a-f-0.625Y-Yf0.625im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-8.625X-Xf8.625a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-8.625X-Xf8.625a-f-0.625Y-Yf0.625-+rba-r+qXqYf9.15n-r+qXqYf8.5rbim-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-8.625X-Xf8.625a-f-0.625Y-Yf0.625im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-8.625X-Xf8.625a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-8.625X-Xf8.625a-f-0.625Y-Yf0.625f1f1',float('-9.150000'),float('-9.150000'),float('-inf'),float('9.150000'),float('9.150000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 3 } ], "inspector": [ 777.46614198106022, -235.15117264395565 ], "name": "b1", "script": [ "import fab.types", "import fab.shapes", "", "title('Blend')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "input('q', float)", "", "output('shape', fab.shapes.blend(a, b, q))", "" ], "uid": 12 }, { "datums": [ { "expr": "\u0011[__parent.__0]", "name": "rGear", "type": "float", "uid": 9 }, { "expr": "\u0011[__parent.__2]", "name": "wTeeth", "type": "float", "uid": 15 }, { "expr": "\u0011[__parent.__3]", "name": "hTeeth", "type": "float", "uid": 17 }, { "expr": "\u0011[__parent.__6]", "name": "kerf", "type": "float", "uid": 18 }, { "expr": "0.5", "name": "r", "type": "float", "uid": 4 }, { "expr": "\u0012fab.types.Shape('iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125',float('-0.250000'),float('8.900000'),float('-inf'),float('0.250000'),float('10.350000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 37.669290094699363, 356.71175803419271 ], "name": "teeth", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 6/11/15", "", "import fab", "", "title('Rounded rectangle (center)')", "", "input('rGear', float)", "input('wTeeth', float)", "input('hTeeth', float)", "input('kerf', float)", "input('r', float)", "", "x = 0", "y = rGear", "width = wTeeth + kerf", "height = hTeeth + kerf", "", "xmin, xmax = x - width/2, x + width/2", "ymin, ymax = y - height/2, y + height/2", "", "# This is the circle's radius in actual units (not a 0-1 fraction)", "r_ = r * min(width, height)/2", "", "output('shape', fab.shapes.rounded_rectangle(xmin, xmax, ymin, ymax, r))", "", "def drag_r(this, x, y, z):", " if abs(this.width) < abs(this.height):", " d = abs(this.width)", " mid = this.y + this.height/2 - d/2", " else:", " d = abs(this.width)", " mid = this.y", " r = 1 - (y - mid) / (d/2)", " this.r = float(min(1, max(0, r)))", "", "def drag_hw(this, x, y, z):", " this.height = abs(2 * (y - this.y))", " this.width = abs(2 * (x - this.x))", "", "# UI", "sb.ui.wireframe(", " [(xmin, ymin, 0), (xmax, ymin, 0), (xmax, ymax, 0), (xmin, ymax, 0)],", " close=True)", "sb.ui.wireframe([(xmax - r_, ymax, 0), (xmax, ymax - r_, 0)])", "sb.ui.point(x, y)", "sb.ui.point(xmax, ymax, drag=drag_hw, relative=False)", "sb.ui.point(xmax, ymax - r_, drag=drag_r, relative=False)", "", "" ], "uid": 14 }, { "datums": [ { "expr": "\u0011[__14.__5]", "name": "shape", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__parent.__1]", "name": "n", "type": "int", "uid": 3 }, { "expr": "\u0012fab.types.Shape('iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiim-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.996757X*f0.0804666Y+*f-0.0804666X*f0.996757Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.98705X*f0.160411Y+*f-0.160411X*f0.98705Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.970942X*f0.239316Y+*f-0.239316X*f0.970942Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.948536X*f0.316668Y+*f-0.316668X*f0.948536Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.919979X*f0.391967Y+*f-0.391967X*f0.919979Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.885456X*f0.464723Y+*f-0.464723X*f0.885456Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.84519X*f0.534466Y+*f-0.534466X*f0.84519Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.799443X*f0.600742Y+*f-0.600742X*f0.799443Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.748511X*f0.663123Y+*f-0.663123X*f0.748511Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.692724X*f0.721202Y+*f-0.721202X*f0.692724Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.632445X*f0.774605Y+*f-0.774605X*f0.632445Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.568065X*f0.822984Y+*f-0.822984X*f0.568065Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.428693X*f0.90345Y+*f-0.90345X*f0.428693Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.354605X*f0.935016Y+*f-0.935016X*f0.354605Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.278217X*f0.960518Y+*f-0.960518X*f0.278217Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.200026X*f0.979791Y+*f-0.979791X*f0.200026Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.120537X*f0.992709Y+*f-0.992709X*f0.120537Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.0402659X*f0.999189Y+*f-0.999189X*f0.0402659Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.0402659X*f0.999189Y+*f-0.999189X*f-0.0402659Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.120537X*f0.992709Y+*f-0.992709X*f-0.120537Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.200026X*f0.979791Y+*f-0.979791X*f-0.200026Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.278217X*f0.960518Y+*f-0.960518X*f-0.278217Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.354605X*f0.935016Y+*f-0.935016X*f-0.354605Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.428693X*f0.90345Y+*f-0.90345X*f-0.428693Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.568065X*f0.822984Y+*f-0.822984X*f-0.568065Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.632445X*f0.774605Y+*f-0.774605X*f-0.632445Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.692724X*f0.721202Y+*f-0.721202X*f-0.692724Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.748511X*f0.663123Y+*f-0.663123X*f-0.748511Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.799443X*f0.600742Y+*f-0.600742X*f-0.799443Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.84519X*f0.534466Y+*f-0.534466X*f-0.84519Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.885456X*f0.464723Y+*f-0.464723X*f-0.885456Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.919979X*f0.391967Y+*f-0.391967X*f-0.919979Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.948536X*f0.316668Y+*f-0.316668X*f-0.948536Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.970942X*f0.239316Y+*f-0.239316X*f-0.970942Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.98705X*f0.160411Y+*f-0.160411X*f-0.98705Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.996757X*f0.0804666Y+*f-0.0804666X*f-0.996757Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-1X*f5.66554e-16Y+*f-5.66554e-16X*f-1Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.996757X*f-0.0804666Y+*f0.0804666X*f-0.996757Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.98705X*f-0.160411Y+*f0.160411X*f-0.98705Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.970942X*f-0.239316Y+*f0.239316X*f-0.970942Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.948536X*f-0.316668Y+*f0.316668X*f-0.948536Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.919979X*f-0.391967Y+*f0.391967X*f-0.919979Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.885456X*f-0.464723Y+*f0.464723X*f-0.885456Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.84519X*f-0.534466Y+*f0.534466X*f-0.84519Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.799443X*f-0.600742Y+*f0.600742X*f-0.799443Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.748511X*f-0.663123Y+*f0.663123X*f-0.748511Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.692724X*f-0.721202Y+*f0.721202X*f-0.692724Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.632445X*f-0.774605Y+*f0.774605X*f-0.632445Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.568065X*f-0.822984Y+*f0.822984X*f-0.568065Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.5X*f-0.866025Y+*f0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.428693X*f-0.90345Y+*f0.90345X*f-0.428693Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.354605X*f-0.935016Y+*f0.935016X*f-0.354605Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.278217X*f-0.960518Y+*f0.960518X*f-0.278217Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.200026X*f-0.979791Y+*f0.979791X*f-0.200026Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.120537X*f-0.992709Y+*f0.992709X*f-0.120537Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.0402659X*f-0.999189Y+*f0.999189X*f-0.0402659Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.0402659X*f-0.999189Y+*f0.999189X*f0.0402659Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.120537X*f-0.992709Y+*f0.992709X*f0.120537Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.200026X*f-0.979791Y+*f0.979791X*f0.200026Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.278217X*f-0.960518Y+*f0.960518X*f0.278217Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.354605X*f-0.935016Y+*f0.935016X*f0.354605Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.428693X*f-0.90345Y+*f0.90345X*f0.428693Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.5X*f-0.866025Y+*f0.866025X*f0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.568065X*f-0.822984Y+*f0.822984X*f0.568065Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.632445X*f-0.774605Y+*f0.774605X*f0.632445Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.692724X*f-0.721202Y+*f0.721202X*f0.692724Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.748511X*f-0.663123Y+*f0.663123X*f0.748511Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.799443X*f-0.600742Y+*f0.600742X*f0.799443Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.84519X*f-0.534466Y+*f0.534466X*f0.84519Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.885456X*f-0.464723Y+*f0.464723X*f0.885456Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.919979X*f-0.391967Y+*f0.391967X*f0.919979Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.948536X*f-0.316668Y+*f0.316668X*f0.948536Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.970942X*f-0.239316Y+*f0.239316X*f0.970942Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.98705X*f-0.160411Y+*f0.160411X*f0.98705Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.996757X*f-0.0804666Y+*f0.0804666X*f0.996757Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125',float('-10.351673'),float('-10.350000'),float('-inf'),float('10.351673'),float('10.350000'),float('inf'))", "name": "array", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 356.71175803419271, 365.91490614783186 ], "name": "a0", "script": [ "import fab", "import math", "", "title('Array (polar)')", "", "input('shape', fab.types.Shape)", "input('n', int)", "", "x = 0", "y = 0", "", "output('array', fab.shapes.iterate_polar(shape, x, y, n))", "", "# UI", "sb.ui.wireframe([", " (math.cos(i/36. * 2*math.pi) * 0.3 + x,", " math.sin(i/36. * 2*math.pi) * 0.3 + y, 0)", " for i in range(36)], close=True, color=sb.color.teal)", "", "sb.ui.point(x, y, 0, color=sb.color.teal)", "" ], "uid": 15 }, { "datums": [ { "expr": "\u0011[__13.__2]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__15.__4]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "0.5", "name": "q", "type": "float", "uid": 2 }, { "expr": "\u0012fab.types.Shape('iiaii-r+qXqYf1.75iia-r+qXqYf9.15n-r+qXqYf8.5im-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-8.625X-Xf8.625a-f-0.625Y-Yf0.625im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-8.625X-Xf8.625a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-8.625X-Xf8.625a-f-0.625Y-Yf0.625-+rba-r+qXqYf9.15n-r+qXqYf8.5rbim-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-8.625X-Xf8.625a-f-0.625Y-Yf0.625im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-8.625X-Xf8.625a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-8.625X-Xf8.625a-f-0.625Y-Yf0.625f1-+rb-r+qXqYf1.75rbiia-r+qXqYf9.15n-r+qXqYf8.5im-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-8.625X-Xf8.625a-f-0.625Y-Yf0.625im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-8.625X-Xf8.625a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-8.625X-Xf8.625a-f-0.625Y-Yf0.625-+rba-r+qXqYf9.15n-r+qXqYf8.5rbim-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-8.625X-Xf8.625a-f-0.625Y-Yf0.625im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-8.625X-Xf8.625a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-8.625X-Xf8.625a-f-0.625Y-Yf0.625f1f1n-r+qXqYf0.5iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiim-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.996757X*f0.0804666Y+*f-0.0804666X*f0.996757Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.98705X*f0.160411Y+*f-0.160411X*f0.98705Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.970942X*f0.239316Y+*f-0.239316X*f0.970942Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.948536X*f0.316668Y+*f-0.316668X*f0.948536Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.919979X*f0.391967Y+*f-0.391967X*f0.919979Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.885456X*f0.464723Y+*f-0.464723X*f0.885456Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.84519X*f0.534466Y+*f-0.534466X*f0.84519Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.799443X*f0.600742Y+*f-0.600742X*f0.799443Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.748511X*f0.663123Y+*f-0.663123X*f0.748511Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.692724X*f0.721202Y+*f-0.721202X*f0.692724Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.632445X*f0.774605Y+*f-0.774605X*f0.632445Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.568065X*f0.822984Y+*f-0.822984X*f0.568065Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.428693X*f0.90345Y+*f-0.90345X*f0.428693Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.354605X*f0.935016Y+*f-0.935016X*f0.354605Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.278217X*f0.960518Y+*f-0.960518X*f0.278217Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.200026X*f0.979791Y+*f-0.979791X*f0.200026Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.120537X*f0.992709Y+*f-0.992709X*f0.120537Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.0402659X*f0.999189Y+*f-0.999189X*f0.0402659Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.0402659X*f0.999189Y+*f-0.999189X*f-0.0402659Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.120537X*f0.992709Y+*f-0.992709X*f-0.120537Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.200026X*f0.979791Y+*f-0.979791X*f-0.200026Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.278217X*f0.960518Y+*f-0.960518X*f-0.278217Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.354605X*f0.935016Y+*f-0.935016X*f-0.354605Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.428693X*f0.90345Y+*f-0.90345X*f-0.428693Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.568065X*f0.822984Y+*f-0.822984X*f-0.568065Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.632445X*f0.774605Y+*f-0.774605X*f-0.632445Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.692724X*f0.721202Y+*f-0.721202X*f-0.692724Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.748511X*f0.663123Y+*f-0.663123X*f-0.748511Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.799443X*f0.600742Y+*f-0.600742X*f-0.799443Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.84519X*f0.534466Y+*f-0.534466X*f-0.84519Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.885456X*f0.464723Y+*f-0.464723X*f-0.885456Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.919979X*f0.391967Y+*f-0.391967X*f-0.919979Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.948536X*f0.316668Y+*f-0.316668X*f-0.948536Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.970942X*f0.239316Y+*f-0.239316X*f-0.970942Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.98705X*f0.160411Y+*f-0.160411X*f-0.98705Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.996757X*f0.0804666Y+*f-0.0804666X*f-0.996757Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-1X*f5.66554e-16Y+*f-5.66554e-16X*f-1Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.996757X*f-0.0804666Y+*f0.0804666X*f-0.996757Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.98705X*f-0.160411Y+*f0.160411X*f-0.98705Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.970942X*f-0.239316Y+*f0.239316X*f-0.970942Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.948536X*f-0.316668Y+*f0.316668X*f-0.948536Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.919979X*f-0.391967Y+*f0.391967X*f-0.919979Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.885456X*f-0.464723Y+*f0.464723X*f-0.885456Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.84519X*f-0.534466Y+*f0.534466X*f-0.84519Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.799443X*f-0.600742Y+*f0.600742X*f-0.799443Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.748511X*f-0.663123Y+*f0.663123X*f-0.748511Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.692724X*f-0.721202Y+*f0.721202X*f-0.692724Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.632445X*f-0.774605Y+*f0.774605X*f-0.632445Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.568065X*f-0.822984Y+*f0.822984X*f-0.568065Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.5X*f-0.866025Y+*f0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.428693X*f-0.90345Y+*f0.90345X*f-0.428693Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.354605X*f-0.935016Y+*f0.935016X*f-0.354605Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.278217X*f-0.960518Y+*f0.960518X*f-0.278217Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.200026X*f-0.979791Y+*f0.979791X*f-0.200026Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.120537X*f-0.992709Y+*f0.992709X*f-0.120537Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.0402659X*f-0.999189Y+*f0.999189X*f-0.0402659Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.0402659X*f-0.999189Y+*f0.999189X*f0.0402659Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.120537X*f-0.992709Y+*f0.992709X*f0.120537Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.200026X*f-0.979791Y+*f0.979791X*f0.200026Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.278217X*f-0.960518Y+*f0.960518X*f0.278217Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.354605X*f-0.935016Y+*f0.935016X*f0.354605Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.428693X*f-0.90345Y+*f0.90345X*f0.428693Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.5X*f-0.866025Y+*f0.866025X*f0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.568065X*f-0.822984Y+*f0.822984X*f0.568065Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.632445X*f-0.774605Y+*f0.774605X*f0.632445Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.692724X*f-0.721202Y+*f0.721202X*f0.692724Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.748511X*f-0.663123Y+*f0.663123X*f0.748511Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.799443X*f-0.600742Y+*f0.600742X*f0.799443Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.84519X*f-0.534466Y+*f0.534466X*f0.84519Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.885456X*f-0.464723Y+*f0.464723X*f0.885456Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.919979X*f-0.391967Y+*f0.391967X*f0.919979Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.948536X*f-0.316668Y+*f0.316668X*f0.948536Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.970942X*f-0.239316Y+*f0.239316X*f0.970942Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.98705X*f-0.160411Y+*f0.160411X*f0.98705Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.996757X*f-0.0804666Y+*f0.0804666X*f0.996757Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125-+rbaii-r+qXqYf1.75iia-r+qXqYf9.15n-r+qXqYf8.5im-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-8.625X-Xf8.625a-f-0.625Y-Yf0.625im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-8.625X-Xf8.625a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-8.625X-Xf8.625a-f-0.625Y-Yf0.625-+rba-r+qXqYf9.15n-r+qXqYf8.5rbim-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-8.625X-Xf8.625a-f-0.625Y-Yf0.625im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-8.625X-Xf8.625a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-8.625X-Xf8.625a-f-0.625Y-Yf0.625f1-+rb-r+qXqYf1.75rbiia-r+qXqYf9.15n-r+qXqYf8.5im-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-8.625X-Xf8.625a-f-0.625Y-Yf0.625im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-8.625X-Xf8.625a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-8.625X-Xf8.625a-f-0.625Y-Yf0.625-+rba-r+qXqYf9.15n-r+qXqYf8.5rbim-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0aa-f-8.625X-Xf8.625a-f-0.625Y-Yf0.625im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-8.625X-Xf8.625a-f-0.625Y-Yf0.625m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0aa-f-8.625X-Xf8.625a-f-0.625Y-Yf0.625f1f1n-r+qXqYf0.5rbiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiim-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.996757X*f0.0804666Y+*f-0.0804666X*f0.996757Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.98705X*f0.160411Y+*f-0.160411X*f0.98705Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.970942X*f0.239316Y+*f-0.239316X*f0.970942Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.948536X*f0.316668Y+*f-0.316668X*f0.948536Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.919979X*f0.391967Y+*f-0.391967X*f0.919979Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.885456X*f0.464723Y+*f-0.464723X*f0.885456Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.84519X*f0.534466Y+*f-0.534466X*f0.84519Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.799443X*f0.600742Y+*f-0.600742X*f0.799443Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.748511X*f0.663123Y+*f-0.663123X*f0.748511Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.692724X*f0.721202Y+*f-0.721202X*f0.692724Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.632445X*f0.774605Y+*f-0.774605X*f0.632445Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.568065X*f0.822984Y+*f-0.822984X*f0.568065Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.428693X*f0.90345Y+*f-0.90345X*f0.428693Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.354605X*f0.935016Y+*f-0.935016X*f0.354605Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.278217X*f0.960518Y+*f-0.960518X*f0.278217Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.200026X*f0.979791Y+*f-0.979791X*f0.200026Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.120537X*f0.992709Y+*f-0.992709X*f0.120537Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.0402659X*f0.999189Y+*f-0.999189X*f0.0402659Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.0402659X*f0.999189Y+*f-0.999189X*f-0.0402659Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.120537X*f0.992709Y+*f-0.992709X*f-0.120537Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.200026X*f0.979791Y+*f-0.979791X*f-0.200026Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.278217X*f0.960518Y+*f-0.960518X*f-0.278217Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.354605X*f0.935016Y+*f-0.935016X*f-0.354605Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.428693X*f0.90345Y+*f-0.90345X*f-0.428693Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.568065X*f0.822984Y+*f-0.822984X*f-0.568065Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.632445X*f0.774605Y+*f-0.774605X*f-0.632445Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.692724X*f0.721202Y+*f-0.721202X*f-0.692724Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.748511X*f0.663123Y+*f-0.663123X*f-0.748511Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.799443X*f0.600742Y+*f-0.600742X*f-0.799443Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.84519X*f0.534466Y+*f-0.534466X*f-0.84519Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.885456X*f0.464723Y+*f-0.464723X*f-0.885456Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.919979X*f0.391967Y+*f-0.391967X*f-0.919979Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.948536X*f0.316668Y+*f-0.316668X*f-0.948536Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.970942X*f0.239316Y+*f-0.239316X*f-0.970942Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.98705X*f0.160411Y+*f-0.160411X*f-0.98705Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.996757X*f0.0804666Y+*f-0.0804666X*f-0.996757Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-1X*f5.66554e-16Y+*f-5.66554e-16X*f-1Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.996757X*f-0.0804666Y+*f0.0804666X*f-0.996757Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.98705X*f-0.160411Y+*f0.160411X*f-0.98705Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.970942X*f-0.239316Y+*f0.239316X*f-0.970942Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.948536X*f-0.316668Y+*f0.316668X*f-0.948536Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.919979X*f-0.391967Y+*f0.391967X*f-0.919979Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.885456X*f-0.464723Y+*f0.464723X*f-0.885456Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.84519X*f-0.534466Y+*f0.534466X*f-0.84519Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.799443X*f-0.600742Y+*f0.600742X*f-0.799443Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.748511X*f-0.663123Y+*f0.663123X*f-0.748511Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.692724X*f-0.721202Y+*f0.721202X*f-0.692724Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.632445X*f-0.774605Y+*f0.774605X*f-0.632445Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.568065X*f-0.822984Y+*f0.822984X*f-0.568065Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.5X*f-0.866025Y+*f0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.428693X*f-0.90345Y+*f0.90345X*f-0.428693Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.354605X*f-0.935016Y+*f0.935016X*f-0.354605Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.278217X*f-0.960518Y+*f0.960518X*f-0.278217Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.200026X*f-0.979791Y+*f0.979791X*f-0.200026Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.120537X*f-0.992709Y+*f0.992709X*f-0.120537Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f-0.0402659X*f-0.999189Y+*f0.999189X*f-0.0402659Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.0402659X*f-0.999189Y+*f0.999189X*f0.0402659Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.120537X*f-0.992709Y+*f0.992709X*f0.120537Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.200026X*f-0.979791Y+*f0.979791X*f0.200026Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.278217X*f-0.960518Y+*f0.960518X*f0.278217Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.354605X*f-0.935016Y+*f0.935016X*f0.354605Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.428693X*f-0.90345Y+*f0.90345X*f0.428693Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.5X*f-0.866025Y+*f0.866025X*f0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.568065X*f-0.822984Y+*f0.822984X*f0.568065Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.632445X*f-0.774605Y+*f0.774605X*f0.632445Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.692724X*f-0.721202Y+*f0.721202X*f0.692724Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.748511X*f-0.663123Y+*f0.663123X*f0.748511Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.799443X*f-0.600742Y+*f0.600742X*f0.799443Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.84519X*f-0.534466Y+*f0.534466X*f0.84519Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.885456X*f-0.464723Y+*f0.464723X*f0.885456Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.919979X*f-0.391967Y+*f0.391967X*f0.919979Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.948536X*f-0.316668Y+*f0.316668X*f0.948536Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.970942X*f-0.239316Y+*f0.239316X*f0.970942Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.98705X*f-0.160411Y+*f0.160411X*f0.98705Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125m-Xf0-Yf0-Zf0m+*f0.996757X*f-0.0804666Y+*f0.0804666X*f0.996757Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f9.025Y-Yf10.225aa-f-0.125X-Xf0.125a-f8.9Y-Yf10.35-r+q-Xf-0.125q-Yf9.025f0.125-r+q-Xf-0.125q-Yf10.225f0.125-r+q-Xf0.125q-Yf9.025f0.125-r+q-Xf0.125q-Yf10.225f0.125f0.5',float('-10.351673'),float('-10.350000'),float('-inf'),float('10.351673'),float('10.350000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 3 } ], "inspector": [ 1025.4738542919767, 270.81570897355988 ], "name": "b2", "script": [ "import fab.types", "import fab.shapes", "", "title('Blend')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "input('q', float)", "", "output('shape', fab.shapes.blend(a, b, q))", "" ], "uid": 16 } ], "uid": 14 }, { "datums": [ { "expr": "14.5", "name": "r", "subdatum": [ -401, -470 ], "type": "float", "uid": 0 }, { "expr": "6", "name": "nTeeth", "subdatum": [ -400.98184955957339, -432.91845704661915 ], "type": "int", "uid": 1 }, { "expr": "var.wTeeth*2", "name": "wTeeth", "subdatum": [ -400.98184955957356, -395.0676629878983 ], "type": "float", "uid": 2 }, { "expr": "var.hTeeth*1.5", "name": "hTeeth", "subdatum": [ -400.9818495595735, -359.5825435578476 ], "type": "float", "uid": 3 }, { "expr": "var.wBeam*1.8", "name": "wBeam", "subdatum": [ -402.16468687390852, -322.91458681346182 ], "type": "float", "uid": 4 }, { "expr": "var.dAxle", "name": "dAxle", "subdatum": [ -400.9818495595735, -285.06379275474103 ], "type": "float", "uid": 5 }, { "expr": "var.kerf", "name": "kerf", "subdatum": [ -400.9818495595735, -248.39583601035525 ], "type": "float", "uid": 6 }, { "expr": "\u0013[__7.__2]", "name": "escapement", "subdatum": [ 1370.9781187806273, 36.710657888252811 ], "type": "_fabtypes.Shape", "uid": 7 } ], "inspector": [ 231.16118701740839, 460.44487923333526 ], "name": "escapementTop", "subgraph": [ { "datums": [ { "expr": "\u0011[__parent.__0]", "name": "rGear", "type": "float", "uid": 8 }, { "expr": "\u0011[__parent.__3]", "name": "hTeeth", "type": "float", "uid": 9 }, { "expr": "\u0011[__parent.__4]", "name": "wBeam", "type": "float", "uid": 2 }, { "expr": "\u0011[__parent.__5]", "name": "dAxle", "type": "float", "uid": 5 }, { "expr": "\u0011[__parent.__6]", "name": "kerf", "type": "float", "uid": 10 }, { "expr": "0", "name": "_a", "type": "float", "uid": 3 }, { "expr": "\u0012fab.types.Shape('-r+qXqYf14.625',float('-14.625000'),float('-14.625000'),float('-inf'),float('14.625000'),float('14.625000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 30.615686849191661, -457 ], "name": "outer", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 6/11/18", "", "import fab", "import math", "", "title('Circle (center)')", "", "input('rGear',float)", "input('hTeeth', float)", "input('wBeam', float)", "input('dAxle', float)", "input('kerf', float)", "input('_a',float)", "", "x0 = 0", "y0 = 0", "r = rGear + kerf/2", "", "output('shape', fab.shapes.circle(x0, y0, r))", "", "def drag_r(this,x,y,z):", " dx = x - this.x0", " dy = y - this.y0", " this.r = math.sqrt(dx**2 + dy**2)", " this._a = math.atan2(dy, dx)", "", "# UI", "sb.ui.wireframe([", " (math.cos(i/36. * 2*math.pi) * r + x0,", " math.sin(i/36. * 2*math.pi) * r + y0, 0)", " for i in range(36)], close=True)", "sb.ui.point(x0,y0)", "sb.ui.point(x0 + r*math.cos(_a),", " y0 + r*math.sin(_a),", " drag=drag_r, relative=False)", "", "" ], "uid": 0 }, { "datums": [ { "expr": "\u0011[__0.__8]", "name": "rGear", "type": "float", "uid": 8 }, { "expr": "\u0011[__0.__9]", "name": "hTeeth", "type": "float", "uid": 9 }, { "expr": "\u0011[__0.__2]", "name": "wBeam", "type": "float", "uid": 2 }, { "expr": "\u0011[__0.__5]", "name": "dAxle", "type": "float", "uid": 5 }, { "expr": "\u0011[__0.__10]", "name": "kerf", "type": "float", "uid": 10 }, { "expr": "0", "name": "_a", "type": "float", "uid": 3 }, { "expr": "\u0012fab.types.Shape('-r+qXqYf12.575',float('-12.575000'),float('-12.575000'),float('-inf'),float('12.575000'),float('12.575000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 327, -457 ], "name": "rimOut", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 6/11/18", "", "import fab", "import math", "", "title('Circle (center)')", "", "input('rGear',float)", "input('hTeeth', float)", "input('wBeam', float)", "input('dAxle', float)", "input('kerf', float)", "input('_a',float)", "", "x0 = 0", "y0 = 0", "r = rGear - wBeam - kerf/2", "", "output('shape', fab.shapes.circle(x0, y0, r))", "", "def drag_r(this,x,y,z):", " dx = x - this.x0", " dy = y - this.y0", " this.r = math.sqrt(dx**2 + dy**2)", " this._a = math.atan2(dy, dx)", "", "# UI", "sb.ui.wireframe([", " (math.cos(i/36. * 2*math.pi) * r + x0,", " math.sin(i/36. * 2*math.pi) * r + y0, 0)", " for i in range(36)], close=True)", "sb.ui.point(x0,y0)", "sb.ui.point(x0 + r*math.cos(_a),", " y0 + r*math.sin(_a),", " drag=drag_r, relative=False)", "", "" ], "uid": 2 }, { "datums": [ { "expr": "\u0011[__2.__8]", "name": "rGear", "type": "float", "uid": 8 }, { "expr": "\u0011[__2.__9]", "name": "hTeeth", "type": "float", "uid": 9 }, { "expr": "\u0011[__2.__2]", "name": "wBeam", "type": "float", "uid": 2 }, { "expr": "\u0011[__2.__5]", "name": "dAxle", "type": "float", "uid": 5 }, { "expr": "\u0011[__2.__10]", "name": "kerf", "type": "float", "uid": 10 }, { "expr": "0", "name": "_a", "type": "float", "uid": 3 }, { "expr": "\u0012fab.types.Shape('-r+qXq-Yf13.6f0.5',float('-0.500000'),float('13.100000'),float('-inf'),float('0.500000'),float('14.100000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 660.48617508984489, -457.61568684919166 ], "name": "SupportIn0", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 6/11/18", "", "import fab", "import math", "", "title('Circle (center)')", "", "input('rGear',float)", "input('hTeeth', float)", "input('wBeam', float)", "input('dAxle', float)", "input('kerf', float)", "input('_a',float)", "", "x0 = 0", "y0 = rGear - wBeam/2", "r = dAxle/2 - kerf/2", "", "output('shape', fab.shapes.circle(x0, y0, r))", "", "def drag_r(this,x,y,z):", " dx = x - this.x0", " dy = y - this.y0", " this.r = math.sqrt(dx**2 + dy**2)", " this._a = math.atan2(dy, dx)", "", "# UI", "sb.ui.wireframe([", " (math.cos(i/36. * 2*math.pi) * r + x0,", " math.sin(i/36. * 2*math.pi) * r + y0, 0)", " for i in range(36)], close=True)", "sb.ui.point(x0,y0)", "sb.ui.point(x0 + r*math.cos(_a),", " y0 + r*math.sin(_a),", " drag=drag_r, relative=False)", "", "" ], "uid": 4 }, { "datums": [ { "expr": "\u0011[__0.__4]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__2.__4]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('a-r+qXqYf14.625n-r+qXqYf12.575',float('-14.625000'),float('-14.625000'),float('-inf'),float('14.625000'),float('14.625000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 224.46614198106022, -249.15117264395565 ], "name": "d0", "script": [ "import fab.types", "", "title('Difference')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a & ~b)", "" ], "uid": 8 }, { "datums": [ { "expr": "\u0011[__parent.__0]", "name": "r", "type": "float", "uid": 0 }, { "expr": "\u0012fab.types.Shape('aa-f-21.75X-Xf21.75a-f-29Y-Yf0',float('-21.750000'),float('-29.000000'),float('-inf'),float('21.750000'),float('0.000000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 37.160797531407923, -113.09807944341534 ], "name": "r0", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 6/11/15", "", "import fab", "", "title('Rectangle (center)')", "", "input('r', float)", "", "x0 = 0", "y0 = 0", "width = r*3", "height = r*2", "", "xmin, xmax = x0 - width/2, x0 + width/2", "ymin, ymax = y0 - height, y0", "", "output('shape', fab.shapes.rectangle(xmin, xmax, ymin, ymax))", "", "def drag_hw(this, x, y, z):", " this.width = abs(2 * (x - this.x0))", " this.height = abs(2 * (y - this.y0))", "", "# UI", "sb.ui.wireframe(", " [(xmin, ymin, 0), (xmax, ymin, 0), (xmax, ymax, 0), (xmin, ymax, 0)],", " close=True)", "sb.ui.point(x0, y0)", "sb.ui.point(xmax, ymax, drag=drag_hw, relative=False)", "" ], "uid": 1 }, { "datums": [ { "expr": "0.0", "name": "_z", "type": "float", "uid": 2 }, { "expr": "60", "name": "a", "type": "float", "uid": 3 }, { "expr": "\u0011[__1.__4]", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-21.75X-Xf21.75a-f-29Y-Yf0',float('-10.875000'),float('-33.336044'),float('-inf'),float('35.989723'),float('18.836042'),float('inf'))", "name": "rotated", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 348.98835942539597, -108.25101889584042 ], "name": "r1", "script": [ "import fab", "import math", "", "title('Rotate (Z)')", "", "input('_z', float)", "input('a', float)", "", "x = 0", "y = 0", "", "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": 3 }, { "datums": [ { "expr": "0.0", "name": "_z", "type": "float", "uid": 2 }, { "expr": "-60", "name": "a", "type": "float", "uid": 3 }, { "expr": "\u0011[__1.__4]", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf0-Zf0m+*f0.5X*f-0.866025Y+*f0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-21.75X-Xf21.75a-f-29Y-Yf0',float('-35.989723'),float('-33.336044'),float('-inf'),float('10.875000'),float('18.836042'),float('inf'))", "name": "rotated", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 353.83541997297095, 16.15686849191648 ], "name": "r2", "script": [ "import fab", "import math", "", "title('Rotate (Z)')", "", "input('_z', float)", "input('a', float)", "", "x = 0", "y = 0", "", "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": 5 }, { "datums": [ { "expr": "\u0011[__3.__5]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__5.__5]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-21.75X-Xf21.75a-f-29Y-Yf0m-Xf0-Yf0-Zf0m+*f0.5X*f-0.866025Y+*f0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-21.75X-Xf21.75a-f-29Y-Yf0',float('-35.989723'),float('-33.336044'),float('-inf'),float('35.989723'),float('18.836042'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 651.12180022423422, -38.776484380599541 ], "name": "u0", "script": [ "import fab.types", "", "title('Union')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a | b)", "" ], "uid": 6 }, { "datums": [ { "expr": "\u0011[__parent.__0]", "name": "rGear", "type": "float", "uid": 6 }, { "expr": "\u0011[__parent.__2]", "name": "wTeeth", "type": "float", "uid": 7 }, { "expr": "\u0011[__parent.__3]", "name": "hTeeth", "type": "float", "uid": 8 }, { "expr": "\u0011[__parent.__4]", "name": "wBeam", "type": "float", "uid": 0 }, { "expr": "\u0011[__parent.__6]", "name": "kerf", "type": "float", "uid": 9 }, { "expr": "0.5", "name": "r", "type": "float", "uid": 4 }, { "expr": "\u0012fab.types.Shape('iiiiiaa-f-0.375X-Xf0.375a-f10.8375Y-Yf12.5125aa-f-0.1875X-Xf0.1875a-f10.65Y-Yf12.7-r+q-Xf-0.1875q-Yf10.8375f0.1875-r+q-Xf-0.1875q-Yf12.5125f0.1875-r+q-Xf0.1875q-Yf10.8375f0.1875-r+q-Xf0.1875q-Yf12.5125f0.1875',float('-0.375000'),float('10.650000'),float('-inf'),float('0.375000'),float('12.700000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 41.399306001725876, 78.067262746111652 ], "name": "teeth", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 6/11/15", "", "import fab", "", "title('Rounded rectangle (center)')", "", "input('rGear', float)", "input('wTeeth', float)", "input('hTeeth', float)", "input('wBeam', float)", "input('kerf', float)", "input('r', float)", "", "x = 0", "y = rGear - wBeam", "width = wTeeth + kerf", "height = hTeeth + kerf", "", "xmin, xmax = x - width/2, x + width/2", "ymin, ymax = y - height, y", "", "# This is the circle's radius in actual units (not a 0-1 fraction)", "r_ = r * min(width, height)/2", "", "output('shape', fab.shapes.rounded_rectangle(xmin, xmax, ymin, ymax, r))", "", "def drag_r(this, x, y, z):", " if abs(this.width) < abs(this.height):", " d = abs(this.width)", " mid = this.y + this.height/2 - d/2", " else:", " d = abs(this.width)", " mid = this.y", " r = 1 - (y - mid) / (d/2)", " this.r = float(min(1, max(0, r)))", "", "def drag_hw(this, x, y, z):", " this.height = abs(2 * (y - this.y))", " this.width = abs(2 * (x - this.x))", "", "# UI", "sb.ui.wireframe(", " [(xmin, ymin, 0), (xmax, ymin, 0), (xmax, ymax, 0), (xmin, ymax, 0)],", " close=True)", "sb.ui.wireframe([(xmax - r_, ymax, 0), (xmax, ymax - r_, 0)])", "sb.ui.point(x, y)", "sb.ui.point(xmax, ymax, drag=drag_hw, relative=False)", "sb.ui.point(xmax, ymax - r_, drag=drag_r, relative=False)", "", "" ], "uid": 10 }, { "datums": [ { "expr": "\u0011[__10.__5]", "name": "shape", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__parent.__1]", "name": "n", "type": "int", "uid": 3 }, { "expr": "\u0012fab.types.Shape('iiiiim-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.375X-Xf0.375a-f10.8375Y-Yf12.5125aa-f-0.1875X-Xf0.1875a-f10.65Y-Yf12.7-r+q-Xf-0.1875q-Yf10.8375f0.1875-r+q-Xf-0.1875q-Yf12.5125f0.1875-r+q-Xf0.1875q-Yf10.8375f0.1875-r+q-Xf0.1875q-Yf12.5125f0.1875m-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.375X-Xf0.375a-f10.8375Y-Yf12.5125aa-f-0.1875X-Xf0.1875a-f10.65Y-Yf12.7-r+q-Xf-0.1875q-Yf10.8375f0.1875-r+q-Xf-0.1875q-Yf12.5125f0.1875-r+q-Xf0.1875q-Yf10.8375f0.1875-r+q-Xf0.1875q-Yf12.5125f0.1875m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.375X-Xf0.375a-f10.8375Y-Yf12.5125aa-f-0.1875X-Xf0.1875a-f10.65Y-Yf12.7-r+q-Xf-0.1875q-Yf10.8375f0.1875-r+q-Xf-0.1875q-Yf12.5125f0.1875-r+q-Xf0.1875q-Yf10.8375f0.1875-r+q-Xf0.1875q-Yf12.5125f0.1875m-Xf0-Yf0-Zf0m+*f-1X*f1.22465e-16Y+*f-1.22465e-16X*f-1Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.375X-Xf0.375a-f10.8375Y-Yf12.5125aa-f-0.1875X-Xf0.1875a-f10.65Y-Yf12.7-r+q-Xf-0.1875q-Yf10.8375f0.1875-r+q-Xf-0.1875q-Yf12.5125f0.1875-r+q-Xf0.1875q-Yf10.8375f0.1875-r+q-Xf0.1875q-Yf12.5125f0.1875m-Xf0-Yf0-Zf0m+*f-0.5X*f-0.866025Y+*f0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.375X-Xf0.375a-f10.8375Y-Yf12.5125aa-f-0.1875X-Xf0.1875a-f10.65Y-Yf12.7-r+q-Xf-0.1875q-Yf10.8375f0.1875-r+q-Xf-0.1875q-Yf12.5125f0.1875-r+q-Xf0.1875q-Yf10.8375f0.1875-r+q-Xf0.1875q-Yf12.5125f0.1875m-Xf0-Yf0-Zf0m+*f0.5X*f-0.866025Y+*f0.866025X*f0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.375X-Xf0.375a-f10.8375Y-Yf12.5125aa-f-0.1875X-Xf0.1875a-f10.65Y-Yf12.7-r+q-Xf-0.1875q-Yf10.8375f0.1875-r+q-Xf-0.1875q-Yf12.5125f0.1875-r+q-Xf0.1875q-Yf10.8375f0.1875-r+q-Xf0.1875q-Yf12.5125f0.1875',float('-11.186017'),float('-12.700000'),float('-inf'),float('11.186017'),float('12.700000'),float('inf'))", "name": "array", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 365.49673012952275, 189.253970293604 ], "name": "a0", "script": [ "import fab", "import math", "", "title('Array (polar)')", "", "input('shape', fab.types.Shape)", "input('n', int)", "", "x = 0", "y = 0", "", "output('array', fab.shapes.iterate_polar(shape, x, y, n))", "", "# UI", "sb.ui.wireframe([", " (math.cos(i/36. * 2*math.pi) * 0.3 + x,", " math.sin(i/36. * 2*math.pi) * 0.3 + y, 0)", " for i in range(36)], close=True, color=sb.color.teal)", "", "sb.ui.point(x, y, 0, color=sb.color.teal)", "" ], "uid": 11 }, { "datums": [ { "expr": "0.0", "name": "_z", "type": "float", "uid": 2 }, { "expr": "30", "name": "a", "type": "float", "uid": 3 }, { "expr": "\u0011[__11.__4]", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf0-Zf0m+*f0.866025X*f0.5Y+*f-0.5X*f0.866025Y_m-Xf0-Yf0-Zf0iiiiim-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.375X-Xf0.375a-f10.8375Y-Yf12.5125aa-f-0.1875X-Xf0.1875a-f10.65Y-Yf12.7-r+q-Xf-0.1875q-Yf10.8375f0.1875-r+q-Xf-0.1875q-Yf12.5125f0.1875-r+q-Xf0.1875q-Yf10.8375f0.1875-r+q-Xf0.1875q-Yf12.5125f0.1875m-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.375X-Xf0.375a-f10.8375Y-Yf12.5125aa-f-0.1875X-Xf0.1875a-f10.65Y-Yf12.7-r+q-Xf-0.1875q-Yf10.8375f0.1875-r+q-Xf-0.1875q-Yf12.5125f0.1875-r+q-Xf0.1875q-Yf10.8375f0.1875-r+q-Xf0.1875q-Yf12.5125f0.1875m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.375X-Xf0.375a-f10.8375Y-Yf12.5125aa-f-0.1875X-Xf0.1875a-f10.65Y-Yf12.7-r+q-Xf-0.1875q-Yf10.8375f0.1875-r+q-Xf-0.1875q-Yf12.5125f0.1875-r+q-Xf0.1875q-Yf10.8375f0.1875-r+q-Xf0.1875q-Yf12.5125f0.1875m-Xf0-Yf0-Zf0m+*f-1X*f1.22465e-16Y+*f-1.22465e-16X*f-1Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.375X-Xf0.375a-f10.8375Y-Yf12.5125aa-f-0.1875X-Xf0.1875a-f10.65Y-Yf12.7-r+q-Xf-0.1875q-Yf10.8375f0.1875-r+q-Xf-0.1875q-Yf12.5125f0.1875-r+q-Xf0.1875q-Yf10.8375f0.1875-r+q-Xf0.1875q-Yf12.5125f0.1875m-Xf0-Yf0-Zf0m+*f-0.5X*f-0.866025Y+*f0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.375X-Xf0.375a-f10.8375Y-Yf12.5125aa-f-0.1875X-Xf0.1875a-f10.65Y-Yf12.7-r+q-Xf-0.1875q-Yf10.8375f0.1875-r+q-Xf-0.1875q-Yf12.5125f0.1875-r+q-Xf0.1875q-Yf10.8375f0.1875-r+q-Xf0.1875q-Yf12.5125f0.1875m-Xf0-Yf0-Zf0m+*f0.5X*f-0.866025Y+*f0.866025X*f0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.375X-Xf0.375a-f10.8375Y-Yf12.5125aa-f-0.1875X-Xf0.1875a-f10.65Y-Yf12.7-r+q-Xf-0.1875q-Yf10.8375f0.1875-r+q-Xf-0.1875q-Yf12.5125f0.1875-r+q-Xf0.1875q-Yf10.8375f0.1875-r+q-Xf0.1875q-Yf12.5125f0.1875',float('-16.037371'),float('-16.591526'),float('-inf'),float('16.037371'),float('16.591526'),float('inf'))", "name": "rotated", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 650.56052288426383, 185.70545835059895 ], "name": "r3", "script": [ "import fab", "import math", "", "title('Rotate (Z)')", "", "input('_z', float)", "input('a', float)", "", "x = 0", "y = 0", "", "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": 12 }, { "datums": [ { "expr": "\u0011[__8.__2]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__12.__5]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "1", "name": "q", "type": "float", "uid": 2 }, { "expr": "\u0012fab.types.Shape('iia-r+qXqYf14.625n-r+qXqYf12.575m-Xf0-Yf0-Zf0m+*f0.866025X*f0.5Y+*f-0.5X*f0.866025Y_m-Xf0-Yf0-Zf0iiiiim-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.375X-Xf0.375a-f10.8375Y-Yf12.5125aa-f-0.1875X-Xf0.1875a-f10.65Y-Yf12.7-r+q-Xf-0.1875q-Yf10.8375f0.1875-r+q-Xf-0.1875q-Yf12.5125f0.1875-r+q-Xf0.1875q-Yf10.8375f0.1875-r+q-Xf0.1875q-Yf12.5125f0.1875m-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.375X-Xf0.375a-f10.8375Y-Yf12.5125aa-f-0.1875X-Xf0.1875a-f10.65Y-Yf12.7-r+q-Xf-0.1875q-Yf10.8375f0.1875-r+q-Xf-0.1875q-Yf12.5125f0.1875-r+q-Xf0.1875q-Yf10.8375f0.1875-r+q-Xf0.1875q-Yf12.5125f0.1875m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.375X-Xf0.375a-f10.8375Y-Yf12.5125aa-f-0.1875X-Xf0.1875a-f10.65Y-Yf12.7-r+q-Xf-0.1875q-Yf10.8375f0.1875-r+q-Xf-0.1875q-Yf12.5125f0.1875-r+q-Xf0.1875q-Yf10.8375f0.1875-r+q-Xf0.1875q-Yf12.5125f0.1875m-Xf0-Yf0-Zf0m+*f-1X*f1.22465e-16Y+*f-1.22465e-16X*f-1Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.375X-Xf0.375a-f10.8375Y-Yf12.5125aa-f-0.1875X-Xf0.1875a-f10.65Y-Yf12.7-r+q-Xf-0.1875q-Yf10.8375f0.1875-r+q-Xf-0.1875q-Yf12.5125f0.1875-r+q-Xf0.1875q-Yf10.8375f0.1875-r+q-Xf0.1875q-Yf12.5125f0.1875m-Xf0-Yf0-Zf0m+*f-0.5X*f-0.866025Y+*f0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.375X-Xf0.375a-f10.8375Y-Yf12.5125aa-f-0.1875X-Xf0.1875a-f10.65Y-Yf12.7-r+q-Xf-0.1875q-Yf10.8375f0.1875-r+q-Xf-0.1875q-Yf12.5125f0.1875-r+q-Xf0.1875q-Yf10.8375f0.1875-r+q-Xf0.1875q-Yf12.5125f0.1875m-Xf0-Yf0-Zf0m+*f0.5X*f-0.866025Y+*f0.866025X*f0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.375X-Xf0.375a-f10.8375Y-Yf12.5125aa-f-0.1875X-Xf0.1875a-f10.65Y-Yf12.7-r+q-Xf-0.1875q-Yf10.8375f0.1875-r+q-Xf-0.1875q-Yf12.5125f0.1875-r+q-Xf0.1875q-Yf10.8375f0.1875-r+q-Xf0.1875q-Yf12.5125f0.1875-+rba-r+qXqYf14.625n-r+qXqYf12.575rbm-Xf0-Yf0-Zf0m+*f0.866025X*f0.5Y+*f-0.5X*f0.866025Y_m-Xf0-Yf0-Zf0iiiiim-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.375X-Xf0.375a-f10.8375Y-Yf12.5125aa-f-0.1875X-Xf0.1875a-f10.65Y-Yf12.7-r+q-Xf-0.1875q-Yf10.8375f0.1875-r+q-Xf-0.1875q-Yf12.5125f0.1875-r+q-Xf0.1875q-Yf10.8375f0.1875-r+q-Xf0.1875q-Yf12.5125f0.1875m-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.375X-Xf0.375a-f10.8375Y-Yf12.5125aa-f-0.1875X-Xf0.1875a-f10.65Y-Yf12.7-r+q-Xf-0.1875q-Yf10.8375f0.1875-r+q-Xf-0.1875q-Yf12.5125f0.1875-r+q-Xf0.1875q-Yf10.8375f0.1875-r+q-Xf0.1875q-Yf12.5125f0.1875m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.375X-Xf0.375a-f10.8375Y-Yf12.5125aa-f-0.1875X-Xf0.1875a-f10.65Y-Yf12.7-r+q-Xf-0.1875q-Yf10.8375f0.1875-r+q-Xf-0.1875q-Yf12.5125f0.1875-r+q-Xf0.1875q-Yf10.8375f0.1875-r+q-Xf0.1875q-Yf12.5125f0.1875m-Xf0-Yf0-Zf0m+*f-1X*f1.22465e-16Y+*f-1.22465e-16X*f-1Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.375X-Xf0.375a-f10.8375Y-Yf12.5125aa-f-0.1875X-Xf0.1875a-f10.65Y-Yf12.7-r+q-Xf-0.1875q-Yf10.8375f0.1875-r+q-Xf-0.1875q-Yf12.5125f0.1875-r+q-Xf0.1875q-Yf10.8375f0.1875-r+q-Xf0.1875q-Yf12.5125f0.1875m-Xf0-Yf0-Zf0m+*f-0.5X*f-0.866025Y+*f0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.375X-Xf0.375a-f10.8375Y-Yf12.5125aa-f-0.1875X-Xf0.1875a-f10.65Y-Yf12.7-r+q-Xf-0.1875q-Yf10.8375f0.1875-r+q-Xf-0.1875q-Yf12.5125f0.1875-r+q-Xf0.1875q-Yf10.8375f0.1875-r+q-Xf0.1875q-Yf12.5125f0.1875m-Xf0-Yf0-Zf0m+*f0.5X*f-0.866025Y+*f0.866025X*f0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.375X-Xf0.375a-f10.8375Y-Yf12.5125aa-f-0.1875X-Xf0.1875a-f10.65Y-Yf12.7-r+q-Xf-0.1875q-Yf10.8375f0.1875-r+q-Xf-0.1875q-Yf12.5125f0.1875-r+q-Xf0.1875q-Yf10.8375f0.1875-r+q-Xf0.1875q-Yf12.5125f0.1875f1',float('-16.037371'),float('-16.591526'),float('-inf'),float('16.037371'),float('16.591526'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 3 } ], "inspector": [ 1004.2288798704362, -354.85119430050753 ], "name": "b0", "script": [ "import fab.types", "import fab.shapes", "", "title('Blend')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "input('q', float)", "", "output('shape', fab.shapes.blend(a, b, q))", "" ], "uid": 9 }, { "datums": [ { "expr": "\u0011[__9.__3]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__6.__2]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('aiia-r+qXqYf14.625n-r+qXqYf12.575m-Xf0-Yf0-Zf0m+*f0.866025X*f0.5Y+*f-0.5X*f0.866025Y_m-Xf0-Yf0-Zf0iiiiim-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.375X-Xf0.375a-f10.8375Y-Yf12.5125aa-f-0.1875X-Xf0.1875a-f10.65Y-Yf12.7-r+q-Xf-0.1875q-Yf10.8375f0.1875-r+q-Xf-0.1875q-Yf12.5125f0.1875-r+q-Xf0.1875q-Yf10.8375f0.1875-r+q-Xf0.1875q-Yf12.5125f0.1875m-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.375X-Xf0.375a-f10.8375Y-Yf12.5125aa-f-0.1875X-Xf0.1875a-f10.65Y-Yf12.7-r+q-Xf-0.1875q-Yf10.8375f0.1875-r+q-Xf-0.1875q-Yf12.5125f0.1875-r+q-Xf0.1875q-Yf10.8375f0.1875-r+q-Xf0.1875q-Yf12.5125f0.1875m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.375X-Xf0.375a-f10.8375Y-Yf12.5125aa-f-0.1875X-Xf0.1875a-f10.65Y-Yf12.7-r+q-Xf-0.1875q-Yf10.8375f0.1875-r+q-Xf-0.1875q-Yf12.5125f0.1875-r+q-Xf0.1875q-Yf10.8375f0.1875-r+q-Xf0.1875q-Yf12.5125f0.1875m-Xf0-Yf0-Zf0m+*f-1X*f1.22465e-16Y+*f-1.22465e-16X*f-1Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.375X-Xf0.375a-f10.8375Y-Yf12.5125aa-f-0.1875X-Xf0.1875a-f10.65Y-Yf12.7-r+q-Xf-0.1875q-Yf10.8375f0.1875-r+q-Xf-0.1875q-Yf12.5125f0.1875-r+q-Xf0.1875q-Yf10.8375f0.1875-r+q-Xf0.1875q-Yf12.5125f0.1875m-Xf0-Yf0-Zf0m+*f-0.5X*f-0.866025Y+*f0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.375X-Xf0.375a-f10.8375Y-Yf12.5125aa-f-0.1875X-Xf0.1875a-f10.65Y-Yf12.7-r+q-Xf-0.1875q-Yf10.8375f0.1875-r+q-Xf-0.1875q-Yf12.5125f0.1875-r+q-Xf0.1875q-Yf10.8375f0.1875-r+q-Xf0.1875q-Yf12.5125f0.1875m-Xf0-Yf0-Zf0m+*f0.5X*f-0.866025Y+*f0.866025X*f0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.375X-Xf0.375a-f10.8375Y-Yf12.5125aa-f-0.1875X-Xf0.1875a-f10.65Y-Yf12.7-r+q-Xf-0.1875q-Yf10.8375f0.1875-r+q-Xf-0.1875q-Yf12.5125f0.1875-r+q-Xf0.1875q-Yf10.8375f0.1875-r+q-Xf0.1875q-Yf12.5125f0.1875-+rba-r+qXqYf14.625n-r+qXqYf12.575rbm-Xf0-Yf0-Zf0m+*f0.866025X*f0.5Y+*f-0.5X*f0.866025Y_m-Xf0-Yf0-Zf0iiiiim-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.375X-Xf0.375a-f10.8375Y-Yf12.5125aa-f-0.1875X-Xf0.1875a-f10.65Y-Yf12.7-r+q-Xf-0.1875q-Yf10.8375f0.1875-r+q-Xf-0.1875q-Yf12.5125f0.1875-r+q-Xf0.1875q-Yf10.8375f0.1875-r+q-Xf0.1875q-Yf12.5125f0.1875m-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.375X-Xf0.375a-f10.8375Y-Yf12.5125aa-f-0.1875X-Xf0.1875a-f10.65Y-Yf12.7-r+q-Xf-0.1875q-Yf10.8375f0.1875-r+q-Xf-0.1875q-Yf12.5125f0.1875-r+q-Xf0.1875q-Yf10.8375f0.1875-r+q-Xf0.1875q-Yf12.5125f0.1875m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.375X-Xf0.375a-f10.8375Y-Yf12.5125aa-f-0.1875X-Xf0.1875a-f10.65Y-Yf12.7-r+q-Xf-0.1875q-Yf10.8375f0.1875-r+q-Xf-0.1875q-Yf12.5125f0.1875-r+q-Xf0.1875q-Yf10.8375f0.1875-r+q-Xf0.1875q-Yf12.5125f0.1875m-Xf0-Yf0-Zf0m+*f-1X*f1.22465e-16Y+*f-1.22465e-16X*f-1Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.375X-Xf0.375a-f10.8375Y-Yf12.5125aa-f-0.1875X-Xf0.1875a-f10.65Y-Yf12.7-r+q-Xf-0.1875q-Yf10.8375f0.1875-r+q-Xf-0.1875q-Yf12.5125f0.1875-r+q-Xf0.1875q-Yf10.8375f0.1875-r+q-Xf0.1875q-Yf12.5125f0.1875m-Xf0-Yf0-Zf0m+*f-0.5X*f-0.866025Y+*f0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.375X-Xf0.375a-f10.8375Y-Yf12.5125aa-f-0.1875X-Xf0.1875a-f10.65Y-Yf12.7-r+q-Xf-0.1875q-Yf10.8375f0.1875-r+q-Xf-0.1875q-Yf12.5125f0.1875-r+q-Xf0.1875q-Yf10.8375f0.1875-r+q-Xf0.1875q-Yf12.5125f0.1875m-Xf0-Yf0-Zf0m+*f0.5X*f-0.866025Y+*f0.866025X*f0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.375X-Xf0.375a-f10.8375Y-Yf12.5125aa-f-0.1875X-Xf0.1875a-f10.65Y-Yf12.7-r+q-Xf-0.1875q-Yf10.8375f0.1875-r+q-Xf-0.1875q-Yf12.5125f0.1875-r+q-Xf0.1875q-Yf10.8375f0.1875-r+q-Xf0.1875q-Yf12.5125f0.1875f1nim-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-21.75X-Xf21.75a-f-29Y-Yf0m-Xf0-Yf0-Zf0m+*f0.5X*f-0.866025Y+*f0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-21.75X-Xf21.75a-f-29Y-Yf0',float('-16.037371'),float('-16.591526'),float('-inf'),float('16.037371'),float('16.591526'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 1042.079673929157, -176.24275983591872 ], "name": "d2", "script": [ "import fab.types", "", "title('Difference')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a & ~b)", "" ], "uid": 13 }, { "datums": [ { "expr": "\u0011[__13.__2]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__4.__4]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('aaiia-r+qXqYf14.625n-r+qXqYf12.575m-Xf0-Yf0-Zf0m+*f0.866025X*f0.5Y+*f-0.5X*f0.866025Y_m-Xf0-Yf0-Zf0iiiiim-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.375X-Xf0.375a-f10.8375Y-Yf12.5125aa-f-0.1875X-Xf0.1875a-f10.65Y-Yf12.7-r+q-Xf-0.1875q-Yf10.8375f0.1875-r+q-Xf-0.1875q-Yf12.5125f0.1875-r+q-Xf0.1875q-Yf10.8375f0.1875-r+q-Xf0.1875q-Yf12.5125f0.1875m-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.375X-Xf0.375a-f10.8375Y-Yf12.5125aa-f-0.1875X-Xf0.1875a-f10.65Y-Yf12.7-r+q-Xf-0.1875q-Yf10.8375f0.1875-r+q-Xf-0.1875q-Yf12.5125f0.1875-r+q-Xf0.1875q-Yf10.8375f0.1875-r+q-Xf0.1875q-Yf12.5125f0.1875m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.375X-Xf0.375a-f10.8375Y-Yf12.5125aa-f-0.1875X-Xf0.1875a-f10.65Y-Yf12.7-r+q-Xf-0.1875q-Yf10.8375f0.1875-r+q-Xf-0.1875q-Yf12.5125f0.1875-r+q-Xf0.1875q-Yf10.8375f0.1875-r+q-Xf0.1875q-Yf12.5125f0.1875m-Xf0-Yf0-Zf0m+*f-1X*f1.22465e-16Y+*f-1.22465e-16X*f-1Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.375X-Xf0.375a-f10.8375Y-Yf12.5125aa-f-0.1875X-Xf0.1875a-f10.65Y-Yf12.7-r+q-Xf-0.1875q-Yf10.8375f0.1875-r+q-Xf-0.1875q-Yf12.5125f0.1875-r+q-Xf0.1875q-Yf10.8375f0.1875-r+q-Xf0.1875q-Yf12.5125f0.1875m-Xf0-Yf0-Zf0m+*f-0.5X*f-0.866025Y+*f0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.375X-Xf0.375a-f10.8375Y-Yf12.5125aa-f-0.1875X-Xf0.1875a-f10.65Y-Yf12.7-r+q-Xf-0.1875q-Yf10.8375f0.1875-r+q-Xf-0.1875q-Yf12.5125f0.1875-r+q-Xf0.1875q-Yf10.8375f0.1875-r+q-Xf0.1875q-Yf12.5125f0.1875m-Xf0-Yf0-Zf0m+*f0.5X*f-0.866025Y+*f0.866025X*f0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.375X-Xf0.375a-f10.8375Y-Yf12.5125aa-f-0.1875X-Xf0.1875a-f10.65Y-Yf12.7-r+q-Xf-0.1875q-Yf10.8375f0.1875-r+q-Xf-0.1875q-Yf12.5125f0.1875-r+q-Xf0.1875q-Yf10.8375f0.1875-r+q-Xf0.1875q-Yf12.5125f0.1875-+rba-r+qXqYf14.625n-r+qXqYf12.575rbm-Xf0-Yf0-Zf0m+*f0.866025X*f0.5Y+*f-0.5X*f0.866025Y_m-Xf0-Yf0-Zf0iiiiim-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.375X-Xf0.375a-f10.8375Y-Yf12.5125aa-f-0.1875X-Xf0.1875a-f10.65Y-Yf12.7-r+q-Xf-0.1875q-Yf10.8375f0.1875-r+q-Xf-0.1875q-Yf12.5125f0.1875-r+q-Xf0.1875q-Yf10.8375f0.1875-r+q-Xf0.1875q-Yf12.5125f0.1875m-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.375X-Xf0.375a-f10.8375Y-Yf12.5125aa-f-0.1875X-Xf0.1875a-f10.65Y-Yf12.7-r+q-Xf-0.1875q-Yf10.8375f0.1875-r+q-Xf-0.1875q-Yf12.5125f0.1875-r+q-Xf0.1875q-Yf10.8375f0.1875-r+q-Xf0.1875q-Yf12.5125f0.1875m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.375X-Xf0.375a-f10.8375Y-Yf12.5125aa-f-0.1875X-Xf0.1875a-f10.65Y-Yf12.7-r+q-Xf-0.1875q-Yf10.8375f0.1875-r+q-Xf-0.1875q-Yf12.5125f0.1875-r+q-Xf0.1875q-Yf10.8375f0.1875-r+q-Xf0.1875q-Yf12.5125f0.1875m-Xf0-Yf0-Zf0m+*f-1X*f1.22465e-16Y+*f-1.22465e-16X*f-1Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.375X-Xf0.375a-f10.8375Y-Yf12.5125aa-f-0.1875X-Xf0.1875a-f10.65Y-Yf12.7-r+q-Xf-0.1875q-Yf10.8375f0.1875-r+q-Xf-0.1875q-Yf12.5125f0.1875-r+q-Xf0.1875q-Yf10.8375f0.1875-r+q-Xf0.1875q-Yf12.5125f0.1875m-Xf0-Yf0-Zf0m+*f-0.5X*f-0.866025Y+*f0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.375X-Xf0.375a-f10.8375Y-Yf12.5125aa-f-0.1875X-Xf0.1875a-f10.65Y-Yf12.7-r+q-Xf-0.1875q-Yf10.8375f0.1875-r+q-Xf-0.1875q-Yf12.5125f0.1875-r+q-Xf0.1875q-Yf10.8375f0.1875-r+q-Xf0.1875q-Yf12.5125f0.1875m-Xf0-Yf0-Zf0m+*f0.5X*f-0.866025Y+*f0.866025X*f0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.375X-Xf0.375a-f10.8375Y-Yf12.5125aa-f-0.1875X-Xf0.1875a-f10.65Y-Yf12.7-r+q-Xf-0.1875q-Yf10.8375f0.1875-r+q-Xf-0.1875q-Yf12.5125f0.1875-r+q-Xf0.1875q-Yf10.8375f0.1875-r+q-Xf0.1875q-Yf12.5125f0.1875f1nim-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-21.75X-Xf21.75a-f-29Y-Yf0m-Xf0-Yf0-Zf0m+*f0.5X*f-0.866025Y+*f0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-21.75X-Xf21.75a-f-29Y-Yf0n-r+qXq-Yf13.6f0.5',float('-16.037371'),float('-16.591526'),float('-inf'),float('16.037371'),float('16.591526'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 1047.872227362019, -42.656745538630858 ], "name": "d1", "script": [ "import fab.types", "", "title('Difference')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a & ~b)", "" ], "uid": 7 } ], "uid": 15 }, { "datums": [ { "expr": "-34", "name": "x", "type": "float", "uid": 0 }, { "expr": "16", "name": "y", "type": "float", "uid": 1 }, { "expr": "0.0", "name": "z", "type": "float", "uid": 2 }, { "expr": "\u0011[__15.__7]", "name": "shape", "type": "_fabtypes.Shape", "uid": 3 }, { "expr": "\u0012fab.types.Shape('m-Xf-34-Yf16-Zf0aaiia-r+qXqYf14.625n-r+qXqYf12.575m-Xf0-Yf0-Zf0m+*f0.866025X*f0.5Y+*f-0.5X*f0.866025Y_m-Xf0-Yf0-Zf0iiiiim-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.375X-Xf0.375a-f10.8375Y-Yf12.5125aa-f-0.1875X-Xf0.1875a-f10.65Y-Yf12.7-r+q-Xf-0.1875q-Yf10.8375f0.1875-r+q-Xf-0.1875q-Yf12.5125f0.1875-r+q-Xf0.1875q-Yf10.8375f0.1875-r+q-Xf0.1875q-Yf12.5125f0.1875m-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.375X-Xf0.375a-f10.8375Y-Yf12.5125aa-f-0.1875X-Xf0.1875a-f10.65Y-Yf12.7-r+q-Xf-0.1875q-Yf10.8375f0.1875-r+q-Xf-0.1875q-Yf12.5125f0.1875-r+q-Xf0.1875q-Yf10.8375f0.1875-r+q-Xf0.1875q-Yf12.5125f0.1875m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.375X-Xf0.375a-f10.8375Y-Yf12.5125aa-f-0.1875X-Xf0.1875a-f10.65Y-Yf12.7-r+q-Xf-0.1875q-Yf10.8375f0.1875-r+q-Xf-0.1875q-Yf12.5125f0.1875-r+q-Xf0.1875q-Yf10.8375f0.1875-r+q-Xf0.1875q-Yf12.5125f0.1875m-Xf0-Yf0-Zf0m+*f-1X*f1.22465e-16Y+*f-1.22465e-16X*f-1Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.375X-Xf0.375a-f10.8375Y-Yf12.5125aa-f-0.1875X-Xf0.1875a-f10.65Y-Yf12.7-r+q-Xf-0.1875q-Yf10.8375f0.1875-r+q-Xf-0.1875q-Yf12.5125f0.1875-r+q-Xf0.1875q-Yf10.8375f0.1875-r+q-Xf0.1875q-Yf12.5125f0.1875m-Xf0-Yf0-Zf0m+*f-0.5X*f-0.866025Y+*f0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.375X-Xf0.375a-f10.8375Y-Yf12.5125aa-f-0.1875X-Xf0.1875a-f10.65Y-Yf12.7-r+q-Xf-0.1875q-Yf10.8375f0.1875-r+q-Xf-0.1875q-Yf12.5125f0.1875-r+q-Xf0.1875q-Yf10.8375f0.1875-r+q-Xf0.1875q-Yf12.5125f0.1875m-Xf0-Yf0-Zf0m+*f0.5X*f-0.866025Y+*f0.866025X*f0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.375X-Xf0.375a-f10.8375Y-Yf12.5125aa-f-0.1875X-Xf0.1875a-f10.65Y-Yf12.7-r+q-Xf-0.1875q-Yf10.8375f0.1875-r+q-Xf-0.1875q-Yf12.5125f0.1875-r+q-Xf0.1875q-Yf10.8375f0.1875-r+q-Xf0.1875q-Yf12.5125f0.1875-+rba-r+qXqYf14.625n-r+qXqYf12.575rbm-Xf0-Yf0-Zf0m+*f0.866025X*f0.5Y+*f-0.5X*f0.866025Y_m-Xf0-Yf0-Zf0iiiiim-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.375X-Xf0.375a-f10.8375Y-Yf12.5125aa-f-0.1875X-Xf0.1875a-f10.65Y-Yf12.7-r+q-Xf-0.1875q-Yf10.8375f0.1875-r+q-Xf-0.1875q-Yf12.5125f0.1875-r+q-Xf0.1875q-Yf10.8375f0.1875-r+q-Xf0.1875q-Yf12.5125f0.1875m-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.375X-Xf0.375a-f10.8375Y-Yf12.5125aa-f-0.1875X-Xf0.1875a-f10.65Y-Yf12.7-r+q-Xf-0.1875q-Yf10.8375f0.1875-r+q-Xf-0.1875q-Yf12.5125f0.1875-r+q-Xf0.1875q-Yf10.8375f0.1875-r+q-Xf0.1875q-Yf12.5125f0.1875m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.375X-Xf0.375a-f10.8375Y-Yf12.5125aa-f-0.1875X-Xf0.1875a-f10.65Y-Yf12.7-r+q-Xf-0.1875q-Yf10.8375f0.1875-r+q-Xf-0.1875q-Yf12.5125f0.1875-r+q-Xf0.1875q-Yf10.8375f0.1875-r+q-Xf0.1875q-Yf12.5125f0.1875m-Xf0-Yf0-Zf0m+*f-1X*f1.22465e-16Y+*f-1.22465e-16X*f-1Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.375X-Xf0.375a-f10.8375Y-Yf12.5125aa-f-0.1875X-Xf0.1875a-f10.65Y-Yf12.7-r+q-Xf-0.1875q-Yf10.8375f0.1875-r+q-Xf-0.1875q-Yf12.5125f0.1875-r+q-Xf0.1875q-Yf10.8375f0.1875-r+q-Xf0.1875q-Yf12.5125f0.1875m-Xf0-Yf0-Zf0m+*f-0.5X*f-0.866025Y+*f0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.375X-Xf0.375a-f10.8375Y-Yf12.5125aa-f-0.1875X-Xf0.1875a-f10.65Y-Yf12.7-r+q-Xf-0.1875q-Yf10.8375f0.1875-r+q-Xf-0.1875q-Yf12.5125f0.1875-r+q-Xf0.1875q-Yf10.8375f0.1875-r+q-Xf0.1875q-Yf12.5125f0.1875m-Xf0-Yf0-Zf0m+*f0.5X*f-0.866025Y+*f0.866025X*f0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.375X-Xf0.375a-f10.8375Y-Yf12.5125aa-f-0.1875X-Xf0.1875a-f10.65Y-Yf12.7-r+q-Xf-0.1875q-Yf10.8375f0.1875-r+q-Xf-0.1875q-Yf12.5125f0.1875-r+q-Xf0.1875q-Yf10.8375f0.1875-r+q-Xf0.1875q-Yf12.5125f0.1875f1nim-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-21.75X-Xf21.75a-f-29Y-Yf0m-Xf0-Yf0-Zf0m+*f0.5X*f-0.866025Y+*f0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-21.75X-Xf21.75a-f-29Y-Yf0n-r+qXq-Yf13.6f0.5',float('-50.037369'),float('-0.591526'),float('-inf'),float('-17.962629'),float('32.591526'),float('inf'))", "name": "out", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 233.70322452107305, 730.8953786492383 ], "name": "r7", "script": [ "import fab", "", "title('Recenter')", "", "input('x', float)", "input('y', float)", "input('z', float)", "", "input('shape', fab.types.Shape)", "output('out', fab.shapes.recenter(shape, x, y, z))", "", "# UI", "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)", "" ], "uid": 16 }, { "datums": [ { "expr": "\u0011[__15.__0]", "name": "r", "subdatum": [ -401, -470 ], "type": "float", "uid": 0 }, { "expr": "var.wTeeth", "name": "wTeeth", "subdatum": [ -401.98184955957356, -433.0676629878983 ], "type": "float", "uid": 2 }, { "expr": "var.hTeeth", "name": "hTeeth", "subdatum": [ -401.98184955957345, -397.58254355784766 ], "type": "float", "uid": 3 }, { "expr": "var.wBeam*1.8", "name": "wBeam", "subdatum": [ -403.16468687390852, -360.91458681346182 ], "type": "float", "uid": 4 }, { "expr": "var.dAxle", "name": "dAxle", "subdatum": [ -401.98184955957345, -323.06379275474103 ], "type": "float", "uid": 5 }, { "expr": "var.kerf", "name": "kerf", "subdatum": [ -401.98184955957345, -286.3958360103552 ], "type": "float", "uid": 6 }, { "expr": "\u0013[__9.__2]", "name": "escapement", "subdatum": [ 1342.6792917686407, -180.09111215972825 ], "type": "_fabtypes.Shape", "uid": 7 } ], "inspector": [ 556.20229850414876, 460.13444285740559 ], "name": "escapementMid", "subgraph": [ { "datums": [ { "expr": "\u0011[__parent.__0]", "name": "rGear", "type": "float", "uid": 8 }, { "expr": "\u0011[__parent.__3]", "name": "hTeeth", "type": "float", "uid": 9 }, { "expr": "\u0011[__parent.__4]", "name": "wBeam", "type": "float", "uid": 2 }, { "expr": "\u0011[__parent.__5]", "name": "dAxle", "type": "float", "uid": 5 }, { "expr": "\u0011[__parent.__6]", "name": "kerf", "type": "float", "uid": 10 }, { "expr": "0", "name": "_a", "type": "float", "uid": 3 }, { "expr": "\u0012fab.types.Shape('-r+qXqYf14.625',float('-14.625000'),float('-14.625000'),float('-inf'),float('14.625000'),float('14.625000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 40.615686849191661, -447 ], "name": "outer", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 6/11/18", "", "import fab", "import math", "", "title('Circle (center)')", "", "input('rGear',float)", "input('hTeeth', float)", "input('wBeam', float)", "input('dAxle', float)", "input('kerf', float)", "input('_a',float)", "", "x0 = 0", "y0 = 0", "r = rGear + kerf/2", "", "output('shape', fab.shapes.circle(x0, y0, r))", "", "def drag_r(this,x,y,z):", " dx = x - this.x0", " dy = y - this.y0", " this.r = math.sqrt(dx**2 + dy**2)", " this._a = math.atan2(dy, dx)", "", "# UI", "sb.ui.wireframe([", " (math.cos(i/36. * 2*math.pi) * r + x0,", " math.sin(i/36. * 2*math.pi) * r + y0, 0)", " for i in range(36)], close=True)", "sb.ui.point(x0,y0)", "sb.ui.point(x0 + r*math.cos(_a),", " y0 + r*math.sin(_a),", " drag=drag_r, relative=False)", "", "" ], "uid": 0 }, { "datums": [ { "expr": "\u0011[__0.__8]", "name": "rGear", "type": "float", "uid": 8 }, { "expr": "\u0011[__0.__9]", "name": "hTeeth", "type": "float", "uid": 9 }, { "expr": "\u0011[__0.__2]", "name": "wBeam", "type": "float", "uid": 2 }, { "expr": "\u0011[__0.__5]", "name": "dAxle", "type": "float", "uid": 5 }, { "expr": "\u0011[__0.__10]", "name": "kerf", "type": "float", "uid": 10 }, { "expr": "0", "name": "_a", "type": "float", "uid": 3 }, { "expr": "\u0012fab.types.Shape('-r+qXqYf12.575',float('-12.575000'),float('-12.575000'),float('-inf'),float('12.575000'),float('12.575000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 337, -447 ], "name": "rimOut", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 6/11/18", "", "import fab", "import math", "", "title('Circle (center)')", "", "input('rGear',float)", "input('hTeeth', float)", "input('wBeam', float)", "input('dAxle', float)", "input('kerf', float)", "input('_a',float)", "", "x0 = 0", "y0 = 0", "r = rGear - wBeam - kerf/2", "", "output('shape', fab.shapes.circle(x0, y0, r))", "", "def drag_r(this,x,y,z):", " dx = x - this.x0", " dy = y - this.y0", " this.r = math.sqrt(dx**2 + dy**2)", " this._a = math.atan2(dy, dx)", "", "# UI", "sb.ui.wireframe([", " (math.cos(i/36. * 2*math.pi) * r + x0,", " math.sin(i/36. * 2*math.pi) * r + y0, 0)", " for i in range(36)], close=True)", "sb.ui.point(x0,y0)", "sb.ui.point(x0 + r*math.cos(_a),", " y0 + r*math.sin(_a),", " drag=drag_r, relative=False)", "", "" ], "uid": 2 }, { "datums": [ { "expr": "\u0011[__2.__8]", "name": "rGear", "type": "float", "uid": 8 }, { "expr": "\u0011[__2.__9]", "name": "hTeeth", "type": "float", "uid": 9 }, { "expr": "\u0011[__2.__2]", "name": "wBeam", "type": "float", "uid": 2 }, { "expr": "\u0011[__2.__5]", "name": "dAxle", "type": "float", "uid": 5 }, { "expr": "\u0011[__2.__10]", "name": "kerf", "type": "float", "uid": 10 }, { "expr": "0", "name": "_a", "type": "float", "uid": 3 }, { "expr": "\u0012fab.types.Shape('-r+qXq-Yf13.6f0.5',float('-0.500000'),float('13.100000'),float('-inf'),float('0.500000'),float('14.100000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 670.48617508984489, -447.61568684919166 ], "name": "SupportIn0", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 6/11/18", "", "import fab", "import math", "", "title('Circle (center)')", "", "input('rGear',float)", "input('hTeeth', float)", "input('wBeam', float)", "input('dAxle', float)", "input('kerf', float)", "input('_a',float)", "", "x0 = 0", "y0 = rGear - wBeam/2", "r = dAxle/2 - kerf/2", "", "output('shape', fab.shapes.circle(x0, y0, r))", "", "def drag_r(this,x,y,z):", " dx = x - this.x0", " dy = y - this.y0", " this.r = math.sqrt(dx**2 + dy**2)", " this._a = math.atan2(dy, dx)", "", "# UI", "sb.ui.wireframe([", " (math.cos(i/36. * 2*math.pi) * r + x0,", " math.sin(i/36. * 2*math.pi) * r + y0, 0)", " for i in range(36)], close=True)", "sb.ui.point(x0,y0)", "sb.ui.point(x0 + r*math.cos(_a),", " y0 + r*math.sin(_a),", " drag=drag_r, relative=False)", "", "" ], "uid": 4 }, { "datums": [ { "expr": "\u0011[__0.__4]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__2.__4]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('a-r+qXqYf14.625n-r+qXqYf12.575',float('-14.625000'),float('-14.625000'),float('-inf'),float('14.625000'),float('14.625000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 234.46614198106022, -239.15117264395565 ], "name": "d0", "script": [ "import fab.types", "", "title('Difference')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a & ~b)", "" ], "uid": 8 }, { "datums": [ { "expr": "\u0011[__parent.__0]", "name": "r", "type": "float", "uid": 0 }, { "expr": "\u0012fab.types.Shape('aa-f-21.75X-Xf21.75a-f-29Y-Yf0',float('-21.750000'),float('-29.000000'),float('-inf'),float('21.750000'),float('0.000000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 47.160797531407923, -103.09807944341534 ], "name": "r0", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 6/11/15", "", "import fab", "", "title('Rectangle (center)')", "", "input('r', float)", "", "x0 = 0", "y0 = 0", "width = r*3", "height = r*2", "", "xmin, xmax = x0 - width/2, x0 + width/2", "ymin, ymax = y0 - height, y0", "", "output('shape', fab.shapes.rectangle(xmin, xmax, ymin, ymax))", "", "def drag_hw(this, x, y, z):", " this.width = abs(2 * (x - this.x0))", " this.height = abs(2 * (y - this.y0))", "", "# UI", "sb.ui.wireframe(", " [(xmin, ymin, 0), (xmax, ymin, 0), (xmax, ymax, 0), (xmin, ymax, 0)],", " close=True)", "sb.ui.point(x0, y0)", "sb.ui.point(xmax, ymax, drag=drag_hw, relative=False)", "" ], "uid": 1 }, { "datums": [ { "expr": "0.0", "name": "_z", "type": "float", "uid": 2 }, { "expr": "60", "name": "a", "type": "float", "uid": 3 }, { "expr": "\u0011[__1.__4]", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-21.75X-Xf21.75a-f-29Y-Yf0',float('-10.875000'),float('-33.336044'),float('-inf'),float('35.989723'),float('18.836042'),float('inf'))", "name": "rotated", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 358.98835942539597, -98.251018895840417 ], "name": "r1", "script": [ "import fab", "import math", "", "title('Rotate (Z)')", "", "input('_z', float)", "input('a', float)", "", "x = 0", "y = 0", "", "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": 3 }, { "datums": [ { "expr": "0.0", "name": "_z", "type": "float", "uid": 2 }, { "expr": "-60", "name": "a", "type": "float", "uid": 3 }, { "expr": "\u0011[__1.__4]", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf0-Zf0m+*f0.5X*f-0.866025Y+*f0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-21.75X-Xf21.75a-f-29Y-Yf0',float('-35.989723'),float('-33.336044'),float('-inf'),float('10.875000'),float('18.836042'),float('inf'))", "name": "rotated", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 363.83541997297095, 26.15686849191648 ], "name": "r2", "script": [ "import fab", "import math", "", "title('Rotate (Z)')", "", "input('_z', float)", "input('a', float)", "", "x = 0", "y = 0", "", "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": 5 }, { "datums": [ { "expr": "\u0011[__3.__5]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__5.__5]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-21.75X-Xf21.75a-f-29Y-Yf0m-Xf0-Yf0-Zf0m+*f0.5X*f-0.866025Y+*f0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-21.75X-Xf21.75a-f-29Y-Yf0',float('-35.989723'),float('-33.336044'),float('-inf'),float('35.989723'),float('18.836042'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 661.12180022423422, -28.776484380599541 ], "name": "u0", "script": [ "import fab.types", "", "title('Union')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a | b)", "" ], "uid": 6 }, { "datums": [ { "expr": "\u0011[__8.__2]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__6.__2]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('aa-r+qXqYf14.625n-r+qXqYf12.575nim-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-21.75X-Xf21.75a-f-29Y-Yf0m-Xf0-Yf0-Zf0m+*f0.5X*f-0.866025Y+*f0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-21.75X-Xf21.75a-f-29Y-Yf0',float('-14.625000'),float('-14.625000'),float('-inf'),float('14.625000'),float('14.625000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 664.35317392261743, -185.49810875218941 ], "name": "d1", "script": [ "import fab.types", "", "title('Difference')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a & ~b)", "" ], "uid": 7 }, { "datums": [ { "expr": "\u0011[__7.__2]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__4.__4]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('aaa-r+qXqYf14.625n-r+qXqYf12.575nim-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-21.75X-Xf21.75a-f-29Y-Yf0m-Xf0-Yf0-Zf0m+*f0.5X*f-0.866025Y+*f0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-21.75X-Xf21.75a-f-29Y-Yf0n-r+qXq-Yf13.6f0.5',float('-14.625000'),float('-14.625000'),float('-inf'),float('14.625000'),float('14.625000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 1005.2630991020553, -263.05107751338858 ], "name": "d2", "script": [ "import fab.types", "", "title('Difference')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a & ~b)", "" ], "uid": 9 } ], "uid": 17 }, { "datums": [ { "expr": "-34", "name": "x", "type": "float", "uid": 0 }, { "expr": "7", "name": "y", "type": "float", "uid": 1 }, { "expr": "0.0", "name": "z", "type": "float", "uid": 2 }, { "expr": "\u0011[__17.__7]", "name": "shape", "type": "_fabtypes.Shape", "uid": 3 }, { "expr": "\u0012fab.types.Shape('m-Xf-34-Yf7-Zf0aaa-r+qXqYf14.625n-r+qXqYf12.575nim-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-21.75X-Xf21.75a-f-29Y-Yf0m-Xf0-Yf0-Zf0m+*f0.5X*f-0.866025Y+*f0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-21.75X-Xf21.75a-f-29Y-Yf0n-r+qXq-Yf13.6f0.5',float('-48.625000'),float('-7.625000'),float('-inf'),float('-19.375000'),float('21.625000'),float('inf'))", "name": "out", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 559.05477238374328, 706.83769377206897 ], "name": "r8", "script": [ "import fab", "", "title('Recenter')", "", "input('x', float)", "input('y', float)", "input('z', float)", "", "input('shape', fab.types.Shape)", "output('out', fab.shapes.recenter(shape, x, y, z))", "", "# UI", "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)", "" ], "uid": 18 }, { "datums": [ { "expr": "\u0011[__17.__0]", "name": "r", "subdatum": [ -401, -470 ], "type": "float", "uid": 0 }, { "expr": "var.hTeeth", "name": "hTeeth", "subdatum": [ -399.98184955957345, -431.65616132064866 ], "type": "float", "uid": 3 }, { "expr": "var.wBeam*1.8", "name": "wBeam", "subdatum": [ -401.16468687390852, -394.98820457626272 ], "type": "float", "uid": 4 }, { "expr": "var.dAxle", "name": "dAxle", "subdatum": [ -399, -358.07361776280101 ], "type": "float", "uid": 5 }, { "expr": "var.lPend", "name": "lPend", "subdatum": [ -400, -323.07361776280101 ], "type": "float", "uid": 6 }, { "expr": "var.wPend", "name": "wPend", "subdatum": [ -398, -286.07361776280101 ], "type": "float", "uid": 7 }, { "expr": "var.rPend", "name": "rPend", "subdatum": [ -399, -250.07361776280101 ], "type": "float", "uid": 8 }, { "expr": "var.kerf", "name": "kerf", "subdatum": [ -399.00000000000011, -213.07361776280089 ], "type": "float", "uid": 9 }, { "expr": "\u0013[__9.__2]", "name": "pendulum", "subdatum": [ 1299, -167 ], "type": "_fabtypes.Shape", "uid": 1 } ], "inspector": [ 886.97143019973942, 458.67840243970596 ], "name": "pendulum", "subgraph": [ { "datums": [ { "expr": "\u0011[__parent.__0]", "name": "rGear", "type": "float", "uid": 8 }, { "expr": "\u0011[__parent.__3]", "name": "hTeeth", "type": "float", "uid": 9 }, { "expr": "\u0011[__parent.__4]", "name": "wBeam", "type": "float", "uid": 2 }, { "expr": "\u0011[__parent.__5]", "name": "dAxle", "type": "float", "uid": 5 }, { "expr": "\u0011[__parent.__9]", "name": "kerf", "type": "float", "uid": 10 }, { "expr": "0", "name": "_a", "type": "float", "uid": 3 }, { "expr": "\u0012fab.types.Shape('-r+qXqYf14.625',float('-14.625000'),float('-14.625000'),float('-inf'),float('14.625000'),float('14.625000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 50.615686849191661, -437 ], "name": "outer", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 6/11/18", "", "import fab", "import math", "", "title('Circle (center)')", "", "input('rGear',float)", "input('hTeeth', float)", "input('wBeam', float)", "input('dAxle', float)", "input('kerf', float)", "input('_a',float)", "", "x0 = 0", "y0 = 0", "r = rGear + kerf/2", "", "output('shape', fab.shapes.circle(x0, y0, r))", "", "def drag_r(this,x,y,z):", " dx = x - this.x0", " dy = y - this.y0", " this.r = math.sqrt(dx**2 + dy**2)", " this._a = math.atan2(dy, dx)", "", "# UI", "sb.ui.wireframe([", " (math.cos(i/36. * 2*math.pi) * r + x0,", " math.sin(i/36. * 2*math.pi) * r + y0, 0)", " for i in range(36)], close=True)", "sb.ui.point(x0,y0)", "sb.ui.point(x0 + r*math.cos(_a),", " y0 + r*math.sin(_a),", " drag=drag_r, relative=False)", "", "" ], "uid": 0 }, { "datums": [ { "expr": "\u0011[__0.__8]", "name": "rGear", "type": "float", "uid": 8 }, { "expr": "\u0011[__0.__9]", "name": "hTeeth", "type": "float", "uid": 9 }, { "expr": "\u0011[__0.__2]", "name": "wBeam", "type": "float", "uid": 2 }, { "expr": "\u0011[__0.__5]", "name": "dAxle", "type": "float", "uid": 5 }, { "expr": "\u0011[__0.__10]", "name": "kerf", "type": "float", "uid": 10 }, { "expr": "0", "name": "_a", "type": "float", "uid": 3 }, { "expr": "\u0012fab.types.Shape('-r+qXqYf12.575',float('-12.575000'),float('-12.575000'),float('-inf'),float('12.575000'),float('12.575000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 347, -437 ], "name": "rimOut", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 6/11/18", "", "import fab", "import math", "", "title('Circle (center)')", "", "input('rGear',float)", "input('hTeeth', float)", "input('wBeam', float)", "input('dAxle', float)", "input('kerf', float)", "input('_a',float)", "", "x0 = 0", "y0 = 0", "r = rGear - wBeam - kerf/2", "", "output('shape', fab.shapes.circle(x0, y0, r))", "", "def drag_r(this,x,y,z):", " dx = x - this.x0", " dy = y - this.y0", " this.r = math.sqrt(dx**2 + dy**2)", " this._a = math.atan2(dy, dx)", "", "# UI", "sb.ui.wireframe([", " (math.cos(i/36. * 2*math.pi) * r + x0,", " math.sin(i/36. * 2*math.pi) * r + y0, 0)", " for i in range(36)], close=True)", "sb.ui.point(x0,y0)", "sb.ui.point(x0 + r*math.cos(_a),", " y0 + r*math.sin(_a),", " drag=drag_r, relative=False)", "", "" ], "uid": 2 }, { "datums": [ { "expr": "\u0011[__2.__8]", "name": "rGear", "type": "float", "uid": 8 }, { "expr": "\u0011[__2.__9]", "name": "hTeeth", "type": "float", "uid": 9 }, { "expr": "\u0011[__2.__2]", "name": "wBeam", "type": "float", "uid": 2 }, { "expr": "\u0011[__2.__5]", "name": "dAxle", "type": "float", "uid": 5 }, { "expr": "\u0011[__2.__10]", "name": "kerf", "type": "float", "uid": 10 }, { "expr": "0", "name": "_a", "type": "float", "uid": 3 }, { "expr": "\u0012fab.types.Shape('-r+qXq-Yf13.6f0.5',float('-0.500000'),float('13.100000'),float('-inf'),float('0.500000'),float('14.100000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 680.48617508984489, -437.61568684919166 ], "name": "SupportIn0", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 6/11/18", "", "import fab", "import math", "", "title('Circle (center)')", "", "input('rGear',float)", "input('hTeeth', float)", "input('wBeam', float)", "input('dAxle', float)", "input('kerf', float)", "input('_a',float)", "", "x0 = 0", "y0 = rGear - wBeam/2", "r = dAxle/2 - kerf/2", "", "output('shape', fab.shapes.circle(x0, y0, r))", "", "def drag_r(this,x,y,z):", " dx = x - this.x0", " dy = y - this.y0", " this.r = math.sqrt(dx**2 + dy**2)", " this._a = math.atan2(dy, dx)", "", "# UI", "sb.ui.wireframe([", " (math.cos(i/36. * 2*math.pi) * r + x0,", " math.sin(i/36. * 2*math.pi) * r + y0, 0)", " for i in range(36)], close=True)", "sb.ui.point(x0,y0)", "sb.ui.point(x0 + r*math.cos(_a),", " y0 + r*math.sin(_a),", " drag=drag_r, relative=False)", "", "" ], "uid": 4 }, { "datums": [ { "expr": "\u0011[__0.__4]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__2.__4]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('a-r+qXqYf14.625n-r+qXqYf12.575',float('-14.625000'),float('-14.625000'),float('-inf'),float('14.625000'),float('14.625000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 244.46614198106022, -229.15117264395565 ], "name": "d0", "script": [ "import fab.types", "", "title('Difference')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a & ~b)", "" ], "uid": 8 }, { "datums": [ { "expr": "\u0011[__parent.__0]", "name": "r", "type": "float", "uid": 0 }, { "expr": "\u0012fab.types.Shape('aa-f-21.75X-Xf21.75a-f-29Y-Yf0',float('-21.750000'),float('-29.000000'),float('-inf'),float('21.750000'),float('0.000000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 57.160797531407923, -93.098079443415344 ], "name": "cutoff", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 6/11/15", "", "import fab", "", "title('Rectangle (center)')", "", "input('r', float)", "", "x0 = 0", "y0 = 0", "width = r*3", "height = r*2", "", "xmin, xmax = x0 - width/2, x0 + width/2", "ymin, ymax = y0 - height, y0", "", "output('shape', fab.shapes.rectangle(xmin, xmax, ymin, ymax))", "", "def drag_hw(this, x, y, z):", " this.width = abs(2 * (x - this.x0))", " this.height = abs(2 * (y - this.y0))", "", "# UI", "sb.ui.wireframe(", " [(xmin, ymin, 0), (xmax, ymin, 0), (xmax, ymax, 0), (xmin, ymax, 0)],", " close=True)", "sb.ui.point(x0, y0)", "sb.ui.point(xmax, ymax, drag=drag_hw, relative=False)", "" ], "uid": 1 }, { "datums": [ { "expr": "0.0", "name": "_z", "type": "float", "uid": 2 }, { "expr": "60", "name": "a", "type": "float", "uid": 3 }, { "expr": "\u0011[__1.__4]", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-21.75X-Xf21.75a-f-29Y-Yf0',float('-10.875000'),float('-33.336044'),float('-inf'),float('35.989723'),float('18.836042'),float('inf'))", "name": "rotated", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 368.98835942539597, -88.251018895840417 ], "name": "r1", "script": [ "import fab", "import math", "", "title('Rotate (Z)')", "", "input('_z', float)", "input('a', float)", "", "x = 0", "y = 0", "", "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": 3 }, { "datums": [ { "expr": "0.0", "name": "_z", "type": "float", "uid": 2 }, { "expr": "-60", "name": "a", "type": "float", "uid": 3 }, { "expr": "\u0011[__1.__4]", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf0-Zf0m+*f0.5X*f-0.866025Y+*f0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-21.75X-Xf21.75a-f-29Y-Yf0',float('-35.989723'),float('-33.336044'),float('-inf'),float('10.875000'),float('18.836042'),float('inf'))", "name": "rotated", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 373.83541997297095, 36.156868491916484 ], "name": "r2", "script": [ "import fab", "import math", "", "title('Rotate (Z)')", "", "input('_z', float)", "input('a', float)", "", "x = 0", "y = 0", "", "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": 5 }, { "datums": [ { "expr": "\u0011[__3.__5]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__5.__5]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('im-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-21.75X-Xf21.75a-f-29Y-Yf0m-Xf0-Yf0-Zf0m+*f0.5X*f-0.866025Y+*f0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-21.75X-Xf21.75a-f-29Y-Yf0',float('-35.989723'),float('-33.336044'),float('-inf'),float('35.989723'),float('18.836042'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 671.12180022423422, -18.776484380599541 ], "name": "u0", "script": [ "import fab.types", "", "title('Union')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a | b)", "" ], "uid": 6 }, { "datums": [ { "expr": "\u0011[__8.__2]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__6.__2]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('aa-r+qXqYf14.625n-r+qXqYf12.575nim-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-21.75X-Xf21.75a-f-29Y-Yf0m-Xf0-Yf0-Zf0m+*f0.5X*f-0.866025Y+*f0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-21.75X-Xf21.75a-f-29Y-Yf0',float('-14.625000'),float('-14.625000'),float('-inf'),float('14.625000'),float('14.625000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 674.35317392261743, -175.49810875218941 ], "name": "d1", "script": [ "import fab.types", "", "title('Difference')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a & ~b)", "" ], "uid": 7 }, { "datums": [ { "expr": "\u0011[__13.__3]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__4.__4]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('aiiaa-r+qXqYf14.625n-r+qXqYf12.575nim-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-21.75X-Xf21.75a-f-29Y-Yf0m-Xf0-Yf0-Zf0m+*f0.5X*f-0.866025Y+*f0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-21.75X-Xf21.75a-f-29Y-Yf0iiaa-f-0.875X-Xf0.875a-f-25.5189Y-Yf13.6-r+qXq-Yf-25.5189f4.125-+rbaa-f-0.875X-Xf0.875a-f-25.5189Y-Yf13.6rb-r+qXq-Yf-25.5189f4.125f1-+rbaa-r+qXqYf14.625n-r+qXqYf12.575nim-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-21.75X-Xf21.75a-f-29Y-Yf0m-Xf0-Yf0-Zf0m+*f0.5X*f-0.866025Y+*f0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-21.75X-Xf21.75a-f-29Y-Yf0rbiiaa-f-0.875X-Xf0.875a-f-25.5189Y-Yf13.6-r+qXq-Yf-25.5189f4.125-+rbaa-f-0.875X-Xf0.875a-f-25.5189Y-Yf13.6rb-r+qXq-Yf-25.5189f4.125f1f1n-r+qXq-Yf13.6f0.5',float('-14.625000'),float('-29.643892'),float('-inf'),float('14.625000'),float('14.625000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 1015.2630991020553, -253.05107751338858 ], "name": "d2", "script": [ "import fab.types", "", "title('Difference')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a & ~b)", "" ], "uid": 9 }, { "datums": [ { "expr": "\u0011[__parent.__0]", "name": "rGear", "type": "float", "uid": 9 }, { "expr": "\u0011[__parent.__4]", "name": "wBeam", "type": "float", "uid": 14 }, { "expr": "\u0011[__parent.__6]", "name": "lPend", "type": "float", "uid": 15 }, { "expr": "\u0011[__parent.__7]", "name": "wPend", "type": "float", "uid": 16 }, { "expr": "\u0011[__parent.__9]", "name": "kerf", "type": "float", "uid": 17 }, { "expr": "\u0012fab.types.Shape('aa-f-0.875X-Xf0.875a-f-25.5189Y-Yf13.6',float('-0.875000'),float('-25.518892'),float('-inf'),float('0.875000'),float('13.600000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 52.917788420481543, 64.824290815089867 ], "name": "pendulumLength", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 6/11/15", "", "import fab", "", "title('Rectangle (center)')", "", "input('rGear', float)", "input('wBeam', float)", "input('lPend', float)", "input('wPend', float)", "input('kerf', float)", "", "x0 = 0", "y0 = rGear - wBeam/2", "width = wPend + kerf", "height = lPend", "", "xmin, xmax = x0 - width/2, x0 + width/2", "ymin, ymax = y0 - height, y0", "", "output('shape', fab.shapes.rectangle(xmin, xmax, ymin, ymax))", "", "def drag_hw(this, x, y, z):", " this.width = abs(2 * (x - this.x0))", " this.height = abs(2 * (y - this.y0))", "", "# UI", "sb.ui.wireframe(", " [(xmin, ymin, 0), (xmax, ymin, 0), (xmax, ymax, 0), (xmin, ymax, 0)],", " close=True)", "sb.ui.point(x0, y0)", "sb.ui.point(xmax, ymax, drag=drag_hw, relative=False)", "" ], "uid": 10 }, { "datums": [ { "expr": "\u0011[__parent.__0]", "name": "rGear", "type": "float", "uid": 5 }, { "expr": "\u0011[__parent.__4]", "name": "wBeam", "type": "float", "uid": 6 }, { "expr": "\u0011[__parent.__6]", "name": "lPend", "type": "float", "uid": 7 }, { "expr": "\u0011[__parent.__8]", "name": "rPend", "type": "float", "uid": 11 }, { "expr": "\u0011[__parent.__9]", "name": "kerf", "type": "float", "uid": 9 }, { "expr": "\u0012fab.types.Shape('-r+qXq-Yf-25.5189f4.125',float('-4.125000'),float('-29.643892'),float('-inf'),float('4.125000'),float('-21.393892'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 47.626009578433354, 285.75605747060024 ], "name": "pendulumCircle", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 6/11/18", "", "import fab", "import math", "", "title('Circle (center)')", "", "input('rGear', float)", "input('wBeam', float)", "input('lPend', float)", "input('rPend', float)", "input('kerf', float)", "", "x0 = 0", "y0 = rGear - wBeam/2 - lPend", "r = rPend + kerf/2", "", "output('shape', fab.shapes.circle(x0, y0, r))", "", "def drag_r(this,x,y,z):", " dx = x - this.x0", " dy = y - this.y0", " this.r = math.sqrt(dx**2 + dy**2)", " this._a = math.atan2(dy, dx)", "", "# UI", "sb.ui.wireframe([", " (math.cos(i/36. * 2*math.pi) * r + x0,", " math.sin(i/36. * 2*math.pi) * r + y0, 0)", " for i in range(36)], close=True)", "sb.ui.point(x0,y0)", "" ], "uid": 11 }, { "datums": [ { "expr": "\u0011[__10.__4]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__11.__4]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "1", "name": "q", "type": "float", "uid": 2 }, { "expr": "\u0012fab.types.Shape('iiaa-f-0.875X-Xf0.875a-f-25.5189Y-Yf13.6-r+qXq-Yf-25.5189f4.125-+rbaa-f-0.875X-Xf0.875a-f-25.5189Y-Yf13.6rb-r+qXq-Yf-25.5189f4.125f1',float('-4.125000'),float('-29.643892'),float('-inf'),float('4.125000'),float('13.600000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 3 } ], "inspector": [ 362.48685068029835, 227.54649020807051 ], "name": "b0", "script": [ "import fab.types", "import fab.shapes", "", "title('Blend')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "input('q', float)", "", "output('shape', fab.shapes.blend(a, b, q))", "" ], "uid": 12 }, { "datums": [ { "expr": "\u0011[__7.__2]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__12.__3]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "1", "name": "q", "type": "float", "uid": 2 }, { "expr": "\u0012fab.types.Shape('iiaa-r+qXqYf14.625n-r+qXqYf12.575nim-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-21.75X-Xf21.75a-f-29Y-Yf0m-Xf0-Yf0-Zf0m+*f0.5X*f-0.866025Y+*f0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-21.75X-Xf21.75a-f-29Y-Yf0iiaa-f-0.875X-Xf0.875a-f-25.5189Y-Yf13.6-r+qXq-Yf-25.5189f4.125-+rbaa-f-0.875X-Xf0.875a-f-25.5189Y-Yf13.6rb-r+qXq-Yf-25.5189f4.125f1-+rbaa-r+qXqYf14.625n-r+qXqYf12.575nim-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-21.75X-Xf21.75a-f-29Y-Yf0m-Xf0-Yf0-Zf0m+*f0.5X*f-0.866025Y+*f0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-21.75X-Xf21.75a-f-29Y-Yf0rbiiaa-f-0.875X-Xf0.875a-f-25.5189Y-Yf13.6-r+qXq-Yf-25.5189f4.125-+rbaa-f-0.875X-Xf0.875a-f-25.5189Y-Yf13.6rb-r+qXq-Yf-25.5189f4.125f1f1',float('-14.625000'),float('-29.643892'),float('-inf'),float('14.625000'),float('14.625000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 3 } ], "inspector": [ 855.94522770128845, 149.49275228786027 ], "name": "b1", "script": [ "import fab.types", "import fab.shapes", "", "title('Blend')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "input('q', float)", "", "output('shape', fab.shapes.blend(a, b, q))", "" ], "uid": 13 } ], "uid": 19 }, { "datums": [ { "expr": "-34", "name": "x", "type": "float", "uid": 0 }, { "expr": "-8", "name": "y", "type": "float", "uid": 1 }, { "expr": "0.0", "name": "z", "type": "float", "uid": 2 }, { "expr": "\u0011[__19.__1]", "name": "shape", "type": "_fabtypes.Shape", "uid": 3 }, { "expr": "\u0012fab.types.Shape('m-Xf-34-Yf-0.490554-Zf0aiiaa-r+qXqYf14.625n-r+qXqYf12.575nim-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-21.75X-Xf21.75a-f-29Y-Yf0m-Xf0-Yf0-Zf0m+*f0.5X*f-0.866025Y+*f0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-21.75X-Xf21.75a-f-29Y-Yf0iiaa-f-0.875X-Xf0.875a-f-25.5189Y-Yf13.6-r+qXq-Yf-25.5189f4.125-+rbaa-f-0.875X-Xf0.875a-f-25.5189Y-Yf13.6rb-r+qXq-Yf-25.5189f4.125f1-+rbaa-r+qXqYf14.625n-r+qXqYf12.575nim-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-21.75X-Xf21.75a-f-29Y-Yf0m-Xf0-Yf0-Zf0m+*f0.5X*f-0.866025Y+*f0.866025X*f0.5Y_m-Xf0-Yf0-Zf0aa-f-21.75X-Xf21.75a-f-29Y-Yf0rbiiaa-f-0.875X-Xf0.875a-f-25.5189Y-Yf13.6-r+qXq-Yf-25.5189f4.125-+rbaa-f-0.875X-Xf0.875a-f-25.5189Y-Yf13.6rb-r+qXq-Yf-25.5189f4.125f1f1n-r+qXq-Yf13.6f0.5',float('-48.625000'),float('-30.134447'),float('-inf'),float('-19.375000'),float('14.134446'),float('inf'))", "name": "out", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 886.38709195402407, 760.37064735932779 ], "name": "r9", "script": [ "import fab", "", "title('Recenter')", "", "input('x', float)", "input('y', float)", "input('z', float)", "", "input('shape', fab.types.Shape)", "output('out', fab.shapes.recenter(shape, x, y, z))", "", "# UI", "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)", "" ], "uid": 20 }, { "datums": [ { "expr": "var.h", "name": "h", "subdatum": [ -395, -481 ], "type": "float", "uid": 1 }, { "expr": "var.d", "name": "d", "subdatum": [ -398, -444 ], "type": "float", "uid": 2 }, { "expr": "var.wBeam", "name": "wBeam", "subdatum": [ -398.52773789482069, -407.5277378948208 ], "type": "float", "uid": 3 }, { "expr": "1.660", "name": "dAxle", "subdatum": [ -397, -369 ], "type": "float", "uid": 4 }, { "expr": "var.kerf", "name": "kerf", "subdatum": [ -395, -332 ], "type": "float", "uid": 0 }, { "expr": "\u0013[__23.__2]", "name": "front", "subdatum": [ 1143.6311304463686, 980.52554067751362 ], "type": "_fabtypes.Shape", "uid": 5 }, { "expr": "var.rFace", "name": "rFace", "subdatum": [ -397.69358337662652, -296.32070918258449 ], "type": "float", "uid": 6 }, { "expr": "3", "name": "numScale", "subdatum": [ -537.08676113021693, 2304.7401243902032 ], "type": "float", "uid": 7 } ], "inspector": [ -61.169422418912006, 924.72951613406815 ], "name": "front", "subgraph": [ { "datums": [ { "expr": "\u0011[__parent.__2]", "name": "d", "type": "float", "uid": 0 }, { "expr": "\u0011[__parent.__3]", "name": "wBeam", "type": "float", "uid": 1 }, { "expr": "\u0011[__parent.__0]", "name": "kerf", "type": "float", "uid": 2 }, { "expr": "0.1", "name": "r", "type": "float", "uid": 4 }, { "expr": "\u0012fab.types.Shape('iiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875',float('-6.187500'),float('-6.187500'),float('-inf'),float('6.187500'),float('6.187500'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ -57, -472 ], "name": "squareOut", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 6/11/15", "", "import fab", "", "title('Rounded rectangle (center)')", "", "input('d', float)", "input('wBeam', float)", "input('kerf', float)", "input('r', float)", "", "x = 0", "y = 0", "width = d + wBeam + kerf/2", "height = width", "", "xmin, xmax = x - width/2, x + width/2", "ymin, ymax = y - height/2, y + height/2", "", "# This is the circle's radius in actual units (not a 0-1 fraction)", "r_ = r * min(width, height)/2", "", "output('shape', fab.shapes.rounded_rectangle(xmin, xmax, ymin, ymax, r))", "", "def drag_r(this, x, y, z):", " if abs(this.width) < abs(this.height):", " d = abs(this.width)", " mid = this.y + this.height/2 - d/2", " else:", " d = abs(this.width)", " mid = this.y", " r = 1 - (y - mid) / (d/2)", " this.r = float(min(1, max(0, r)))", "", "def drag_hw(this, x, y, z):", " this.height = abs(2 * (y - this.y))", " this.width = abs(2 * (x - this.x))", "", "# UI", "sb.ui.wireframe(", " [(xmin, ymin, 0), (xmax, ymin, 0), (xmax, ymax, 0), (xmin, ymax, 0)],", " close=True)", "sb.ui.wireframe([(xmax - r_, ymax, 0), (xmax, ymax - r_, 0)])", "sb.ui.point(x, y)", "sb.ui.point(xmax, ymax, drag=drag_hw, relative=False)", "sb.ui.point(xmax, ymax - r_, drag=drag_r, relative=False)", "", "" ], "uid": 0 }, { "datums": [ { "expr": "\u0011[__0.__0]", "name": "d", "type": "float", "uid": 6 }, { "expr": "\u0011[__0.__1]", "name": "wBeam", "type": "float", "uid": 7 }, { "expr": "\u0011[__0.__2]", "name": "kerf", "type": "float", "uid": 8 }, { "expr": "\u0011[__0.__4]", "name": "r", "type": "float", "uid": 4 }, { "expr": "\u0012fab.types.Shape('iiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625',float('-5.062500'),float('-5.062500'),float('-inf'),float('5.062500'),float('5.062500'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 265, -472 ], "name": "squareIn", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 6/11/15", "", "import fab", "", "title('Rounded rectangle (center)')", "", "input('d', float)", "input('wBeam', float)", "input('kerf', float)", "input('r', float)", "", "x = 0", "y = 0", "width = d - wBeam - kerf/2", "height = width", "", "xmin, xmax = x - width/2, x + width/2", "ymin, ymax = y - height/2, y + height/2", "", "# This is the circle's radius in actual units (not a 0-1 fraction)", "r_ = r * min(width, height)/2", "", "output('shape', fab.shapes.rounded_rectangle(xmin, xmax, ymin, ymax, r))", "", "def drag_r(this, x, y, z):", " if abs(this.width) < abs(this.height):", " d = abs(this.width)", " mid = this.y + this.height/2 - d/2", " else:", " d = abs(this.width)", " mid = this.y", " r = 1 - (y - mid) / (d/2)", " this.r = float(min(1, max(0, r)))", "", "def drag_hw(this, x, y, z):", " this.height = abs(2 * (y - this.y))", " this.width = abs(2 * (x - this.x))", "", "# UI", "sb.ui.wireframe(", " [(xmin, ymin, 0), (xmax, ymin, 0), (xmax, ymax, 0), (xmin, ymax, 0)],", " close=True)", "sb.ui.wireframe([(xmax - r_, ymax, 0), (xmax, ymax - r_, 0)])", "sb.ui.point(x, y)", "sb.ui.point(xmax, ymax, drag=drag_hw, relative=False)", "sb.ui.point(xmax, ymax - r_, drag=drag_r, relative=False)", "", "" ], "uid": 1 }, { "datums": [ { "expr": "\u0011[__0.__5]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__1.__5]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625',float('-6.187500'),float('-6.187500'),float('-inf'),float('6.187500'),float('6.187500'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 171, -282 ], "name": "d0", "script": [ "import fab.types", "", "title('Difference')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a & ~b)", "" ], "uid": 2 }, { "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": "45", "name": "a", "type": "float", "uid": 3 }, { "expr": "\u0011[__2.__2]", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625',float('-8.750449'),float('-8.750449'),float('-inf'),float('8.750449'),float('8.750449'),float('inf'))", "name": "rotated", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 470, -281 ], "name": "r1", "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": 3 }, { "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": "\u0011[__3.__5]", "name": "shape", "type": "_fabtypes.Shape", "uid": 3 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625',float('-8.750449'),float('-8.750449'),float('-inf'),float('8.750449'),float('8.750449'),float('inf'))", "name": "out", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 794.29524869031002, -469.36198952248031 ], "name": "r2", "script": [ "import fab", "", "title('Recenter')", "", "input('x', float)", "input('y', float)", "input('z', float)", "", "input('shape', fab.types.Shape)", "output('out', fab.shapes.recenter(shape, x, y, z))", "", "# UI", "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)", "" ], "uid": 4 }, { "datums": [ { "expr": "0.0", "name": "x", "type": "float", "uid": 0 }, { "expr": "-15.909902", "name": "y", "type": "float", "uid": 1 }, { "expr": "0.0", "name": "z", "type": "float", "uid": 2 }, { "expr": "\u0011[__3.__5]", "name": "shape", "type": "_fabtypes.Shape", "uid": 3 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625',float('-8.750449'),float('-24.660349'),float('-inf'),float('8.750449'),float('-7.159451'),float('inf'))", "name": "out", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 795.29524869031002, -287.36198952248043 ], "name": "r3", "script": [ "import fab", "", "title('Recenter')", "", "input('x', float)", "input('y', float)", "input('z', float)", "", "input('shape', fab.types.Shape)", "output('out', fab.shapes.recenter(shape, x, y, z))", "", "# UI", "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)", "" ], "uid": 5 }, { "datums": [ { "expr": "\u0011[__4.__4]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__5.__4]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "1", "name": "q", "type": "float", "uid": 2 }, { "expr": "\u0012fab.types.Shape('iim-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1',float('-8.750449'),float('-24.660349'),float('-inf'),float('8.750449'),float('8.750449'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 3 } ], "inspector": [ 1086.2410370511029, -316.39201066741191 ], "name": "b0", "script": [ "import fab.types", "import fab.shapes", "", "title('Blend')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "input('q', float)", "", "output('shape', fab.shapes.blend(a, b, q))", "" ], "uid": 6 }, { "datums": [ { "expr": "\u0011[__parent.__1]", "name": "h", "type": "float", "uid": 8 }, { "expr": "\u0011[__parent.__2]", "name": "d", "type": "float", "uid": 5 }, { "expr": "\u0011[__parent.__3]", "name": "wBeam", "type": "float", "uid": 6 }, { "expr": "\u0011[__parent.__0]", "name": "kerf", "type": "float", "uid": 7 }, { "expr": "\u0012fab.types.Shape('aa-f7.2987X-Xf8.5487a-f-55.9347Y-Yf-0.1',float('7.298701'),float('-55.934658'),float('-inf'),float('8.548701'),float('-0.100000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ -60, -3 ], "name": "rLeg", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 6/11/15", "", "import fab", "import math", "", "title('Rectangle (center)')", "", "input('h', float)", "input('d', float)", "input('wBeam', float)", "input('kerf', float)", "", "x0 = d/math.sqrt(2) - wBeam*1/32", "y0 = 0", "width = wBeam + kerf", "height = h - d/math.sqrt(2) + kerf", "", "xmin, xmax = x0 - width/2, x0 + width/2", "ymin, ymax = y0 - height, y0-0.1", "", "output('shape', fab.shapes.rectangle(xmin, xmax, ymin, ymax))", "", "def drag_hw(this, x, y, z):", " this.width = abs(2 * (x - this.x0))", " this.height = abs(2 * (y - this.y0))", "", "# UI", "sb.ui.wireframe(", " [(xmin, ymin, 0), (xmax, ymin, 0), (xmax, ymax, 0), (xmin, ymax, 0)],", " close=True)", "sb.ui.point(x0, y0)", "sb.ui.point(xmax, ymax, drag=drag_hw, relative=False)", "" ], "uid": 9 }, { "datums": [ { "expr": "\u0011[__9.__8]", "name": "h", "type": "float", "uid": 8 }, { "expr": "\u0011[__9.__5]", "name": "d", "type": "float", "uid": 5 }, { "expr": "\u0011[__9.__6]", "name": "wBeam", "type": "float", "uid": 6 }, { "expr": "\u0011[__9.__7]", "name": "kerf", "type": "float", "uid": 7 }, { "expr": "\u0012fab.types.Shape('aa-f-8.5487X-Xf-7.2987a-f-55.9347Y-Yf-0.1',float('-8.548701'),float('-55.934658'),float('-inf'),float('-7.298701'),float('-0.100000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 233.04264406948107, -1.6465819707647142 ], "name": "lLeg", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 6/11/15", "", "import fab", "import math", "", "title('Rectangle (center)')", "", "input('h', float)", "input('d', float)", "input('wBeam', float)", "input('kerf', float)", "", "x0 = -d/math.sqrt(2) + wBeam/32", "y0 = 0", "width = wBeam + kerf", "height = h - d/math.sqrt(2) + kerf", "", "xmin, xmax = x0 - width/2, x0 + width/2", "ymin, ymax = y0 - height, y0-0.1", "", "output('shape', fab.shapes.rectangle(xmin, xmax, ymin, ymax))", "", "def drag_hw(this, x, y, z):", " this.width = abs(2 * (x - this.x0))", " this.height = abs(2 * (y - this.y0))", "", "# UI", "sb.ui.wireframe(", " [(xmin, ymin, 0), (xmax, ymin, 0), (xmax, ymax, 0), (xmin, ymax, 0)],", " close=True)", "sb.ui.point(x0, y0)", "sb.ui.point(xmax, ymax, drag=drag_hw, relative=False)", "" ], "uid": 10 }, { "datums": [ { "expr": "\u0011[__9.__4]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__10.__4]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('iaa-f7.2987X-Xf8.5487a-f-55.9347Y-Yf-0.1aa-f-8.5487X-Xf-7.2987a-f-55.9347Y-Yf-0.1',float('-8.548701'),float('-55.934658'),float('-inf'),float('8.548701'),float('-0.100000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 153.90915907961178, 197.9241303673526 ], "name": "u0", "script": [ "import fab.types", "", "title('Union')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a | b)", "" ], "uid": 11 }, { "datums": [ { "expr": "\u0011[__71.__3]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__11.__2]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "0.8", "name": "q", "type": "float", "uid": 2 }, { "expr": "\u0012fab.types.Shape('iiiiiim-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1iim-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-47.7297-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-47.7297-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1-+rbiim-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1rbiim-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-47.7297-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-47.7297-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1f1iaa-f7.2987X-Xf8.5487a-f-55.9347Y-Yf-0.1aa-f-8.5487X-Xf-7.2987a-f-55.9347Y-Yf-0.1-+rbiiiim-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1iim-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-47.7297-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-47.7297-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1-+rbiim-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1rbiim-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-47.7297-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-47.7297-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1f1rbiaa-f7.2987X-Xf8.5487a-f-55.9347Y-Yf-0.1aa-f-8.5487X-Xf-7.2987a-f-55.9347Y-Yf-0.1f0.8',float('-8.750449'),float('-56.480148'),float('-inf'),float('8.750449'),float('8.750449'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 3 } ], "inspector": [ 889.4946218639335, 297.21417375366184 ], "name": "b1", "script": [ "import fab.types", "import fab.shapes", "", "title('Blend')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "input('q', float)", "", "output('shape', fab.shapes.blend(a, b, q))", "" ], "uid": 12 }, { "datums": [ { "expr": "\u0011[__parent.__2]", "name": "d", "type": "float", "uid": 5 }, { "expr": "\u0011[__parent.__4]", "name": "dAxle", "type": "float", "uid": 14 }, { "expr": "\u0011[__parent.__0]", "name": "kerf", "type": "float", "uid": 13 }, { "expr": "0", "name": "_a", "type": "float", "uid": 3 }, { "expr": "\u0012fab.types.Shape('-r+qXq-Yf-7.95495f0.705',float('-0.705000'),float('-8.659951'),float('-inf'),float('0.705000'),float('-7.249951'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ -56.480947425081013, 729.87706590433027 ], "name": "clockHole", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 6/11/18", "", "import fab", "import math", "", "title('Circle (center)')", "", "input('d',float)", "input('dAxle',float)", "input('kerf',float)", "input('_a',float)", "", "x0 = 0", "y0 = -d/math.sqrt(2)", "r = dAxle/2 - kerf/2", "", "output('shape', fab.shapes.circle(x0, y0, r))", "", "def drag_r(this,x,y,z):", " dx = x - this.x0", " dy = y - this.y0", " this.r = math.sqrt(dx**2 + dy**2)", " this._a = math.atan2(dy, dx)", "", "# UI", "sb.ui.wireframe([", " (math.cos(i/36. * 2*math.pi) * r + x0,", " math.sin(i/36. * 2*math.pi) * r + y0, 0)", " for i in range(36)], close=True)", "sb.ui.point(x0,y0)", "sb.ui.point(x0 + r*math.cos(_a),", " y0 + r*math.sin(_a),", " drag=drag_r, relative=False)", "", "" ], "uid": 13 }, { "datums": [ { "expr": "\u0011[__20.__2]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__13.__4]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('aiaiiiiiim-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1iim-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-47.7297-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-47.7297-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1-+rbiim-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1rbiim-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-47.7297-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-47.7297-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1f1iaa-f7.2987X-Xf8.5487a-f-55.9347Y-Yf-0.1aa-f-8.5487X-Xf-7.2987a-f-55.9347Y-Yf-0.1-+rbiiiim-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1iim-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-47.7297-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-47.7297-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1-+rbiim-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1rbiim-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-47.7297-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-47.7297-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1f1rbiaa-f7.2987X-Xf8.5487a-f-55.9347Y-Yf-0.1aa-f-8.5487X-Xf-7.2987a-f-55.9347Y-Yf-0.1f0.8niaa-f8.5487X-Xf9.7987a-f-55.9347Y-Yf1aa-f-9.7987X-Xf-8.5487a-f-55.9347Y-Yf1-r+qXq-Yf-7.95495f8.125n-r+qXq-Yf-7.95495f0.705',float('-8.750449'),float('-56.480148'),float('-inf'),float('8.750449'),float('8.750449'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 626.02676032159002, 758.53050997581647 ], "name": "d2", "script": [ "import fab.types", "", "title('Difference')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a & ~b)", "" ], "uid": 14 }, { "datums": [ { "expr": "\u0011[__16.__4]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__8.__4]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('iaa-f8.5487X-Xf9.7987a-f-55.9347Y-Yf1aa-f-9.7987X-Xf-8.5487a-f-55.9347Y-Yf1',float('-9.798701'),float('-55.934658'),float('-inf'),float('9.798701'),float('1.000000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 166.9646348692533, 542.00816698917811 ], "name": "u1", "script": [ "import fab.types", "", "title('Union')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a | b)", "" ], "uid": 7 }, { "datums": [ { "expr": "\u0011[__16.__8]", "name": "h", "type": "float", "uid": 8 }, { "expr": "\u0011[__16.__5]", "name": "d", "type": "float", "uid": 5 }, { "expr": "\u0011[__16.__6]", "name": "wBeam", "type": "float", "uid": 6 }, { "expr": "\u0011[__16.__7]", "name": "kerf", "type": "float", "uid": 7 }, { "expr": "\u0012fab.types.Shape('aa-f-9.7987X-Xf-8.5487a-f-55.9347Y-Yf1',float('-9.798701'),float('-55.934658'),float('-inf'),float('-8.548701'),float('1.000000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 247.62585775394325, 350.56670646908123 ], "name": "lLeg0", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 6/11/15", "", "import fab", "import math", "", "title('Rectangle (center)')", "", "input('h', float)", "input('d', float)", "input('wBeam', float)", "input('kerf', float)", "", "x0 = -d/math.sqrt(2) + wBeam*1/32 - wBeam - kerf", "y0 = 0", "width = wBeam + kerf", "height = h - d/math.sqrt(2) + kerf", "", "xmin, xmax = x0 - width/2, x0 + width/2", "ymin, ymax = y0 - height, y0+1", "", "output('shape', fab.shapes.rectangle(xmin, xmax, ymin, ymax))", "", "def drag_hw(this, x, y, z):", " this.width = abs(2 * (x - this.x0))", " this.height = abs(2 * (y - this.y0))", "", "# UI", "sb.ui.wireframe(", " [(xmin, ymin, 0), (xmax, ymin, 0), (xmax, ymax, 0), (xmin, ymax, 0)],", " close=True)", "sb.ui.point(x0, y0)", "sb.ui.point(xmax, ymax, drag=drag_hw, relative=False)", "" ], "uid": 8 }, { "datums": [ { "expr": "\u0011[__parent.__1]", "name": "h", "type": "float", "uid": 8 }, { "expr": "\u0011[__parent.__2]", "name": "d", "type": "float", "uid": 5 }, { "expr": "\u0011[__parent.__3]", "name": "wBeam", "type": "float", "uid": 6 }, { "expr": "\u0011[__parent.__0]", "name": "kerf", "type": "float", "uid": 7 }, { "expr": "\u0012fab.types.Shape('aa-f8.5487X-Xf9.7987a-f-55.9347Y-Yf1',float('8.548701'),float('-55.934658'),float('-inf'),float('9.798701'),float('1.000000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ -51.18463211002711, 349.87254120533612 ], "name": "rLeg0", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 6/11/15", "", "import fab", "import math", "", "title('Rectangle (center)')", "", "input('h', float)", "input('d', float)", "input('wBeam', float)", "input('kerf', float)", "", "x0 = d/math.sqrt(2) - wBeam*1/32 + wBeam + kerf", "y0 = 0", "width = wBeam + kerf", "height = h - d/math.sqrt(2) + kerf", "", "xmin, xmax = x0 - width/2, x0 + width/2", "ymin, ymax = y0 - height, y0+1", "", "output('shape', fab.shapes.rectangle(xmin, xmax, ymin, ymax))", "", "def drag_hw(this, x, y, z):", " this.width = abs(2 * (x - this.x0))", " this.height = abs(2 * (y - this.y0))", "", "# UI", "sb.ui.wireframe(", " [(xmin, ymin, 0), (xmax, ymin, 0), (xmax, ymax, 0), (xmin, ymax, 0)],", " close=True)", "sb.ui.point(x0, y0)", "sb.ui.point(xmax, ymax, drag=drag_hw, relative=False)", "" ], "uid": 16 }, { "datums": [ { "expr": "\u0011[__12.__3]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__7.__2]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('aiiiiiim-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1iim-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-47.7297-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-47.7297-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1-+rbiim-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1rbiim-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-47.7297-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-47.7297-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1f1iaa-f7.2987X-Xf8.5487a-f-55.9347Y-Yf-0.1aa-f-8.5487X-Xf-7.2987a-f-55.9347Y-Yf-0.1-+rbiiiim-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1iim-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-47.7297-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-47.7297-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1-+rbiim-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1rbiim-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-47.7297-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-47.7297-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1f1rbiaa-f7.2987X-Xf8.5487a-f-55.9347Y-Yf-0.1aa-f-8.5487X-Xf-7.2987a-f-55.9347Y-Yf-0.1f0.8niaa-f8.5487X-Xf9.7987a-f-55.9347Y-Yf1aa-f-9.7987X-Xf-8.5487a-f-55.9347Y-Yf1',float('-8.750449'),float('-56.480148'),float('-inf'),float('8.750449'),float('8.750449'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 653.5371662728295, 488.51203031679063 ], "name": "d1", "script": [ "import fab.types", "", "title('Difference')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a & ~b)", "" ], "uid": 15 }, { "datums": [ { "expr": "\u0011[__parent.__1]", "name": "h", "type": "float", "uid": 5 }, { "expr": "\u0011[__parent.__2]", "name": "d", "type": "float", "uid": 0 }, { "expr": "\u0011[__parent.__0]", "name": "kerf", "type": "float", "uid": 1 }, { "expr": "\u0012fab.types.Shape('aa-f-9.54594X-Xf9.54594a-f-59.1047Y-Yf-47.8547',float('-9.545941'),float('-59.104710'),float('-inf'),float('9.545941'),float('-47.854710'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ -51.408129122927541, 905.41255985890757 ], "name": "r0", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 6/11/15", "", "import fab", "import math", "", "title('Rectangle (center)')", "", "input('h', float)", "input('d', float)", "input('kerf', float)", "", "x0 = 0", "y0 = -h*3/4 - kerf/2", "width = d*math.sqrt(2)*1.2", "height = d", "", "xmin, xmax = x0 - width/2, x0 + width/2", "ymin, ymax = y0 - height, y0", "", "output('shape', fab.shapes.rectangle(xmin, xmax, ymin, ymax))", "", "def drag_hw(this, x, y, z):", " this.width = abs(2 * (x - this.x0))", " this.height = abs(2 * (y - this.y0))", "", "# UI", "sb.ui.wireframe(", " [(xmin, ymin, 0), (xmax, ymin, 0), (xmax, ymax, 0), (xmin, ymax, 0)],", " close=True)", "sb.ui.point(x0, y0)", "sb.ui.point(xmax, ymax, drag=drag_hw, relative=False)", "" ], "uid": 17 }, { "datums": [ { "expr": "\u0011[__14.__2]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__17.__4]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('aaiaiiiiiim-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1iim-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-47.7297-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-47.7297-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1-+rbiim-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1rbiim-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-47.7297-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-47.7297-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1f1iaa-f7.2987X-Xf8.5487a-f-55.9347Y-Yf-0.1aa-f-8.5487X-Xf-7.2987a-f-55.9347Y-Yf-0.1-+rbiiiim-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1iim-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-47.7297-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-47.7297-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1-+rbiim-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1rbiim-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-47.7297-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-47.7297-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1f1rbiaa-f7.2987X-Xf8.5487a-f-55.9347Y-Yf-0.1aa-f-8.5487X-Xf-7.2987a-f-55.9347Y-Yf-0.1f0.8niaa-f8.5487X-Xf9.7987a-f-55.9347Y-Yf1aa-f-9.7987X-Xf-8.5487a-f-55.9347Y-Yf1-r+qXq-Yf-7.95495f8.125n-r+qXq-Yf-7.95495f0.705naa-f-9.54594X-Xf9.54594a-f-59.1047Y-Yf-47.8547',float('-8.750449'),float('-56.480148'),float('-inf'),float('8.750449'),float('8.750449'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 828.31927542264214, 896.69468730894494 ], "name": "d3", "script": [ "import fab.types", "", "title('Difference')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a & ~b)", "" ], "uid": 18 }, { "datums": [ { "expr": "\u0011[__parent.__2]", "name": "d", "type": "float", "uid": 5 }, { "expr": "\u0011[__parent.__6]", "name": "rFace", "type": "float", "uid": 0 }, { "expr": "\u0011[__parent.__0]", "name": "kerf", "type": "float", "uid": 1 }, { "expr": "0", "name": "_a", "type": "float", "uid": 3 }, { "expr": "\u0012fab.types.Shape('-r+qXq-Yf-7.95495f8.125',float('-8.125000'),float('-16.079952'),float('-inf'),float('8.125000'),float('0.170049'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ -47.532942344197629, 1093.6707103516067 ], "name": "face", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 6/11/18", "", "import fab", "import math", "", "title('Circle (center)')", "", "input('d',float)", "input('rFace',float)", "input('kerf', float)", "input('_a',float)", "", "x0 = 0", "y0 = -d/math.sqrt(2)", "r = rFace + kerf/2", "", "output('shape', fab.shapes.circle(x0, y0, r))", "", "def drag_r(this,x,y,z):", " dx = x - this.x0", " dy = y - this.y0", " this.r = math.sqrt(dx**2 + dy**2)", " this._a = math.atan2(dy, dx)", "", "# UI", "sb.ui.wireframe([", " (math.cos(i/36. * 2*math.pi) * r + x0,", " math.sin(i/36. * 2*math.pi) * r + y0, 0)", " for i in range(36)], close=True)", "sb.ui.point(x0,y0)", "sb.ui.point(x0 + r*math.cos(_a),", " y0 + r*math.sin(_a),", " drag=drag_r, relative=False)", "", "" ], "uid": 19 }, { "datums": [ { "expr": "'12'", "name": "text", "type": "str", "uid": 2 }, { "expr": "\u0011[__parent.__7]", "name": "scale", "type": "float", "uid": 3 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf0-Zf0m+f0/-Xf0f3+f0/-Yf0f3_m-Xf0-Yf1-Zf0im-Xf0-Yf-1-Zf0aaaa-f0X-Xf0.3a-f0Y-Yf1n-r+qXq-Yf1f0.2naa-f0X-Xf0.2a-f0Y-Yf0.7m-Xf0.4-Yf-1-Zf0iiiaa-r+q-Xf0.275q-Yf0.725f0.275n-r+q-Xf0.275q-Yf0.725f0.175naa-f0X-Xf0.55a-f0Y-Yf0.725aa-f0X-Xf0.55a-f0Y-Yf0.1ni-*f0.675-Xf0*f0.45-Yf0.1i-*f-0.05-Xf0.45*f0.1-Yf0.775-*f-0.625-Xf0.55*f-0.55-Yf0.725ni-*f0.625-Xf0*f0.55-Yf0.1i-*f-0.625-Xf0.55*f-0.425-Yf0.725-*f0-Xf0.125*f-0.125-Yf0.1',float('0.000000'),float('0.000000'),float('-inf'),float('2.850000'),float('3.000000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ -35.132708006807448, 1263.2980858370595 ], "name": "t0", "script": [ "import fab", "", "title('Text')", "", "input('text', str)", "input('scale', float)", "", "x = 0", "y = 0", "", "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": 21 }, { "datums": [ { "expr": "\u0011[__19.__5]", "name": "d", "type": "float", "uid": 6 }, { "expr": "\u0011[__19.__0]", "name": "rFace", "type": "float", "uid": 11 }, { "expr": "\u0011[__21.__4]", "name": "shape", "type": "_fabtypes.Shape", "uid": 3 }, { "expr": "\u0012fab.types.Shape('m-Xf-1.425-Yf-3.05495-Zf0m-Xf0-Yf0-Zf0m+f0/-Xf0f3+f0/-Yf0f3_m-Xf0-Yf1-Zf0im-Xf0-Yf-1-Zf0aaaa-f0X-Xf0.3a-f0Y-Yf1n-r+qXq-Yf1f0.2naa-f0X-Xf0.2a-f0Y-Yf0.7m-Xf0.4-Yf-1-Zf0iiiaa-r+q-Xf0.275q-Yf0.725f0.275n-r+q-Xf0.275q-Yf0.725f0.175naa-f0X-Xf0.55a-f0Y-Yf0.725aa-f0X-Xf0.55a-f0Y-Yf0.1ni-*f0.675-Xf0*f0.45-Yf0.1i-*f-0.05-Xf0.45*f0.1-Yf0.775-*f-0.625-Xf0.55*f-0.55-Yf0.725ni-*f0.625-Xf0*f0.55-Yf0.1i-*f-0.625-Xf0.55*f-0.425-Yf0.725-*f0-Xf0.125*f-0.125-Yf0.1',float('-1.425000'),float('-3.054950'),float('-inf'),float('1.425000'),float('-0.054950'),float('inf'))", "name": "out", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 245.43703232036171, 1250.5518062649865 ], "name": "r4", "script": [ "import fab", "import math", "", "title('Recenter')", "", "input('d', float)", "input('rFace', float)", "", "x = 0", "z = 0", "y = -d/math.sqrt(2) + rFace*4/5", "", "input('shape', fab.types.Shape)", "output('out', fab.shapes.recenter(shape, x, y, z))", "", "# UI", "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)", "" ], "uid": 22 }, { "datums": [ { "expr": "\u0011[__18.__2]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__51.__2]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('aaaiaiiiiiim-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1iim-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-47.7297-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-47.7297-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1-+rbiim-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1rbiim-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-47.7297-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-47.7297-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1f1iaa-f7.2987X-Xf8.5487a-f-55.9347Y-Yf-0.1aa-f-8.5487X-Xf-7.2987a-f-55.9347Y-Yf-0.1-+rbiiiim-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1iim-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-47.7297-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-47.7297-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1-+rbiim-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1rbiim-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-47.7297-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-47.7297-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1f1rbiaa-f7.2987X-Xf8.5487a-f-55.9347Y-Yf-0.1aa-f-8.5487X-Xf-7.2987a-f-55.9347Y-Yf-0.1f0.8niaa-f8.5487X-Xf9.7987a-f-55.9347Y-Yf1aa-f-9.7987X-Xf-8.5487a-f-55.9347Y-Yf1-r+qXq-Yf-7.95495f8.125n-r+qXq-Yf-7.95495f0.705naa-f-9.54594X-Xf9.54594a-f-59.1047Y-Yf-47.8547niiim-Xf-1.425-Yf-3.05495-Zf0m-Xf0-Yf0-Zf0m+f0/-Xf0f3+f0/-Yf0f3_m-Xf0-Yf1-Zf0im-Xf0-Yf-1-Zf0aaaa-f0X-Xf0.3a-f0Y-Yf1n-r+qXq-Yf1f0.2naa-f0X-Xf0.2a-f0Y-Yf0.7m-Xf0.4-Yf-1-Zf0iiiaa-r+q-Xf0.275q-Yf0.725f0.275n-r+q-Xf0.275q-Yf0.725f0.175naa-f0X-Xf0.55a-f0Y-Yf0.725aa-f0X-Xf0.55a-f0Y-Yf0.1ni-*f0.675-Xf0*f0.45-Yf0.1i-*f-0.05-Xf0.45*f0.1-Yf0.775-*f-0.625-Xf0.55*f-0.55-Yf0.725ni-*f0.625-Xf0*f0.55-Yf0.1i-*f-0.625-Xf0.55*f-0.425-Yf0.725-*f0-Xf0.125*f-0.125-Yf0.1m-Xf0-Yf-7.95495-Zf0m+*f0.866025X*f-0.5Y+*f0.5X*f0.866025Y_m-Xf0-Yf7.95495-Zf0m-Xf-0.45-Yf-3.05495-Zf0m-Xf0-Yf0-Zf0m+f0/-Xf0f3+f0/-Yf0f3_m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0aaaa-f0X-Xf0.3a-f0Y-Yf1n-r+qXq-Yf1f0.2naa-f0X-Xf0.2a-f0Y-Yf0.7im-Xf0-Yf-7.95495-Zf0m+*f0.5X*f-0.866025Y+*f0.866025X*f0.5Y_m-Xf0-Yf7.95495-Zf0m-Xf-0.825-Yf-3.05495-Zf0m-Xf0-Yf0-Zf0m+f0/-Xf0f3+f0/-Yf0f3_m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iiiaa-r+q-Xf0.275q-Yf0.725f0.275n-r+q-Xf0.275q-Yf0.725f0.175naa-f0X-Xf0.55a-f0Y-Yf0.725aa-f0X-Xf0.55a-f0Y-Yf0.1ni-*f0.675-Xf0*f0.45-Yf0.1i-*f-0.05-Xf0.45*f0.1-Yf0.775-*f-0.625-Xf0.55*f-0.55-Yf0.725ni-*f0.625-Xf0*f0.55-Yf0.1i-*f-0.625-Xf0.55*f-0.425-Yf0.725-*f0-Xf0.125*f-0.125-Yf0.1m-Xf0-Yf-7.95495-Zf0m+*f6.12323e-17X*f-1Y+*f1X*f6.12323e-17Y_m-Xf0-Yf7.95495-Zf0m-Xf-0.9-Yf-3.05495-Zf0m-Xf0-Yf0-Zf0m+f0/-Xf0f3+f0/-Yf0f3_m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0aaia-r+q-Xf0.3q-Yf0.725f0.275n-r+q-Xf0.3q-Yf0.725f0.175-r+q-Xf0.3q-Yf0.275f0.275n-r+q-Xf0.3q-Yf0.275f0.175naa-f0X-Xf0.275a-f0.275Y-Yf0.725iiim-Xf0-Yf-7.95495-Zf0m+*f-0.5X*f-0.866025Y+*f0.866025X*f-0.5Y_m-Xf0-Yf7.95495-Zf0m-Xf-0.75-Yf-3.05495-Zf0m-Xf0-Yf0-Zf0m+f0/-Xf0f3+f0/-Yf0f3_m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0aaini-*f0.55-Xf-0.1*f0.5-Yf0.45i-*f-0.55-Xf0.4*f0-Yf1-*f0-Xf0.4*f-0.5-Yf0.45aa-f0.4X-Xf0.5a-f0Y-Yf1nni-*f-0.3-Xf0.4*f0-Yf0.85i-*f0-Xf0.4*f-0.3-Yf0.55-*f0.3-Xf0.1*f0.3-Yf0.55aa-f0X-Xf0.5a-f0Y-Yf1m-Xf0-Yf-7.95495-Zf0m+*f-0.866025X*f-0.5Y+*f0.5X*f-0.866025Y_m-Xf0-Yf7.95495-Zf0m-Xf-0.975-Yf-3.05495-Zf0m-Xf0-Yf0-Zf0m+f0/-Xf0f3+f0/-Yf0f3_m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iiiaa-r+q-Xf0.325q-Yf0.325f0.325n-r+q-Xf0.325q-Yf0.325f0.225naa-f0X-Xf0.325a-f0.325Y-Yf0.65aa-f0X-Xf0.325a-f0.55Y-Yf0.65aa-f0X-Xf0.1a-f0.55Y-Yf1aa-f0.1X-Xf0.65a-f0.9Y-Yf1im-Xf0-Yf-7.95495-Zf0m+*f-1X*f-1.22465e-16Y+*f1.22465e-16X*f-1Y_m-Xf0-Yf7.95495-Zf0m-Xf-0.9075-Yf-3.05495-Zf0m-Xf0-Yf0-Zf0m+f0/-Xf0f3+f0/-Yf0f3_m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iiam/Xf1.1Y_mX+f1/-Yf1f2_aaa-r+q-Xf0.275q-Yf0.725f0.275nmX+f0.725/-Yf0.725f1.2_-r+q-Xf0.275q-Yf0.725f0.175aa-f0X-Xf0.55a-f0.725Y-Yf1nni-*f-0.025-Xf0.275*f0.275-Yf0.925i-*f-0.175-Xf0.55*f0-Yf0.9-*f0.2-Xf0.55*f-0.275-Yf0.725naa-f0.275X-Xf0.65a-f0Y-Yf0.7aa-f0X-Xf0.1a-f0.275Y-Yf0.45a-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175m-Xf0-Yf-7.95495-Zf0m+*f-0.866025X*f0.5Y+*f-0.5X*f-0.866025Y_m-Xf0-Yf7.95495-Zf0m-Xf-0.9-Yf-3.05495-Zf0m-Xf0-Yf0-Zf0m+f0/-Xf0f3+f0/-Yf0f3_m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iiaa-f0X-Xf0.6a-f0.9Y-Yf1ni-*f0.9-Xf0*f0.475-Yf0i-*f0-Xf0.475*f0.125-Yf0.9-*f-0.9-Xf0.6*f-0.6-Yf0.9ni-*f0.9-Xf0*f0.6-Yf0i-*f-0.9-Xf0.6*f-0.475-Yf0.9-*f0-Xf0.125*f-0.125-Yf0iim-Xf0-Yf-7.95495-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf7.95495-Zf0m-Xf-0.9-Yf-3.05495-Zf0m-Xf0-Yf0-Zf0m+f0/-Xf0f3+f0/-Yf0f3_m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0aia-r+q-Xf0.3q-Yf0.725f0.275n-r+q-Xf0.3q-Yf0.725f0.175-r+q-Xf0.3q-Yf0.275f0.275n-r+q-Xf0.3q-Yf0.275f0.175m-Xf0-Yf-7.95495-Zf0m+*f-1.83697e-16X*f1Y+*f-1X*f-1.83697e-16Y_m-Xf0-Yf7.95495-Zf0m-Xf-0.7425-Yf-3.05495-Zf0m-Xf0-Yf0-Zf0m+f0/-Xf0f3+f0/-Yf0f3_m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0m-*f2f0.275X__m_-*f2f0.5Y_iiam/Xf1.1Y_mX+f1/-Yf1f2_aaa-r+q-Xf0.275q-Yf0.725f0.275nmX+f0.725/-Yf0.725f1.2_-r+q-Xf0.275q-Yf0.725f0.175aa-f0X-Xf0.55a-f0.725Y-Yf1nni-*f-0.025-Xf0.275*f0.275-Yf0.925i-*f-0.175-Xf0.55*f0-Yf0.9-*f0.2-Xf0.55*f-0.275-Yf0.725naa-f0.275X-Xf0.65a-f0Y-Yf0.7aa-f0X-Xf0.1a-f0.275Y-Yf0.45a-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175im-Xf0-Yf-7.95495-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf7.95495-Zf0m-Xf-1.65-Yf-3.05495-Zf0m-Xf0-Yf0-Zf0m+f0/-Xf0f3+f0/-Yf0f3_m-Xf0-Yf1-Zf0im-Xf0-Yf-1-Zf0aaaa-f0X-Xf0.3a-f0Y-Yf1n-r+qXq-Yf1f0.2naa-f0X-Xf0.2a-f0Y-Yf0.7m-Xf0.4-Yf-1-Zf0m/Xf0.7Y_a-r+q-Xf0.5q-Yf0.5f0.5nm+f0.5/-Xf0.5f0.83666Y_-r+q-Xf0.5q-Yf0.5f0.4m-Xf0-Yf-7.95495-Zf0m+*f0.866025X*f0.5Y+*f-0.5X*f0.866025Y_m-Xf0-Yf7.95495-Zf0m-Xf-1.05-Yf-3.05495-Zf0m-Xf0-Yf0-Zf0m+f0/-Xf0f3+f0/-Yf0f3_m-Xf0-Yf1-Zf0im-Xf0-Yf-1-Zf0aaaa-f0X-Xf0.3a-f0Y-Yf1n-r+qXq-Yf1f0.2naa-f0X-Xf0.2a-f0Y-Yf0.7m-Xf0.4-Yf-1-Zf0aaaa-f0X-Xf0.3a-f0Y-Yf1n-r+qXq-Yf1f0.2naa-f0X-Xf0.2a-f0Y-Yf0.7',float('-8.750449'),float('-56.480148'),float('-inf'),float('8.750449'),float('8.750449'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 1012.0697402272716, 1159.6803789756409 ], "name": "d4", "script": [ "import fab.types", "", "title('Difference')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a & ~b)", "" ], "uid": 23 }, { "datums": [ { "expr": "'1'", "name": "text", "type": "str", "uid": 2 }, { "expr": "\u0011[__parent.__7]", "name": "scale", "type": "float", "uid": 3 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf0-Zf0m+f0/-Xf0f3+f0/-Yf0f3_m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0aaaa-f0X-Xf0.3a-f0Y-Yf1n-r+qXq-Yf1f0.2naa-f0X-Xf0.2a-f0Y-Yf0.7',float('0.000000'),float('0.000000'),float('-inf'),float('0.900000'),float('3.000000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ -35.42076388106544, 1413.901516118586 ], "name": "t1", "script": [ "import fab", "", "title('Text')", "", "input('text', str)", "input('scale', float)", "", "x = 0", "y = 0", "", "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": 24 }, { "datums": [ { "expr": "\u0011[__22.__4]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__26.__5]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('im-Xf-1.425-Yf-3.05495-Zf0m-Xf0-Yf0-Zf0m+f0/-Xf0f3+f0/-Yf0f3_m-Xf0-Yf1-Zf0im-Xf0-Yf-1-Zf0aaaa-f0X-Xf0.3a-f0Y-Yf1n-r+qXq-Yf1f0.2naa-f0X-Xf0.2a-f0Y-Yf0.7m-Xf0.4-Yf-1-Zf0iiiaa-r+q-Xf0.275q-Yf0.725f0.275n-r+q-Xf0.275q-Yf0.725f0.175naa-f0X-Xf0.55a-f0Y-Yf0.725aa-f0X-Xf0.55a-f0Y-Yf0.1ni-*f0.675-Xf0*f0.45-Yf0.1i-*f-0.05-Xf0.45*f0.1-Yf0.775-*f-0.625-Xf0.55*f-0.55-Yf0.725ni-*f0.625-Xf0*f0.55-Yf0.1i-*f-0.625-Xf0.55*f-0.425-Yf0.725-*f0-Xf0.125*f-0.125-Yf0.1m-Xf0-Yf-7.95495-Zf0m+*f0.866025X*f-0.5Y+*f0.5X*f0.866025Y_m-Xf0-Yf7.95495-Zf0m-Xf-0.45-Yf-3.05495-Zf0m-Xf0-Yf0-Zf0m+f0/-Xf0f3+f0/-Yf0f3_m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0aaaa-f0X-Xf0.3a-f0Y-Yf1n-r+qXq-Yf1f0.2naa-f0X-Xf0.2a-f0Y-Yf0.7',float('-1.425000'),float('-3.936428'),float('-inf'),float('4.339711'),float('-0.054950'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 801.01443669837636, 1322.1422500474662 ], "name": "u3", "script": [ "import fab.types", "", "title('Union')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a | b)", "" ], "uid": 33 }, { "datums": [ { "expr": "\u0011[__27.__5]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__30.__5]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('im-Xf0-Yf-7.95495-Zf0m+*f0.5X*f-0.866025Y+*f0.866025X*f0.5Y_m-Xf0-Yf7.95495-Zf0m-Xf-0.825-Yf-3.05495-Zf0m-Xf0-Yf0-Zf0m+f0/-Xf0f3+f0/-Yf0f3_m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iiiaa-r+q-Xf0.275q-Yf0.725f0.275n-r+q-Xf0.275q-Yf0.725f0.175naa-f0X-Xf0.55a-f0Y-Yf0.725aa-f0X-Xf0.55a-f0Y-Yf0.1ni-*f0.675-Xf0*f0.45-Yf0.1i-*f-0.05-Xf0.45*f0.1-Yf0.775-*f-0.625-Xf0.55*f-0.55-Yf0.725ni-*f0.625-Xf0*f0.55-Yf0.1i-*f-0.625-Xf0.55*f-0.425-Yf0.725-*f0-Xf0.125*f-0.125-Yf0.1m-Xf0-Yf-7.95495-Zf0m+*f6.12323e-17X*f-1Y+*f1X*f6.12323e-17Y_m-Xf0-Yf7.95495-Zf0m-Xf-0.9-Yf-3.05495-Zf0m-Xf0-Yf0-Zf0m+f0/-Xf0f3+f0/-Yf0f3_m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0aaia-r+q-Xf0.3q-Yf0.725f0.275n-r+q-Xf0.3q-Yf0.725f0.175-r+q-Xf0.3q-Yf0.275f0.275n-r+q-Xf0.3q-Yf0.275f0.175naa-f0X-Xf0.275a-f0.275Y-Yf0.725',float('3.831022'),float('-8.779950'),float('-inf'),float('7.900000'),float('-3.290480'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 802.1855104362395, 1702.7412148529813 ], "name": "u4", "script": [ "import fab.types", "", "title('Union')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a | b)", "" ], "uid": 34 }, { "datums": [ { "expr": "\u0011[__33.__2]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__34.__2]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('iim-Xf-1.425-Yf-3.05495-Zf0m-Xf0-Yf0-Zf0m+f0/-Xf0f3+f0/-Yf0f3_m-Xf0-Yf1-Zf0im-Xf0-Yf-1-Zf0aaaa-f0X-Xf0.3a-f0Y-Yf1n-r+qXq-Yf1f0.2naa-f0X-Xf0.2a-f0Y-Yf0.7m-Xf0.4-Yf-1-Zf0iiiaa-r+q-Xf0.275q-Yf0.725f0.275n-r+q-Xf0.275q-Yf0.725f0.175naa-f0X-Xf0.55a-f0Y-Yf0.725aa-f0X-Xf0.55a-f0Y-Yf0.1ni-*f0.675-Xf0*f0.45-Yf0.1i-*f-0.05-Xf0.45*f0.1-Yf0.775-*f-0.625-Xf0.55*f-0.55-Yf0.725ni-*f0.625-Xf0*f0.55-Yf0.1i-*f-0.625-Xf0.55*f-0.425-Yf0.725-*f0-Xf0.125*f-0.125-Yf0.1m-Xf0-Yf-7.95495-Zf0m+*f0.866025X*f-0.5Y+*f0.5X*f0.866025Y_m-Xf0-Yf7.95495-Zf0m-Xf-0.45-Yf-3.05495-Zf0m-Xf0-Yf0-Zf0m+f0/-Xf0f3+f0/-Yf0f3_m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0aaaa-f0X-Xf0.3a-f0Y-Yf1n-r+qXq-Yf1f0.2naa-f0X-Xf0.2a-f0Y-Yf0.7im-Xf0-Yf-7.95495-Zf0m+*f0.5X*f-0.866025Y+*f0.866025X*f0.5Y_m-Xf0-Yf7.95495-Zf0m-Xf-0.825-Yf-3.05495-Zf0m-Xf0-Yf0-Zf0m+f0/-Xf0f3+f0/-Yf0f3_m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iiiaa-r+q-Xf0.275q-Yf0.725f0.275n-r+q-Xf0.275q-Yf0.725f0.175naa-f0X-Xf0.55a-f0Y-Yf0.725aa-f0X-Xf0.55a-f0Y-Yf0.1ni-*f0.675-Xf0*f0.45-Yf0.1i-*f-0.05-Xf0.45*f0.1-Yf0.775-*f-0.625-Xf0.55*f-0.55-Yf0.725ni-*f0.625-Xf0*f0.55-Yf0.1i-*f-0.625-Xf0.55*f-0.425-Yf0.725-*f0-Xf0.125*f-0.125-Yf0.1m-Xf0-Yf-7.95495-Zf0m+*f6.12323e-17X*f-1Y+*f1X*f6.12323e-17Y_m-Xf0-Yf7.95495-Zf0m-Xf-0.9-Yf-3.05495-Zf0m-Xf0-Yf0-Zf0m+f0/-Xf0f3+f0/-Yf0f3_m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0aaia-r+q-Xf0.3q-Yf0.725f0.275n-r+q-Xf0.3q-Yf0.725f0.175-r+q-Xf0.3q-Yf0.275f0.275n-r+q-Xf0.3q-Yf0.275f0.175naa-f0X-Xf0.275a-f0.275Y-Yf0.725',float('-1.425000'),float('-8.779950'),float('-inf'),float('7.900000'),float('-0.054950'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 894.70033572742625, 1510.685121843429 ], "name": "u5", "script": [ "import fab.types", "", "title('Union')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a | b)", "" ], "uid": 35 }, { "datums": [ { "expr": "\u0011[__19.__5]", "name": "d", "type": "float", "uid": 6 }, { "expr": "\u0011[__19.__0]", "name": "rFace", "type": "float", "uid": 11 }, { "expr": "\u0011[__24.__4]", "name": "shape", "type": "_fabtypes.Shape", "uid": 3 }, { "expr": "\u0012fab.types.Shape('m-Xf-0.45-Yf-3.05495-Zf0m-Xf0-Yf0-Zf0m+f0/-Xf0f3+f0/-Yf0f3_m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0aaaa-f0X-Xf0.3a-f0Y-Yf1n-r+qXq-Yf1f0.2naa-f0X-Xf0.2a-f0Y-Yf0.7',float('-0.450000'),float('-3.054950'),float('-inf'),float('0.450000'),float('-0.054950'),float('inf'))", "name": "out", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 244.89736867959374, 1405.7649497600139 ], "name": "r5", "script": [ "import fab", "import math", "", "title('Recenter')", "", "input('d', float)", "input('rFace', float)", "", "x = 0", "z = 0", "y = -d/math.sqrt(2) + rFace*4/5", "", "input('shape', fab.types.Shape)", "output('out', fab.shapes.recenter(shape, x, y, z))", "", "# UI", "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)", "" ], "uid": 25 }, { "datums": [ { "expr": "\u0011[__25.__6]", "name": "d", "type": "float", "uid": 7 }, { "expr": "0.0", "name": "_z", "type": "float", "uid": 2 }, { "expr": "-30", "name": "a", "type": "float", "uid": 3 }, { "expr": "\u0011[__25.__4]", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf-7.95495-Zf0m+*f0.866025X*f-0.5Y+*f0.5X*f0.866025Y_m-Xf0-Yf7.95495-Zf0m-Xf-0.45-Yf-3.05495-Zf0m-Xf0-Yf0-Zf0m+f0/-Xf0f3+f0/-Yf0f3_m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0aaaa-f0X-Xf0.3a-f0Y-Yf1n-r+qXq-Yf1f0.2naa-f0X-Xf0.2a-f0Y-Yf0.7',float('2.060289'),float('-3.936428'),float('-inf'),float('4.339711'),float('-0.888353'),float('inf'))", "name": "rotated", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 520.08711902392315, 1402.4821187161972 ], "name": "r6", "script": [ "import fab", "import math", "", "title('Rotate (Z)')", "", "input('d', float)", "input('_z', float)", "input('a', float)", "", "x = 0", "z = 0", "y = -d/math.sqrt(2)", "", "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": 26 }, { "datums": [ { "expr": "\u0011[__29.__6]", "name": "d", "type": "float", "uid": 7 }, { "expr": "0.0", "name": "_z", "type": "float", "uid": 2 }, { "expr": "-60", "name": "a", "type": "float", "uid": 3 }, { "expr": "\u0011[__29.__4]", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf-7.95495-Zf0m+*f0.5X*f-0.866025Y+*f0.866025X*f0.5Y_m-Xf0-Yf7.95495-Zf0m-Xf-0.825-Yf-3.05495-Zf0m-Xf0-Yf0-Zf0m+f0/-Xf0f3+f0/-Yf0f3_m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iiiaa-r+q-Xf0.275q-Yf0.725f0.275n-r+q-Xf0.275q-Yf0.725f0.175naa-f0X-Xf0.55a-f0Y-Yf0.725aa-f0X-Xf0.55a-f0Y-Yf0.1ni-*f0.675-Xf0*f0.45-Yf0.1i-*f-0.05-Xf0.45*f0.1-Yf0.775-*f-0.625-Xf0.55*f-0.55-Yf0.725ni-*f0.625-Xf0*f0.55-Yf0.1i-*f-0.625-Xf0.55*f-0.425-Yf0.725-*f0-Xf0.125*f-0.125-Yf0.1',float('3.831022'),float('-6.219420'),float('-inf'),float('7.254097'),float('-3.290480'),float('inf'))", "name": "rotated", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 517.23103293569136, 1553.899065686747 ], "name": "r7", "script": [ "import fab", "import math", "", "title('Rotate (Z)')", "", "input('d', float)", "input('_z', float)", "input('a', float)", "", "x = 0", "z = 0", "y = -d/math.sqrt(2)", "", "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": 27 }, { "datums": [ { "expr": "'2'", "name": "text", "type": "str", "uid": 2 }, { "expr": "\u0011[__parent.__7]", "name": "scale", "type": "float", "uid": 3 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf0-Zf0m+f0/-Xf0f3+f0/-Yf0f3_m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iiiaa-r+q-Xf0.275q-Yf0.725f0.275n-r+q-Xf0.275q-Yf0.725f0.175naa-f0X-Xf0.55a-f0Y-Yf0.725aa-f0X-Xf0.55a-f0Y-Yf0.1ni-*f0.675-Xf0*f0.45-Yf0.1i-*f-0.05-Xf0.45*f0.1-Yf0.775-*f-0.625-Xf0.55*f-0.55-Yf0.725ni-*f0.625-Xf0*f0.55-Yf0.1i-*f-0.625-Xf0.55*f-0.425-Yf0.725-*f0-Xf0.125*f-0.125-Yf0.1',float('0.000000'),float('0.000000'),float('-inf'),float('1.650000'),float('3.000000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ -38.276849969297231, 1565.3184630891358 ], "name": "t2", "script": [ "import fab", "", "title('Text')", "", "input('text', str)", "input('scale', float)", "", "x = 0", "y = 0", "", "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": 28 }, { "datums": [ { "expr": "\u0011[__19.__5]", "name": "d", "type": "float", "uid": 6 }, { "expr": "\u0011[__19.__0]", "name": "rFace", "type": "float", "uid": 11 }, { "expr": "\u0011[__28.__4]", "name": "shape", "type": "_fabtypes.Shape", "uid": 3 }, { "expr": "\u0012fab.types.Shape('m-Xf-0.825-Yf-3.05495-Zf0m-Xf0-Yf0-Zf0m+f0/-Xf0f3+f0/-Yf0f3_m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iiiaa-r+q-Xf0.275q-Yf0.725f0.275n-r+q-Xf0.275q-Yf0.725f0.175naa-f0X-Xf0.55a-f0Y-Yf0.725aa-f0X-Xf0.55a-f0Y-Yf0.1ni-*f0.675-Xf0*f0.45-Yf0.1i-*f-0.05-Xf0.45*f0.1-Yf0.775-*f-0.625-Xf0.55*f-0.55-Yf0.725ni-*f0.625-Xf0*f0.55-Yf0.1i-*f-0.625-Xf0.55*f-0.425-Yf0.725-*f0-Xf0.125*f-0.125-Yf0.1',float('-0.825000'),float('-3.054950'),float('-inf'),float('0.825000'),float('-0.054950'),float('inf'))", "name": "out", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 242.04128259136192, 1557.1818967305637 ], "name": "r8", "script": [ "import fab", "import math", "", "title('Recenter')", "", "input('d', float)", "input('rFace', float)", "", "x = 0", "z = 0", "y = -d/math.sqrt(2) + rFace*4/5", "", "input('shape', fab.types.Shape)", "output('out', fab.shapes.recenter(shape, x, y, z))", "", "# UI", "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)", "" ], "uid": 29 }, { "datums": [ { "expr": "\u0011[__32.__6]", "name": "d", "type": "float", "uid": 7 }, { "expr": "0.0", "name": "_z", "type": "float", "uid": 2 }, { "expr": "-90", "name": "a", "type": "float", "uid": 3 }, { "expr": "\u0011[__32.__4]", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf-7.95495-Zf0m+*f6.12323e-17X*f-1Y+*f1X*f6.12323e-17Y_m-Xf0-Yf7.95495-Zf0m-Xf-0.9-Yf-3.05495-Zf0m-Xf0-Yf0-Zf0m+f0/-Xf0f3+f0/-Yf0f3_m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0aaia-r+q-Xf0.3q-Yf0.725f0.275n-r+q-Xf0.3q-Yf0.725f0.175-r+q-Xf0.3q-Yf0.275f0.275n-r+q-Xf0.3q-Yf0.275f0.175naa-f0X-Xf0.275a-f0.275Y-Yf0.725',float('4.900000'),float('-8.779950'),float('-inf'),float('7.900000'),float('-7.129950'),float('inf'))", "name": "rotated", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 520.73723823248179, 1708.1720987455292 ], "name": "r9", "script": [ "import fab", "import math", "", "title('Rotate (Z)')", "", "input('d', float)", "input('_z', float)", "input('a', float)", "", "x = 0", "z = 0", "y = -d/math.sqrt(2)", "", "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": 30 }, { "datums": [ { "expr": "'3'", "name": "text", "type": "str", "uid": 2 }, { "expr": "\u0011[__parent.__7]", "name": "scale", "type": "float", "uid": 3 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf0-Zf0m+f0/-Xf0f3+f0/-Yf0f3_m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0aaia-r+q-Xf0.3q-Yf0.725f0.275n-r+q-Xf0.3q-Yf0.725f0.175-r+q-Xf0.3q-Yf0.275f0.275n-r+q-Xf0.3q-Yf0.275f0.175naa-f0X-Xf0.275a-f0.275Y-Yf0.725',float('0.075000'),float('0.000000'),float('-inf'),float('1.725000'),float('3.000000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ -34.770644672506762, 1719.5914961479175 ], "name": "t3", "script": [ "import fab", "", "title('Text')", "", "input('text', str)", "input('scale', float)", "", "x = 0", "y = 0", "", "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[__19.__5]", "name": "d", "type": "float", "uid": 6 }, { "expr": "\u0011[__19.__0]", "name": "rFace", "type": "float", "uid": 11 }, { "expr": "\u0011[__31.__4]", "name": "shape", "type": "_fabtypes.Shape", "uid": 3 }, { "expr": "\u0012fab.types.Shape('m-Xf-0.9-Yf-3.05495-Zf0m-Xf0-Yf0-Zf0m+f0/-Xf0f3+f0/-Yf0f3_m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0aaia-r+q-Xf0.3q-Yf0.725f0.275n-r+q-Xf0.3q-Yf0.725f0.175-r+q-Xf0.3q-Yf0.275f0.275n-r+q-Xf0.3q-Yf0.275f0.175naa-f0X-Xf0.275a-f0.275Y-Yf0.725',float('-0.825000'),float('-3.054950'),float('-inf'),float('0.825000'),float('-0.054950'),float('inf'))", "name": "out", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 245.54748788815243, 1711.4549297893454 ], "name": "r10", "script": [ "import fab", "import math", "", "title('Recenter')", "", "input('d', float)", "input('rFace', float)", "", "x = 0", "z = 0", "y = -d/math.sqrt(2) + rFace*4/5", "", "input('shape', fab.types.Shape)", "output('out', fab.shapes.recenter(shape, x, y, z))", "", "# UI", "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)", "" ], "uid": 32 }, { "datums": [ { "expr": "\u0011[__15.__2]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__19.__4]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('iaiiiiiim-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1iim-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-47.7297-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-47.7297-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1-+rbiim-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1rbiim-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-47.7297-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-47.7297-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1f1iaa-f7.2987X-Xf8.5487a-f-55.9347Y-Yf-0.1aa-f-8.5487X-Xf-7.2987a-f-55.9347Y-Yf-0.1-+rbiiiim-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1iim-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-47.7297-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-47.7297-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1-+rbiim-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1rbiim-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-47.7297-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-47.7297-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1f1rbiaa-f7.2987X-Xf8.5487a-f-55.9347Y-Yf-0.1aa-f-8.5487X-Xf-7.2987a-f-55.9347Y-Yf-0.1f0.8niaa-f8.5487X-Xf9.7987a-f-55.9347Y-Yf1aa-f-9.7987X-Xf-8.5487a-f-55.9347Y-Yf1-r+qXq-Yf-7.95495f8.125',float('-8.750449'),float('-56.480148'),float('-inf'),float('8.750449'),float('8.750449'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 506.60991893006491, 622.80485446448347 ], "name": "u2", "script": [ "import fab.types", "", "title('Union')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a | b)", "" ], "uid": 20 }, { "datums": [ { "expr": "\u0011[__38.__6]", "name": "d", "type": "float", "uid": 7 }, { "expr": "0.0", "name": "_z", "type": "float", "uid": 2 }, { "expr": "-120", "name": "a", "type": "float", "uid": 3 }, { "expr": "\u0011[__38.__4]", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf-7.95495-Zf0m+*f-0.5X*f-0.866025Y+*f0.866025X*f-0.5Y_m-Xf0-Yf7.95495-Zf0m-Xf-0.75-Yf-3.05495-Zf0m-Xf0-Yf0-Zf0m+f0/-Xf0f3+f0/-Yf0f3_m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0aaini-*f0.55-Xf-0.1*f0.5-Yf0.45i-*f-0.55-Xf0.4*f0-Yf1-*f0-Xf0.4*f-0.5-Yf0.45aa-f0.4X-Xf0.5a-f0Y-Yf1nni-*f-0.3-Xf0.4*f0-Yf0.85i-*f0-Xf0.4*f-0.3-Yf0.55-*f0.3-Xf0.1*f0.3-Yf0.55aa-f0X-Xf0.5a-f0Y-Yf1',float('3.868522'),float('-12.554468'),float('-inf'),float('7.216597'),float('-9.755431'),float('inf'))", "name": "rotated", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 518.75725944674207, 1858.123262085317 ], "name": "r11", "script": [ "import fab", "import math", "", "title('Rotate (Z)')", "", "input('d', float)", "input('_z', float)", "input('a', float)", "", "x = 0", "z = 0", "y = -d/math.sqrt(2)", "", "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": 36 }, { "datums": [ { "expr": "'4'", "name": "text", "type": "str", "uid": 2 }, { "expr": "\u0011[__parent.__7]", "name": "scale", "type": "float", "uid": 3 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf0-Zf0m+f0/-Xf0f3+f0/-Yf0f3_m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0aaini-*f0.55-Xf-0.1*f0.5-Yf0.45i-*f-0.55-Xf0.4*f0-Yf1-*f0-Xf0.4*f-0.5-Yf0.45aa-f0.4X-Xf0.5a-f0Y-Yf1nni-*f-0.3-Xf0.4*f0-Yf0.85i-*f0-Xf0.4*f-0.3-Yf0.55-*f0.3-Xf0.1*f0.3-Yf0.55aa-f0X-Xf0.5a-f0Y-Yf1',float('0.000000'),float('0.000000'),float('-inf'),float('1.500000'),float('3.000000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ -36.750623458246437, 1869.5426594877058 ], "name": "t4", "script": [ "import fab", "", "title('Text')", "", "input('text', str)", "input('scale', float)", "", "x = 0", "y = 0", "", "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": 37 }, { "datums": [ { "expr": "\u0011[__19.__5]", "name": "d", "type": "float", "uid": 6 }, { "expr": "\u0011[__19.__0]", "name": "rFace", "type": "float", "uid": 11 }, { "expr": "\u0011[__37.__4]", "name": "shape", "type": "_fabtypes.Shape", "uid": 3 }, { "expr": "\u0012fab.types.Shape('m-Xf-0.75-Yf-3.05495-Zf0m-Xf0-Yf0-Zf0m+f0/-Xf0f3+f0/-Yf0f3_m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0aaini-*f0.55-Xf-0.1*f0.5-Yf0.45i-*f-0.55-Xf0.4*f0-Yf1-*f0-Xf0.4*f-0.5-Yf0.45aa-f0.4X-Xf0.5a-f0Y-Yf1nni-*f-0.3-Xf0.4*f0-Yf0.85i-*f0-Xf0.4*f-0.3-Yf0.55-*f0.3-Xf0.1*f0.3-Yf0.55aa-f0X-Xf0.5a-f0Y-Yf1',float('-0.750000'),float('-3.054950'),float('-inf'),float('0.750000'),float('-0.054950'),float('inf'))", "name": "out", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 243.56750910241271, 1861.406093129134 ], "name": "r12", "script": [ "import fab", "import math", "", "title('Recenter')", "", "input('d', float)", "input('rFace', float)", "", "x = 0", "z = 0", "y = -d/math.sqrt(2) + rFace*4/5", "", "input('shape', fab.types.Shape)", "output('out', fab.shapes.recenter(shape, x, y, z))", "", "# UI", "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)", "" ], "uid": 38 }, { "datums": [ { "expr": "\u0011[__41.__6]", "name": "d", "type": "float", "uid": 7 }, { "expr": "0.0", "name": "_z", "type": "float", "uid": 2 }, { "expr": "-150", "name": "a", "type": "float", "uid": 3 }, { "expr": "\u0011[__41.__4]", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf-7.95495-Zf0m+*f-0.866025X*f-0.5Y+*f0.5X*f-0.866025Y_m-Xf0-Yf7.95495-Zf0m-Xf-0.975-Yf-3.05495-Zf0m-Xf0-Yf0-Zf0m+f0/-Xf0f3+f0/-Yf0f3_m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iiiaa-r+q-Xf0.325q-Yf0.325f0.325n-r+q-Xf0.325q-Yf0.325f0.225naa-f0X-Xf0.325a-f0.325Y-Yf0.65aa-f0X-Xf0.325a-f0.55Y-Yf0.65aa-f0X-Xf0.1a-f0.55Y-Yf1aa-f0.1X-Xf0.65a-f0.9Y-Yf1',float('1.605625'),float('-15.284047'),float('-inf'),float('4.794374'),float('-11.710972'),float('inf'))", "name": "rotated", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 516.86894951721206, 2009.1880564477306 ], "name": "r13", "script": [ "import fab", "import math", "", "title('Rotate (Z)')", "", "input('d', float)", "input('_z', float)", "input('a', float)", "", "x = 0", "z = 0", "y = -d/math.sqrt(2)", "", "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": 39 }, { "datums": [ { "expr": "'5'", "name": "text", "type": "str", "uid": 2 }, { "expr": "\u0011[__parent.__7]", "name": "scale", "type": "float", "uid": 3 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf0-Zf0m+f0/-Xf0f3+f0/-Yf0f3_m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iiiaa-r+q-Xf0.325q-Yf0.325f0.325n-r+q-Xf0.325q-Yf0.325f0.225naa-f0X-Xf0.325a-f0.325Y-Yf0.65aa-f0X-Xf0.325a-f0.55Y-Yf0.65aa-f0X-Xf0.1a-f0.55Y-Yf1aa-f0.1X-Xf0.65a-f0.9Y-Yf1',float('0.000000'),float('0.000000'),float('-inf'),float('1.950000'),float('3.000000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ -38.638933387776646, 2020.6074538501193 ], "name": "t5", "script": [ "import fab", "", "title('Text')", "", "input('text', str)", "input('scale', float)", "", "x = 0", "y = 0", "", "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[__19.__5]", "name": "d", "type": "float", "uid": 6 }, { "expr": "\u0011[__19.__0]", "name": "rFace", "type": "float", "uid": 11 }, { "expr": "\u0011[__40.__4]", "name": "shape", "type": "_fabtypes.Shape", "uid": 3 }, { "expr": "\u0012fab.types.Shape('m-Xf-0.975-Yf-3.05495-Zf0m-Xf0-Yf0-Zf0m+f0/-Xf0f3+f0/-Yf0f3_m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iiiaa-r+q-Xf0.325q-Yf0.325f0.325n-r+q-Xf0.325q-Yf0.325f0.225naa-f0X-Xf0.325a-f0.325Y-Yf0.65aa-f0X-Xf0.325a-f0.55Y-Yf0.65aa-f0X-Xf0.1a-f0.55Y-Yf1aa-f0.1X-Xf0.65a-f0.9Y-Yf1',float('-0.975000'),float('-3.054950'),float('-inf'),float('0.975000'),float('-0.054950'),float('inf'))", "name": "out", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 241.67919917288253, 2012.4708874915473 ], "name": "r14", "script": [ "import fab", "import math", "", "title('Recenter')", "", "input('d', float)", "input('rFace', float)", "", "x = 0", "z = 0", "y = -d/math.sqrt(2) + rFace*4/5", "", "input('shape', fab.types.Shape)", "output('out', fab.shapes.recenter(shape, x, y, z))", "", "# UI", "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)", "" ], "uid": 41 }, { "datums": [ { "expr": "\u0011[__44.__6]", "name": "d", "type": "float", "uid": 7 }, { "expr": "0.0", "name": "_z", "type": "float", "uid": 2 }, { "expr": "-180", "name": "a", "type": "float", "uid": 3 }, { "expr": "\u0011[__44.__4]", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf-7.95495-Zf0m+*f-1X*f-1.22465e-16Y+*f1.22465e-16X*f-1Y_m-Xf0-Yf7.95495-Zf0m-Xf-0.9075-Yf-3.05495-Zf0m-Xf0-Yf0-Zf0m+f0/-Xf0f3+f0/-Yf0f3_m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iiam/Xf1.1Y_mX+f1/-Yf1f2_aaa-r+q-Xf0.275q-Yf0.725f0.275nmX+f0.725/-Yf0.725f1.2_-r+q-Xf0.275q-Yf0.725f0.175aa-f0X-Xf0.55a-f0.725Y-Yf1nni-*f-0.025-Xf0.275*f0.275-Yf0.925i-*f-0.175-Xf0.55*f0-Yf0.9-*f0.2-Xf0.55*f-0.275-Yf0.725naa-f0.275X-Xf0.65a-f0Y-Yf0.7aa-f0X-Xf0.1a-f0.275Y-Yf0.45a-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175',float('-0.907500'),float('-15.854950'),float('-inf'),float('0.907500'),float('-12.854950'),float('inf'))", "name": "rotated", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 516.86894951721206, 2162.141160739674 ], "name": "r15", "script": [ "import fab", "import math", "", "title('Rotate (Z)')", "", "input('d', float)", "input('_z', float)", "input('a', float)", "", "x = 0", "z = 0", "y = -d/math.sqrt(2)", "", "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": 42 }, { "datums": [ { "expr": "'6'", "name": "text", "type": "str", "uid": 2 }, { "expr": "\u0011[__parent.__7]", "name": "scale", "type": "float", "uid": 3 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf0-Zf0m+f0/-Xf0f3+f0/-Yf0f3_m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iiam/Xf1.1Y_mX+f1/-Yf1f2_aaa-r+q-Xf0.275q-Yf0.725f0.275nmX+f0.725/-Yf0.725f1.2_-r+q-Xf0.275q-Yf0.725f0.175aa-f0X-Xf0.55a-f0.725Y-Yf1nni-*f-0.025-Xf0.275*f0.275-Yf0.925i-*f-0.175-Xf0.55*f0-Yf0.9-*f0.2-Xf0.55*f-0.275-Yf0.725naa-f0.275X-Xf0.65a-f0Y-Yf0.7aa-f0X-Xf0.1a-f0.275Y-Yf0.45a-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175',float('0.000000'),float('0.000000'),float('-inf'),float('1.815000'),float('3.000000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ -38.638933387776618, 2173.5605581420623 ], "name": "t6", "script": [ "import fab", "", "title('Text')", "", "input('text', str)", "input('scale', float)", "", "x = 0", "y = 0", "", "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[__19.__5]", "name": "d", "type": "float", "uid": 6 }, { "expr": "\u0011[__19.__0]", "name": "rFace", "type": "float", "uid": 11 }, { "expr": "\u0011[__43.__4]", "name": "shape", "type": "_fabtypes.Shape", "uid": 3 }, { "expr": "\u0012fab.types.Shape('m-Xf-0.9075-Yf-3.05495-Zf0m-Xf0-Yf0-Zf0m+f0/-Xf0f3+f0/-Yf0f3_m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iiam/Xf1.1Y_mX+f1/-Yf1f2_aaa-r+q-Xf0.275q-Yf0.725f0.275nmX+f0.725/-Yf0.725f1.2_-r+q-Xf0.275q-Yf0.725f0.175aa-f0X-Xf0.55a-f0.725Y-Yf1nni-*f-0.025-Xf0.275*f0.275-Yf0.925i-*f-0.175-Xf0.55*f0-Yf0.9-*f0.2-Xf0.55*f-0.275-Yf0.725naa-f0.275X-Xf0.65a-f0Y-Yf0.7aa-f0X-Xf0.1a-f0.275Y-Yf0.45a-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175',float('-0.907500'),float('-3.054950'),float('-inf'),float('0.907500'),float('-0.054950'),float('inf'))", "name": "out", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 241.67919917288253, 2165.4239917834902 ], "name": "r16", "script": [ "import fab", "import math", "", "title('Recenter')", "", "input('d', float)", "input('rFace', float)", "", "x = 0", "z = 0", "y = -d/math.sqrt(2) + rFace*4/5", "", "input('shape', fab.types.Shape)", "output('out', fab.shapes.recenter(shape, x, y, z))", "", "# UI", "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)", "" ], "uid": 44 }, { "datums": [ { "expr": "\u0011[__47.__6]", "name": "d", "type": "float", "uid": 7 }, { "expr": "0.0", "name": "_z", "type": "float", "uid": 2 }, { "expr": "-210", "name": "a", "type": "float", "uid": 3 }, { "expr": "\u0011[__47.__4]", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf-7.95495-Zf0m+*f-0.866025X*f0.5Y+*f-0.5X*f-0.866025Y_m-Xf0-Yf7.95495-Zf0m-Xf-0.9-Yf-3.05495-Zf0m-Xf0-Yf0-Zf0m+f0/-Xf0f3+f0/-Yf0f3_m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iiaa-f0X-Xf0.6a-f0.9Y-Yf1ni-*f0.9-Xf0*f0.475-Yf0i-*f0-Xf0.475*f0.125-Yf0.9-*f-0.9-Xf0.6*f-0.6-Yf0.9ni-*f0.9-Xf0*f0.6-Yf0i-*f-0.9-Xf0.6*f-0.475-Yf0.9-*f0-Xf0.125*f-0.125-Yf0',float('-4.729422'),float('-15.246547'),float('-inf'),float('-1.670577'),float('-11.748472'),float('inf'))", "name": "rotated", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 514.98063958768182, 2313.2059551020875 ], "name": "r17", "script": [ "import fab", "import math", "", "title('Rotate (Z)')", "", "input('d', float)", "input('_z', float)", "input('a', float)", "", "x = 0", "z = 0", "y = -d/math.sqrt(2)", "", "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": 45 }, { "datums": [ { "expr": "'7'", "name": "text", "type": "str", "uid": 2 }, { "expr": "\u0011[__parent.__7]", "name": "scale", "type": "float", "uid": 3 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf0-Zf0m+f0/-Xf0f3+f0/-Yf0f3_m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iiaa-f0X-Xf0.6a-f0.9Y-Yf1ni-*f0.9-Xf0*f0.475-Yf0i-*f0-Xf0.475*f0.125-Yf0.9-*f-0.9-Xf0.6*f-0.6-Yf0.9ni-*f0.9-Xf0*f0.6-Yf0i-*f-0.9-Xf0.6*f-0.475-Yf0.9-*f0-Xf0.125*f-0.125-Yf0',float('0.000000'),float('0.000000'),float('-inf'),float('1.800000'),float('3.000000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ -40.52724331730677, 2324.6253525044758 ], "name": "t7", "script": [ "import fab", "", "title('Text')", "", "input('text', str)", "input('scale', float)", "", "x = 0", "y = 0", "", "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": 46 }, { "datums": [ { "expr": "\u0011[__19.__5]", "name": "d", "type": "float", "uid": 6 }, { "expr": "\u0011[__19.__0]", "name": "rFace", "type": "float", "uid": 11 }, { "expr": "\u0011[__46.__4]", "name": "shape", "type": "_fabtypes.Shape", "uid": 3 }, { "expr": "\u0012fab.types.Shape('m-Xf-0.9-Yf-3.05495-Zf0m-Xf0-Yf0-Zf0m+f0/-Xf0f3+f0/-Yf0f3_m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iiaa-f0X-Xf0.6a-f0.9Y-Yf1ni-*f0.9-Xf0*f0.475-Yf0i-*f0-Xf0.475*f0.125-Yf0.9-*f-0.9-Xf0.6*f-0.6-Yf0.9ni-*f0.9-Xf0*f0.6-Yf0i-*f-0.9-Xf0.6*f-0.475-Yf0.9-*f0-Xf0.125*f-0.125-Yf0',float('-0.900000'),float('-3.054950'),float('-inf'),float('0.900000'),float('-0.054950'),float('inf'))", "name": "out", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 239.79088924335235, 2316.4887861459038 ], "name": "r18", "script": [ "import fab", "import math", "", "title('Recenter')", "", "input('d', float)", "input('rFace', float)", "", "x = 0", "z = 0", "y = -d/math.sqrt(2) + rFace*4/5", "", "input('shape', fab.types.Shape)", "output('out', fab.shapes.recenter(shape, x, y, z))", "", "# UI", "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)", "" ], "uid": 47 }, { "datums": [ { "expr": "\u0011[__36.__5]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__39.__5]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('im-Xf0-Yf-7.95495-Zf0m+*f-0.5X*f-0.866025Y+*f0.866025X*f-0.5Y_m-Xf0-Yf7.95495-Zf0m-Xf-0.75-Yf-3.05495-Zf0m-Xf0-Yf0-Zf0m+f0/-Xf0f3+f0/-Yf0f3_m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0aaini-*f0.55-Xf-0.1*f0.5-Yf0.45i-*f-0.55-Xf0.4*f0-Yf1-*f0-Xf0.4*f-0.5-Yf0.45aa-f0.4X-Xf0.5a-f0Y-Yf1nni-*f-0.3-Xf0.4*f0-Yf0.85i-*f0-Xf0.4*f-0.3-Yf0.55-*f0.3-Xf0.1*f0.3-Yf0.55aa-f0X-Xf0.5a-f0Y-Yf1m-Xf0-Yf-7.95495-Zf0m+*f-0.866025X*f-0.5Y+*f0.5X*f-0.866025Y_m-Xf0-Yf7.95495-Zf0m-Xf-0.975-Yf-3.05495-Zf0m-Xf0-Yf0-Zf0m+f0/-Xf0f3+f0/-Yf0f3_m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iiiaa-r+q-Xf0.325q-Yf0.325f0.325n-r+q-Xf0.325q-Yf0.325f0.225naa-f0X-Xf0.325a-f0.325Y-Yf0.65aa-f0X-Xf0.325a-f0.55Y-Yf0.65aa-f0X-Xf0.1a-f0.55Y-Yf1aa-f0.1X-Xf0.65a-f0.9Y-Yf1',float('1.605625'),float('-15.284047'),float('-inf'),float('7.216597'),float('-9.755431'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 800.64341012079149, 1995.9435955133877 ], "name": "u6", "script": [ "import fab.types", "", "title('Union')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a | b)", "" ], "uid": 48 }, { "datums": [ { "expr": "\u0011[__42.__5]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__45.__5]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('im-Xf0-Yf-7.95495-Zf0m+*f-1X*f-1.22465e-16Y+*f1.22465e-16X*f-1Y_m-Xf0-Yf7.95495-Zf0m-Xf-0.9075-Yf-3.05495-Zf0m-Xf0-Yf0-Zf0m+f0/-Xf0f3+f0/-Yf0f3_m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iiam/Xf1.1Y_mX+f1/-Yf1f2_aaa-r+q-Xf0.275q-Yf0.725f0.275nmX+f0.725/-Yf0.725f1.2_-r+q-Xf0.275q-Yf0.725f0.175aa-f0X-Xf0.55a-f0.725Y-Yf1nni-*f-0.025-Xf0.275*f0.275-Yf0.925i-*f-0.175-Xf0.55*f0-Yf0.9-*f0.2-Xf0.55*f-0.275-Yf0.725naa-f0.275X-Xf0.65a-f0Y-Yf0.7aa-f0X-Xf0.1a-f0.275Y-Yf0.45a-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175m-Xf0-Yf-7.95495-Zf0m+*f-0.866025X*f0.5Y+*f-0.5X*f-0.866025Y_m-Xf0-Yf7.95495-Zf0m-Xf-0.9-Yf-3.05495-Zf0m-Xf0-Yf0-Zf0m+f0/-Xf0f3+f0/-Yf0f3_m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iiaa-f0X-Xf0.6a-f0.9Y-Yf1ni-*f0.9-Xf0*f0.475-Yf0i-*f0-Xf0.475*f0.125-Yf0.9-*f-0.9-Xf0.6*f-0.6-Yf0.9ni-*f0.9-Xf0*f0.6-Yf0i-*f-0.9-Xf0.6*f-0.475-Yf0.9-*f0-Xf0.125*f-0.125-Yf0',float('-4.729422'),float('-15.854950'),float('-inf'),float('0.907500'),float('-11.748472'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 793.09017040267076, 2292.4082544496246 ], "name": "u7", "script": [ "import fab.types", "", "title('Union')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a | b)", "" ], "uid": 49 }, { "datums": [ { "expr": "\u0011[__48.__2]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__49.__2]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('iim-Xf0-Yf-7.95495-Zf0m+*f-0.5X*f-0.866025Y+*f0.866025X*f-0.5Y_m-Xf0-Yf7.95495-Zf0m-Xf-0.75-Yf-3.05495-Zf0m-Xf0-Yf0-Zf0m+f0/-Xf0f3+f0/-Yf0f3_m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0aaini-*f0.55-Xf-0.1*f0.5-Yf0.45i-*f-0.55-Xf0.4*f0-Yf1-*f0-Xf0.4*f-0.5-Yf0.45aa-f0.4X-Xf0.5a-f0Y-Yf1nni-*f-0.3-Xf0.4*f0-Yf0.85i-*f0-Xf0.4*f-0.3-Yf0.55-*f0.3-Xf0.1*f0.3-Yf0.55aa-f0X-Xf0.5a-f0Y-Yf1m-Xf0-Yf-7.95495-Zf0m+*f-0.866025X*f-0.5Y+*f0.5X*f-0.866025Y_m-Xf0-Yf7.95495-Zf0m-Xf-0.975-Yf-3.05495-Zf0m-Xf0-Yf0-Zf0m+f0/-Xf0f3+f0/-Yf0f3_m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iiiaa-r+q-Xf0.325q-Yf0.325f0.325n-r+q-Xf0.325q-Yf0.325f0.225naa-f0X-Xf0.325a-f0.325Y-Yf0.65aa-f0X-Xf0.325a-f0.55Y-Yf0.65aa-f0X-Xf0.1a-f0.55Y-Yf1aa-f0.1X-Xf0.65a-f0.9Y-Yf1im-Xf0-Yf-7.95495-Zf0m+*f-1X*f-1.22465e-16Y+*f1.22465e-16X*f-1Y_m-Xf0-Yf7.95495-Zf0m-Xf-0.9075-Yf-3.05495-Zf0m-Xf0-Yf0-Zf0m+f0/-Xf0f3+f0/-Yf0f3_m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iiam/Xf1.1Y_mX+f1/-Yf1f2_aaa-r+q-Xf0.275q-Yf0.725f0.275nmX+f0.725/-Yf0.725f1.2_-r+q-Xf0.275q-Yf0.725f0.175aa-f0X-Xf0.55a-f0.725Y-Yf1nni-*f-0.025-Xf0.275*f0.275-Yf0.925i-*f-0.175-Xf0.55*f0-Yf0.9-*f0.2-Xf0.55*f-0.275-Yf0.725naa-f0.275X-Xf0.65a-f0Y-Yf0.7aa-f0X-Xf0.1a-f0.275Y-Yf0.45a-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175m-Xf0-Yf-7.95495-Zf0m+*f-0.866025X*f0.5Y+*f-0.5X*f-0.866025Y_m-Xf0-Yf7.95495-Zf0m-Xf-0.9-Yf-3.05495-Zf0m-Xf0-Yf0-Zf0m+f0/-Xf0f3+f0/-Yf0f3_m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iiaa-f0X-Xf0.6a-f0.9Y-Yf1ni-*f0.9-Xf0*f0.475-Yf0i-*f0-Xf0.475*f0.125-Yf0.9-*f-0.9-Xf0.6*f-0.6-Yf0.9ni-*f0.9-Xf0*f0.6-Yf0i-*f-0.9-Xf0.6*f-0.475-Yf0.9-*f0-Xf0.125*f-0.125-Yf0',float('-4.729422'),float('-15.854950'),float('-inf'),float('7.216597'),float('-9.755431'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 887.5056668791791, 2145.1200799462713 ], "name": "u8", "script": [ "import fab.types", "", "title('Union')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a | b)", "" ], "uid": 50 }, { "datums": [ { "expr": "\u0011[__35.__2]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__67.__2]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('iiim-Xf-1.425-Yf-3.05495-Zf0m-Xf0-Yf0-Zf0m+f0/-Xf0f3+f0/-Yf0f3_m-Xf0-Yf1-Zf0im-Xf0-Yf-1-Zf0aaaa-f0X-Xf0.3a-f0Y-Yf1n-r+qXq-Yf1f0.2naa-f0X-Xf0.2a-f0Y-Yf0.7m-Xf0.4-Yf-1-Zf0iiiaa-r+q-Xf0.275q-Yf0.725f0.275n-r+q-Xf0.275q-Yf0.725f0.175naa-f0X-Xf0.55a-f0Y-Yf0.725aa-f0X-Xf0.55a-f0Y-Yf0.1ni-*f0.675-Xf0*f0.45-Yf0.1i-*f-0.05-Xf0.45*f0.1-Yf0.775-*f-0.625-Xf0.55*f-0.55-Yf0.725ni-*f0.625-Xf0*f0.55-Yf0.1i-*f-0.625-Xf0.55*f-0.425-Yf0.725-*f0-Xf0.125*f-0.125-Yf0.1m-Xf0-Yf-7.95495-Zf0m+*f0.866025X*f-0.5Y+*f0.5X*f0.866025Y_m-Xf0-Yf7.95495-Zf0m-Xf-0.45-Yf-3.05495-Zf0m-Xf0-Yf0-Zf0m+f0/-Xf0f3+f0/-Yf0f3_m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0aaaa-f0X-Xf0.3a-f0Y-Yf1n-r+qXq-Yf1f0.2naa-f0X-Xf0.2a-f0Y-Yf0.7im-Xf0-Yf-7.95495-Zf0m+*f0.5X*f-0.866025Y+*f0.866025X*f0.5Y_m-Xf0-Yf7.95495-Zf0m-Xf-0.825-Yf-3.05495-Zf0m-Xf0-Yf0-Zf0m+f0/-Xf0f3+f0/-Yf0f3_m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iiiaa-r+q-Xf0.275q-Yf0.725f0.275n-r+q-Xf0.275q-Yf0.725f0.175naa-f0X-Xf0.55a-f0Y-Yf0.725aa-f0X-Xf0.55a-f0Y-Yf0.1ni-*f0.675-Xf0*f0.45-Yf0.1i-*f-0.05-Xf0.45*f0.1-Yf0.775-*f-0.625-Xf0.55*f-0.55-Yf0.725ni-*f0.625-Xf0*f0.55-Yf0.1i-*f-0.625-Xf0.55*f-0.425-Yf0.725-*f0-Xf0.125*f-0.125-Yf0.1m-Xf0-Yf-7.95495-Zf0m+*f6.12323e-17X*f-1Y+*f1X*f6.12323e-17Y_m-Xf0-Yf7.95495-Zf0m-Xf-0.9-Yf-3.05495-Zf0m-Xf0-Yf0-Zf0m+f0/-Xf0f3+f0/-Yf0f3_m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0aaia-r+q-Xf0.3q-Yf0.725f0.275n-r+q-Xf0.3q-Yf0.725f0.175-r+q-Xf0.3q-Yf0.275f0.275n-r+q-Xf0.3q-Yf0.275f0.175naa-f0X-Xf0.275a-f0.275Y-Yf0.725iiim-Xf0-Yf-7.95495-Zf0m+*f-0.5X*f-0.866025Y+*f0.866025X*f-0.5Y_m-Xf0-Yf7.95495-Zf0m-Xf-0.75-Yf-3.05495-Zf0m-Xf0-Yf0-Zf0m+f0/-Xf0f3+f0/-Yf0f3_m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0aaini-*f0.55-Xf-0.1*f0.5-Yf0.45i-*f-0.55-Xf0.4*f0-Yf1-*f0-Xf0.4*f-0.5-Yf0.45aa-f0.4X-Xf0.5a-f0Y-Yf1nni-*f-0.3-Xf0.4*f0-Yf0.85i-*f0-Xf0.4*f-0.3-Yf0.55-*f0.3-Xf0.1*f0.3-Yf0.55aa-f0X-Xf0.5a-f0Y-Yf1m-Xf0-Yf-7.95495-Zf0m+*f-0.866025X*f-0.5Y+*f0.5X*f-0.866025Y_m-Xf0-Yf7.95495-Zf0m-Xf-0.975-Yf-3.05495-Zf0m-Xf0-Yf0-Zf0m+f0/-Xf0f3+f0/-Yf0f3_m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iiiaa-r+q-Xf0.325q-Yf0.325f0.325n-r+q-Xf0.325q-Yf0.325f0.225naa-f0X-Xf0.325a-f0.325Y-Yf0.65aa-f0X-Xf0.325a-f0.55Y-Yf0.65aa-f0X-Xf0.1a-f0.55Y-Yf1aa-f0.1X-Xf0.65a-f0.9Y-Yf1im-Xf0-Yf-7.95495-Zf0m+*f-1X*f-1.22465e-16Y+*f1.22465e-16X*f-1Y_m-Xf0-Yf7.95495-Zf0m-Xf-0.9075-Yf-3.05495-Zf0m-Xf0-Yf0-Zf0m+f0/-Xf0f3+f0/-Yf0f3_m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iiam/Xf1.1Y_mX+f1/-Yf1f2_aaa-r+q-Xf0.275q-Yf0.725f0.275nmX+f0.725/-Yf0.725f1.2_-r+q-Xf0.275q-Yf0.725f0.175aa-f0X-Xf0.55a-f0.725Y-Yf1nni-*f-0.025-Xf0.275*f0.275-Yf0.925i-*f-0.175-Xf0.55*f0-Yf0.9-*f0.2-Xf0.55*f-0.275-Yf0.725naa-f0.275X-Xf0.65a-f0Y-Yf0.7aa-f0X-Xf0.1a-f0.275Y-Yf0.45a-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175m-Xf0-Yf-7.95495-Zf0m+*f-0.866025X*f0.5Y+*f-0.5X*f-0.866025Y_m-Xf0-Yf7.95495-Zf0m-Xf-0.9-Yf-3.05495-Zf0m-Xf0-Yf0-Zf0m+f0/-Xf0f3+f0/-Yf0f3_m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iiaa-f0X-Xf0.6a-f0.9Y-Yf1ni-*f0.9-Xf0*f0.475-Yf0i-*f0-Xf0.475*f0.125-Yf0.9-*f-0.9-Xf0.6*f-0.6-Yf0.9ni-*f0.9-Xf0*f0.6-Yf0i-*f-0.9-Xf0.6*f-0.475-Yf0.9-*f0-Xf0.125*f-0.125-Yf0iim-Xf0-Yf-7.95495-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf7.95495-Zf0m-Xf-0.9-Yf-3.05495-Zf0m-Xf0-Yf0-Zf0m+f0/-Xf0f3+f0/-Yf0f3_m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0aia-r+q-Xf0.3q-Yf0.725f0.275n-r+q-Xf0.3q-Yf0.725f0.175-r+q-Xf0.3q-Yf0.275f0.275n-r+q-Xf0.3q-Yf0.275f0.175m-Xf0-Yf-7.95495-Zf0m+*f-1.83697e-16X*f1Y+*f-1X*f-1.83697e-16Y_m-Xf0-Yf7.95495-Zf0m-Xf-0.7425-Yf-3.05495-Zf0m-Xf0-Yf0-Zf0m+f0/-Xf0f3+f0/-Yf0f3_m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0m-*f2f0.275X__m_-*f2f0.5Y_iiam/Xf1.1Y_mX+f1/-Yf1f2_aaa-r+q-Xf0.275q-Yf0.725f0.275nmX+f0.725/-Yf0.725f1.2_-r+q-Xf0.275q-Yf0.725f0.175aa-f0X-Xf0.55a-f0.725Y-Yf1nni-*f-0.025-Xf0.275*f0.275-Yf0.925i-*f-0.175-Xf0.55*f0-Yf0.9-*f0.2-Xf0.55*f-0.275-Yf0.725naa-f0.275X-Xf0.65a-f0Y-Yf0.7aa-f0X-Xf0.1a-f0.275Y-Yf0.45a-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175im-Xf0-Yf-7.95495-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf7.95495-Zf0m-Xf-1.65-Yf-3.05495-Zf0m-Xf0-Yf0-Zf0m+f0/-Xf0f3+f0/-Yf0f3_m-Xf0-Yf1-Zf0im-Xf0-Yf-1-Zf0aaaa-f0X-Xf0.3a-f0Y-Yf1n-r+qXq-Yf1f0.2naa-f0X-Xf0.2a-f0Y-Yf0.7m-Xf0.4-Yf-1-Zf0m/Xf0.7Y_a-r+q-Xf0.5q-Yf0.5f0.5nm+f0.5/-Xf0.5f0.83666Y_-r+q-Xf0.5q-Yf0.5f0.4m-Xf0-Yf-7.95495-Zf0m+*f0.866025X*f0.5Y+*f-0.5X*f0.866025Y_m-Xf0-Yf7.95495-Zf0m-Xf-1.05-Yf-3.05495-Zf0m-Xf0-Yf0-Zf0m+f0/-Xf0f3+f0/-Yf0f3_m-Xf0-Yf1-Zf0im-Xf0-Yf-1-Zf0aaaa-f0X-Xf0.3a-f0Y-Yf1n-r+qXq-Yf1f0.2naa-f0X-Xf0.2a-f0Y-Yf0.7m-Xf0.4-Yf-1-Zf0aaaa-f0X-Xf0.3a-f0Y-Yf1n-r+qXq-Yf1f0.2naa-f0X-Xf0.2a-f0Y-Yf0.7',float('-7.900000'),float('-15.854950'),float('-inf'),float('7.900000'),float('-0.054950'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 1104.2550180910409, 1839.5963047979903 ], "name": "u9", "script": [ "import fab.types", "", "title('Union')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a | b)", "" ], "uid": 51 }, { "datums": [ { "expr": "'10'", "name": "text", "type": "str", "uid": 2 }, { "expr": "\u0011[__parent.__7]", "name": "scale", "type": "float", "uid": 3 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf0-Zf0m+f0/-Xf0f3+f0/-Yf0f3_m-Xf0-Yf1-Zf0im-Xf0-Yf-1-Zf0aaaa-f0X-Xf0.3a-f0Y-Yf1n-r+qXq-Yf1f0.2naa-f0X-Xf0.2a-f0Y-Yf0.7m-Xf0.4-Yf-1-Zf0m/Xf0.7Y_a-r+q-Xf0.5q-Yf0.5f0.5nm+f0.5/-Xf0.5f0.83666Y_-r+q-Xf0.5q-Yf0.5f0.4',float('0.000000'),float('0.000000'),float('-inf'),float('3.300000'),float('3.000000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ -45.633722753548128, 2782.1548058031258 ], "name": "t8", "script": [ "import fab", "", "title('Text')", "", "input('text', str)", "input('scale', float)", "", "x = 0", "y = 0", "", "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": 52 }, { "datums": [ { "expr": "\u0011[__62.__2]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__54.__2]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('iim-Xf0-Yf-7.95495-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf7.95495-Zf0m-Xf-0.9-Yf-3.05495-Zf0m-Xf0-Yf0-Zf0m+f0/-Xf0f3+f0/-Yf0f3_m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0aia-r+q-Xf0.3q-Yf0.725f0.275n-r+q-Xf0.3q-Yf0.725f0.175-r+q-Xf0.3q-Yf0.275f0.275n-r+q-Xf0.3q-Yf0.275f0.175m-Xf0-Yf-7.95495-Zf0m+*f-1.83697e-16X*f1Y+*f-1X*f-1.83697e-16Y_m-Xf0-Yf7.95495-Zf0m-Xf-0.7425-Yf-3.05495-Zf0m-Xf0-Yf0-Zf0m+f0/-Xf0f3+f0/-Yf0f3_m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0m-*f2f0.275X__m_-*f2f0.5Y_iiam/Xf1.1Y_mX+f1/-Yf1f2_aaa-r+q-Xf0.275q-Yf0.725f0.275nmX+f0.725/-Yf0.725f1.2_-r+q-Xf0.275q-Yf0.725f0.175aa-f0X-Xf0.55a-f0.725Y-Yf1nni-*f-0.025-Xf0.275*f0.275-Yf0.925i-*f-0.175-Xf0.55*f0-Yf0.9-*f0.2-Xf0.55*f-0.275-Yf0.725naa-f0.275X-Xf0.65a-f0Y-Yf0.7aa-f0X-Xf0.1a-f0.275Y-Yf0.45a-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175im-Xf0-Yf-7.95495-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf7.95495-Zf0m-Xf-1.65-Yf-3.05495-Zf0m-Xf0-Yf0-Zf0m+f0/-Xf0f3+f0/-Yf0f3_m-Xf0-Yf1-Zf0im-Xf0-Yf-1-Zf0aaaa-f0X-Xf0.3a-f0Y-Yf1n-r+qXq-Yf1f0.2naa-f0X-Xf0.2a-f0Y-Yf0.7m-Xf0.4-Yf-1-Zf0m/Xf0.7Y_a-r+q-Xf0.5q-Yf0.5f0.5nm+f0.5/-Xf0.5f0.83666Y_-r+q-Xf0.5q-Yf0.5f0.4m-Xf0-Yf-7.95495-Zf0m+*f0.866025X*f0.5Y+*f-0.5X*f0.866025Y_m-Xf0-Yf7.95495-Zf0m-Xf-1.05-Yf-3.05495-Zf0m-Xf0-Yf0-Zf0m+f0/-Xf0f3+f0/-Yf0f3_m-Xf0-Yf1-Zf0im-Xf0-Yf-1-Zf0aaaa-f0X-Xf0.3a-f0Y-Yf1n-r+qXq-Yf1f0.2naa-f0X-Xf0.2a-f0Y-Yf0.7m-Xf0.4-Yf-1-Zf0aaaa-f0X-Xf0.3a-f0Y-Yf1n-r+qXq-Yf1f0.2naa-f0X-Xf0.2a-f0Y-Yf0.7',float('-7.900000'),float('-12.619420'),float('-inf'),float('-1.540674'),float('-0.588353'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 880.51087751340765, 2753.7143276073348 ], "name": "u10", "script": [ "import fab.types", "", "title('Union')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a | b)", "" ], "uid": 53 }, { "datums": [ { "expr": "\u0011[__65.__5]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__61.__5]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('im-Xf0-Yf-7.95495-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf7.95495-Zf0m-Xf-1.65-Yf-3.05495-Zf0m-Xf0-Yf0-Zf0m+f0/-Xf0f3+f0/-Yf0f3_m-Xf0-Yf1-Zf0im-Xf0-Yf-1-Zf0aaaa-f0X-Xf0.3a-f0Y-Yf1n-r+qXq-Yf1f0.2naa-f0X-Xf0.2a-f0Y-Yf0.7m-Xf0.4-Yf-1-Zf0m/Xf0.7Y_a-r+q-Xf0.5q-Yf0.5f0.5nm+f0.5/-Xf0.5f0.83666Y_-r+q-Xf0.5q-Yf0.5f0.4m-Xf0-Yf-7.95495-Zf0m+*f0.866025X*f0.5Y+*f-0.5X*f0.866025Y_m-Xf0-Yf7.95495-Zf0m-Xf-1.05-Yf-3.05495-Zf0m-Xf0-Yf0-Zf0m+f0/-Xf0f3+f0/-Yf0f3_m-Xf0-Yf1-Zf0im-Xf0-Yf-1-Zf0aaaa-f0X-Xf0.3a-f0Y-Yf1n-r+qXq-Yf1f0.2naa-f0X-Xf0.2a-f0Y-Yf0.7m-Xf0.4-Yf-1-Zf0aaaa-f0X-Xf0.3a-f0Y-Yf1n-r+qXq-Yf1f0.2naa-f0X-Xf0.2a-f0Y-Yf0.7',float('-7.666597'),float('-6.933891'),float('-inf'),float('-1.540674'),float('-0.588353'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 786.09538103689931, 2901.0025021106876 ], "name": "u11", "script": [ "import fab.types", "", "title('Union')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a | b)", "" ], "uid": 54 }, { "datums": [ { "expr": "'9'", "name": "text", "type": "str", "uid": 2 }, { "expr": "\u0011[__parent.__7]", "name": "scale", "type": "float", "uid": 3 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf0-Zf0m+f0/-Xf0f3+f0/-Yf0f3_m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0m-*f2f0.275X__m_-*f2f0.5Y_iiam/Xf1.1Y_mX+f1/-Yf1f2_aaa-r+q-Xf0.275q-Yf0.725f0.275nmX+f0.725/-Yf0.725f1.2_-r+q-Xf0.275q-Yf0.725f0.175aa-f0X-Xf0.55a-f0.725Y-Yf1nni-*f-0.025-Xf0.275*f0.275-Yf0.925i-*f-0.175-Xf0.55*f0-Yf0.9-*f0.2-Xf0.55*f-0.275-Yf0.725naa-f0.275X-Xf0.65a-f0Y-Yf0.7aa-f0X-Xf0.1a-f0.275Y-Yf0.45a-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175',float('-0.165000'),float('0.000000'),float('-inf'),float('1.650000'),float('3.000000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ -45.633722753548156, 2629.2017015111824 ], "name": "t9", "script": [ "import fab", "", "title('Text')", "", "input('text', str)", "input('scale', float)", "", "x = 0", "y = 0", "", "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[__19.__5]", "name": "d", "type": "float", "uid": 6 }, { "expr": "\u0011[__19.__0]", "name": "rFace", "type": "float", "uid": 11 }, { "expr": "\u0011[__55.__4]", "name": "shape", "type": "_fabtypes.Shape", "uid": 3 }, { "expr": "\u0012fab.types.Shape('m-Xf-0.7425-Yf-3.05495-Zf0m-Xf0-Yf0-Zf0m+f0/-Xf0f3+f0/-Yf0f3_m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0m-*f2f0.275X__m_-*f2f0.5Y_iiam/Xf1.1Y_mX+f1/-Yf1f2_aaa-r+q-Xf0.275q-Yf0.725f0.275nmX+f0.725/-Yf0.725f1.2_-r+q-Xf0.275q-Yf0.725f0.175aa-f0X-Xf0.55a-f0.725Y-Yf1nni-*f-0.025-Xf0.275*f0.275-Yf0.925i-*f-0.175-Xf0.55*f0-Yf0.9-*f0.2-Xf0.55*f-0.275-Yf0.725naa-f0.275X-Xf0.65a-f0Y-Yf0.7aa-f0X-Xf0.1a-f0.275Y-Yf0.45a-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175',float('-0.907500'),float('-3.054950'),float('-inf'),float('0.907500'),float('-0.054950'),float('inf'))", "name": "out", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 234.68440980711102, 2621.0651351526112 ], "name": "r19", "script": [ "import fab", "import math", "", "title('Recenter')", "", "input('d', float)", "input('rFace', float)", "", "x = 0", "z = 0", "y = -d/math.sqrt(2) + rFace*4/5", "", "input('shape', fab.types.Shape)", "output('out', fab.shapes.recenter(shape, x, y, z))", "", "# UI", "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)", "" ], "uid": 56 }, { "datums": [ { "expr": "\u0011[__19.__5]", "name": "d", "type": "float", "uid": 6 }, { "expr": "\u0011[__19.__0]", "name": "rFace", "type": "float", "uid": 11 }, { "expr": "\u0011[__52.__4]", "name": "shape", "type": "_fabtypes.Shape", "uid": 3 }, { "expr": "\u0012fab.types.Shape('m-Xf-1.65-Yf-3.05495-Zf0m-Xf0-Yf0-Zf0m+f0/-Xf0f3+f0/-Yf0f3_m-Xf0-Yf1-Zf0im-Xf0-Yf-1-Zf0aaaa-f0X-Xf0.3a-f0Y-Yf1n-r+qXq-Yf1f0.2naa-f0X-Xf0.2a-f0Y-Yf0.7m-Xf0.4-Yf-1-Zf0m/Xf0.7Y_a-r+q-Xf0.5q-Yf0.5f0.5nm+f0.5/-Xf0.5f0.83666Y_-r+q-Xf0.5q-Yf0.5f0.4',float('-1.650000'),float('-3.054950'),float('-inf'),float('1.650000'),float('-0.054950'),float('inf'))", "name": "out", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 234.68440980711102, 2774.0182394445537 ], "name": "r20", "script": [ "import fab", "import math", "", "title('Recenter')", "", "input('d', float)", "input('rFace', float)", "", "x = 0", "z = 0", "y = -d/math.sqrt(2) + rFace*4/5", "", "input('shape', fab.types.Shape)", "output('out', fab.shapes.recenter(shape, x, y, z))", "", "# UI", "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)", "" ], "uid": 57 }, { "datums": [ { "expr": "\u0011[__56.__6]", "name": "d", "type": "float", "uid": 7 }, { "expr": "0.0", "name": "_z", "type": "float", "uid": 2 }, { "expr": "-270", "name": "a", "type": "float", "uid": 3 }, { "expr": "\u0011[__56.__4]", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf-7.95495-Zf0m+*f-1.83697e-16X*f1Y+*f-1X*f-1.83697e-16Y_m-Xf0-Yf7.95495-Zf0m-Xf-0.7425-Yf-3.05495-Zf0m-Xf0-Yf0-Zf0m+f0/-Xf0f3+f0/-Yf0f3_m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0m-*f2f0.275X__m_-*f2f0.5Y_iiam/Xf1.1Y_mX+f1/-Yf1f2_aaa-r+q-Xf0.275q-Yf0.725f0.275nmX+f0.725/-Yf0.725f1.2_-r+q-Xf0.275q-Yf0.725f0.175aa-f0X-Xf0.55a-f0.725Y-Yf1nni-*f-0.025-Xf0.275*f0.275-Yf0.925i-*f-0.175-Xf0.55*f0-Yf0.9-*f0.2-Xf0.55*f-0.275-Yf0.725naa-f0.275X-Xf0.65a-f0Y-Yf0.7aa-f0X-Xf0.1a-f0.275Y-Yf0.45a-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175',float('-7.900000'),float('-8.862450'),float('-inf'),float('-4.900000'),float('-7.047450'),float('inf'))", "name": "rotated", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 509.87416015144061, 2617.7823041087941 ], "name": "r21", "script": [ "import fab", "import math", "", "title('Rotate (Z)')", "", "input('d', float)", "input('_z', float)", "input('a', float)", "", "x = 0", "z = 0", "y = -d/math.sqrt(2)", "", "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": 58 }, { "datums": [ { "expr": "'8'", "name": "text", "type": "str", "uid": 2 }, { "expr": "\u0011[__parent.__7]", "name": "scale", "type": "float", "uid": 3 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf0-Zf0m+f0/-Xf0f3+f0/-Yf0f3_m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0aia-r+q-Xf0.3q-Yf0.725f0.275n-r+q-Xf0.3q-Yf0.725f0.175-r+q-Xf0.3q-Yf0.275f0.275n-r+q-Xf0.3q-Yf0.275f0.175',float('0.075000'),float('0.000000'),float('-inf'),float('1.725000'),float('3.000000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ -43.745412824017947, 2478.1369071487688 ], "name": "t10", "script": [ "import fab", "", "title('Text')", "", "input('text', str)", "input('scale', float)", "", "x = 0", "y = 0", "", "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": 59 }, { "datums": [ { "expr": "\u0011[__19.__5]", "name": "d", "type": "float", "uid": 6 }, { "expr": "\u0011[__19.__0]", "name": "rFace", "type": "float", "uid": 11 }, { "expr": "\u0011[__59.__4]", "name": "shape", "type": "_fabtypes.Shape", "uid": 3 }, { "expr": "\u0012fab.types.Shape('m-Xf-0.9-Yf-3.05495-Zf0m-Xf0-Yf0-Zf0m+f0/-Xf0f3+f0/-Yf0f3_m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0aia-r+q-Xf0.3q-Yf0.725f0.275n-r+q-Xf0.3q-Yf0.725f0.175-r+q-Xf0.3q-Yf0.275f0.275n-r+q-Xf0.3q-Yf0.275f0.175',float('-0.825000'),float('-3.054950'),float('-inf'),float('0.825000'),float('-0.054950'),float('inf'))", "name": "out", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 236.5727197366412, 2470.0003407901977 ], "name": "r22", "script": [ "import fab", "import math", "", "title('Recenter')", "", "input('d', float)", "input('rFace', float)", "", "x = 0", "z = 0", "y = -d/math.sqrt(2) + rFace*4/5", "", "input('shape', fab.types.Shape)", "output('out', fab.shapes.recenter(shape, x, y, z))", "", "# UI", "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)", "" ], "uid": 60 }, { "datums": [ { "expr": "\u0011[__64.__6]", "name": "d", "type": "float", "uid": 7 }, { "expr": "0.0", "name": "_z", "type": "float", "uid": 2 }, { "expr": "-330", "name": "a", "type": "float", "uid": 3 }, { "expr": "\u0011[__64.__4]", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf-7.95495-Zf0m+*f0.866025X*f0.5Y+*f-0.5X*f0.866025Y_m-Xf0-Yf7.95495-Zf0m-Xf-1.05-Yf-3.05495-Zf0m-Xf0-Yf0-Zf0m+f0/-Xf0f3+f0/-Yf0f3_m-Xf0-Yf1-Zf0im-Xf0-Yf-1-Zf0aaaa-f0X-Xf0.3a-f0Y-Yf1n-r+qXq-Yf1f0.2naa-f0X-Xf0.2a-f0Y-Yf0.7m-Xf0.4-Yf-1-Zf0aaaa-f0X-Xf0.3a-f0Y-Yf1n-r+qXq-Yf1f0.2naa-f0X-Xf0.2a-f0Y-Yf0.7',float('-4.859326'),float('-4.236428'),float('-inf'),float('-1.540674'),float('-0.588353'),float('inf'))", "name": "rotated", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 507.98585022191025, 2921.800202763151 ], "name": "r23", "script": [ "import fab", "import math", "", "title('Rotate (Z)')", "", "input('d', float)", "input('_z', float)", "input('a', float)", "", "x = 0", "z = 0", "y = -d/math.sqrt(2)", "", "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": 61 }, { "datums": [ { "expr": "\u0011[__63.__5]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__58.__5]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('im-Xf0-Yf-7.95495-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf7.95495-Zf0m-Xf-0.9-Yf-3.05495-Zf0m-Xf0-Yf0-Zf0m+f0/-Xf0f3+f0/-Yf0f3_m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0aia-r+q-Xf0.3q-Yf0.725f0.275n-r+q-Xf0.3q-Yf0.725f0.175-r+q-Xf0.3q-Yf0.275f0.275n-r+q-Xf0.3q-Yf0.275f0.175m-Xf0-Yf-7.95495-Zf0m+*f-1.83697e-16X*f1Y+*f-1X*f-1.83697e-16Y_m-Xf0-Yf7.95495-Zf0m-Xf-0.7425-Yf-3.05495-Zf0m-Xf0-Yf0-Zf0m+f0/-Xf0f3+f0/-Yf0f3_m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0m-*f2f0.275X__m_-*f2f0.5Y_iiam/Xf1.1Y_mX+f1/-Yf1f2_aaa-r+q-Xf0.275q-Yf0.725f0.275nmX+f0.725/-Yf0.725f1.2_-r+q-Xf0.275q-Yf0.725f0.175aa-f0X-Xf0.55a-f0.725Y-Yf1nni-*f-0.025-Xf0.275*f0.275-Yf0.925i-*f-0.175-Xf0.55*f0-Yf0.9-*f0.2-Xf0.55*f-0.275-Yf0.725naa-f0.275X-Xf0.65a-f0Y-Yf0.7aa-f0X-Xf0.1a-f0.275Y-Yf0.45a-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175',float('-7.900000'),float('-12.619420'),float('-inf'),float('-3.831022'),float('-7.047450'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 793.64862075502003, 2604.5378431744512 ], "name": "u12", "script": [ "import fab.types", "", "title('Union')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a | b)", "" ], "uid": 62 }, { "datums": [ { "expr": "\u0011[__60.__6]", "name": "d", "type": "float", "uid": 7 }, { "expr": "0.0", "name": "_z", "type": "float", "uid": 2 }, { "expr": "-240", "name": "a", "type": "float", "uid": 3 }, { "expr": "\u0011[__60.__4]", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf-7.95495-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf7.95495-Zf0m-Xf-0.9-Yf-3.05495-Zf0m-Xf0-Yf0-Zf0m+f0/-Xf0f3+f0/-Yf0f3_m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0aia-r+q-Xf0.3q-Yf0.725f0.275n-r+q-Xf0.3q-Yf0.725f0.175-r+q-Xf0.3q-Yf0.275f0.275n-r+q-Xf0.3q-Yf0.275f0.175',float('-7.254097'),float('-12.619420'),float('-inf'),float('-3.831022'),float('-9.690479'),float('inf'))", "name": "rotated", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 511.7624700809705, 2466.7175097463805 ], "name": "r24", "script": [ "import fab", "import math", "", "title('Rotate (Z)')", "", "input('d', float)", "input('_z', float)", "input('a', float)", "", "x = 0", "z = 0", "y = -d/math.sqrt(2)", "", "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": 63 }, { "datums": [ { "expr": "\u0011[__19.__5]", "name": "d", "type": "float", "uid": 6 }, { "expr": "\u0011[__19.__0]", "name": "rFace", "type": "float", "uid": 11 }, { "expr": "\u0011[__66.__4]", "name": "shape", "type": "_fabtypes.Shape", "uid": 3 }, { "expr": "\u0012fab.types.Shape('m-Xf-1.05-Yf-3.05495-Zf0m-Xf0-Yf0-Zf0m+f0/-Xf0f3+f0/-Yf0f3_m-Xf0-Yf1-Zf0im-Xf0-Yf-1-Zf0aaaa-f0X-Xf0.3a-f0Y-Yf1n-r+qXq-Yf1f0.2naa-f0X-Xf0.2a-f0Y-Yf0.7m-Xf0.4-Yf-1-Zf0aaaa-f0X-Xf0.3a-f0Y-Yf1n-r+qXq-Yf1f0.2naa-f0X-Xf0.2a-f0Y-Yf0.7',float('-1.050000'),float('-3.054950'),float('-inf'),float('1.050000'),float('-0.054950'),float('inf'))", "name": "out", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 232.79609987758084, 2925.0830338069673 ], "name": "r25", "script": [ "import fab", "import math", "", "title('Recenter')", "", "input('d', float)", "input('rFace', float)", "", "x = 0", "z = 0", "y = -d/math.sqrt(2) + rFace*4/5", "", "input('shape', fab.types.Shape)", "output('out', fab.shapes.recenter(shape, x, y, z))", "", "# UI", "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)", "" ], "uid": 64 }, { "datums": [ { "expr": "\u0011[__57.__6]", "name": "d", "type": "float", "uid": 7 }, { "expr": "0.0", "name": "_z", "type": "float", "uid": 2 }, { "expr": "-300", "name": "a", "type": "float", "uid": 3 }, { "expr": "\u0011[__57.__4]", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf-7.95495-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf7.95495-Zf0m-Xf-1.65-Yf-3.05495-Zf0m-Xf0-Yf0-Zf0m+f0/-Xf0f3+f0/-Yf0f3_m-Xf0-Yf1-Zf0im-Xf0-Yf-1-Zf0aaaa-f0X-Xf0.3a-f0Y-Yf1n-r+qXq-Yf1f0.2naa-f0X-Xf0.2a-f0Y-Yf0.7m-Xf0.4-Yf-1-Zf0m/Xf0.7Y_a-r+q-Xf0.5q-Yf0.5f0.5nm+f0.5/-Xf0.5f0.83666Y_-r+q-Xf0.5q-Yf0.5f0.4',float('-7.666597'),float('-6.933891'),float('-inf'),float('-3.418522'),float('-2.576009'),float('inf'))", "name": "rotated", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 509.87416015144061, 2770.7354084007375 ], "name": "r26", "script": [ "import fab", "import math", "", "title('Rotate (Z)')", "", "input('d', float)", "input('_z', float)", "input('a', float)", "", "x = 0", "z = 0", "y = -d/math.sqrt(2)", "", "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": 65 }, { "datums": [ { "expr": "'11'", "name": "text", "type": "str", "uid": 2 }, { "expr": "\u0011[__parent.__7]", "name": "scale", "type": "float", "uid": 3 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf0-Zf0m+f0/-Xf0f3+f0/-Yf0f3_m-Xf0-Yf1-Zf0im-Xf0-Yf-1-Zf0aaaa-f0X-Xf0.3a-f0Y-Yf1n-r+qXq-Yf1f0.2naa-f0X-Xf0.2a-f0Y-Yf0.7m-Xf0.4-Yf-1-Zf0aaaa-f0X-Xf0.3a-f0Y-Yf1n-r+qXq-Yf1f0.2naa-f0X-Xf0.2a-f0Y-Yf0.7',float('0.000000'),float('0.000000'),float('-inf'),float('2.100000'),float('3.000000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ -47.52203268307828, 2933.2196001655393 ], "name": "t11", "script": [ "import fab", "", "title('Text')", "", "input('text', str)", "input('scale', float)", "", "x = 0", "y = 0", "", "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": 66 }, { "datums": [ { "expr": "\u0011[__50.__2]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__53.__2]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('iiim-Xf0-Yf-7.95495-Zf0m+*f-0.5X*f-0.866025Y+*f0.866025X*f-0.5Y_m-Xf0-Yf7.95495-Zf0m-Xf-0.75-Yf-3.05495-Zf0m-Xf0-Yf0-Zf0m+f0/-Xf0f3+f0/-Yf0f3_m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0aaini-*f0.55-Xf-0.1*f0.5-Yf0.45i-*f-0.55-Xf0.4*f0-Yf1-*f0-Xf0.4*f-0.5-Yf0.45aa-f0.4X-Xf0.5a-f0Y-Yf1nni-*f-0.3-Xf0.4*f0-Yf0.85i-*f0-Xf0.4*f-0.3-Yf0.55-*f0.3-Xf0.1*f0.3-Yf0.55aa-f0X-Xf0.5a-f0Y-Yf1m-Xf0-Yf-7.95495-Zf0m+*f-0.866025X*f-0.5Y+*f0.5X*f-0.866025Y_m-Xf0-Yf7.95495-Zf0m-Xf-0.975-Yf-3.05495-Zf0m-Xf0-Yf0-Zf0m+f0/-Xf0f3+f0/-Yf0f3_m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iiiaa-r+q-Xf0.325q-Yf0.325f0.325n-r+q-Xf0.325q-Yf0.325f0.225naa-f0X-Xf0.325a-f0.325Y-Yf0.65aa-f0X-Xf0.325a-f0.55Y-Yf0.65aa-f0X-Xf0.1a-f0.55Y-Yf1aa-f0.1X-Xf0.65a-f0.9Y-Yf1im-Xf0-Yf-7.95495-Zf0m+*f-1X*f-1.22465e-16Y+*f1.22465e-16X*f-1Y_m-Xf0-Yf7.95495-Zf0m-Xf-0.9075-Yf-3.05495-Zf0m-Xf0-Yf0-Zf0m+f0/-Xf0f3+f0/-Yf0f3_m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iiam/Xf1.1Y_mX+f1/-Yf1f2_aaa-r+q-Xf0.275q-Yf0.725f0.275nmX+f0.725/-Yf0.725f1.2_-r+q-Xf0.275q-Yf0.725f0.175aa-f0X-Xf0.55a-f0.725Y-Yf1nni-*f-0.025-Xf0.275*f0.275-Yf0.925i-*f-0.175-Xf0.55*f0-Yf0.9-*f0.2-Xf0.55*f-0.275-Yf0.725naa-f0.275X-Xf0.65a-f0Y-Yf0.7aa-f0X-Xf0.1a-f0.275Y-Yf0.45a-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175m-Xf0-Yf-7.95495-Zf0m+*f-0.866025X*f0.5Y+*f-0.5X*f-0.866025Y_m-Xf0-Yf7.95495-Zf0m-Xf-0.9-Yf-3.05495-Zf0m-Xf0-Yf0-Zf0m+f0/-Xf0f3+f0/-Yf0f3_m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iiaa-f0X-Xf0.6a-f0.9Y-Yf1ni-*f0.9-Xf0*f0.475-Yf0i-*f0-Xf0.475*f0.125-Yf0.9-*f-0.9-Xf0.6*f-0.6-Yf0.9ni-*f0.9-Xf0*f0.6-Yf0i-*f-0.9-Xf0.6*f-0.475-Yf0.9-*f0-Xf0.125*f-0.125-Yf0iim-Xf0-Yf-7.95495-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf7.95495-Zf0m-Xf-0.9-Yf-3.05495-Zf0m-Xf0-Yf0-Zf0m+f0/-Xf0f3+f0/-Yf0f3_m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0aia-r+q-Xf0.3q-Yf0.725f0.275n-r+q-Xf0.3q-Yf0.725f0.175-r+q-Xf0.3q-Yf0.275f0.275n-r+q-Xf0.3q-Yf0.275f0.175m-Xf0-Yf-7.95495-Zf0m+*f-1.83697e-16X*f1Y+*f-1X*f-1.83697e-16Y_m-Xf0-Yf7.95495-Zf0m-Xf-0.7425-Yf-3.05495-Zf0m-Xf0-Yf0-Zf0m+f0/-Xf0f3+f0/-Yf0f3_m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0m-*f2f0.275X__m_-*f2f0.5Y_iiam/Xf1.1Y_mX+f1/-Yf1f2_aaa-r+q-Xf0.275q-Yf0.725f0.275nmX+f0.725/-Yf0.725f1.2_-r+q-Xf0.275q-Yf0.725f0.175aa-f0X-Xf0.55a-f0.725Y-Yf1nni-*f-0.025-Xf0.275*f0.275-Yf0.925i-*f-0.175-Xf0.55*f0-Yf0.9-*f0.2-Xf0.55*f-0.275-Yf0.725naa-f0.275X-Xf0.65a-f0Y-Yf0.7aa-f0X-Xf0.1a-f0.275Y-Yf0.45a-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175im-Xf0-Yf-7.95495-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf7.95495-Zf0m-Xf-1.65-Yf-3.05495-Zf0m-Xf0-Yf0-Zf0m+f0/-Xf0f3+f0/-Yf0f3_m-Xf0-Yf1-Zf0im-Xf0-Yf-1-Zf0aaaa-f0X-Xf0.3a-f0Y-Yf1n-r+qXq-Yf1f0.2naa-f0X-Xf0.2a-f0Y-Yf0.7m-Xf0.4-Yf-1-Zf0m/Xf0.7Y_a-r+q-Xf0.5q-Yf0.5f0.5nm+f0.5/-Xf0.5f0.83666Y_-r+q-Xf0.5q-Yf0.5f0.4m-Xf0-Yf-7.95495-Zf0m+*f0.866025X*f0.5Y+*f-0.5X*f0.866025Y_m-Xf0-Yf7.95495-Zf0m-Xf-1.05-Yf-3.05495-Zf0m-Xf0-Yf0-Zf0m+f0/-Xf0f3+f0/-Yf0f3_m-Xf0-Yf1-Zf0im-Xf0-Yf-1-Zf0aaaa-f0X-Xf0.3a-f0Y-Yf1n-r+qXq-Yf1f0.2naa-f0X-Xf0.2a-f0Y-Yf0.7m-Xf0.4-Yf-1-Zf0aaaa-f0X-Xf0.3a-f0Y-Yf1n-r+qXq-Yf1f0.2naa-f0X-Xf0.2a-f0Y-Yf0.7',float('-7.900000'),float('-15.854950'),float('-inf'),float('7.216597'),float('-0.588353'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 1119.7677882113899, 2466.8260630921095 ], "name": "u13", "script": [ "import fab.types", "", "title('Union')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a | b)", "" ], "uid": 67 }, { "datums": [ { "expr": "0.0", "name": "x", "type": "float", "uid": 0 }, { "expr": "-15.909902*2", "name": "y", "type": "float", "uid": 1 }, { "expr": "0.0", "name": "z", "type": "float", "uid": 2 }, { "expr": "\u0011[__3.__5]", "name": "shape", "type": "_fabtypes.Shape", "uid": 3 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625',float('-8.750449'),float('-40.570248'),float('-inf'),float('8.750449'),float('-23.069351'),float('inf'))", "name": "out", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 789.72894180396531, -110.02419049427544 ], "name": "r27", "script": [ "import fab", "", "title('Recenter')", "", "input('x', float)", "input('y', float)", "input('z', float)", "", "input('shape', fab.types.Shape)", "output('out', fab.shapes.recenter(shape, x, y, z))", "", "# UI", "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)", "" ], "uid": 68 }, { "datums": [ { "expr": "0.0", "name": "x", "type": "float", "uid": 0 }, { "expr": "-15.909902*3", "name": "y", "type": "float", "uid": 1 }, { "expr": "0.0", "name": "z", "type": "float", "uid": 2 }, { "expr": "\u0011[__3.__5]", "name": "shape", "type": "_fabtypes.Shape", "uid": 3 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf-47.7297-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625',float('-8.750449'),float('-56.480148'),float('-inf'),float('8.750449'),float('-38.979248'),float('inf'))", "name": "out", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 789.72894180396509, 67.042550337894909 ], "name": "r28", "script": [ "import fab", "", "title('Recenter')", "", "input('x', float)", "input('y', float)", "input('z', float)", "", "input('shape', fab.types.Shape)", "output('out', fab.shapes.recenter(shape, x, y, z))", "", "# UI", "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)", "" ], "uid": 69 }, { "datums": [ { "expr": "\u0011[__68.__4]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__69.__4]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "1", "name": "q", "type": "float", "uid": 2 }, { "expr": "\u0012fab.types.Shape('iim-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-47.7297-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-47.7297-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1',float('-8.750449'),float('-56.480148'),float('-inf'),float('8.750449'),float('-23.069351'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 3 } ], "inspector": [ 1076.4943346707632, 10.350907064141953 ], "name": "b2", "script": [ "import fab.types", "import fab.shapes", "", "title('Blend')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "input('q', float)", "", "output('shape', fab.shapes.blend(a, b, q))", "" ], "uid": 70 }, { "datums": [ { "expr": "\u0011[__6.__3]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__70.__3]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "1", "name": "q", "type": "float", "uid": 2 }, { "expr": "\u0012fab.types.Shape('iiiim-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1iim-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-47.7297-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-47.7297-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1-+rbiim-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1rbiim-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-47.7297-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-47.7297-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1f1',float('-8.750449'),float('-56.480148'),float('-inf'),float('8.750449'),float('8.750449'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 3 } ], "inspector": [ 1339.4073740999688, -146.98288031081574 ], "name": "b3", "script": [ "import fab.types", "import fab.shapes", "", "title('Blend')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "input('q', float)", "", "output('shape', fab.shapes.blend(a, b, q))", "" ], "uid": 71 } ], "uid": 21 }, { "datums": [ { "expr": "34", "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": "\u0011[__21.__5]", "name": "shape", "type": "_fabtypes.Shape", "uid": 3 }, { "expr": "\u0012fab.types.Shape('m-Xf34-Yf23.8648-Zf0aaaiaiiiiiim-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1iim-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-47.7297-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-47.7297-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1-+rbiim-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1rbiim-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-47.7297-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-47.7297-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1f1iaa-f7.2987X-Xf8.5487a-f-55.9347Y-Yf-0.1aa-f-8.5487X-Xf-7.2987a-f-55.9347Y-Yf-0.1-+rbiiiim-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1iim-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-47.7297-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-47.7297-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1-+rbiim-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1rbiim-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-47.7297-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-47.7297-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1f1rbiaa-f7.2987X-Xf8.5487a-f-55.9347Y-Yf-0.1aa-f-8.5487X-Xf-7.2987a-f-55.9347Y-Yf-0.1f0.8niaa-f8.5487X-Xf9.7987a-f-55.9347Y-Yf1aa-f-9.7987X-Xf-8.5487a-f-55.9347Y-Yf1-r+qXq-Yf-7.95495f8.125n-r+qXq-Yf-7.95495f0.705naa-f-9.54594X-Xf9.54594a-f-59.1047Y-Yf-47.8547niiim-Xf-1.425-Yf-3.05495-Zf0m-Xf0-Yf0-Zf0m+f0/-Xf0f3+f0/-Yf0f3_m-Xf0-Yf1-Zf0im-Xf0-Yf-1-Zf0aaaa-f0X-Xf0.3a-f0Y-Yf1n-r+qXq-Yf1f0.2naa-f0X-Xf0.2a-f0Y-Yf0.7m-Xf0.4-Yf-1-Zf0iiiaa-r+q-Xf0.275q-Yf0.725f0.275n-r+q-Xf0.275q-Yf0.725f0.175naa-f0X-Xf0.55a-f0Y-Yf0.725aa-f0X-Xf0.55a-f0Y-Yf0.1ni-*f0.675-Xf0*f0.45-Yf0.1i-*f-0.05-Xf0.45*f0.1-Yf0.775-*f-0.625-Xf0.55*f-0.55-Yf0.725ni-*f0.625-Xf0*f0.55-Yf0.1i-*f-0.625-Xf0.55*f-0.425-Yf0.725-*f0-Xf0.125*f-0.125-Yf0.1m-Xf0-Yf-7.95495-Zf0m+*f0.866025X*f-0.5Y+*f0.5X*f0.866025Y_m-Xf0-Yf7.95495-Zf0m-Xf-0.45-Yf-3.05495-Zf0m-Xf0-Yf0-Zf0m+f0/-Xf0f3+f0/-Yf0f3_m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0aaaa-f0X-Xf0.3a-f0Y-Yf1n-r+qXq-Yf1f0.2naa-f0X-Xf0.2a-f0Y-Yf0.7im-Xf0-Yf-7.95495-Zf0m+*f0.5X*f-0.866025Y+*f0.866025X*f0.5Y_m-Xf0-Yf7.95495-Zf0m-Xf-0.825-Yf-3.05495-Zf0m-Xf0-Yf0-Zf0m+f0/-Xf0f3+f0/-Yf0f3_m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iiiaa-r+q-Xf0.275q-Yf0.725f0.275n-r+q-Xf0.275q-Yf0.725f0.175naa-f0X-Xf0.55a-f0Y-Yf0.725aa-f0X-Xf0.55a-f0Y-Yf0.1ni-*f0.675-Xf0*f0.45-Yf0.1i-*f-0.05-Xf0.45*f0.1-Yf0.775-*f-0.625-Xf0.55*f-0.55-Yf0.725ni-*f0.625-Xf0*f0.55-Yf0.1i-*f-0.625-Xf0.55*f-0.425-Yf0.725-*f0-Xf0.125*f-0.125-Yf0.1m-Xf0-Yf-7.95495-Zf0m+*f6.12323e-17X*f-1Y+*f1X*f6.12323e-17Y_m-Xf0-Yf7.95495-Zf0m-Xf-0.9-Yf-3.05495-Zf0m-Xf0-Yf0-Zf0m+f0/-Xf0f3+f0/-Yf0f3_m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0aaia-r+q-Xf0.3q-Yf0.725f0.275n-r+q-Xf0.3q-Yf0.725f0.175-r+q-Xf0.3q-Yf0.275f0.275n-r+q-Xf0.3q-Yf0.275f0.175naa-f0X-Xf0.275a-f0.275Y-Yf0.725iiim-Xf0-Yf-7.95495-Zf0m+*f-0.5X*f-0.866025Y+*f0.866025X*f-0.5Y_m-Xf0-Yf7.95495-Zf0m-Xf-0.75-Yf-3.05495-Zf0m-Xf0-Yf0-Zf0m+f0/-Xf0f3+f0/-Yf0f3_m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0aaini-*f0.55-Xf-0.1*f0.5-Yf0.45i-*f-0.55-Xf0.4*f0-Yf1-*f0-Xf0.4*f-0.5-Yf0.45aa-f0.4X-Xf0.5a-f0Y-Yf1nni-*f-0.3-Xf0.4*f0-Yf0.85i-*f0-Xf0.4*f-0.3-Yf0.55-*f0.3-Xf0.1*f0.3-Yf0.55aa-f0X-Xf0.5a-f0Y-Yf1m-Xf0-Yf-7.95495-Zf0m+*f-0.866025X*f-0.5Y+*f0.5X*f-0.866025Y_m-Xf0-Yf7.95495-Zf0m-Xf-0.975-Yf-3.05495-Zf0m-Xf0-Yf0-Zf0m+f0/-Xf0f3+f0/-Yf0f3_m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iiiaa-r+q-Xf0.325q-Yf0.325f0.325n-r+q-Xf0.325q-Yf0.325f0.225naa-f0X-Xf0.325a-f0.325Y-Yf0.65aa-f0X-Xf0.325a-f0.55Y-Yf0.65aa-f0X-Xf0.1a-f0.55Y-Yf1aa-f0.1X-Xf0.65a-f0.9Y-Yf1im-Xf0-Yf-7.95495-Zf0m+*f-1X*f-1.22465e-16Y+*f1.22465e-16X*f-1Y_m-Xf0-Yf7.95495-Zf0m-Xf-0.9075-Yf-3.05495-Zf0m-Xf0-Yf0-Zf0m+f0/-Xf0f3+f0/-Yf0f3_m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iiam/Xf1.1Y_mX+f1/-Yf1f2_aaa-r+q-Xf0.275q-Yf0.725f0.275nmX+f0.725/-Yf0.725f1.2_-r+q-Xf0.275q-Yf0.725f0.175aa-f0X-Xf0.55a-f0.725Y-Yf1nni-*f-0.025-Xf0.275*f0.275-Yf0.925i-*f-0.175-Xf0.55*f0-Yf0.9-*f0.2-Xf0.55*f-0.275-Yf0.725naa-f0.275X-Xf0.65a-f0Y-Yf0.7aa-f0X-Xf0.1a-f0.275Y-Yf0.45a-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175m-Xf0-Yf-7.95495-Zf0m+*f-0.866025X*f0.5Y+*f-0.5X*f-0.866025Y_m-Xf0-Yf7.95495-Zf0m-Xf-0.9-Yf-3.05495-Zf0m-Xf0-Yf0-Zf0m+f0/-Xf0f3+f0/-Yf0f3_m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0iiaa-f0X-Xf0.6a-f0.9Y-Yf1ni-*f0.9-Xf0*f0.475-Yf0i-*f0-Xf0.475*f0.125-Yf0.9-*f-0.9-Xf0.6*f-0.6-Yf0.9ni-*f0.9-Xf0*f0.6-Yf0i-*f-0.9-Xf0.6*f-0.475-Yf0.9-*f0-Xf0.125*f-0.125-Yf0iim-Xf0-Yf-7.95495-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf7.95495-Zf0m-Xf-0.9-Yf-3.05495-Zf0m-Xf0-Yf0-Zf0m+f0/-Xf0f3+f0/-Yf0f3_m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0aia-r+q-Xf0.3q-Yf0.725f0.275n-r+q-Xf0.3q-Yf0.725f0.175-r+q-Xf0.3q-Yf0.275f0.275n-r+q-Xf0.3q-Yf0.275f0.175m-Xf0-Yf-7.95495-Zf0m+*f-1.83697e-16X*f1Y+*f-1X*f-1.83697e-16Y_m-Xf0-Yf7.95495-Zf0m-Xf-0.7425-Yf-3.05495-Zf0m-Xf0-Yf0-Zf0m+f0/-Xf0f3+f0/-Yf0f3_m-Xf0-Yf1-Zf0m-Xf0-Yf-1-Zf0m-*f2f0.275X__m_-*f2f0.5Y_iiam/Xf1.1Y_mX+f1/-Yf1f2_aaa-r+q-Xf0.275q-Yf0.725f0.275nmX+f0.725/-Yf0.725f1.2_-r+q-Xf0.275q-Yf0.725f0.175aa-f0X-Xf0.55a-f0.725Y-Yf1nni-*f-0.025-Xf0.275*f0.275-Yf0.925i-*f-0.175-Xf0.55*f0-Yf0.9-*f0.2-Xf0.55*f-0.275-Yf0.725naa-f0.275X-Xf0.65a-f0Y-Yf0.7aa-f0X-Xf0.1a-f0.275Y-Yf0.45a-r+q-Xf0.275q-Yf0.275f0.275n-r+q-Xf0.275q-Yf0.275f0.175im-Xf0-Yf-7.95495-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf7.95495-Zf0m-Xf-1.65-Yf-3.05495-Zf0m-Xf0-Yf0-Zf0m+f0/-Xf0f3+f0/-Yf0f3_m-Xf0-Yf1-Zf0im-Xf0-Yf-1-Zf0aaaa-f0X-Xf0.3a-f0Y-Yf1n-r+qXq-Yf1f0.2naa-f0X-Xf0.2a-f0Y-Yf0.7m-Xf0.4-Yf-1-Zf0m/Xf0.7Y_a-r+q-Xf0.5q-Yf0.5f0.5nm+f0.5/-Xf0.5f0.83666Y_-r+q-Xf0.5q-Yf0.5f0.4m-Xf0-Yf-7.95495-Zf0m+*f0.866025X*f0.5Y+*f-0.5X*f0.866025Y_m-Xf0-Yf7.95495-Zf0m-Xf-1.05-Yf-3.05495-Zf0m-Xf0-Yf0-Zf0m+f0/-Xf0f3+f0/-Yf0f3_m-Xf0-Yf1-Zf0im-Xf0-Yf-1-Zf0aaaa-f0X-Xf0.3a-f0Y-Yf1n-r+qXq-Yf1f0.2naa-f0X-Xf0.2a-f0Y-Yf0.7m-Xf0.4-Yf-1-Zf0aaaa-f0X-Xf0.3a-f0Y-Yf1n-r+qXq-Yf1f0.2naa-f0X-Xf0.2a-f0Y-Yf0.7',float('25.249550'),float('-32.615349'),float('-inf'),float('42.750450'),float('32.615250'),float('inf'))", "name": "out", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ -46.790694919164523, 1193.4930479777397 ], "name": "r10", "script": [ "import fab", "", "title('Recenter')", "", "input('x', float)", "input('y', float)", "input('z', float)", "", "input('shape', fab.types.Shape)", "output('out', fab.shapes.recenter(shape, x, y, z))", "", "# UI", "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)", "" ], "uid": 22 }, { "datums": [ { "expr": "54", "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": "\u0011[__24.__5]", "name": "shape", "type": "_fabtypes.Shape", "uid": 3 }, { "expr": "\u0012fab.types.Shape('m-Xf54-Yf23.5921-Zf0aaaiiaiiiiim-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1m-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbiim-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1rbm-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1m-Xf0-Yf7-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-1.23775X-Xf1.23775a-f-1.11398Y-Yf1.11398aa-f-1.11398X-Xf1.11398a-f-1.23775Y-Yf1.23775-r+q-Xf-1.11398q-Yf-1.11398f0.123775-r+q-Xf-1.11398q-Yf1.11398f0.123775-r+q-Xf1.11398q-Yf-1.11398f0.123775-r+q-Xf1.11398q-Yf1.11398f0.123775niiiiiaa-f-0.112753X-Xf0.112753a-f0Y-Yf0aa-f0X-Xf0a-f-0.112753Y-Yf0.112753-r+qXqYf0.112753-r+qXqYf0.112753-r+qXqYf0.112753-r+qXqYf0.112753naa-f-9.54594X-Xf9.54594a-f-43.0698Y-Yf-31.8198iaa-f7.2987X-Xf8.5487a-f-55.9347Y-Yf-0.1aa-f-8.5487X-Xf-7.2987a-f-55.9347Y-Yf-0.1-+rbaiiiiim-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1m-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbiim-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1rbm-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1m-Xf0-Yf7-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-1.23775X-Xf1.23775a-f-1.11398Y-Yf1.11398aa-f-1.11398X-Xf1.11398a-f-1.23775Y-Yf1.23775-r+q-Xf-1.11398q-Yf-1.11398f0.123775-r+q-Xf-1.11398q-Yf1.11398f0.123775-r+q-Xf1.11398q-Yf-1.11398f0.123775-r+q-Xf1.11398q-Yf1.11398f0.123775niiiiiaa-f-0.112753X-Xf0.112753a-f0Y-Yf0aa-f0X-Xf0a-f-0.112753Y-Yf0.112753-r+qXqYf0.112753-r+qXqYf0.112753-r+qXqYf0.112753-r+qXqYf0.112753naa-f-9.54594X-Xf9.54594a-f-43.0698Y-Yf-31.8198rbiaa-f7.2987X-Xf8.5487a-f-55.9347Y-Yf-0.1aa-f-8.5487X-Xf-7.2987a-f-55.9347Y-Yf-0.1f0.8niaa-f8.5487X-Xf9.7987a-f-55.9347Y-Yf1aa-f-9.7987X-Xf-8.5487a-f-55.9347Y-Yf1n-r+qXq-Yf-7.95495f0.5naa-f-9.54594X-Xf9.54594a-f-59.1047Y-Yf-47.8547',float('45.249550'),float('-32.342560'),float('-inf'),float('62.750450'),float('32.342548'),float('inf'))", "name": "out", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 234.96575232131553, 1138.5916379465168 ], "name": "r11", "script": [ "import fab", "", "title('Recenter')", "", "input('x', float)", "input('y', float)", "input('z', float)", "", "input('shape', fab.types.Shape)", "output('out', fab.shapes.recenter(shape, x, y, z))", "", "# UI", "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)", "" ], "uid": 23 }, { "datums": [ { "expr": "var.h", "name": "h", "subdatum": [ -395, -481 ], "type": "float", "uid": 1 }, { "expr": "var.d", "name": "d", "subdatum": [ -398, -444 ], "type": "float", "uid": 2 }, { "expr": "var.wBeam", "name": "wBeam", "subdatum": [ -398.52773789482069, -407.5277378948208 ], "type": "float", "uid": 3 }, { "expr": "var.dAxle", "name": "dAxle", "subdatum": [ -397, -369 ], "type": "float", "uid": 4 }, { "expr": "var.kerf", "name": "kerf", "subdatum": [ -395, -332 ], "type": "float", "uid": 0 }, { "expr": "\u0013[__18.__2]", "name": "mid", "subdatum": [ 1138, 990 ], "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 235.7271989649345, 924.63767518086752 ], "name": "mid", "subgraph": [ { "datums": [ { "expr": "\u0011[__parent.__2]", "name": "d", "type": "float", "uid": 0 }, { "expr": "\u0011[__parent.__3]", "name": "wBeam", "type": "float", "uid": 1 }, { "expr": "\u0011[__parent.__0]", "name": "kerf", "type": "float", "uid": 2 }, { "expr": "0.1", "name": "r", "type": "float", "uid": 4 }, { "expr": "\u0012fab.types.Shape('iiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875',float('-6.187500'),float('-6.187500'),float('-inf'),float('6.187500'),float('6.187500'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ -47, -462 ], "name": "squareOut", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 6/11/15", "", "import fab", "", "title('Rounded rectangle (center)')", "", "input('d', float)", "input('wBeam', float)", "input('kerf', float)", "input('r', float)", "", "x = 0", "y = 0", "width = d + wBeam + kerf/2", "height = width", "", "xmin, xmax = x - width/2, x + width/2", "ymin, ymax = y - height/2, y + height/2", "", "# This is the circle's radius in actual units (not a 0-1 fraction)", "r_ = r * min(width, height)/2", "", "output('shape', fab.shapes.rounded_rectangle(xmin, xmax, ymin, ymax, r))", "", "def drag_r(this, x, y, z):", " if abs(this.width) < abs(this.height):", " d = abs(this.width)", " mid = this.y + this.height/2 - d/2", " else:", " d = abs(this.width)", " mid = this.y", " r = 1 - (y - mid) / (d/2)", " this.r = float(min(1, max(0, r)))", "", "def drag_hw(this, x, y, z):", " this.height = abs(2 * (y - this.y))", " this.width = abs(2 * (x - this.x))", "", "# UI", "sb.ui.wireframe(", " [(xmin, ymin, 0), (xmax, ymin, 0), (xmax, ymax, 0), (xmin, ymax, 0)],", " close=True)", "sb.ui.wireframe([(xmax - r_, ymax, 0), (xmax, ymax - r_, 0)])", "sb.ui.point(x, y)", "sb.ui.point(xmax, ymax, drag=drag_hw, relative=False)", "sb.ui.point(xmax, ymax - r_, drag=drag_r, relative=False)", "", "" ], "uid": 0 }, { "datums": [ { "expr": "\u0011[__0.__0]", "name": "d", "type": "float", "uid": 6 }, { "expr": "\u0011[__0.__1]", "name": "wBeam", "type": "float", "uid": 7 }, { "expr": "\u0011[__0.__2]", "name": "kerf", "type": "float", "uid": 8 }, { "expr": "\u0011[__0.__4]", "name": "r", "type": "float", "uid": 4 }, { "expr": "\u0012fab.types.Shape('iiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625',float('-5.062500'),float('-5.062500'),float('-inf'),float('5.062500'),float('5.062500'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 275, -462 ], "name": "squareIn", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 6/11/15", "", "import fab", "", "title('Rounded rectangle (center)')", "", "input('d', float)", "input('wBeam', float)", "input('kerf', float)", "input('r', float)", "", "x = 0", "y = 0", "width = d - wBeam - kerf/2", "height = width", "", "xmin, xmax = x - width/2, x + width/2", "ymin, ymax = y - height/2, y + height/2", "", "# This is the circle's radius in actual units (not a 0-1 fraction)", "r_ = r * min(width, height)/2", "", "output('shape', fab.shapes.rounded_rectangle(xmin, xmax, ymin, ymax, r))", "", "def drag_r(this, x, y, z):", " if abs(this.width) < abs(this.height):", " d = abs(this.width)", " mid = this.y + this.height/2 - d/2", " else:", " d = abs(this.width)", " mid = this.y", " r = 1 - (y - mid) / (d/2)", " this.r = float(min(1, max(0, r)))", "", "def drag_hw(this, x, y, z):", " this.height = abs(2 * (y - this.y))", " this.width = abs(2 * (x - this.x))", "", "# UI", "sb.ui.wireframe(", " [(xmin, ymin, 0), (xmax, ymin, 0), (xmax, ymax, 0), (xmin, ymax, 0)],", " close=True)", "sb.ui.wireframe([(xmax - r_, ymax, 0), (xmax, ymax - r_, 0)])", "sb.ui.point(x, y)", "sb.ui.point(xmax, ymax, drag=drag_hw, relative=False)", "sb.ui.point(xmax, ymax - r_, drag=drag_r, relative=False)", "", "" ], "uid": 1 }, { "datums": [ { "expr": "\u0011[__0.__5]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__1.__5]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625',float('-6.187500'),float('-6.187500'),float('-inf'),float('6.187500'),float('6.187500'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 181, -272 ], "name": "d0", "script": [ "import fab.types", "", "title('Difference')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a & ~b)", "" ], "uid": 2 }, { "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": "45", "name": "a", "type": "float", "uid": 3 }, { "expr": "\u0011[__2.__2]", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625',float('-8.750449'),float('-8.750449'),float('-inf'),float('8.750449'),float('8.750449'),float('inf'))", "name": "rotated", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 480, -271 ], "name": "r1", "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": 3 }, { "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": "\u0011[__3.__5]", "name": "shape", "type": "_fabtypes.Shape", "uid": 3 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625',float('-8.750449'),float('-8.750449'),float('-inf'),float('8.750449'),float('8.750449'),float('inf'))", "name": "out", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 779, -257 ], "name": "r2", "script": [ "import fab", "", "title('Recenter')", "", "input('x', float)", "input('y', float)", "input('z', float)", "", "input('shape', fab.types.Shape)", "output('out', fab.shapes.recenter(shape, x, y, z))", "", "# UI", "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)", "" ], "uid": 4 }, { "datums": [ { "expr": "0.0", "name": "x", "type": "float", "uid": 0 }, { "expr": "-15.909902", "name": "y", "type": "float", "uid": 1 }, { "expr": "0.0", "name": "z", "type": "float", "uid": 2 }, { "expr": "\u0011[__3.__5]", "name": "shape", "type": "_fabtypes.Shape", "uid": 3 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625',float('-8.750449'),float('-24.660349'),float('-inf'),float('8.750449'),float('-7.159451'),float('inf'))", "name": "out", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 780, -75 ], "name": "r3", "script": [ "import fab", "", "title('Recenter')", "", "input('x', float)", "input('y', float)", "input('z', float)", "", "input('shape', fab.types.Shape)", "output('out', fab.shapes.recenter(shape, x, y, z))", "", "# UI", "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)", "" ], "uid": 5 }, { "datums": [ { "expr": "\u0011[__4.__4]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__5.__4]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "1", "name": "q", "type": "float", "uid": 2 }, { "expr": "\u0012fab.types.Shape('iim-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1',float('-8.750449'),float('-24.660349'),float('-inf'),float('8.750449'),float('8.750449'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 3 } ], "inspector": [ 1069, -141 ], "name": "b0", "script": [ "import fab.types", "import fab.shapes", "", "title('Blend')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "input('q', float)", "", "output('shape', fab.shapes.blend(a, b, q))", "" ], "uid": 6 }, { "datums": [ { "expr": "\u0011[__parent.__1]", "name": "h", "type": "float", "uid": 8 }, { "expr": "\u0011[__parent.__2]", "name": "d", "type": "float", "uid": 5 }, { "expr": "\u0011[__parent.__3]", "name": "wBeam", "type": "float", "uid": 6 }, { "expr": "\u0011[__parent.__0]", "name": "kerf", "type": "float", "uid": 7 }, { "expr": "\u0012fab.types.Shape('aa-f7.2987X-Xf8.5487a-f-55.9347Y-Yf-0.1',float('7.298701'),float('-55.934658'),float('-inf'),float('8.548701'),float('-0.100000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ -50, 7 ], "name": "rLeg", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 6/11/15", "", "import fab", "import math", "", "title('Rectangle (center)')", "", "input('h', float)", "input('d', float)", "input('wBeam', float)", "input('kerf', float)", "", "x0 = d/math.sqrt(2) - wBeam*1/32", "y0 = 0", "width = wBeam + kerf", "height = h - d/math.sqrt(2) + kerf", "", "xmin, xmax = x0 - width/2, x0 + width/2", "ymin, ymax = y0 - height, y0-0.1", "", "output('shape', fab.shapes.rectangle(xmin, xmax, ymin, ymax))", "", "def drag_hw(this, x, y, z):", " this.width = abs(2 * (x - this.x0))", " this.height = abs(2 * (y - this.y0))", "", "# UI", "sb.ui.wireframe(", " [(xmin, ymin, 0), (xmax, ymin, 0), (xmax, ymax, 0), (xmin, ymax, 0)],", " close=True)", "sb.ui.point(x0, y0)", "sb.ui.point(xmax, ymax, drag=drag_hw, relative=False)", "" ], "uid": 9 }, { "datums": [ { "expr": "\u0011[__9.__8]", "name": "h", "type": "float", "uid": 8 }, { "expr": "\u0011[__9.__5]", "name": "d", "type": "float", "uid": 5 }, { "expr": "\u0011[__9.__6]", "name": "wBeam", "type": "float", "uid": 6 }, { "expr": "\u0011[__9.__7]", "name": "kerf", "type": "float", "uid": 7 }, { "expr": "\u0012fab.types.Shape('aa-f-8.5487X-Xf-7.2987a-f-55.9347Y-Yf-0.1',float('-8.548701'),float('-55.934658'),float('-inf'),float('-7.298701'),float('-0.100000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 243.04264406948107, 8.3534180292352858 ], "name": "lLeg", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 6/11/15", "", "import fab", "import math", "", "title('Rectangle (center)')", "", "input('h', float)", "input('d', float)", "input('wBeam', float)", "input('kerf', float)", "", "x0 = -d/math.sqrt(2) + wBeam/32", "y0 = 0", "width = wBeam + kerf", "height = h - d/math.sqrt(2) + kerf", "", "xmin, xmax = x0 - width/2, x0 + width/2", "ymin, ymax = y0 - height, y0-0.1", "", "output('shape', fab.shapes.rectangle(xmin, xmax, ymin, ymax))", "", "def drag_hw(this, x, y, z):", " this.width = abs(2 * (x - this.x0))", " this.height = abs(2 * (y - this.y0))", "", "# UI", "sb.ui.wireframe(", " [(xmin, ymin, 0), (xmax, ymin, 0), (xmax, ymax, 0), (xmin, ymax, 0)],", " close=True)", "sb.ui.point(x0, y0)", "sb.ui.point(xmax, ymax, drag=drag_hw, relative=False)", "" ], "uid": 10 }, { "datums": [ { "expr": "\u0011[__9.__4]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__10.__4]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('iaa-f7.2987X-Xf8.5487a-f-55.9347Y-Yf-0.1aa-f-8.5487X-Xf-7.2987a-f-55.9347Y-Yf-0.1',float('-8.548701'),float('-55.934658'),float('-inf'),float('8.548701'),float('-0.100000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 163.90915907961178, 207.9241303673526 ], "name": "u0", "script": [ "import fab.types", "", "title('Union')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a | b)", "" ], "uid": 11 }, { "datums": [ { "expr": "\u0011[__28.__2]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__11.__2]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "0.8", "name": "q", "type": "float", "uid": 2 }, { "expr": "\u0012fab.types.Shape('iiaiiiiim-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1m-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbiim-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1rbm-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1m-Xf0-Yf7-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-1.23775X-Xf1.23775a-f-1.11398Y-Yf1.11398aa-f-1.11398X-Xf1.11398a-f-1.23775Y-Yf1.23775-r+q-Xf-1.11398q-Yf-1.11398f0.123775-r+q-Xf-1.11398q-Yf1.11398f0.123775-r+q-Xf1.11398q-Yf-1.11398f0.123775-r+q-Xf1.11398q-Yf1.11398f0.123775niiiiiaa-f-0.112753X-Xf0.112753a-f0Y-Yf0aa-f0X-Xf0a-f-0.112753Y-Yf0.112753-r+qXqYf0.112753-r+qXqYf0.112753-r+qXqYf0.112753-r+qXqYf0.112753naa-f-9.54594X-Xf9.54594a-f-43.0698Y-Yf-31.8198iaa-f7.2987X-Xf8.5487a-f-55.9347Y-Yf-0.1aa-f-8.5487X-Xf-7.2987a-f-55.9347Y-Yf-0.1-+rbaiiiiim-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1m-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbiim-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1rbm-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1m-Xf0-Yf7-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-1.23775X-Xf1.23775a-f-1.11398Y-Yf1.11398aa-f-1.11398X-Xf1.11398a-f-1.23775Y-Yf1.23775-r+q-Xf-1.11398q-Yf-1.11398f0.123775-r+q-Xf-1.11398q-Yf1.11398f0.123775-r+q-Xf1.11398q-Yf-1.11398f0.123775-r+q-Xf1.11398q-Yf1.11398f0.123775niiiiiaa-f-0.112753X-Xf0.112753a-f0Y-Yf0aa-f0X-Xf0a-f-0.112753Y-Yf0.112753-r+qXqYf0.112753-r+qXqYf0.112753-r+qXqYf0.112753-r+qXqYf0.112753naa-f-9.54594X-Xf9.54594a-f-43.0698Y-Yf-31.8198rbiaa-f7.2987X-Xf8.5487a-f-55.9347Y-Yf-0.1aa-f-8.5487X-Xf-7.2987a-f-55.9347Y-Yf-0.1f0.8',float('-8.750449'),float('-55.934658'),float('-inf'),float('8.750449'),float('8.750449'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 3 } ], "inspector": [ 1068.5637182383989, 333.07270433034478 ], "name": "b1", "script": [ "import fab.types", "import fab.shapes", "", "title('Blend')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "input('q', float)", "", "output('shape', fab.shapes.blend(a, b, q))", "" ], "uid": 12 }, { "datums": [ { "expr": "\u0011[__parent.__2]", "name": "d", "type": "float", "uid": 5 }, { "expr": "\u0011[__parent.__4]", "name": "dAxle", "type": "float", "uid": 14 }, { "expr": "\u0011[__parent.__0]", "name": "kerf", "type": "float", "uid": 13 }, { "expr": "0", "name": "_a", "type": "float", "uid": 3 }, { "expr": "\u0012fab.types.Shape('-r+qXq-Yf-7.95495f0.5',float('-0.500000'),float('-8.454951'),float('-inf'),float('0.500000'),float('-7.454951'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ -46.480947425081013, 741.44502549429126 ], "name": "clockHole", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 6/11/18", "", "import fab", "import math", "", "title('Circle (center)')", "", "input('d',float)", "input('dAxle',float)", "input('kerf',float)", "input('_a',float)", "", "x0 = 0", "y0 = -d/math.sqrt(2)", "r = dAxle/2 - kerf/2", "", "output('shape', fab.shapes.circle(x0, y0, r))", "", "def drag_r(this,x,y,z):", " dx = x - this.x0", " dy = y - this.y0", " this.r = math.sqrt(dx**2 + dy**2)", " this._a = math.atan2(dy, dx)", "", "# UI", "sb.ui.wireframe([", " (math.cos(i/36. * 2*math.pi) * r + x0,", " math.sin(i/36. * 2*math.pi) * r + y0, 0)", " for i in range(36)], close=True)", "sb.ui.point(x0,y0)", "sb.ui.point(x0 + r*math.cos(_a),", " y0 + r*math.sin(_a),", " drag=drag_r, relative=False)", "", "" ], "uid": 13 }, { "datums": [ { "expr": "\u0011[__15.__2]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__13.__4]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('aaiiaiiiiim-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1m-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbiim-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1rbm-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1m-Xf0-Yf7-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-1.23775X-Xf1.23775a-f-1.11398Y-Yf1.11398aa-f-1.11398X-Xf1.11398a-f-1.23775Y-Yf1.23775-r+q-Xf-1.11398q-Yf-1.11398f0.123775-r+q-Xf-1.11398q-Yf1.11398f0.123775-r+q-Xf1.11398q-Yf-1.11398f0.123775-r+q-Xf1.11398q-Yf1.11398f0.123775niiiiiaa-f-0.112753X-Xf0.112753a-f0Y-Yf0aa-f0X-Xf0a-f-0.112753Y-Yf0.112753-r+qXqYf0.112753-r+qXqYf0.112753-r+qXqYf0.112753-r+qXqYf0.112753naa-f-9.54594X-Xf9.54594a-f-43.0698Y-Yf-31.8198iaa-f7.2987X-Xf8.5487a-f-55.9347Y-Yf-0.1aa-f-8.5487X-Xf-7.2987a-f-55.9347Y-Yf-0.1-+rbaiiiiim-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1m-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbiim-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1rbm-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1m-Xf0-Yf7-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-1.23775X-Xf1.23775a-f-1.11398Y-Yf1.11398aa-f-1.11398X-Xf1.11398a-f-1.23775Y-Yf1.23775-r+q-Xf-1.11398q-Yf-1.11398f0.123775-r+q-Xf-1.11398q-Yf1.11398f0.123775-r+q-Xf1.11398q-Yf-1.11398f0.123775-r+q-Xf1.11398q-Yf1.11398f0.123775niiiiiaa-f-0.112753X-Xf0.112753a-f0Y-Yf0aa-f0X-Xf0a-f-0.112753Y-Yf0.112753-r+qXqYf0.112753-r+qXqYf0.112753-r+qXqYf0.112753-r+qXqYf0.112753naa-f-9.54594X-Xf9.54594a-f-43.0698Y-Yf-31.8198rbiaa-f7.2987X-Xf8.5487a-f-55.9347Y-Yf-0.1aa-f-8.5487X-Xf-7.2987a-f-55.9347Y-Yf-0.1f0.8niaa-f8.5487X-Xf9.7987a-f-55.9347Y-Yf1aa-f-9.7987X-Xf-8.5487a-f-55.9347Y-Yf1n-r+qXq-Yf-7.95495f0.5',float('-8.750449'),float('-55.934658'),float('-inf'),float('8.750449'),float('8.750449'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 636.02676032159002, 768.53050997581647 ], "name": "d2", "script": [ "import fab.types", "", "title('Difference')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a & ~b)", "" ], "uid": 14 }, { "datums": [ { "expr": "\u0011[__16.__4]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__8.__4]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('iaa-f8.5487X-Xf9.7987a-f-55.9347Y-Yf1aa-f-9.7987X-Xf-8.5487a-f-55.9347Y-Yf1',float('-9.798701'),float('-55.934658'),float('-inf'),float('9.798701'),float('1.000000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 176.9646348692533, 552.00816698917811 ], "name": "u1", "script": [ "import fab.types", "", "title('Union')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a | b)", "" ], "uid": 7 }, { "datums": [ { "expr": "\u0011[__16.__8]", "name": "h", "type": "float", "uid": 8 }, { "expr": "\u0011[__16.__5]", "name": "d", "type": "float", "uid": 5 }, { "expr": "\u0011[__16.__6]", "name": "wBeam", "type": "float", "uid": 6 }, { "expr": "\u0011[__16.__7]", "name": "kerf", "type": "float", "uid": 7 }, { "expr": "\u0012fab.types.Shape('aa-f-9.7987X-Xf-8.5487a-f-55.9347Y-Yf1',float('-9.798701'),float('-55.934658'),float('-inf'),float('-8.548701'),float('1.000000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 257.62585775394325, 360.56670646908123 ], "name": "lLeg0", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 6/11/15", "", "import fab", "import math", "", "title('Rectangle (center)')", "", "input('h', float)", "input('d', float)", "input('wBeam', float)", "input('kerf', float)", "", "x0 = -d/math.sqrt(2) + wBeam*1/32 - wBeam - kerf", "y0 = 0", "width = wBeam + kerf", "height = h - d/math.sqrt(2) + kerf", "", "xmin, xmax = x0 - width/2, x0 + width/2", "ymin, ymax = y0 - height, y0+1", "", "output('shape', fab.shapes.rectangle(xmin, xmax, ymin, ymax))", "", "def drag_hw(this, x, y, z):", " this.width = abs(2 * (x - this.x0))", " this.height = abs(2 * (y - this.y0))", "", "# UI", "sb.ui.wireframe(", " [(xmin, ymin, 0), (xmax, ymin, 0), (xmax, ymax, 0), (xmin, ymax, 0)],", " close=True)", "sb.ui.point(x0, y0)", "sb.ui.point(xmax, ymax, drag=drag_hw, relative=False)", "" ], "uid": 8 }, { "datums": [ { "expr": "\u0011[__parent.__1]", "name": "h", "type": "float", "uid": 8 }, { "expr": "\u0011[__parent.__2]", "name": "d", "type": "float", "uid": 5 }, { "expr": "\u0011[__parent.__3]", "name": "wBeam", "type": "float", "uid": 6 }, { "expr": "\u0011[__parent.__0]", "name": "kerf", "type": "float", "uid": 7 }, { "expr": "\u0012fab.types.Shape('aa-f8.5487X-Xf9.7987a-f-55.9347Y-Yf1',float('8.548701'),float('-55.934658'),float('-inf'),float('9.798701'),float('1.000000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ -41.18463211002711, 359.87254120533612 ], "name": "rLeg0", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 6/11/15", "", "import fab", "import math", "", "title('Rectangle (center)')", "", "input('h', float)", "input('d', float)", "input('wBeam', float)", "input('kerf', float)", "", "x0 = d/math.sqrt(2) - wBeam*1/32 + wBeam + kerf", "y0 = 0", "width = wBeam + kerf", "height = h - d/math.sqrt(2) + kerf", "", "xmin, xmax = x0 - width/2, x0 + width/2", "ymin, ymax = y0 - height, y0+1", "", "output('shape', fab.shapes.rectangle(xmin, xmax, ymin, ymax))", "", "def drag_hw(this, x, y, z):", " this.width = abs(2 * (x - this.x0))", " this.height = abs(2 * (y - this.y0))", "", "# UI", "sb.ui.wireframe(", " [(xmin, ymin, 0), (xmax, ymin, 0), (xmax, ymax, 0), (xmin, ymax, 0)],", " close=True)", "sb.ui.point(x0, y0)", "sb.ui.point(xmax, ymax, drag=drag_hw, relative=False)", "" ], "uid": 16 }, { "datums": [ { "expr": "\u0011[__12.__3]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__7.__2]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('aiiaiiiiim-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1m-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbiim-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1rbm-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1m-Xf0-Yf7-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-1.23775X-Xf1.23775a-f-1.11398Y-Yf1.11398aa-f-1.11398X-Xf1.11398a-f-1.23775Y-Yf1.23775-r+q-Xf-1.11398q-Yf-1.11398f0.123775-r+q-Xf-1.11398q-Yf1.11398f0.123775-r+q-Xf1.11398q-Yf-1.11398f0.123775-r+q-Xf1.11398q-Yf1.11398f0.123775niiiiiaa-f-0.112753X-Xf0.112753a-f0Y-Yf0aa-f0X-Xf0a-f-0.112753Y-Yf0.112753-r+qXqYf0.112753-r+qXqYf0.112753-r+qXqYf0.112753-r+qXqYf0.112753naa-f-9.54594X-Xf9.54594a-f-43.0698Y-Yf-31.8198iaa-f7.2987X-Xf8.5487a-f-55.9347Y-Yf-0.1aa-f-8.5487X-Xf-7.2987a-f-55.9347Y-Yf-0.1-+rbaiiiiim-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1m-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbiim-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1rbm-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1m-Xf0-Yf7-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-1.23775X-Xf1.23775a-f-1.11398Y-Yf1.11398aa-f-1.11398X-Xf1.11398a-f-1.23775Y-Yf1.23775-r+q-Xf-1.11398q-Yf-1.11398f0.123775-r+q-Xf-1.11398q-Yf1.11398f0.123775-r+q-Xf1.11398q-Yf-1.11398f0.123775-r+q-Xf1.11398q-Yf1.11398f0.123775niiiiiaa-f-0.112753X-Xf0.112753a-f0Y-Yf0aa-f0X-Xf0a-f-0.112753Y-Yf0.112753-r+qXqYf0.112753-r+qXqYf0.112753-r+qXqYf0.112753-r+qXqYf0.112753naa-f-9.54594X-Xf9.54594a-f-43.0698Y-Yf-31.8198rbiaa-f7.2987X-Xf8.5487a-f-55.9347Y-Yf-0.1aa-f-8.5487X-Xf-7.2987a-f-55.9347Y-Yf-0.1f0.8niaa-f8.5487X-Xf9.7987a-f-55.9347Y-Yf1aa-f-9.7987X-Xf-8.5487a-f-55.9347Y-Yf1',float('-8.750449'),float('-55.934658'),float('-inf'),float('8.750449'),float('8.750449'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 663.5371662728295, 498.51203031679063 ], "name": "d1", "script": [ "import fab.types", "", "title('Difference')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a & ~b)", "" ], "uid": 15 }, { "datums": [ { "expr": "\u0011[__parent.__1]", "name": "h", "type": "float", "uid": 5 }, { "expr": "\u0011[__parent.__2]", "name": "d", "type": "float", "uid": 0 }, { "expr": "\u0011[__parent.__0]", "name": "kerf", "type": "float", "uid": 1 }, { "expr": "\u0012fab.types.Shape('aa-f-9.54594X-Xf9.54594a-f-59.1047Y-Yf-47.8547',float('-9.545941'),float('-59.104710'),float('-inf'),float('9.545941'),float('-47.854710'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ -43.397177315568314, 915.41255985890757 ], "name": "r0", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 6/11/15", "", "import fab", "import math", "", "title('Rectangle (center)')", "", "input('h', float)", "input('d', float)", "input('kerf', float)", "", "x0 = 0", "y0 = -h*3/4 - kerf/2", "width = d*math.sqrt(2)*1.2", "height = d", "", "xmin, xmax = x0 - width/2, x0 + width/2", "ymin, ymax = y0 - height, y0", "", "output('shape', fab.shapes.rectangle(xmin, xmax, ymin, ymax))", "", "def drag_hw(this, x, y, z):", " this.width = abs(2 * (x - this.x0))", " this.height = abs(2 * (y - this.y0))", "", "# UI", "sb.ui.wireframe(", " [(xmin, ymin, 0), (xmax, ymin, 0), (xmax, ymax, 0), (xmin, ymax, 0)],", " close=True)", "sb.ui.point(x0, y0)", "sb.ui.point(xmax, ymax, drag=drag_hw, relative=False)", "" ], "uid": 17 }, { "datums": [ { "expr": "\u0011[__14.__2]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__17.__4]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('aaaiiaiiiiim-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1m-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbiim-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1rbm-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1m-Xf0-Yf7-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-1.23775X-Xf1.23775a-f-1.11398Y-Yf1.11398aa-f-1.11398X-Xf1.11398a-f-1.23775Y-Yf1.23775-r+q-Xf-1.11398q-Yf-1.11398f0.123775-r+q-Xf-1.11398q-Yf1.11398f0.123775-r+q-Xf1.11398q-Yf-1.11398f0.123775-r+q-Xf1.11398q-Yf1.11398f0.123775niiiiiaa-f-0.112753X-Xf0.112753a-f0Y-Yf0aa-f0X-Xf0a-f-0.112753Y-Yf0.112753-r+qXqYf0.112753-r+qXqYf0.112753-r+qXqYf0.112753-r+qXqYf0.112753naa-f-9.54594X-Xf9.54594a-f-43.0698Y-Yf-31.8198iaa-f7.2987X-Xf8.5487a-f-55.9347Y-Yf-0.1aa-f-8.5487X-Xf-7.2987a-f-55.9347Y-Yf-0.1-+rbaiiiiim-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1m-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbiim-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1rbm-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1m-Xf0-Yf7-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-1.23775X-Xf1.23775a-f-1.11398Y-Yf1.11398aa-f-1.11398X-Xf1.11398a-f-1.23775Y-Yf1.23775-r+q-Xf-1.11398q-Yf-1.11398f0.123775-r+q-Xf-1.11398q-Yf1.11398f0.123775-r+q-Xf1.11398q-Yf-1.11398f0.123775-r+q-Xf1.11398q-Yf1.11398f0.123775niiiiiaa-f-0.112753X-Xf0.112753a-f0Y-Yf0aa-f0X-Xf0a-f-0.112753Y-Yf0.112753-r+qXqYf0.112753-r+qXqYf0.112753-r+qXqYf0.112753-r+qXqYf0.112753naa-f-9.54594X-Xf9.54594a-f-43.0698Y-Yf-31.8198rbiaa-f7.2987X-Xf8.5487a-f-55.9347Y-Yf-0.1aa-f-8.5487X-Xf-7.2987a-f-55.9347Y-Yf-0.1f0.8niaa-f8.5487X-Xf9.7987a-f-55.9347Y-Yf1aa-f-9.7987X-Xf-8.5487a-f-55.9347Y-Yf1n-r+qXq-Yf-7.95495f0.5naa-f-9.54594X-Xf9.54594a-f-59.1047Y-Yf-47.8547',float('-8.750449'),float('-55.934658'),float('-inf'),float('8.750449'),float('8.750449'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 838.31927542264214, 906.69468730894494 ], "name": "d3", "script": [ "import fab.types", "", "title('Difference')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a & ~b)", "" ], "uid": 18 }, { "datums": [ { "expr": "1.350505", "name": "d", "type": "float", "uid": 0 }, { "expr": "\u0011[__1.__7]", "name": "wBeam", "type": "float", "uid": 1 }, { "expr": "\u0011[__1.__8]", "name": "kerf", "type": "float", "uid": 2 }, { "expr": "0.1", "name": "r", "type": "float", "uid": 4 }, { "expr": "\u0012fab.types.Shape('iiiiiaa-f-1.23775X-Xf1.23775a-f-1.11398Y-Yf1.11398aa-f-1.11398X-Xf1.11398a-f-1.23775Y-Yf1.23775-r+q-Xf-1.11398q-Yf-1.11398f0.123775-r+q-Xf-1.11398q-Yf1.11398f0.123775-r+q-Xf1.11398q-Yf-1.11398f0.123775-r+q-Xf1.11398q-Yf1.11398f0.123775',float('-1.237753'),float('-1.237753'),float('-inf'),float('1.237753'),float('1.237753'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 990.68423042183349, -465.96310095681844 ], "name": "squareOut0", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 6/11/15", "", "import fab", "", "title('Rounded rectangle (center)')", "", "input('d', float)", "input('wBeam', float)", "input('kerf', float)", "input('r', float)", "", "x = 0", "y = 0", "width = d + wBeam + kerf/2", "height = width", "", "xmin, xmax = x - width/2, x + width/2", "ymin, ymax = y - height/2, y + height/2", "", "# This is the circle's radius in actual units (not a 0-1 fraction)", "r_ = r * min(width, height)/2", "", "output('shape', fab.shapes.rounded_rectangle(xmin, xmax, ymin, ymax, r))", "", "def drag_r(this, x, y, z):", " if abs(this.width) < abs(this.height):", " d = abs(this.width)", " mid = this.y + this.height/2 - d/2", " else:", " d = abs(this.width)", " mid = this.y", " r = 1 - (y - mid) / (d/2)", " this.r = float(min(1, max(0, r)))", "", "def drag_hw(this, x, y, z):", " this.height = abs(2 * (y - this.y))", " this.width = abs(2 * (x - this.x))", "", "# UI", "sb.ui.wireframe(", " [(xmin, ymin, 0), (xmax, ymin, 0), (xmax, ymax, 0), (xmin, ymax, 0)],", " close=True)", "sb.ui.wireframe([(xmax - r_, ymax, 0), (xmax, ymax - r_, 0)])", "sb.ui.point(x, y)", "sb.ui.point(xmax, ymax, drag=drag_hw, relative=False)", "sb.ui.point(xmax, ymax - r_, drag=drag_r, relative=False)", "", "" ], "uid": 19 }, { "datums": [ { "expr": "\u0011[__19.__0]", "name": "d", "type": "float", "uid": 6 }, { "expr": "\u0011[__19.__1]", "name": "wBeam", "type": "float", "uid": 7 }, { "expr": "\u0011[__19.__2]", "name": "kerf", "type": "float", "uid": 8 }, { "expr": "1", "name": "r", "type": "float", "uid": 4 }, { "expr": "\u0012fab.types.Shape('iiiiiaa-f-0.112753X-Xf0.112753a-f0Y-Yf0aa-f0X-Xf0a-f-0.112753Y-Yf0.112753-r+qXqYf0.112753-r+qXqYf0.112753-r+qXqYf0.112753-r+qXqYf0.112753',float('-0.112752'),float('-0.112752'),float('-inf'),float('0.112752'),float('0.112752'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 1312.6842304218339, -465.96310095681844 ], "name": "squareIn0", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 6/11/15", "", "import fab", "", "title('Rounded rectangle (center)')", "", "input('d', float)", "input('wBeam', float)", "input('kerf', float)", "input('r', float)", "", "x = 0", "y = 0", "width = d - wBeam - kerf/2", "height = width", "", "xmin, xmax = x - width/2, x + width/2", "ymin, ymax = y - height/2, y + height/2", "", "# This is the circle's radius in actual units (not a 0-1 fraction)", "r_ = r * min(width, height)/2", "", "output('shape', fab.shapes.rounded_rectangle(xmin, xmax, ymin, ymax, r))", "", "def drag_r(this, x, y, z):", " if abs(this.width) < abs(this.height):", " d = abs(this.width)", " mid = this.y + this.height/2 - d/2", " else:", " d = abs(this.width)", " mid = this.y", " r = 1 - (y - mid) / (d/2)", " this.r = float(min(1, max(0, r)))", "", "def drag_hw(this, x, y, z):", " this.height = abs(2 * (y - this.y))", " this.width = abs(2 * (x - this.x))", "", "# UI", "sb.ui.wireframe(", " [(xmin, ymin, 0), (xmax, ymin, 0), (xmax, ymax, 0), (xmin, ymax, 0)],", " close=True)", "sb.ui.wireframe([(xmax - r_, ymax, 0), (xmax, ymax - r_, 0)])", "sb.ui.point(x, y)", "sb.ui.point(xmax, ymax, drag=drag_hw, relative=False)", "sb.ui.point(xmax, ymax - r_, drag=drag_r, relative=False)", "", "" ], "uid": 20 }, { "datums": [ { "expr": "0.0", "name": "x", "type": "float", "uid": 0 }, { "expr": "7", "name": "y", "type": "float", "uid": 1 }, { "expr": "0.0", "name": "z", "type": "float", "uid": 2 }, { "expr": "\u0011[__25.__5]", "name": "shape", "type": "_fabtypes.Shape", "uid": 3 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf7-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-1.23775X-Xf1.23775a-f-1.11398Y-Yf1.11398aa-f-1.11398X-Xf1.11398a-f-1.23775Y-Yf1.23775-r+q-Xf-1.11398q-Yf-1.11398f0.123775-r+q-Xf-1.11398q-Yf1.11398f0.123775-r+q-Xf1.11398q-Yf-1.11398f0.123775-r+q-Xf1.11398q-Yf1.11398f0.123775niiiiiaa-f-0.112753X-Xf0.112753a-f0Y-Yf0aa-f0X-Xf0a-f-0.112753Y-Yf0.112753-r+qXqYf0.112753-r+qXqYf0.112753-r+qXqYf0.112753-r+qXqYf0.112753',float('-1.750448'),float('5.249552'),float('-inf'),float('1.750448'),float('8.750448'),float('inf'))", "name": "out", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 1730.1130044895597, -253.98155047840922 ], "name": "r4", "script": [ "import fab", "", "title('Recenter')", "", "input('x', float)", "input('y', float)", "input('z', float)", "", "input('shape', fab.types.Shape)", "output('out', fab.shapes.recenter(shape, x, y, z))", "", "# UI", "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)", "" ], "uid": 21 }, { "datums": [ { "expr": "\u0011[__19.__5]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__20.__5]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('aiiiiiaa-f-1.23775X-Xf1.23775a-f-1.11398Y-Yf1.11398aa-f-1.11398X-Xf1.11398a-f-1.23775Y-Yf1.23775-r+q-Xf-1.11398q-Yf-1.11398f0.123775-r+q-Xf-1.11398q-Yf1.11398f0.123775-r+q-Xf1.11398q-Yf-1.11398f0.123775-r+q-Xf1.11398q-Yf1.11398f0.123775niiiiiaa-f-0.112753X-Xf0.112753a-f0Y-Yf0aa-f0X-Xf0a-f-0.112753Y-Yf0.112753-r+qXqYf0.112753-r+qXqYf0.112753-r+qXqYf0.112753-r+qXqYf0.112753',float('-1.237753'),float('-1.237753'),float('-inf'),float('1.237753'),float('1.237753'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 1132.1130044895597, -268.98155047840919 ], "name": "d4", "script": [ "import fab.types", "", "title('Difference')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a & ~b)", "" ], "uid": 22 }, { "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": "45", "name": "a", "type": "float", "uid": 3 }, { "expr": "\u0011[__22.__2]", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-1.23775X-Xf1.23775a-f-1.11398Y-Yf1.11398aa-f-1.11398X-Xf1.11398a-f-1.23775Y-Yf1.23775-r+q-Xf-1.11398q-Yf-1.11398f0.123775-r+q-Xf-1.11398q-Yf1.11398f0.123775-r+q-Xf1.11398q-Yf-1.11398f0.123775-r+q-Xf1.11398q-Yf1.11398f0.123775niiiiiaa-f-0.112753X-Xf0.112753a-f0Y-Yf0aa-f0X-Xf0a-f-0.112753Y-Yf0.112753-r+qXqYf0.112753-r+qXqYf0.112753-r+qXqYf0.112753-r+qXqYf0.112753',float('-1.750448'),float('-1.750448'),float('-inf'),float('1.750448'),float('1.750448'),float('inf'))", "name": "rotated", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 1431.1130044895597, -267.98155047840919 ], "name": "r6", "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": 25 }, { "datums": [ { "expr": "\u0011[__27.__3]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__21.__4]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('iiiiim-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1m-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbiim-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1rbm-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1m-Xf0-Yf7-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-1.23775X-Xf1.23775a-f-1.11398Y-Yf1.11398aa-f-1.11398X-Xf1.11398a-f-1.23775Y-Yf1.23775-r+q-Xf-1.11398q-Yf-1.11398f0.123775-r+q-Xf-1.11398q-Yf1.11398f0.123775-r+q-Xf1.11398q-Yf-1.11398f0.123775-r+q-Xf1.11398q-Yf1.11398f0.123775niiiiiaa-f-0.112753X-Xf0.112753a-f0Y-Yf0aa-f0X-Xf0a-f-0.112753Y-Yf0.112753-r+qXqYf0.112753-r+qXqYf0.112753-r+qXqYf0.112753-r+qXqYf0.112753',float('-8.750449'),float('-40.570248'),float('-inf'),float('8.750449'),float('8.750449'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 1375.29368248838, -0.24436544040807462 ], "name": "u2", "script": [ "import fab.types", "", "title('Union')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a | b)", "" ], "uid": 26 }, { "datums": [ { "expr": "\u0011[__17.__5]", "name": "h", "type": "float", "uid": 5 }, { "expr": "\u0011[__17.__0]", "name": "d", "type": "float", "uid": 0 }, { "expr": "\u0011[__17.__1]", "name": "kerf", "type": "float", "uid": 1 }, { "expr": "\u0012fab.types.Shape('aa-f-9.54594X-Xf9.54594a-f-43.0698Y-Yf-31.8198',float('-9.545941'),float('-43.069805'),float('-inf'),float('9.545941'),float('-31.819805'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 251.03671423206168, 915.46731889570356 ], "name": "r5", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 6/11/15", "", "import fab", "import math", "", "title('Rectangle (center)')", "", "input('h', float)", "input('d', float)", "input('kerf', float)", "", "x0 = 0", "y0 = -h/2 ", "width = d*math.sqrt(2)*1.2", "height = d", "", "xmin, xmax = x0 - width/2, x0 + width/2", "ymin, ymax = y0 - height, y0", "", "output('shape', fab.shapes.rectangle(xmin, xmax, ymin, ymax))", "", "def drag_hw(this, x, y, z):", " this.width = abs(2 * (x - this.x0))", " this.height = abs(2 * (y - this.y0))", "", "# UI", "sb.ui.wireframe(", " [(xmin, ymin, 0), (xmax, ymin, 0), (xmax, ymax, 0), (xmin, ymax, 0)],", " close=True)", "sb.ui.point(x0, y0)", "sb.ui.point(xmax, ymax, drag=drag_hw, relative=False)", "" ], "uid": 23 }, { "datums": [ { "expr": "0.0", "name": "x", "type": "float", "uid": 0 }, { "expr": "-15.909902*2", "name": "y", "type": "float", "uid": 1 }, { "expr": "0.0", "name": "z", "type": "float", "uid": 2 }, { "expr": "\u0011[__3.__5]", "name": "shape", "type": "_fabtypes.Shape", "uid": 3 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625',float('-8.750449'),float('-40.570248'),float('-inf'),float('8.750449'),float('-23.069351'),float('inf'))", "name": "out", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 770.10951807359208, 104.06909637446542 ], "name": "r7", "script": [ "import fab", "", "title('Recenter')", "", "input('x', float)", "input('y', float)", "input('z', float)", "", "input('shape', fab.types.Shape)", "output('out', fab.shapes.recenter(shape, x, y, z))", "", "# UI", "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)", "" ], "uid": 24 }, { "datums": [ { "expr": "\u0011[__6.__3]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__24.__4]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "1", "name": "q", "type": "float", "uid": 2 }, { "expr": "\u0012fab.types.Shape('iiiim-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1m-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbiim-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1rbm-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1',float('-8.750449'),float('-40.570248'),float('-inf'),float('8.750449'),float('8.750449'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 3 } ], "inspector": [ 1080.053168603938, 109.39765059524234 ], "name": "b2", "script": [ "import fab.types", "import fab.shapes", "", "title('Blend')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "input('q', float)", "", "output('shape', fab.shapes.blend(a, b, q))", "" ], "uid": 27 }, { "datums": [ { "expr": "\u0011[__26.__2]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__23.__4]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('aiiiiim-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1m-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbiim-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1rbm-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1m-Xf0-Yf7-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-1.23775X-Xf1.23775a-f-1.11398Y-Yf1.11398aa-f-1.11398X-Xf1.11398a-f-1.23775Y-Yf1.23775-r+q-Xf-1.11398q-Yf-1.11398f0.123775-r+q-Xf-1.11398q-Yf1.11398f0.123775-r+q-Xf1.11398q-Yf-1.11398f0.123775-r+q-Xf1.11398q-Yf1.11398f0.123775niiiiiaa-f-0.112753X-Xf0.112753a-f0Y-Yf0aa-f0X-Xf0a-f-0.112753Y-Yf0.112753-r+qXqYf0.112753-r+qXqYf0.112753-r+qXqYf0.112753-r+qXqYf0.112753naa-f-9.54594X-Xf9.54594a-f-43.0698Y-Yf-31.8198',float('-8.750449'),float('-40.570248'),float('-inf'),float('8.750449'),float('8.750449'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 1584.0814657090928, 266.07618369332408 ], "name": "d5", "script": [ "import fab.types", "", "title('Difference')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a & ~b)", "" ], "uid": 28 } ], "uid": 24 }, { "datums": [ { "expr": "74", "name": "x", "type": "float", "uid": 0 }, { "expr": "-0", "name": "y", "type": "float", "uid": 1 }, { "expr": "0.0", "name": "z", "type": "float", "uid": 2 }, { "expr": "\u0011[__26.__5]", "name": "shape", "type": "_fabtypes.Shape", "uid": 3 }, { "expr": "\u0012fab.types.Shape('m-Xf74-Yf23.8648-Zf0aaiiiiiiim-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1iim-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-47.7297-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-47.7297-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1-+rbiim-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1rbiim-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-47.7297-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-47.7297-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1f1m-Xf0-Yf7-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-1.23775X-Xf1.23775a-f-1.11398Y-Yf1.11398aa-f-1.11398X-Xf1.11398a-f-1.23775Y-Yf1.23775-r+q-Xf-1.11398q-Yf-1.11398f0.123775-r+q-Xf-1.11398q-Yf1.11398f0.123775-r+q-Xf1.11398q-Yf-1.11398f0.123775-r+q-Xf1.11398q-Yf1.11398f0.123775niiiiiaa-f-0.112753X-Xf0.112753a-f0Y-Yf0aa-f0X-Xf0a-f-0.112753Y-Yf0.112753-r+qXqYf0.112753-r+qXqYf0.112753-r+qXqYf0.112753-r+qXqYf0.112753iaa-f7.2987X-Xf8.5487a-f-55.9347Y-Yf-0.1aa-f-8.5487X-Xf-7.2987a-f-55.9347Y-Yf-0.1-+rbiiiiim-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1iim-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-47.7297-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-47.7297-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1-+rbiim-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1rbiim-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-47.7297-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-47.7297-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1f1m-Xf0-Yf7-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-1.23775X-Xf1.23775a-f-1.11398Y-Yf1.11398aa-f-1.11398X-Xf1.11398a-f-1.23775Y-Yf1.23775-r+q-Xf-1.11398q-Yf-1.11398f0.123775-r+q-Xf-1.11398q-Yf1.11398f0.123775-r+q-Xf1.11398q-Yf-1.11398f0.123775-r+q-Xf1.11398q-Yf1.11398f0.123775niiiiiaa-f-0.112753X-Xf0.112753a-f0Y-Yf0aa-f0X-Xf0a-f-0.112753Y-Yf0.112753-r+qXqYf0.112753-r+qXqYf0.112753-r+qXqYf0.112753-r+qXqYf0.112753rbiaa-f7.2987X-Xf8.5487a-f-55.9347Y-Yf-0.1aa-f-8.5487X-Xf-7.2987a-f-55.9347Y-Yf-0.1f0.8niaa-f8.5487X-Xf9.7987a-f-55.9347Y-Yf1aa-f-9.7987X-Xf-8.5487a-f-55.9347Y-Yf1naa-f-9.54594X-Xf9.54594a-f-59.1047Y-Yf-47.8547',float('65.249550'),float('-32.615349'),float('-inf'),float('82.750450'),float('32.615250'),float('inf'))", "name": "out", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 536.18744839939086, 1139.9414885580591 ], "name": "r12", "script": [ "import fab", "", "title('Recenter')", "", "input('x', float)", "input('y', float)", "input('z', float)", "", "input('shape', fab.types.Shape)", "output('out', fab.shapes.recenter(shape, x, y, z))", "", "# UI", "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)", "" ], "uid": 25 }, { "datums": [ { "expr": "var.h", "name": "h", "subdatum": [ -395, -481 ], "type": "float", "uid": 1 }, { "expr": "var.d", "name": "d", "subdatum": [ -398, -444 ], "type": "float", "uid": 2 }, { "expr": "var.wBeam", "name": "wBeam", "subdatum": [ -398.52773789482069, -407.5277378948208 ], "type": "float", "uid": 3 }, { "expr": "var.dAxle", "name": "dAxle", "subdatum": [ -397, -369 ], "type": "float", "uid": 4 }, { "expr": "var.kerf", "name": "kerf", "subdatum": [ -395, -332 ], "type": "float", "uid": 0 }, { "expr": "\u0013[__18.__2]", "name": "back", "subdatum": [ 1144.9959642778772, 1001.3042646657262 ], "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 540.07891373732184, 925.98752579240988 ], "name": "back", "subgraph": [ { "datums": [ { "expr": "\u0011[__parent.__2]", "name": "d", "type": "float", "uid": 0 }, { "expr": "\u0011[__parent.__3]", "name": "wBeam", "type": "float", "uid": 1 }, { "expr": "\u0011[__parent.__0]", "name": "kerf", "type": "float", "uid": 2 }, { "expr": "0.1", "name": "r", "type": "float", "uid": 4 }, { "expr": "\u0012fab.types.Shape('iiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875',float('-6.187500'),float('-6.187500'),float('-inf'),float('6.187500'),float('6.187500'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ -37, -452 ], "name": "squareOut", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 6/11/15", "", "import fab", "", "title('Rounded rectangle (center)')", "", "input('d', float)", "input('wBeam', float)", "input('kerf', float)", "input('r', float)", "", "x = 0", "y = 0", "width = d + wBeam + kerf/2", "height = width", "", "xmin, xmax = x - width/2, x + width/2", "ymin, ymax = y - height/2, y + height/2", "", "# This is the circle's radius in actual units (not a 0-1 fraction)", "r_ = r * min(width, height)/2", "", "output('shape', fab.shapes.rounded_rectangle(xmin, xmax, ymin, ymax, r))", "", "def drag_r(this, x, y, z):", " if abs(this.width) < abs(this.height):", " d = abs(this.width)", " mid = this.y + this.height/2 - d/2", " else:", " d = abs(this.width)", " mid = this.y", " r = 1 - (y - mid) / (d/2)", " this.r = float(min(1, max(0, r)))", "", "def drag_hw(this, x, y, z):", " this.height = abs(2 * (y - this.y))", " this.width = abs(2 * (x - this.x))", "", "# UI", "sb.ui.wireframe(", " [(xmin, ymin, 0), (xmax, ymin, 0), (xmax, ymax, 0), (xmin, ymax, 0)],", " close=True)", "sb.ui.wireframe([(xmax - r_, ymax, 0), (xmax, ymax - r_, 0)])", "sb.ui.point(x, y)", "sb.ui.point(xmax, ymax, drag=drag_hw, relative=False)", "sb.ui.point(xmax, ymax - r_, drag=drag_r, relative=False)", "", "" ], "uid": 0 }, { "datums": [ { "expr": "\u0011[__0.__0]", "name": "d", "type": "float", "uid": 6 }, { "expr": "\u0011[__0.__1]", "name": "wBeam", "type": "float", "uid": 7 }, { "expr": "\u0011[__0.__2]", "name": "kerf", "type": "float", "uid": 8 }, { "expr": "\u0011[__0.__4]", "name": "r", "type": "float", "uid": 4 }, { "expr": "\u0012fab.types.Shape('iiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625',float('-5.062500'),float('-5.062500'),float('-inf'),float('5.062500'),float('5.062500'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 285, -452 ], "name": "squareIn", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 6/11/15", "", "import fab", "", "title('Rounded rectangle (center)')", "", "input('d', float)", "input('wBeam', float)", "input('kerf', float)", "input('r', float)", "", "x = 0", "y = 0", "width = d - wBeam - kerf/2", "height = width", "", "xmin, xmax = x - width/2, x + width/2", "ymin, ymax = y - height/2, y + height/2", "", "# This is the circle's radius in actual units (not a 0-1 fraction)", "r_ = r * min(width, height)/2", "", "output('shape', fab.shapes.rounded_rectangle(xmin, xmax, ymin, ymax, r))", "", "def drag_r(this, x, y, z):", " if abs(this.width) < abs(this.height):", " d = abs(this.width)", " mid = this.y + this.height/2 - d/2", " else:", " d = abs(this.width)", " mid = this.y", " r = 1 - (y - mid) / (d/2)", " this.r = float(min(1, max(0, r)))", "", "def drag_hw(this, x, y, z):", " this.height = abs(2 * (y - this.y))", " this.width = abs(2 * (x - this.x))", "", "# UI", "sb.ui.wireframe(", " [(xmin, ymin, 0), (xmax, ymin, 0), (xmax, ymax, 0), (xmin, ymax, 0)],", " close=True)", "sb.ui.wireframe([(xmax - r_, ymax, 0), (xmax, ymax - r_, 0)])", "sb.ui.point(x, y)", "sb.ui.point(xmax, ymax, drag=drag_hw, relative=False)", "sb.ui.point(xmax, ymax - r_, drag=drag_r, relative=False)", "", "" ], "uid": 1 }, { "datums": [ { "expr": "\u0011[__0.__5]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__1.__5]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625',float('-6.187500'),float('-6.187500'),float('-inf'),float('6.187500'),float('6.187500'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 191, -262 ], "name": "d0", "script": [ "import fab.types", "", "title('Difference')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a & ~b)", "" ], "uid": 2 }, { "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": "45", "name": "a", "type": "float", "uid": 3 }, { "expr": "\u0011[__2.__2]", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625',float('-8.750449'),float('-8.750449'),float('-inf'),float('8.750449'),float('8.750449'),float('inf'))", "name": "rotated", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 490, -261 ], "name": "r1", "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": 3 }, { "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": "\u0011[__3.__5]", "name": "shape", "type": "_fabtypes.Shape", "uid": 3 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625',float('-8.750449'),float('-8.750449'),float('-inf'),float('8.750449'),float('8.750449'),float('inf'))", "name": "out", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 789, -247 ], "name": "r2", "script": [ "import fab", "", "title('Recenter')", "", "input('x', float)", "input('y', float)", "input('z', float)", "", "input('shape', fab.types.Shape)", "output('out', fab.shapes.recenter(shape, x, y, z))", "", "# UI", "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)", "" ], "uid": 4 }, { "datums": [ { "expr": "0.0", "name": "x", "type": "float", "uid": 0 }, { "expr": "-15.909902", "name": "y", "type": "float", "uid": 1 }, { "expr": "0.0", "name": "z", "type": "float", "uid": 2 }, { "expr": "\u0011[__3.__5]", "name": "shape", "type": "_fabtypes.Shape", "uid": 3 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625',float('-8.750449'),float('-24.660349'),float('-inf'),float('8.750449'),float('-7.159451'),float('inf'))", "name": "out", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 790, -65 ], "name": "r3", "script": [ "import fab", "", "title('Recenter')", "", "input('x', float)", "input('y', float)", "input('z', float)", "", "input('shape', fab.types.Shape)", "output('out', fab.shapes.recenter(shape, x, y, z))", "", "# UI", "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)", "" ], "uid": 5 }, { "datums": [ { "expr": "\u0011[__4.__4]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__5.__4]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "1", "name": "q", "type": "float", "uid": 2 }, { "expr": "\u0012fab.types.Shape('iim-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1',float('-8.750449'),float('-24.660349'),float('-inf'),float('8.750449'),float('8.750449'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 3 } ], "inspector": [ 1079, -131 ], "name": "b0", "script": [ "import fab.types", "import fab.shapes", "", "title('Blend')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "input('q', float)", "", "output('shape', fab.shapes.blend(a, b, q))", "" ], "uid": 6 }, { "datums": [ { "expr": "\u0011[__parent.__1]", "name": "h", "type": "float", "uid": 8 }, { "expr": "\u0011[__parent.__2]", "name": "d", "type": "float", "uid": 5 }, { "expr": "\u0011[__parent.__3]", "name": "wBeam", "type": "float", "uid": 6 }, { "expr": "\u0011[__parent.__0]", "name": "kerf", "type": "float", "uid": 7 }, { "expr": "\u0012fab.types.Shape('aa-f7.2987X-Xf8.5487a-f-55.9347Y-Yf-0.1',float('7.298701'),float('-55.934658'),float('-inf'),float('8.548701'),float('-0.100000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ -40, 17 ], "name": "rLeg", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 6/11/15", "", "import fab", "import math", "", "title('Rectangle (center)')", "", "input('h', float)", "input('d', float)", "input('wBeam', float)", "input('kerf', float)", "", "x0 = d/math.sqrt(2) - wBeam*1/32", "y0 = 0", "width = wBeam + kerf", "height = h - d/math.sqrt(2) + kerf", "", "xmin, xmax = x0 - width/2, x0 + width/2", "ymin, ymax = y0 - height, y0-0.1", "", "output('shape', fab.shapes.rectangle(xmin, xmax, ymin, ymax))", "", "def drag_hw(this, x, y, z):", " this.width = abs(2 * (x - this.x0))", " this.height = abs(2 * (y - this.y0))", "", "# UI", "sb.ui.wireframe(", " [(xmin, ymin, 0), (xmax, ymin, 0), (xmax, ymax, 0), (xmin, ymax, 0)],", " close=True)", "sb.ui.point(x0, y0)", "sb.ui.point(xmax, ymax, drag=drag_hw, relative=False)", "" ], "uid": 9 }, { "datums": [ { "expr": "\u0011[__9.__8]", "name": "h", "type": "float", "uid": 8 }, { "expr": "\u0011[__9.__5]", "name": "d", "type": "float", "uid": 5 }, { "expr": "\u0011[__9.__6]", "name": "wBeam", "type": "float", "uid": 6 }, { "expr": "\u0011[__9.__7]", "name": "kerf", "type": "float", "uid": 7 }, { "expr": "\u0012fab.types.Shape('aa-f-8.5487X-Xf-7.2987a-f-55.9347Y-Yf-0.1',float('-8.548701'),float('-55.934658'),float('-inf'),float('-7.298701'),float('-0.100000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 253.04264406948107, 18.353418029235286 ], "name": "lLeg", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 6/11/15", "", "import fab", "import math", "", "title('Rectangle (center)')", "", "input('h', float)", "input('d', float)", "input('wBeam', float)", "input('kerf', float)", "", "x0 = -d/math.sqrt(2) + wBeam/32", "y0 = 0", "width = wBeam + kerf", "height = h - d/math.sqrt(2) + kerf", "", "xmin, xmax = x0 - width/2, x0 + width/2", "ymin, ymax = y0 - height, y0-0.1", "", "output('shape', fab.shapes.rectangle(xmin, xmax, ymin, ymax))", "", "def drag_hw(this, x, y, z):", " this.width = abs(2 * (x - this.x0))", " this.height = abs(2 * (y - this.y0))", "", "# UI", "sb.ui.wireframe(", " [(xmin, ymin, 0), (xmax, ymin, 0), (xmax, ymax, 0), (xmin, ymax, 0)],", " close=True)", "sb.ui.point(x0, y0)", "sb.ui.point(xmax, ymax, drag=drag_hw, relative=False)", "" ], "uid": 10 }, { "datums": [ { "expr": "\u0011[__9.__4]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__10.__4]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('iaa-f7.2987X-Xf8.5487a-f-55.9347Y-Yf-0.1aa-f-8.5487X-Xf-7.2987a-f-55.9347Y-Yf-0.1',float('-8.548701'),float('-55.934658'),float('-inf'),float('8.548701'),float('-0.100000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 173.90915907961178, 217.9241303673526 ], "name": "u0", "script": [ "import fab.types", "", "title('Union')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a | b)", "" ], "uid": 11 }, { "datums": [ { "expr": "\u0011[__26.__2]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__11.__2]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "0.8", "name": "q", "type": "float", "uid": 2 }, { "expr": "\u0012fab.types.Shape('iiiiiiim-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1iim-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-47.7297-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-47.7297-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1-+rbiim-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1rbiim-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-47.7297-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-47.7297-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1f1m-Xf0-Yf7-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-1.23775X-Xf1.23775a-f-1.11398Y-Yf1.11398aa-f-1.11398X-Xf1.11398a-f-1.23775Y-Yf1.23775-r+q-Xf-1.11398q-Yf-1.11398f0.123775-r+q-Xf-1.11398q-Yf1.11398f0.123775-r+q-Xf1.11398q-Yf-1.11398f0.123775-r+q-Xf1.11398q-Yf1.11398f0.123775niiiiiaa-f-0.112753X-Xf0.112753a-f0Y-Yf0aa-f0X-Xf0a-f-0.112753Y-Yf0.112753-r+qXqYf0.112753-r+qXqYf0.112753-r+qXqYf0.112753-r+qXqYf0.112753iaa-f7.2987X-Xf8.5487a-f-55.9347Y-Yf-0.1aa-f-8.5487X-Xf-7.2987a-f-55.9347Y-Yf-0.1-+rbiiiiim-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1iim-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-47.7297-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-47.7297-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1-+rbiim-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1rbiim-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-47.7297-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-47.7297-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1f1m-Xf0-Yf7-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-1.23775X-Xf1.23775a-f-1.11398Y-Yf1.11398aa-f-1.11398X-Xf1.11398a-f-1.23775Y-Yf1.23775-r+q-Xf-1.11398q-Yf-1.11398f0.123775-r+q-Xf-1.11398q-Yf1.11398f0.123775-r+q-Xf1.11398q-Yf-1.11398f0.123775-r+q-Xf1.11398q-Yf1.11398f0.123775niiiiiaa-f-0.112753X-Xf0.112753a-f0Y-Yf0aa-f0X-Xf0a-f-0.112753Y-Yf0.112753-r+qXqYf0.112753-r+qXqYf0.112753-r+qXqYf0.112753-r+qXqYf0.112753rbiaa-f7.2987X-Xf8.5487a-f-55.9347Y-Yf-0.1aa-f-8.5487X-Xf-7.2987a-f-55.9347Y-Yf-0.1f0.8',float('-8.750449'),float('-56.480148'),float('-inf'),float('8.750449'),float('8.750449'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 3 } ], "inspector": [ 1135.308982793495, 514.6032037808028 ], "name": "b1", "script": [ "import fab.types", "import fab.shapes", "", "title('Blend')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "input('q', float)", "", "output('shape', fab.shapes.blend(a, b, q))", "" ], "uid": 12 }, { "datums": [ { "expr": "\u0011[__16.__4]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__8.__4]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('iaa-f8.5487X-Xf9.7987a-f-55.9347Y-Yf1aa-f-9.7987X-Xf-8.5487a-f-55.9347Y-Yf1',float('-9.798701'),float('-55.934658'),float('-inf'),float('9.798701'),float('1.000000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 186.9646348692533, 562.00816698917811 ], "name": "u1", "script": [ "import fab.types", "", "title('Union')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a | b)", "" ], "uid": 7 }, { "datums": [ { "expr": "\u0011[__16.__8]", "name": "h", "type": "float", "uid": 8 }, { "expr": "\u0011[__16.__5]", "name": "d", "type": "float", "uid": 5 }, { "expr": "\u0011[__16.__6]", "name": "wBeam", "type": "float", "uid": 6 }, { "expr": "\u0011[__16.__7]", "name": "kerf", "type": "float", "uid": 7 }, { "expr": "\u0012fab.types.Shape('aa-f-9.7987X-Xf-8.5487a-f-55.9347Y-Yf1',float('-9.798701'),float('-55.934658'),float('-inf'),float('-8.548701'),float('1.000000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 267.62585775394325, 370.56670646908123 ], "name": "lLeg0", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 6/11/15", "", "import fab", "import math", "", "title('Rectangle (center)')", "", "input('h', float)", "input('d', float)", "input('wBeam', float)", "input('kerf', float)", "", "x0 = -d/math.sqrt(2) + wBeam*1/32 - wBeam - kerf", "y0 = 0", "width = wBeam + kerf", "height = h - d/math.sqrt(2) + kerf", "", "xmin, xmax = x0 - width/2, x0 + width/2", "ymin, ymax = y0 - height, y0+1", "", "output('shape', fab.shapes.rectangle(xmin, xmax, ymin, ymax))", "", "def drag_hw(this, x, y, z):", " this.width = abs(2 * (x - this.x0))", " this.height = abs(2 * (y - this.y0))", "", "# UI", "sb.ui.wireframe(", " [(xmin, ymin, 0), (xmax, ymin, 0), (xmax, ymax, 0), (xmin, ymax, 0)],", " close=True)", "sb.ui.point(x0, y0)", "sb.ui.point(xmax, ymax, drag=drag_hw, relative=False)", "" ], "uid": 8 }, { "datums": [ { "expr": "\u0011[__parent.__1]", "name": "h", "type": "float", "uid": 8 }, { "expr": "\u0011[__parent.__2]", "name": "d", "type": "float", "uid": 5 }, { "expr": "\u0011[__parent.__3]", "name": "wBeam", "type": "float", "uid": 6 }, { "expr": "\u0011[__parent.__0]", "name": "kerf", "type": "float", "uid": 7 }, { "expr": "\u0012fab.types.Shape('aa-f8.5487X-Xf9.7987a-f-55.9347Y-Yf1',float('8.548701'),float('-55.934658'),float('-inf'),float('9.798701'),float('1.000000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ -31.18463211002711, 369.87254120533612 ], "name": "rLeg0", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 6/11/15", "", "import fab", "import math", "", "title('Rectangle (center)')", "", "input('h', float)", "input('d', float)", "input('wBeam', float)", "input('kerf', float)", "", "x0 = d/math.sqrt(2) - wBeam*1/32 + wBeam + kerf", "y0 = 0", "width = wBeam + kerf", "height = h - d/math.sqrt(2) + kerf", "", "xmin, xmax = x0 - width/2, x0 + width/2", "ymin, ymax = y0 - height, y0+1", "", "output('shape', fab.shapes.rectangle(xmin, xmax, ymin, ymax))", "", "def drag_hw(this, x, y, z):", " this.width = abs(2 * (x - this.x0))", " this.height = abs(2 * (y - this.y0))", "", "# UI", "sb.ui.wireframe(", " [(xmin, ymin, 0), (xmax, ymin, 0), (xmax, ymax, 0), (xmin, ymax, 0)],", " close=True)", "sb.ui.point(x0, y0)", "sb.ui.point(xmax, ymax, drag=drag_hw, relative=False)", "" ], "uid": 16 }, { "datums": [ { "expr": "\u0011[__12.__3]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__7.__2]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('aiiiiiiim-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1iim-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-47.7297-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-47.7297-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1-+rbiim-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1rbiim-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-47.7297-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-47.7297-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1f1m-Xf0-Yf7-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-1.23775X-Xf1.23775a-f-1.11398Y-Yf1.11398aa-f-1.11398X-Xf1.11398a-f-1.23775Y-Yf1.23775-r+q-Xf-1.11398q-Yf-1.11398f0.123775-r+q-Xf-1.11398q-Yf1.11398f0.123775-r+q-Xf1.11398q-Yf-1.11398f0.123775-r+q-Xf1.11398q-Yf1.11398f0.123775niiiiiaa-f-0.112753X-Xf0.112753a-f0Y-Yf0aa-f0X-Xf0a-f-0.112753Y-Yf0.112753-r+qXqYf0.112753-r+qXqYf0.112753-r+qXqYf0.112753-r+qXqYf0.112753iaa-f7.2987X-Xf8.5487a-f-55.9347Y-Yf-0.1aa-f-8.5487X-Xf-7.2987a-f-55.9347Y-Yf-0.1-+rbiiiiim-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1iim-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-47.7297-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-47.7297-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1-+rbiim-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1rbiim-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-47.7297-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-47.7297-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1f1m-Xf0-Yf7-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-1.23775X-Xf1.23775a-f-1.11398Y-Yf1.11398aa-f-1.11398X-Xf1.11398a-f-1.23775Y-Yf1.23775-r+q-Xf-1.11398q-Yf-1.11398f0.123775-r+q-Xf-1.11398q-Yf1.11398f0.123775-r+q-Xf1.11398q-Yf-1.11398f0.123775-r+q-Xf1.11398q-Yf1.11398f0.123775niiiiiaa-f-0.112753X-Xf0.112753a-f0Y-Yf0aa-f0X-Xf0a-f-0.112753Y-Yf0.112753-r+qXqYf0.112753-r+qXqYf0.112753-r+qXqYf0.112753-r+qXqYf0.112753rbiaa-f7.2987X-Xf8.5487a-f-55.9347Y-Yf-0.1aa-f-8.5487X-Xf-7.2987a-f-55.9347Y-Yf-0.1f0.8niaa-f8.5487X-Xf9.7987a-f-55.9347Y-Yf1aa-f-9.7987X-Xf-8.5487a-f-55.9347Y-Yf1',float('-8.750449'),float('-56.480148'),float('-inf'),float('8.750449'),float('8.750449'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 673.5371662728295, 508.51203031679063 ], "name": "d1", "script": [ "import fab.types", "", "title('Difference')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a & ~b)", "" ], "uid": 15 }, { "datums": [ { "expr": "\u0011[__parent.__1]", "name": "h", "type": "float", "uid": 5 }, { "expr": "\u0011[__parent.__2]", "name": "d", "type": "float", "uid": 0 }, { "expr": "\u0011[__parent.__0]", "name": "kerf", "type": "float", "uid": 1 }, { "expr": "\u0012fab.types.Shape('aa-f-9.54594X-Xf9.54594a-f-59.1047Y-Yf-47.8547',float('-9.545941'),float('-59.104710'),float('-inf'),float('9.545941'),float('-47.854710'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ -31.408129122927541, 925.41255985890757 ], "name": "r0", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 6/11/15", "", "import fab", "import math", "", "title('Rectangle (center)')", "", "input('h', float)", "input('d', float)", "input('kerf', float)", "", "x0 = 0", "y0 = -h*3/4 - kerf/2", "width = d*math.sqrt(2)*1.2", "height = d", "", "xmin, xmax = x0 - width/2, x0 + width/2", "ymin, ymax = y0 - height, y0", "", "output('shape', fab.shapes.rectangle(xmin, xmax, ymin, ymax))", "", "def drag_hw(this, x, y, z):", " this.width = abs(2 * (x - this.x0))", " this.height = abs(2 * (y - this.y0))", "", "# UI", "sb.ui.wireframe(", " [(xmin, ymin, 0), (xmax, ymin, 0), (xmax, ymax, 0), (xmin, ymax, 0)],", " close=True)", "sb.ui.point(x0, y0)", "sb.ui.point(xmax, ymax, drag=drag_hw, relative=False)", "" ], "uid": 17 }, { "datums": [ { "expr": "\u0011[__15.__2]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__17.__4]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('aaiiiiiiim-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1iim-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-47.7297-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-47.7297-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1-+rbiim-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1rbiim-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-47.7297-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-47.7297-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1f1m-Xf0-Yf7-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-1.23775X-Xf1.23775a-f-1.11398Y-Yf1.11398aa-f-1.11398X-Xf1.11398a-f-1.23775Y-Yf1.23775-r+q-Xf-1.11398q-Yf-1.11398f0.123775-r+q-Xf-1.11398q-Yf1.11398f0.123775-r+q-Xf1.11398q-Yf-1.11398f0.123775-r+q-Xf1.11398q-Yf1.11398f0.123775niiiiiaa-f-0.112753X-Xf0.112753a-f0Y-Yf0aa-f0X-Xf0a-f-0.112753Y-Yf0.112753-r+qXqYf0.112753-r+qXqYf0.112753-r+qXqYf0.112753-r+qXqYf0.112753iaa-f7.2987X-Xf8.5487a-f-55.9347Y-Yf-0.1aa-f-8.5487X-Xf-7.2987a-f-55.9347Y-Yf-0.1-+rbiiiiim-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1iim-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-47.7297-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-47.7297-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1-+rbiim-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1rbiim-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-47.7297-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-47.7297-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1f1m-Xf0-Yf7-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-1.23775X-Xf1.23775a-f-1.11398Y-Yf1.11398aa-f-1.11398X-Xf1.11398a-f-1.23775Y-Yf1.23775-r+q-Xf-1.11398q-Yf-1.11398f0.123775-r+q-Xf-1.11398q-Yf1.11398f0.123775-r+q-Xf1.11398q-Yf-1.11398f0.123775-r+q-Xf1.11398q-Yf1.11398f0.123775niiiiiaa-f-0.112753X-Xf0.112753a-f0Y-Yf0aa-f0X-Xf0a-f-0.112753Y-Yf0.112753-r+qXqYf0.112753-r+qXqYf0.112753-r+qXqYf0.112753-r+qXqYf0.112753rbiaa-f7.2987X-Xf8.5487a-f-55.9347Y-Yf-0.1aa-f-8.5487X-Xf-7.2987a-f-55.9347Y-Yf-0.1f0.8niaa-f8.5487X-Xf9.7987a-f-55.9347Y-Yf1aa-f-9.7987X-Xf-8.5487a-f-55.9347Y-Yf1naa-f-9.54594X-Xf9.54594a-f-59.1047Y-Yf-47.8547',float('-8.750449'),float('-56.480148'),float('-inf'),float('8.750449'),float('8.750449'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 848.31927542264214, 916.69468730894494 ], "name": "d3", "script": [ "import fab.types", "", "title('Difference')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a & ~b)", "" ], "uid": 18 }, { "datums": [ { "expr": "1.350505", "name": "d", "type": "float", "uid": 0 }, { "expr": "\u0011[__1.__7]", "name": "wBeam", "type": "float", "uid": 1 }, { "expr": "\u0011[__1.__8]", "name": "kerf", "type": "float", "uid": 2 }, { "expr": "0.1", "name": "r", "type": "float", "uid": 4 }, { "expr": "\u0012fab.types.Shape('iiiiiaa-f-1.23775X-Xf1.23775a-f-1.11398Y-Yf1.11398aa-f-1.11398X-Xf1.11398a-f-1.23775Y-Yf1.23775-r+q-Xf-1.11398q-Yf-1.11398f0.123775-r+q-Xf-1.11398q-Yf1.11398f0.123775-r+q-Xf1.11398q-Yf-1.11398f0.123775-r+q-Xf1.11398q-Yf1.11398f0.123775',float('-1.237753'),float('-1.237753'),float('-inf'),float('1.237753'),float('1.237753'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 1000.6842304218335, -455.96310095681844 ], "name": "squareOut0", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 6/11/15", "", "import fab", "", "title('Rounded rectangle (center)')", "", "input('d', float)", "input('wBeam', float)", "input('kerf', float)", "input('r', float)", "", "x = 0", "y = 0", "width = d + wBeam + kerf/2", "height = width", "", "xmin, xmax = x - width/2, x + width/2", "ymin, ymax = y - height/2, y + height/2", "", "# This is the circle's radius in actual units (not a 0-1 fraction)", "r_ = r * min(width, height)/2", "", "output('shape', fab.shapes.rounded_rectangle(xmin, xmax, ymin, ymax, r))", "", "def drag_r(this, x, y, z):", " if abs(this.width) < abs(this.height):", " d = abs(this.width)", " mid = this.y + this.height/2 - d/2", " else:", " d = abs(this.width)", " mid = this.y", " r = 1 - (y - mid) / (d/2)", " this.r = float(min(1, max(0, r)))", "", "def drag_hw(this, x, y, z):", " this.height = abs(2 * (y - this.y))", " this.width = abs(2 * (x - this.x))", "", "# UI", "sb.ui.wireframe(", " [(xmin, ymin, 0), (xmax, ymin, 0), (xmax, ymax, 0), (xmin, ymax, 0)],", " close=True)", "sb.ui.wireframe([(xmax - r_, ymax, 0), (xmax, ymax - r_, 0)])", "sb.ui.point(x, y)", "sb.ui.point(xmax, ymax, drag=drag_hw, relative=False)", "sb.ui.point(xmax, ymax - r_, drag=drag_r, relative=False)", "", "" ], "uid": 19 }, { "datums": [ { "expr": "\u0011[__19.__0]", "name": "d", "type": "float", "uid": 6 }, { "expr": "\u0011[__19.__1]", "name": "wBeam", "type": "float", "uid": 7 }, { "expr": "\u0011[__19.__2]", "name": "kerf", "type": "float", "uid": 8 }, { "expr": "1", "name": "r", "type": "float", "uid": 4 }, { "expr": "\u0012fab.types.Shape('iiiiiaa-f-0.112753X-Xf0.112753a-f0Y-Yf0aa-f0X-Xf0a-f-0.112753Y-Yf0.112753-r+qXqYf0.112753-r+qXqYf0.112753-r+qXqYf0.112753-r+qXqYf0.112753',float('-0.112752'),float('-0.112752'),float('-inf'),float('0.112752'),float('0.112752'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 1322.6842304218339, -455.96310095681844 ], "name": "squareIn0", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 6/11/15", "", "import fab", "", "title('Rounded rectangle (center)')", "", "input('d', float)", "input('wBeam', float)", "input('kerf', float)", "input('r', float)", "", "x = 0", "y = 0", "width = d - wBeam - kerf/2", "height = width", "", "xmin, xmax = x - width/2, x + width/2", "ymin, ymax = y - height/2, y + height/2", "", "# This is the circle's radius in actual units (not a 0-1 fraction)", "r_ = r * min(width, height)/2", "", "output('shape', fab.shapes.rounded_rectangle(xmin, xmax, ymin, ymax, r))", "", "def drag_r(this, x, y, z):", " if abs(this.width) < abs(this.height):", " d = abs(this.width)", " mid = this.y + this.height/2 - d/2", " else:", " d = abs(this.width)", " mid = this.y", " r = 1 - (y - mid) / (d/2)", " this.r = float(min(1, max(0, r)))", "", "def drag_hw(this, x, y, z):", " this.height = abs(2 * (y - this.y))", " this.width = abs(2 * (x - this.x))", "", "# UI", "sb.ui.wireframe(", " [(xmin, ymin, 0), (xmax, ymin, 0), (xmax, ymax, 0), (xmin, ymax, 0)],", " close=True)", "sb.ui.wireframe([(xmax - r_, ymax, 0), (xmax, ymax - r_, 0)])", "sb.ui.point(x, y)", "sb.ui.point(xmax, ymax, drag=drag_hw, relative=False)", "sb.ui.point(xmax, ymax - r_, drag=drag_r, relative=False)", "", "" ], "uid": 20 }, { "datums": [ { "expr": "0.0", "name": "x", "type": "float", "uid": 0 }, { "expr": "7", "name": "y", "type": "float", "uid": 1 }, { "expr": "0.0", "name": "z", "type": "float", "uid": 2 }, { "expr": "\u0011[__25.__5]", "name": "shape", "type": "_fabtypes.Shape", "uid": 3 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf7-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-1.23775X-Xf1.23775a-f-1.11398Y-Yf1.11398aa-f-1.11398X-Xf1.11398a-f-1.23775Y-Yf1.23775-r+q-Xf-1.11398q-Yf-1.11398f0.123775-r+q-Xf-1.11398q-Yf1.11398f0.123775-r+q-Xf1.11398q-Yf-1.11398f0.123775-r+q-Xf1.11398q-Yf1.11398f0.123775niiiiiaa-f-0.112753X-Xf0.112753a-f0Y-Yf0aa-f0X-Xf0a-f-0.112753Y-Yf0.112753-r+qXqYf0.112753-r+qXqYf0.112753-r+qXqYf0.112753-r+qXqYf0.112753',float('-1.750448'),float('5.249552'),float('-inf'),float('1.750448'),float('8.750448'),float('inf'))", "name": "out", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 1740.1130044895597, -243.98155047840922 ], "name": "r4", "script": [ "import fab", "", "title('Recenter')", "", "input('x', float)", "input('y', float)", "input('z', float)", "", "input('shape', fab.types.Shape)", "output('out', fab.shapes.recenter(shape, x, y, z))", "", "# UI", "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)", "" ], "uid": 21 }, { "datums": [ { "expr": "\u0011[__19.__5]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__20.__5]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('aiiiiiaa-f-1.23775X-Xf1.23775a-f-1.11398Y-Yf1.11398aa-f-1.11398X-Xf1.11398a-f-1.23775Y-Yf1.23775-r+q-Xf-1.11398q-Yf-1.11398f0.123775-r+q-Xf-1.11398q-Yf1.11398f0.123775-r+q-Xf1.11398q-Yf-1.11398f0.123775-r+q-Xf1.11398q-Yf1.11398f0.123775niiiiiaa-f-0.112753X-Xf0.112753a-f0Y-Yf0aa-f0X-Xf0a-f-0.112753Y-Yf0.112753-r+qXqYf0.112753-r+qXqYf0.112753-r+qXqYf0.112753-r+qXqYf0.112753',float('-1.237753'),float('-1.237753'),float('-inf'),float('1.237753'),float('1.237753'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 1142.1130044895597, -258.98155047840919 ], "name": "d4", "script": [ "import fab.types", "", "title('Difference')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a & ~b)", "" ], "uid": 22 }, { "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": "45", "name": "a", "type": "float", "uid": 3 }, { "expr": "\u0011[__22.__2]", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-1.23775X-Xf1.23775a-f-1.11398Y-Yf1.11398aa-f-1.11398X-Xf1.11398a-f-1.23775Y-Yf1.23775-r+q-Xf-1.11398q-Yf-1.11398f0.123775-r+q-Xf-1.11398q-Yf1.11398f0.123775-r+q-Xf1.11398q-Yf-1.11398f0.123775-r+q-Xf1.11398q-Yf1.11398f0.123775niiiiiaa-f-0.112753X-Xf0.112753a-f0Y-Yf0aa-f0X-Xf0a-f-0.112753Y-Yf0.112753-r+qXqYf0.112753-r+qXqYf0.112753-r+qXqYf0.112753-r+qXqYf0.112753',float('-1.750448'),float('-1.750448'),float('-inf'),float('1.750448'),float('1.750448'),float('inf'))", "name": "rotated", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 1441.1130044895597, -257.98155047840919 ], "name": "r6", "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": 25 }, { "datums": [ { "expr": "\u0011[__24.__3]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__21.__4]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('iiiiim-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1iim-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-47.7297-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-47.7297-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1-+rbiim-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1rbiim-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-47.7297-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-47.7297-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1f1m-Xf0-Yf7-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-1.23775X-Xf1.23775a-f-1.11398Y-Yf1.11398aa-f-1.11398X-Xf1.11398a-f-1.23775Y-Yf1.23775-r+q-Xf-1.11398q-Yf-1.11398f0.123775-r+q-Xf-1.11398q-Yf1.11398f0.123775-r+q-Xf1.11398q-Yf-1.11398f0.123775-r+q-Xf1.11398q-Yf1.11398f0.123775niiiiiaa-f-0.112753X-Xf0.112753a-f0Y-Yf0aa-f0X-Xf0a-f-0.112753Y-Yf0.112753-r+qXqYf0.112753-r+qXqYf0.112753-r+qXqYf0.112753-r+qXqYf0.112753',float('-8.750449'),float('-56.480148'),float('-inf'),float('8.750449'),float('8.750449'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 1740.1093139880888, 8.0740438889771902 ], "name": "u2", "script": [ "import fab.types", "", "title('Union')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a | b)", "" ], "uid": 26 }, { "datums": [ { "expr": "0.0", "name": "x", "type": "float", "uid": 0 }, { "expr": "-15.909902*2", "name": "y", "type": "float", "uid": 1 }, { "expr": "0.0", "name": "z", "type": "float", "uid": 2 }, { "expr": "\u0011[__3.__5]", "name": "shape", "type": "_fabtypes.Shape", "uid": 3 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625',float('-8.750449'),float('-40.570248'),float('-inf'),float('8.750449'),float('-23.069351'),float('inf'))", "name": "out", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 789.74531307665745, 110.97622831768436 ], "name": "r5", "script": [ "import fab", "", "title('Recenter')", "", "input('x', float)", "input('y', float)", "input('z', float)", "", "input('shape', fab.types.Shape)", "output('out', fab.shapes.recenter(shape, x, y, z))", "", "# UI", "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)", "" ], "uid": 13 }, { "datums": [ { "expr": "0.0", "name": "x", "type": "float", "uid": 0 }, { "expr": "-15.909902*3", "name": "y", "type": "float", "uid": 1 }, { "expr": "0.0", "name": "z", "type": "float", "uid": 2 }, { "expr": "\u0011[__3.__5]", "name": "shape", "type": "_fabtypes.Shape", "uid": 3 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf-47.7297-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625',float('-8.750449'),float('-56.480148'),float('-inf'),float('8.750449'),float('-38.979248'),float('inf'))", "name": "out", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 790.74531307665745, 292.97622831768433 ], "name": "r7", "script": [ "import fab", "", "title('Recenter')", "", "input('x', float)", "input('y', float)", "input('z', float)", "", "input('shape', fab.types.Shape)", "output('out', fab.shapes.recenter(shape, x, y, z))", "", "# UI", "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)", "" ], "uid": 14 }, { "datums": [ { "expr": "\u0011[__13.__4]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__14.__4]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "1", "name": "q", "type": "float", "uid": 2 }, { "expr": "\u0012fab.types.Shape('iim-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-47.7297-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-47.7297-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1',float('-8.750449'),float('-56.480148'),float('-inf'),float('8.750449'),float('-23.069351'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 3 } ], "inspector": [ 1074.5364385228161, 220.28837785053037 ], "name": "b2", "script": [ "import fab.types", "import fab.shapes", "", "title('Blend')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "input('q', float)", "", "output('shape', fab.shapes.blend(a, b, q))", "" ], "uid": 23 }, { "datums": [ { "expr": "\u0011[__6.__3]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__23.__3]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "1", "name": "q", "type": "float", "uid": 2 }, { "expr": "\u0012fab.types.Shape('iiiim-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1iim-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-47.7297-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-47.7297-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1-+rbiim-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf0-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-15.9099-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1rbiim-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625m-Xf0-Yf-47.7297-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625-+rbm-Xf0-Yf-31.8198-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625rbm-Xf0-Yf-47.7297-Zf0m-Xf0-Yf0-Zf0m+*f0.707107X*f0.707107Y+*f-0.707107X*f0.707107Y_m-Xf-0-Yf-0-Zf0aiiiiiaa-f-6.1875X-Xf6.1875a-f-5.56875Y-Yf5.56875aa-f-5.56875X-Xf5.56875a-f-6.1875Y-Yf6.1875-r+q-Xf-5.56875q-Yf-5.56875f0.61875-r+q-Xf-5.56875q-Yf5.56875f0.61875-r+q-Xf5.56875q-Yf-5.56875f0.61875-r+q-Xf5.56875q-Yf5.56875f0.61875niiiiiaa-f-5.0625X-Xf5.0625a-f-4.55625Y-Yf4.55625aa-f-4.55625X-Xf4.55625a-f-5.0625Y-Yf5.0625-r+q-Xf-4.55625q-Yf-4.55625f0.50625-r+q-Xf-4.55625q-Yf4.55625f0.50625-r+q-Xf4.55625q-Yf-4.55625f0.50625-r+q-Xf4.55625q-Yf4.55625f0.50625f1f1',float('-8.750449'),float('-56.480148'),float('-inf'),float('8.750449'),float('8.750449'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 3 } ], "inspector": [ 1367.13321520978, 36.994994753524196 ], "name": "b3", "script": [ "import fab.types", "import fab.shapes", "", "title('Blend')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "input('q', float)", "", "output('shape', fab.shapes.blend(a, b, q))", "" ], "uid": 24 } ], "uid": 26 }, { "datums": [ { "expr": "var.rFace", "name": "rFace", "subdatum": [ -398, -456 ], "type": "float", "uid": 0 }, { "expr": "var.wBeam*0.8", "name": "wBeam", "subdatum": [ -396, -415 ], "type": "float", "uid": 1 }, { "expr": "var.dAxle", "name": "dAxle", "subdatum": [ -399, -373 ], "type": "float", "uid": 2 }, { "expr": "var.kerf", "name": "kerf", "subdatum": [ -397.90958975735771, -331.94596792592409 ], "type": "float", "uid": 3 }, { "expr": "\u0013[__6.__2]", "name": "hand", "subdatum": [ 999.0296919309061, 101.07329151590638 ], "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 803.92229517694136, -458.1255819090515 ], "name": "minuteHand", "subgraph": [ { "datums": [ { "expr": "\u0011[__parent.__0]", "name": "rFace", "type": "float", "uid": 12 }, { "expr": "\u0011[__parent.__1]", "name": "wBeam", "type": "float", "uid": 7 }, { "expr": "\u0011[__parent.__3]", "name": "kerf", "type": "float", "uid": 13 }, { "expr": "\u0012fab.types.Shape('aa-f-0.525X-Xf0.525a-f0Y-Yf5',float('-0.525000'),float('0.000000'),float('-inf'),float('0.525000'),float('5.000000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ -17.022870150047311, -439.40283574809825 ], "name": "arm", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 6/11/15", "", "import fab", "", "title('Rectangle (center)')", "", "input('rFace', float)", "input('wBeam', float)", "input('kerf', float)", "", "x0 = 0", "y0 = 0", "width = wBeam + kerf", "height = rFace*5/8", "", "xmin, xmax = x0 - width/2, x0 + width/2", "ymin, ymax = y0, y0 + height", "", "output('shape', fab.shapes.rectangle(xmin, xmax, ymin, ymax))", "", "def drag_hw(this, x, y, z):", " this.width = abs(2 * (x - this.x0))", " this.height = abs(2 * (y - this.y0))", "", "# UI", "sb.ui.wireframe(", " [(xmin, ymin, 0), (xmax, ymin, 0), (xmax, ymax, 0), (xmin, ymax, 0)],", " close=True)", "sb.ui.point(x0, y0)", "sb.ui.point(xmax, ymax, drag=drag_hw, relative=False)", "" ], "uid": 0 }, { "datums": [ { "expr": "\u0011[__parent.__0]", "name": "rFace", "type": "float", "uid": 0 }, { "expr": "3", "name": "N", "type": "int", "uid": 2 }, { "expr": "1.5", "name": "r", "type": "float", "uid": 3 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf5-Zf0aam-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0-f-0.75Ym-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0-f-0.75Ym-Xf0-Yf0-Zf0m+*f-0.5X*f-0.866025Y+*f0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0-f-0.75Y',float('-1.500000'),float('3.500000'),float('-inf'),float('1.500000'),float('6.500000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ -12.76715261253554, -286.19700439767172 ], "name": "tip", "script": [ "# Neil Gershenfeld 2/14/15", "# Matt Keeter 6/12/15", "", "import fab", "import math", "", "title('Polygon')", "", "input('rFace', float)", "input('N', int)", "input('r', float)", "", "x = 0", "y = rFace*5/8", "", "output('shape', fab.shapes.move(fab.shapes.polygon_radius(x, y, r, N), x, y))", "", "# UI", "# (we need to do a bit of work to make the UI work for both even and", "# odd vertex counts; otherwise it will be off for one or the other)", "a_ = 0 if (N % 2) else (math.pi / N)", "sb.ui.wireframe([", " (x + r * math.sin(a_ + a * math.pi * 2/N),", " y + r * math.cos(a_ + a * math.pi * 2/N), 0)", " for a in range(N)], close=True)", "sb.ui.point(x, y)", "sb.ui.point(x + r * math.sin(a_), y + r * math.cos(a_),", " drag=(None, r, None))", "" ], "uid": 1 }, { "datums": [ { "expr": "\u0011[__parent.__1]", "name": "wBeam", "type": "float", "uid": 11 }, { "expr": "\u0011[__parent.__2]", "name": "dAxle", "type": "float", "uid": 12 }, { "expr": "\u0011[__parent.__3]", "name": "kerf", "type": "float", "uid": 0 }, { "expr": "0", "name": "_a", "type": "float", "uid": 3 }, { "expr": "\u0012fab.types.Shape('-r+qXqYf1.15',float('-1.150000'),float('-1.150000'),float('-inf'),float('1.150000'),float('1.150000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ -14.895011381291454, -123.41580858784357 ], "name": "rimOut", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 6/11/18", "", "import fab", "import math", "", "title('Circle (center)')", "", "input('wBeam',float)", "input('dAxle', float)", "input('kerf', float)", "input('_a',float)", "", "x0 = 0", "y0 = 0", "r = dAxle/2 + wBeam/2 + kerf/2", "", "output('shape', fab.shapes.circle(x0, y0, r))", "", "def drag_r(this,x,y,z):", " dx = x - this.x0", " dy = y - this.y0", " this.r = math.sqrt(dx**2 + dy**2)", " this._a = math.atan2(dy, dx)", "", "# UI", "sb.ui.wireframe([", " (math.cos(i/36. * 2*math.pi) * r + x0,", " math.sin(i/36. * 2*math.pi) * r + y0, 0)", " for i in range(36)], close=True)", "sb.ui.point(x0,y0)", "sb.ui.point(x0 + r*math.cos(_a),", " y0 + r*math.sin(_a),", " drag=drag_r, relative=False)", "", "" ], "uid": 2 }, { "datums": [ { "expr": "\u0011[__2.__11]", "name": "wBeam", "type": "float", "uid": 11 }, { "expr": "\u0011[__2.__12]", "name": "dAxle", "type": "float", "uid": 12 }, { "expr": "\u0011[__2.__0]", "name": "kerf", "type": "float", "uid": 0 }, { "expr": "0", "name": "_a", "type": "float", "uid": 3 }, { "expr": "\u0012fab.types.Shape('-r+qXqYf0.5',float('-0.500000'),float('-0.500000'),float('-inf'),float('0.500000'),float('0.500000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 275.98234609449048, -122.99117304724523 ], "name": "rimIn", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 6/11/18", "", "import fab", "import math", "", "title('Circle (center)')", "", "input('wBeam',float)", "input('dAxle', float)", "input('kerf', float)", "input('_a',float)", "", "x0 = 0", "y0 = 0", "r = dAxle/2 - kerf/2", "", "output('shape', fab.shapes.circle(x0, y0, r))", "", "def drag_r(this,x,y,z):", " dx = x - this.x0", " dy = y - this.y0", " this.r = math.sqrt(dx**2 + dy**2)", " this._a = math.atan2(dy, dx)", "", "# UI", "sb.ui.wireframe([", " (math.cos(i/36. * 2*math.pi) * r + x0,", " math.sin(i/36. * 2*math.pi) * r + y0, 0)", " for i in range(36)], close=True)", "sb.ui.point(x0,y0)", "sb.ui.point(x0 + r*math.cos(_a),", " y0 + r*math.sin(_a),", " drag=drag_r, relative=False)", "", "" ], "uid": 3 }, { "datums": [ { "expr": "\u0011[__0.__4]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__1.__4]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "0.5", "name": "q", "type": "float", "uid": 2 }, { "expr": "\u0012fab.types.Shape('iiaa-f-0.525X-Xf0.525a-f0Y-Yf5m-Xf0-Yf5-Zf0aam-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0-f-0.75Ym-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0-f-0.75Ym-Xf0-Yf0-Zf0m+*f-0.5X*f-0.866025Y+*f0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0-f-0.75Y-+rbaa-f-0.525X-Xf0.525a-f0Y-Yf5rbm-Xf0-Yf5-Zf0aam-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0-f-0.75Ym-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0-f-0.75Ym-Xf0-Yf0-Zf0m+*f-0.5X*f-0.866025Y+*f0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0-f-0.75Yf0.5',float('-1.500000'),float('0.000000'),float('-inf'),float('1.500000'),float('6.500000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 3 } ], "inspector": [ 295.77236885707339, -348.96883807597146 ], "name": "b0", "script": [ "import fab.types", "import fab.shapes", "", "title('Blend')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "input('q', float)", "", "output('shape', fab.shapes.blend(a, b, q))", "" ], "uid": 4 }, { "datums": [ { "expr": "\u0011[__4.__3]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__2.__4]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "0.5", "name": "q", "type": "float", "uid": 2 }, { "expr": "\u0012fab.types.Shape('iiiiaa-f-0.525X-Xf0.525a-f0Y-Yf5m-Xf0-Yf5-Zf0aam-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0-f-0.75Ym-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0-f-0.75Ym-Xf0-Yf0-Zf0m+*f-0.5X*f-0.866025Y+*f0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0-f-0.75Y-+rbaa-f-0.525X-Xf0.525a-f0Y-Yf5rbm-Xf0-Yf5-Zf0aam-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0-f-0.75Ym-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0-f-0.75Ym-Xf0-Yf0-Zf0m+*f-0.5X*f-0.866025Y+*f0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0-f-0.75Yf0.5-r+qXqYf1.15-+rbiiaa-f-0.525X-Xf0.525a-f0Y-Yf5m-Xf0-Yf5-Zf0aam-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0-f-0.75Ym-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0-f-0.75Ym-Xf0-Yf0-Zf0m+*f-0.5X*f-0.866025Y+*f0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0-f-0.75Y-+rbaa-f-0.525X-Xf0.525a-f0Y-Yf5rbm-Xf0-Yf5-Zf0aam-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0-f-0.75Ym-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0-f-0.75Ym-Xf0-Yf0-Zf0m+*f-0.5X*f-0.866025Y+*f0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0-f-0.75Yf0.5rb-r+qXqYf1.15f0.5',float('-1.500000'),float('-1.150000'),float('-inf'),float('1.500000'),float('6.500000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 3 } ], "inspector": [ 417.06031867616093, 140.43867873789094 ], "name": "b1", "script": [ "import fab.types", "import fab.shapes", "", "title('Blend')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "input('q', float)", "", "output('shape', fab.shapes.blend(a, b, q))", "" ], "uid": 5 }, { "datums": [ { "expr": "\u0011[__5.__3]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__3.__4]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('aiiiiaa-f-0.525X-Xf0.525a-f0Y-Yf5m-Xf0-Yf5-Zf0aam-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0-f-0.75Ym-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0-f-0.75Ym-Xf0-Yf0-Zf0m+*f-0.5X*f-0.866025Y+*f0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0-f-0.75Y-+rbaa-f-0.525X-Xf0.525a-f0Y-Yf5rbm-Xf0-Yf5-Zf0aam-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0-f-0.75Ym-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0-f-0.75Ym-Xf0-Yf0-Zf0m+*f-0.5X*f-0.866025Y+*f0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0-f-0.75Yf0.5-r+qXqYf1.15-+rbiiaa-f-0.525X-Xf0.525a-f0Y-Yf5m-Xf0-Yf5-Zf0aam-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0-f-0.75Ym-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0-f-0.75Ym-Xf0-Yf0-Zf0m+*f-0.5X*f-0.866025Y+*f0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0-f-0.75Y-+rbaa-f-0.525X-Xf0.525a-f0Y-Yf5rbm-Xf0-Yf5-Zf0aam-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0-f-0.75Ym-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0-f-0.75Ym-Xf0-Yf0-Zf0m+*f-0.5X*f-0.866025Y+*f0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0-f-0.75Yf0.5rb-r+qXqYf1.15f0.5n-r+qXqYf0.5',float('-1.500000'),float('-1.150000'),float('-inf'),float('1.500000'),float('6.500000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 701.12946430507679, 19.150728918803313 ], "name": "d0", "script": [ "import fab.types", "", "title('Difference')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a & ~b)", "" ], "uid": 6 } ], "uid": 27 }, { "datums": [ { "expr": "var.rFace", "name": "rFace", "subdatum": [ -398, -456 ], "type": "float", "uid": 0 }, { "expr": "var.wBeam*0.8", "name": "wBeam", "subdatum": [ -396, -415 ], "type": "float", "uid": 1 }, { "expr": "1.660", "name": "dAxle", "subdatum": [ -399, -373 ], "type": "float", "uid": 2 }, { "expr": "var.kerf", "name": "kerf", "subdatum": [ -397.90958975735771, -331.94596792592409 ], "type": "float", "uid": 3 }, { "expr": "\u0013[__6.__2]", "name": "hand", "subdatum": [ 999.0296919309061, 101.07329151590638 ], "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 815.87099067215991, 7.8691639720670068 ], "name": "hourHand", "subgraph": [ { "datums": [ { "expr": "\u0011[__parent.__0]", "name": "rFace", "type": "float", "uid": 12 }, { "expr": "\u0011[__parent.__1]", "name": "wBeam", "type": "float", "uid": 7 }, { "expr": "\u0011[__parent.__3]", "name": "kerf", "type": "float", "uid": 13 }, { "expr": "\u0012fab.types.Shape('aa-f-0.525X-Xf0.525a-f0Y-Yf3',float('-0.525000'),float('0.000000'),float('-inf'),float('0.525000'),float('3.000000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ -7.0228701500473107, -429.40283574809825 ], "name": "arm", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 6/11/15", "", "import fab", "", "title('Rectangle (center)')", "", "input('rFace', float)", "input('wBeam', float)", "input('kerf', float)", "", "x0 = 0", "y0 = 0", "width = wBeam + kerf", "height = rFace*3/8", "", "xmin, xmax = x0 - width/2, x0 + width/2", "ymin, ymax = y0, y0 + height", "", "output('shape', fab.shapes.rectangle(xmin, xmax, ymin, ymax))", "", "def drag_hw(this, x, y, z):", " this.width = abs(2 * (x - this.x0))", " this.height = abs(2 * (y - this.y0))", "", "# UI", "sb.ui.wireframe(", " [(xmin, ymin, 0), (xmax, ymin, 0), (xmax, ymax, 0), (xmin, ymax, 0)],", " close=True)", "sb.ui.point(x0, y0)", "sb.ui.point(xmax, ymax, drag=drag_hw, relative=False)", "" ], "uid": 0 }, { "datums": [ { "expr": "\u0011[__parent.__0]", "name": "rFace", "type": "float", "uid": 0 }, { "expr": "3", "name": "N", "type": "int", "uid": 2 }, { "expr": "1.5", "name": "r", "type": "float", "uid": 3 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf3-Zf0aam-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0-f-0.75Ym-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0-f-0.75Ym-Xf0-Yf0-Zf0m+*f-0.5X*f-0.866025Y+*f0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0-f-0.75Y',float('-1.500000'),float('1.500000'),float('-inf'),float('1.500000'),float('4.500000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ -2.7671526125355399, -276.19700439767172 ], "name": "tip", "script": [ "# Neil Gershenfeld 2/14/15", "# Matt Keeter 6/12/15", "", "import fab", "import math", "", "title('Polygon')", "", "input('rFace', float)", "input('N', int)", "input('r', float)", "", "x = 0", "y = rFace*3/8", "", "output('shape', fab.shapes.move(fab.shapes.polygon_radius(x, y, r, N), x, y))", "", "# UI", "# (we need to do a bit of work to make the UI work for both even and", "# odd vertex counts; otherwise it will be off for one or the other)", "a_ = 0 if (N % 2) else (math.pi / N)", "sb.ui.wireframe([", " (x + r * math.sin(a_ + a * math.pi * 2/N),", " y + r * math.cos(a_ + a * math.pi * 2/N), 0)", " for a in range(N)], close=True)", "sb.ui.point(x, y)", "sb.ui.point(x + r * math.sin(a_), y + r * math.cos(a_),", " drag=(None, r, None))", "" ], "uid": 1 }, { "datums": [ { "expr": "\u0011[__parent.__1]", "name": "wBeam", "type": "float", "uid": 11 }, { "expr": "\u0011[__parent.__2]", "name": "dAxle", "type": "float", "uid": 12 }, { "expr": "\u0011[__parent.__3]", "name": "kerf", "type": "float", "uid": 0 }, { "expr": "0", "name": "_a", "type": "float", "uid": 3 }, { "expr": "\u0012fab.types.Shape('-r+qXqYf1.355',float('-1.355000'),float('-1.355000'),float('-inf'),float('1.355000'),float('1.355000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ -4.8950113812914537, -113.41580858784357 ], "name": "rimOut", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 6/11/18", "", "import fab", "import math", "", "title('Circle (center)')", "", "input('wBeam',float)", "input('dAxle', float)", "input('kerf', float)", "input('_a',float)", "", "x0 = 0", "y0 = 0", "r = dAxle/2 + wBeam/2 + kerf/2", "", "output('shape', fab.shapes.circle(x0, y0, r))", "", "def drag_r(this,x,y,z):", " dx = x - this.x0", " dy = y - this.y0", " this.r = math.sqrt(dx**2 + dy**2)", " this._a = math.atan2(dy, dx)", "", "# UI", "sb.ui.wireframe([", " (math.cos(i/36. * 2*math.pi) * r + x0,", " math.sin(i/36. * 2*math.pi) * r + y0, 0)", " for i in range(36)], close=True)", "sb.ui.point(x0,y0)", "sb.ui.point(x0 + r*math.cos(_a),", " y0 + r*math.sin(_a),", " drag=drag_r, relative=False)", "", "" ], "uid": 2 }, { "datums": [ { "expr": "\u0011[__2.__11]", "name": "wBeam", "type": "float", "uid": 11 }, { "expr": "\u0011[__2.__12]", "name": "dAxle", "type": "float", "uid": 12 }, { "expr": "\u0011[__2.__0]", "name": "kerf", "type": "float", "uid": 0 }, { "expr": "0", "name": "_a", "type": "float", "uid": 3 }, { "expr": "\u0012fab.types.Shape('-r+qXqYf0.705',float('-0.705000'),float('-0.705000'),float('-inf'),float('0.705000'),float('0.705000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 285.98234609449048, -112.99117304724523 ], "name": "rimIn", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 6/11/18", "", "import fab", "import math", "", "title('Circle (center)')", "", "input('wBeam',float)", "input('dAxle', float)", "input('kerf', float)", "input('_a',float)", "", "x0 = 0", "y0 = 0", "r = dAxle/2 - kerf/2", "", "output('shape', fab.shapes.circle(x0, y0, r))", "", "def drag_r(this,x,y,z):", " dx = x - this.x0", " dy = y - this.y0", " this.r = math.sqrt(dx**2 + dy**2)", " this._a = math.atan2(dy, dx)", "", "# UI", "sb.ui.wireframe([", " (math.cos(i/36. * 2*math.pi) * r + x0,", " math.sin(i/36. * 2*math.pi) * r + y0, 0)", " for i in range(36)], close=True)", "sb.ui.point(x0,y0)", "sb.ui.point(x0 + r*math.cos(_a),", " y0 + r*math.sin(_a),", " drag=drag_r, relative=False)", "", "" ], "uid": 3 }, { "datums": [ { "expr": "\u0011[__0.__4]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__1.__4]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "0.5", "name": "q", "type": "float", "uid": 2 }, { "expr": "\u0012fab.types.Shape('iiaa-f-0.525X-Xf0.525a-f0Y-Yf3m-Xf0-Yf3-Zf0aam-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0-f-0.75Ym-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0-f-0.75Ym-Xf0-Yf0-Zf0m+*f-0.5X*f-0.866025Y+*f0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0-f-0.75Y-+rbaa-f-0.525X-Xf0.525a-f0Y-Yf3rbm-Xf0-Yf3-Zf0aam-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0-f-0.75Ym-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0-f-0.75Ym-Xf0-Yf0-Zf0m+*f-0.5X*f-0.866025Y+*f0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0-f-0.75Yf0.5',float('-1.500000'),float('0.000000'),float('-inf'),float('1.500000'),float('4.500000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 3 } ], "inspector": [ 305.77236885707339, -338.96883807597146 ], "name": "b0", "script": [ "import fab.types", "import fab.shapes", "", "title('Blend')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "input('q', float)", "", "output('shape', fab.shapes.blend(a, b, q))", "" ], "uid": 4 }, { "datums": [ { "expr": "\u0011[__4.__3]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__2.__4]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "0.5", "name": "q", "type": "float", "uid": 2 }, { "expr": "\u0012fab.types.Shape('iiiiaa-f-0.525X-Xf0.525a-f0Y-Yf3m-Xf0-Yf3-Zf0aam-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0-f-0.75Ym-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0-f-0.75Ym-Xf0-Yf0-Zf0m+*f-0.5X*f-0.866025Y+*f0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0-f-0.75Y-+rbaa-f-0.525X-Xf0.525a-f0Y-Yf3rbm-Xf0-Yf3-Zf0aam-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0-f-0.75Ym-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0-f-0.75Ym-Xf0-Yf0-Zf0m+*f-0.5X*f-0.866025Y+*f0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0-f-0.75Yf0.5-r+qXqYf1.355-+rbiiaa-f-0.525X-Xf0.525a-f0Y-Yf3m-Xf0-Yf3-Zf0aam-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0-f-0.75Ym-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0-f-0.75Ym-Xf0-Yf0-Zf0m+*f-0.5X*f-0.866025Y+*f0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0-f-0.75Y-+rbaa-f-0.525X-Xf0.525a-f0Y-Yf3rbm-Xf0-Yf3-Zf0aam-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0-f-0.75Ym-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0-f-0.75Ym-Xf0-Yf0-Zf0m+*f-0.5X*f-0.866025Y+*f0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0-f-0.75Yf0.5rb-r+qXqYf1.355f0.5',float('-1.500000'),float('-1.355000'),float('-inf'),float('1.500000'),float('4.500000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 3 } ], "inspector": [ 427.06031867616093, 150.43867873789094 ], "name": "b1", "script": [ "import fab.types", "import fab.shapes", "", "title('Blend')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "input('q', float)", "", "output('shape', fab.shapes.blend(a, b, q))", "" ], "uid": 5 }, { "datums": [ { "expr": "\u0011[__5.__3]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__3.__4]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('aiiiiaa-f-0.525X-Xf0.525a-f0Y-Yf3m-Xf0-Yf3-Zf0aam-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0-f-0.75Ym-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0-f-0.75Ym-Xf0-Yf0-Zf0m+*f-0.5X*f-0.866025Y+*f0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0-f-0.75Y-+rbaa-f-0.525X-Xf0.525a-f0Y-Yf3rbm-Xf0-Yf3-Zf0aam-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0-f-0.75Ym-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0-f-0.75Ym-Xf0-Yf0-Zf0m+*f-0.5X*f-0.866025Y+*f0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0-f-0.75Yf0.5-r+qXqYf1.355-+rbiiaa-f-0.525X-Xf0.525a-f0Y-Yf3m-Xf0-Yf3-Zf0aam-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0-f-0.75Ym-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0-f-0.75Ym-Xf0-Yf0-Zf0m+*f-0.5X*f-0.866025Y+*f0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0-f-0.75Y-+rbaa-f-0.525X-Xf0.525a-f0Y-Yf3rbm-Xf0-Yf3-Zf0aam-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0-f-0.75Ym-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0-f-0.75Ym-Xf0-Yf0-Zf0m+*f-0.5X*f-0.866025Y+*f0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0-f-0.75Yf0.5rb-r+qXqYf1.355f0.5n-r+qXqYf0.705',float('-1.500000'),float('-1.355000'),float('-inf'),float('1.500000'),float('4.500000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 711.12946430507679, 29.150728918803313 ], "name": "d0", "script": [ "import fab.types", "", "title('Difference')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a & ~b)", "" ], "uid": 6 } ], "uid": 28 }, { "datums": [ { "expr": "50", "name": "x", "type": "float", "uid": 0 }, { "expr": "-14", "name": "y", "type": "float", "uid": 1 }, { "expr": "0.0", "name": "z", "type": "float", "uid": 2 }, { "expr": "\u0011[__27.__4]", "name": "shape", "type": "_fabtypes.Shape", "uid": 3 }, { "expr": "\u0012fab.types.Shape('m-Xf50-Yf-16.675-Zf0aiiiiaa-f-0.525X-Xf0.525a-f0Y-Yf5m-Xf0-Yf5-Zf0aam-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0-f-0.75Ym-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0-f-0.75Ym-Xf0-Yf0-Zf0m+*f-0.5X*f-0.866025Y+*f0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0-f-0.75Y-+rbaa-f-0.525X-Xf0.525a-f0Y-Yf5rbm-Xf0-Yf5-Zf0aam-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0-f-0.75Ym-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0-f-0.75Ym-Xf0-Yf0-Zf0m+*f-0.5X*f-0.866025Y+*f0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0-f-0.75Yf0.5-r+qXqYf1.15-+rbiiaa-f-0.525X-Xf0.525a-f0Y-Yf5m-Xf0-Yf5-Zf0aam-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0-f-0.75Ym-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0-f-0.75Ym-Xf0-Yf0-Zf0m+*f-0.5X*f-0.866025Y+*f0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0-f-0.75Y-+rbaa-f-0.525X-Xf0.525a-f0Y-Yf5rbm-Xf0-Yf5-Zf0aam-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0-f-0.75Ym-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0-f-0.75Ym-Xf0-Yf0-Zf0m+*f-0.5X*f-0.866025Y+*f0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0-f-0.75Yf0.5rb-r+qXqYf1.15f0.5n-r+qXqYf0.5',float('48.500000'),float('-17.824999'),float('-inf'),float('51.500000'),float('-10.174999'),float('inf'))", "name": "out", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 804.48110253016296, -269.87934422486239 ], "name": "r13", "script": [ "import fab", "", "title('Recenter')", "", "input('x', float)", "input('y', float)", "input('z', float)", "", "input('shape', fab.types.Shape)", "output('out', fab.shapes.recenter(shape, x, y, z))", "", "# UI", "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)", "" ], "uid": 31 }, { "datums": [ { "expr": "58", "name": "x", "type": "float", "uid": 0 }, { "expr": "-14", "name": "y", "type": "float", "uid": 1 }, { "expr": "0.0", "name": "z", "type": "float", "uid": 2 }, { "expr": "\u0011[__28.__4]", "name": "shape", "type": "_fabtypes.Shape", "uid": 3 }, { "expr": "\u0012fab.types.Shape('m-Xf58-Yf-15.5725-Zf0aiiiiaa-f-0.525X-Xf0.525a-f0Y-Yf3m-Xf0-Yf3-Zf0aam-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0-f-0.75Ym-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0-f-0.75Ym-Xf0-Yf0-Zf0m+*f-0.5X*f-0.866025Y+*f0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0-f-0.75Y-+rbaa-f-0.525X-Xf0.525a-f0Y-Yf3rbm-Xf0-Yf3-Zf0aam-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0-f-0.75Ym-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0-f-0.75Ym-Xf0-Yf0-Zf0m+*f-0.5X*f-0.866025Y+*f0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0-f-0.75Yf0.5-r+qXqYf1.355-+rbiiaa-f-0.525X-Xf0.525a-f0Y-Yf3m-Xf0-Yf3-Zf0aam-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0-f-0.75Ym-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0-f-0.75Ym-Xf0-Yf0-Zf0m+*f-0.5X*f-0.866025Y+*f0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0-f-0.75Y-+rbaa-f-0.525X-Xf0.525a-f0Y-Yf3rbm-Xf0-Yf3-Zf0aam-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0-f-0.75Ym-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0-f-0.75Ym-Xf0-Yf0-Zf0m+*f-0.5X*f-0.866025Y+*f0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0-f-0.75Yf0.5rb-r+qXqYf1.355f0.5n-r+qXqYf0.705',float('56.500000'),float('-16.927500'),float('-inf'),float('59.500000'),float('-11.072500'),float('inf'))", "name": "out", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 814.7949628190114, 195.9633454881166 ], "name": "r14", "script": [ "import fab", "", "title('Recenter')", "", "input('x', float)", "input('y', float)", "input('z', float)", "", "input('shape', fab.types.Shape)", "output('out', fab.shapes.recenter(shape, x, y, z))", "", "# UI", "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)", "" ], "uid": 32 }, { "datums": [ { "expr": "1.875", "name": "r", "subdatum": [ -401, -470 ], "type": "float", "uid": 0 }, { "expr": "15", "name": "nTeeth", "subdatum": [ -400.46614198105999, -429.5338580189399 ], "type": "int", "uid": 1 }, { "expr": "var.wTeeth", "name": "wTeeth", "subdatum": [ -402, -386 ], "type": "float", "uid": 2 }, { "expr": "var.hTeeth", "name": "hTeeth", "subdatum": [ -402, -346 ], "type": "float", "uid": 3 }, { "expr": "var.wBeam", "name": "wBeam", "subdatum": [ -403, -307 ], "type": "float", "uid": 4 }, { "expr": "var.dAxle", "name": "dAxle", "subdatum": [ -402, -268 ], "type": "float", "uid": 5 }, { "expr": "var.kerf", "name": "kerf", "subdatum": [ -403, -229 ], "type": "float", "uid": 6 }, { "expr": "\u0013[__16.__3]", "name": "gear", "subdatum": [ 1320.8383871349215, -9.4493373291903708 ], "type": "_fabtypes.Shape", "uid": 7 } ], "inspector": [ 215.69262278769156, -453.48112831872527 ], "name": "gear15", "subgraph": [ { "datums": [ { "expr": "\u0011[__parent.__0]", "name": "rGear", "type": "float", "uid": 8 }, { "expr": "\u0011[__parent.__3]", "name": "hTeeth", "type": "float", "uid": 9 }, { "expr": "\u0011[__parent.__4]", "name": "wBeam", "type": "float", "uid": 2 }, { "expr": "\u0011[__parent.__5]", "name": "dAxle", "type": "float", "uid": 5 }, { "expr": "\u0011[__parent.__6]", "name": "kerf", "type": "float", "uid": 10 }, { "expr": "0", "name": "_a", "type": "float", "uid": 3 }, { "expr": "\u0012fab.types.Shape('-r+qXqYf1.4',float('-1.400000'),float('-1.400000'),float('-inf'),float('1.400000'),float('1.400000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 19, -467 ], "name": "outer", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 6/11/18", "", "import fab", "import math", "", "title('Circle (center)')", "", "input('rGear',float)", "input('hTeeth', float)", "input('wBeam', float)", "input('dAxle', float)", "input('kerf', float)", "input('_a',float)", "", "x0 = 0", "y0 = 0", "r = rGear - hTeeth/2 + kerf/2", "", "output('shape', fab.shapes.circle(x0, y0, r))", "", "def drag_r(this,x,y,z):", " dx = x - this.x0", " dy = y - this.y0", " this.r = math.sqrt(dx**2 + dy**2)", " this._a = math.atan2(dy, dx)", "", "# UI", "sb.ui.wireframe([", " (math.cos(i/36. * 2*math.pi) * r + x0,", " math.sin(i/36. * 2*math.pi) * r + y0, 0)", " for i in range(36)], close=True)", "sb.ui.point(x0,y0)", "sb.ui.point(x0 + r*math.cos(_a),", " y0 + r*math.sin(_a),", " drag=drag_r, relative=False)", "", "" ], "uid": 0 }, { "datums": [ { "expr": "\u0011[__0.__8]", "name": "rGear", "type": "float", "uid": 8 }, { "expr": "\u0011[__0.__9]", "name": "hTeeth", "type": "float", "uid": 9 }, { "expr": "\u0011[__0.__2]", "name": "wBeam", "type": "float", "uid": 2 }, { "expr": "\u0011[__0.__5]", "name": "dAxle", "type": "float", "uid": 5 }, { "expr": "\u0011[__0.__10]", "name": "kerf", "type": "float", "uid": 10 }, { "expr": "0", "name": "_a", "type": "float", "uid": 3 }, { "expr": "\u0012fab.types.Shape('-r+qXqYf0.5',float('-0.500000'),float('-0.500000'),float('-inf'),float('0.500000'),float('0.500000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 931.07461668293922, -466.00000000000006 ], "name": "SupportIn0", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 6/11/18", "", "import fab", "import math", "", "title('Circle (center)')", "", "input('rGear',float)", "input('hTeeth', float)", "input('wBeam', float)", "input('dAxle', float)", "input('kerf', float)", "input('_a',float)", "", "x0 = 0", "y0 = 0", "r = dAxle/2 - kerf/2", "", "output('shape', fab.shapes.circle(x0, y0, r))", "", "def drag_r(this,x,y,z):", " dx = x - this.x0", " dy = y - this.y0", " this.r = math.sqrt(dx**2 + dy**2)", " this._a = math.atan2(dy, dx)", "", "# UI", "sb.ui.wireframe([", " (math.cos(i/36. * 2*math.pi) * r + x0,", " math.sin(i/36. * 2*math.pi) * r + y0, 0)", " for i in range(36)], close=True)", "sb.ui.point(x0,y0)", "sb.ui.point(x0 + r*math.cos(_a),", " y0 + r*math.sin(_a),", " drag=drag_r, relative=False)", "", "" ], "uid": 4 }, { "datums": [ { "expr": "\u0011[__0.__4]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__4.__4]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('a-r+qXqYf1.4n-r+qXqYf0.5',float('-1.400000'),float('-1.400000'),float('-inf'),float('1.400000'),float('1.400000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 1105.46614198106, -254.15117264395565 ], "name": "d1", "script": [ "import fab.types", "", "title('Difference')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a & ~b)", "" ], "uid": 13 }, { "datums": [ { "expr": "\u0011[__parent.__0]", "name": "rGear", "type": "float", "uid": 9 }, { "expr": "\u0011[__parent.__2]", "name": "wTeeth", "type": "float", "uid": 15 }, { "expr": "\u0011[__parent.__3]", "name": "hTeeth", "type": "float", "uid": 17 }, { "expr": "\u0011[__parent.__6]", "name": "kerf", "type": "float", "uid": 18 }, { "expr": "0.5", "name": "r", "type": "float", "uid": 4 }, { "expr": "\u0012fab.types.Shape('iiiiiaa-f-0.25X-Xf0.25a-f1.275Y-Yf2.475aa-f-0.125X-Xf0.125a-f1.15Y-Yf2.6-r+q-Xf-0.125q-Yf1.275f0.125-r+q-Xf-0.125q-Yf2.475f0.125-r+q-Xf0.125q-Yf1.275f0.125-r+q-Xf0.125q-Yf2.475f0.125',float('-0.250000'),float('1.150000'),float('-inf'),float('0.250000'),float('2.600000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 36.262219149669534, -23.991065632228356 ], "name": "teeth", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 6/11/15", "", "import fab", "", "title('Rounded rectangle (center)')", "", "input('rGear', float)", "input('wTeeth', float)", "input('hTeeth', float)", "input('kerf', float)", "input('r', float)", "", "x = 0", "y = rGear", "width = wTeeth + kerf", "height = hTeeth + kerf", "", "xmin, xmax = x - width/2, x + width/2", "ymin, ymax = y - height/2, y + height/2", "", "# This is the circle's radius in actual units (not a 0-1 fraction)", "r_ = r * min(width, height)/2", "", "output('shape', fab.shapes.rounded_rectangle(xmin, xmax, ymin, ymax, r))", "", "def drag_r(this, x, y, z):", " if abs(this.width) < abs(this.height):", " d = abs(this.width)", " mid = this.y + this.height/2 - d/2", " else:", " d = abs(this.width)", " mid = this.y", " r = 1 - (y - mid) / (d/2)", " this.r = float(min(1, max(0, r)))", "", "def drag_hw(this, x, y, z):", " this.height = abs(2 * (y - this.y))", " this.width = abs(2 * (x - this.x))", "", "# UI", "sb.ui.wireframe(", " [(xmin, ymin, 0), (xmax, ymin, 0), (xmax, ymax, 0), (xmin, ymax, 0)],", " close=True)", "sb.ui.wireframe([(xmax - r_, ymax, 0), (xmax, ymax - r_, 0)])", "sb.ui.point(x, y)", "sb.ui.point(xmax, ymax, drag=drag_hw, relative=False)", "sb.ui.point(xmax, ymax - r_, drag=drag_r, relative=False)", "", "" ], "uid": 14 }, { "datums": [ { "expr": "\u0011[__14.__5]", "name": "shape", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__parent.__1]", "name": "n", "type": "int", "uid": 3 }, { "expr": "\u0012fab.types.Shape('iiiiiiiiiiiiiim-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.275Y-Yf2.475aa-f-0.125X-Xf0.125a-f1.15Y-Yf2.6-r+q-Xf-0.125q-Yf1.275f0.125-r+q-Xf-0.125q-Yf2.475f0.125-r+q-Xf0.125q-Yf1.275f0.125-r+q-Xf0.125q-Yf2.475f0.125m-Xf0-Yf0-Zf0m+*f0.913545X*f0.406737Y+*f-0.406737X*f0.913545Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.275Y-Yf2.475aa-f-0.125X-Xf0.125a-f1.15Y-Yf2.6-r+q-Xf-0.125q-Yf1.275f0.125-r+q-Xf-0.125q-Yf2.475f0.125-r+q-Xf0.125q-Yf1.275f0.125-r+q-Xf0.125q-Yf2.475f0.125m-Xf0-Yf0-Zf0m+*f0.669131X*f0.743145Y+*f-0.743145X*f0.669131Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.275Y-Yf2.475aa-f-0.125X-Xf0.125a-f1.15Y-Yf2.6-r+q-Xf-0.125q-Yf1.275f0.125-r+q-Xf-0.125q-Yf2.475f0.125-r+q-Xf0.125q-Yf1.275f0.125-r+q-Xf0.125q-Yf2.475f0.125m-Xf0-Yf0-Zf0m+*f0.309017X*f0.951057Y+*f-0.951057X*f0.309017Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.275Y-Yf2.475aa-f-0.125X-Xf0.125a-f1.15Y-Yf2.6-r+q-Xf-0.125q-Yf1.275f0.125-r+q-Xf-0.125q-Yf2.475f0.125-r+q-Xf0.125q-Yf1.275f0.125-r+q-Xf0.125q-Yf2.475f0.125m-Xf0-Yf0-Zf0m+*f-0.104528X*f0.994522Y+*f-0.994522X*f-0.104528Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.275Y-Yf2.475aa-f-0.125X-Xf0.125a-f1.15Y-Yf2.6-r+q-Xf-0.125q-Yf1.275f0.125-r+q-Xf-0.125q-Yf2.475f0.125-r+q-Xf0.125q-Yf1.275f0.125-r+q-Xf0.125q-Yf2.475f0.125m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.275Y-Yf2.475aa-f-0.125X-Xf0.125a-f1.15Y-Yf2.6-r+q-Xf-0.125q-Yf1.275f0.125-r+q-Xf-0.125q-Yf2.475f0.125-r+q-Xf0.125q-Yf1.275f0.125-r+q-Xf0.125q-Yf2.475f0.125m-Xf0-Yf0-Zf0m+*f-0.809017X*f0.587785Y+*f-0.587785X*f-0.809017Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.275Y-Yf2.475aa-f-0.125X-Xf0.125a-f1.15Y-Yf2.6-r+q-Xf-0.125q-Yf1.275f0.125-r+q-Xf-0.125q-Yf2.475f0.125-r+q-Xf0.125q-Yf1.275f0.125-r+q-Xf0.125q-Yf2.475f0.125m-Xf0-Yf0-Zf0m+*f-0.978148X*f0.207912Y+*f-0.207912X*f-0.978148Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.275Y-Yf2.475aa-f-0.125X-Xf0.125a-f1.15Y-Yf2.6-r+q-Xf-0.125q-Yf1.275f0.125-r+q-Xf-0.125q-Yf2.475f0.125-r+q-Xf0.125q-Yf1.275f0.125-r+q-Xf0.125q-Yf2.475f0.125m-Xf0-Yf0-Zf0m+*f-0.978148X*f-0.207912Y+*f0.207912X*f-0.978148Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.275Y-Yf2.475aa-f-0.125X-Xf0.125a-f1.15Y-Yf2.6-r+q-Xf-0.125q-Yf1.275f0.125-r+q-Xf-0.125q-Yf2.475f0.125-r+q-Xf0.125q-Yf1.275f0.125-r+q-Xf0.125q-Yf2.475f0.125m-Xf0-Yf0-Zf0m+*f-0.809017X*f-0.587785Y+*f0.587785X*f-0.809017Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.275Y-Yf2.475aa-f-0.125X-Xf0.125a-f1.15Y-Yf2.6-r+q-Xf-0.125q-Yf1.275f0.125-r+q-Xf-0.125q-Yf2.475f0.125-r+q-Xf0.125q-Yf1.275f0.125-r+q-Xf0.125q-Yf2.475f0.125m-Xf0-Yf0-Zf0m+*f-0.5X*f-0.866025Y+*f0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.275Y-Yf2.475aa-f-0.125X-Xf0.125a-f1.15Y-Yf2.6-r+q-Xf-0.125q-Yf1.275f0.125-r+q-Xf-0.125q-Yf2.475f0.125-r+q-Xf0.125q-Yf1.275f0.125-r+q-Xf0.125q-Yf2.475f0.125m-Xf0-Yf0-Zf0m+*f-0.104528X*f-0.994522Y+*f0.994522X*f-0.104528Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.275Y-Yf2.475aa-f-0.125X-Xf0.125a-f1.15Y-Yf2.6-r+q-Xf-0.125q-Yf1.275f0.125-r+q-Xf-0.125q-Yf2.475f0.125-r+q-Xf0.125q-Yf1.275f0.125-r+q-Xf0.125q-Yf2.475f0.125m-Xf0-Yf0-Zf0m+*f0.309017X*f-0.951057Y+*f0.951057X*f0.309017Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.275Y-Yf2.475aa-f-0.125X-Xf0.125a-f1.15Y-Yf2.6-r+q-Xf-0.125q-Yf1.275f0.125-r+q-Xf-0.125q-Yf2.475f0.125-r+q-Xf0.125q-Yf1.275f0.125-r+q-Xf0.125q-Yf2.475f0.125m-Xf0-Yf0-Zf0m+*f0.669131X*f-0.743145Y+*f0.743145X*f0.669131Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.275Y-Yf2.475aa-f-0.125X-Xf0.125a-f1.15Y-Yf2.6-r+q-Xf-0.125q-Yf1.275f0.125-r+q-Xf-0.125q-Yf2.475f0.125-r+q-Xf0.125q-Yf1.275f0.125-r+q-Xf0.125q-Yf2.475f0.125m-Xf0-Yf0-Zf0m+*f0.913545X*f-0.406737Y+*f0.406737X*f0.913545Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.275Y-Yf2.475aa-f-0.125X-Xf0.125a-f1.15Y-Yf2.6-r+q-Xf-0.125q-Yf1.275f0.125-r+q-Xf-0.125q-Yf2.475f0.125-r+q-Xf0.125q-Yf1.275f0.125-r+q-Xf0.125q-Yf2.475f0.125',float('-2.611889'),float('-2.595163'),float('-inf'),float('2.611889'),float('2.600000'),float('inf'))", "name": "array", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 355.30468708916288, -14.787917518589211 ], "name": "a0", "script": [ "import fab", "import math", "", "title('Array (polar)')", "", "input('shape', fab.types.Shape)", "input('n', int)", "", "x = 0", "y = 0", "", "output('array', fab.shapes.iterate_polar(shape, x, y, n))", "", "# UI", "sb.ui.wireframe([", " (math.cos(i/36. * 2*math.pi) * 0.3 + x,", " math.sin(i/36. * 2*math.pi) * 0.3 + y, 0)", " for i in range(36)], close=True, color=sb.color.teal)", "", "sb.ui.point(x, y, 0, color=sb.color.teal)", "" ], "uid": 15 }, { "datums": [ { "expr": "\u0011[__13.__2]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__15.__4]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "0.5", "name": "q", "type": "float", "uid": 2 }, { "expr": "\u0012fab.types.Shape('iia-r+qXqYf1.4n-r+qXqYf0.5iiiiiiiiiiiiiim-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.275Y-Yf2.475aa-f-0.125X-Xf0.125a-f1.15Y-Yf2.6-r+q-Xf-0.125q-Yf1.275f0.125-r+q-Xf-0.125q-Yf2.475f0.125-r+q-Xf0.125q-Yf1.275f0.125-r+q-Xf0.125q-Yf2.475f0.125m-Xf0-Yf0-Zf0m+*f0.913545X*f0.406737Y+*f-0.406737X*f0.913545Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.275Y-Yf2.475aa-f-0.125X-Xf0.125a-f1.15Y-Yf2.6-r+q-Xf-0.125q-Yf1.275f0.125-r+q-Xf-0.125q-Yf2.475f0.125-r+q-Xf0.125q-Yf1.275f0.125-r+q-Xf0.125q-Yf2.475f0.125m-Xf0-Yf0-Zf0m+*f0.669131X*f0.743145Y+*f-0.743145X*f0.669131Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.275Y-Yf2.475aa-f-0.125X-Xf0.125a-f1.15Y-Yf2.6-r+q-Xf-0.125q-Yf1.275f0.125-r+q-Xf-0.125q-Yf2.475f0.125-r+q-Xf0.125q-Yf1.275f0.125-r+q-Xf0.125q-Yf2.475f0.125m-Xf0-Yf0-Zf0m+*f0.309017X*f0.951057Y+*f-0.951057X*f0.309017Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.275Y-Yf2.475aa-f-0.125X-Xf0.125a-f1.15Y-Yf2.6-r+q-Xf-0.125q-Yf1.275f0.125-r+q-Xf-0.125q-Yf2.475f0.125-r+q-Xf0.125q-Yf1.275f0.125-r+q-Xf0.125q-Yf2.475f0.125m-Xf0-Yf0-Zf0m+*f-0.104528X*f0.994522Y+*f-0.994522X*f-0.104528Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.275Y-Yf2.475aa-f-0.125X-Xf0.125a-f1.15Y-Yf2.6-r+q-Xf-0.125q-Yf1.275f0.125-r+q-Xf-0.125q-Yf2.475f0.125-r+q-Xf0.125q-Yf1.275f0.125-r+q-Xf0.125q-Yf2.475f0.125m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.275Y-Yf2.475aa-f-0.125X-Xf0.125a-f1.15Y-Yf2.6-r+q-Xf-0.125q-Yf1.275f0.125-r+q-Xf-0.125q-Yf2.475f0.125-r+q-Xf0.125q-Yf1.275f0.125-r+q-Xf0.125q-Yf2.475f0.125m-Xf0-Yf0-Zf0m+*f-0.809017X*f0.587785Y+*f-0.587785X*f-0.809017Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.275Y-Yf2.475aa-f-0.125X-Xf0.125a-f1.15Y-Yf2.6-r+q-Xf-0.125q-Yf1.275f0.125-r+q-Xf-0.125q-Yf2.475f0.125-r+q-Xf0.125q-Yf1.275f0.125-r+q-Xf0.125q-Yf2.475f0.125m-Xf0-Yf0-Zf0m+*f-0.978148X*f0.207912Y+*f-0.207912X*f-0.978148Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.275Y-Yf2.475aa-f-0.125X-Xf0.125a-f1.15Y-Yf2.6-r+q-Xf-0.125q-Yf1.275f0.125-r+q-Xf-0.125q-Yf2.475f0.125-r+q-Xf0.125q-Yf1.275f0.125-r+q-Xf0.125q-Yf2.475f0.125m-Xf0-Yf0-Zf0m+*f-0.978148X*f-0.207912Y+*f0.207912X*f-0.978148Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.275Y-Yf2.475aa-f-0.125X-Xf0.125a-f1.15Y-Yf2.6-r+q-Xf-0.125q-Yf1.275f0.125-r+q-Xf-0.125q-Yf2.475f0.125-r+q-Xf0.125q-Yf1.275f0.125-r+q-Xf0.125q-Yf2.475f0.125m-Xf0-Yf0-Zf0m+*f-0.809017X*f-0.587785Y+*f0.587785X*f-0.809017Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.275Y-Yf2.475aa-f-0.125X-Xf0.125a-f1.15Y-Yf2.6-r+q-Xf-0.125q-Yf1.275f0.125-r+q-Xf-0.125q-Yf2.475f0.125-r+q-Xf0.125q-Yf1.275f0.125-r+q-Xf0.125q-Yf2.475f0.125m-Xf0-Yf0-Zf0m+*f-0.5X*f-0.866025Y+*f0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.275Y-Yf2.475aa-f-0.125X-Xf0.125a-f1.15Y-Yf2.6-r+q-Xf-0.125q-Yf1.275f0.125-r+q-Xf-0.125q-Yf2.475f0.125-r+q-Xf0.125q-Yf1.275f0.125-r+q-Xf0.125q-Yf2.475f0.125m-Xf0-Yf0-Zf0m+*f-0.104528X*f-0.994522Y+*f0.994522X*f-0.104528Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.275Y-Yf2.475aa-f-0.125X-Xf0.125a-f1.15Y-Yf2.6-r+q-Xf-0.125q-Yf1.275f0.125-r+q-Xf-0.125q-Yf2.475f0.125-r+q-Xf0.125q-Yf1.275f0.125-r+q-Xf0.125q-Yf2.475f0.125m-Xf0-Yf0-Zf0m+*f0.309017X*f-0.951057Y+*f0.951057X*f0.309017Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.275Y-Yf2.475aa-f-0.125X-Xf0.125a-f1.15Y-Yf2.6-r+q-Xf-0.125q-Yf1.275f0.125-r+q-Xf-0.125q-Yf2.475f0.125-r+q-Xf0.125q-Yf1.275f0.125-r+q-Xf0.125q-Yf2.475f0.125m-Xf0-Yf0-Zf0m+*f0.669131X*f-0.743145Y+*f0.743145X*f0.669131Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.275Y-Yf2.475aa-f-0.125X-Xf0.125a-f1.15Y-Yf2.6-r+q-Xf-0.125q-Yf1.275f0.125-r+q-Xf-0.125q-Yf2.475f0.125-r+q-Xf0.125q-Yf1.275f0.125-r+q-Xf0.125q-Yf2.475f0.125m-Xf0-Yf0-Zf0m+*f0.913545X*f-0.406737Y+*f0.406737X*f0.913545Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.275Y-Yf2.475aa-f-0.125X-Xf0.125a-f1.15Y-Yf2.6-r+q-Xf-0.125q-Yf1.275f0.125-r+q-Xf-0.125q-Yf2.475f0.125-r+q-Xf0.125q-Yf1.275f0.125-r+q-Xf0.125q-Yf2.475f0.125-+rba-r+qXqYf1.4n-r+qXqYf0.5rbiiiiiiiiiiiiiim-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.275Y-Yf2.475aa-f-0.125X-Xf0.125a-f1.15Y-Yf2.6-r+q-Xf-0.125q-Yf1.275f0.125-r+q-Xf-0.125q-Yf2.475f0.125-r+q-Xf0.125q-Yf1.275f0.125-r+q-Xf0.125q-Yf2.475f0.125m-Xf0-Yf0-Zf0m+*f0.913545X*f0.406737Y+*f-0.406737X*f0.913545Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.275Y-Yf2.475aa-f-0.125X-Xf0.125a-f1.15Y-Yf2.6-r+q-Xf-0.125q-Yf1.275f0.125-r+q-Xf-0.125q-Yf2.475f0.125-r+q-Xf0.125q-Yf1.275f0.125-r+q-Xf0.125q-Yf2.475f0.125m-Xf0-Yf0-Zf0m+*f0.669131X*f0.743145Y+*f-0.743145X*f0.669131Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.275Y-Yf2.475aa-f-0.125X-Xf0.125a-f1.15Y-Yf2.6-r+q-Xf-0.125q-Yf1.275f0.125-r+q-Xf-0.125q-Yf2.475f0.125-r+q-Xf0.125q-Yf1.275f0.125-r+q-Xf0.125q-Yf2.475f0.125m-Xf0-Yf0-Zf0m+*f0.309017X*f0.951057Y+*f-0.951057X*f0.309017Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.275Y-Yf2.475aa-f-0.125X-Xf0.125a-f1.15Y-Yf2.6-r+q-Xf-0.125q-Yf1.275f0.125-r+q-Xf-0.125q-Yf2.475f0.125-r+q-Xf0.125q-Yf1.275f0.125-r+q-Xf0.125q-Yf2.475f0.125m-Xf0-Yf0-Zf0m+*f-0.104528X*f0.994522Y+*f-0.994522X*f-0.104528Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.275Y-Yf2.475aa-f-0.125X-Xf0.125a-f1.15Y-Yf2.6-r+q-Xf-0.125q-Yf1.275f0.125-r+q-Xf-0.125q-Yf2.475f0.125-r+q-Xf0.125q-Yf1.275f0.125-r+q-Xf0.125q-Yf2.475f0.125m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.275Y-Yf2.475aa-f-0.125X-Xf0.125a-f1.15Y-Yf2.6-r+q-Xf-0.125q-Yf1.275f0.125-r+q-Xf-0.125q-Yf2.475f0.125-r+q-Xf0.125q-Yf1.275f0.125-r+q-Xf0.125q-Yf2.475f0.125m-Xf0-Yf0-Zf0m+*f-0.809017X*f0.587785Y+*f-0.587785X*f-0.809017Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.275Y-Yf2.475aa-f-0.125X-Xf0.125a-f1.15Y-Yf2.6-r+q-Xf-0.125q-Yf1.275f0.125-r+q-Xf-0.125q-Yf2.475f0.125-r+q-Xf0.125q-Yf1.275f0.125-r+q-Xf0.125q-Yf2.475f0.125m-Xf0-Yf0-Zf0m+*f-0.978148X*f0.207912Y+*f-0.207912X*f-0.978148Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.275Y-Yf2.475aa-f-0.125X-Xf0.125a-f1.15Y-Yf2.6-r+q-Xf-0.125q-Yf1.275f0.125-r+q-Xf-0.125q-Yf2.475f0.125-r+q-Xf0.125q-Yf1.275f0.125-r+q-Xf0.125q-Yf2.475f0.125m-Xf0-Yf0-Zf0m+*f-0.978148X*f-0.207912Y+*f0.207912X*f-0.978148Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.275Y-Yf2.475aa-f-0.125X-Xf0.125a-f1.15Y-Yf2.6-r+q-Xf-0.125q-Yf1.275f0.125-r+q-Xf-0.125q-Yf2.475f0.125-r+q-Xf0.125q-Yf1.275f0.125-r+q-Xf0.125q-Yf2.475f0.125m-Xf0-Yf0-Zf0m+*f-0.809017X*f-0.587785Y+*f0.587785X*f-0.809017Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.275Y-Yf2.475aa-f-0.125X-Xf0.125a-f1.15Y-Yf2.6-r+q-Xf-0.125q-Yf1.275f0.125-r+q-Xf-0.125q-Yf2.475f0.125-r+q-Xf0.125q-Yf1.275f0.125-r+q-Xf0.125q-Yf2.475f0.125m-Xf0-Yf0-Zf0m+*f-0.5X*f-0.866025Y+*f0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.275Y-Yf2.475aa-f-0.125X-Xf0.125a-f1.15Y-Yf2.6-r+q-Xf-0.125q-Yf1.275f0.125-r+q-Xf-0.125q-Yf2.475f0.125-r+q-Xf0.125q-Yf1.275f0.125-r+q-Xf0.125q-Yf2.475f0.125m-Xf0-Yf0-Zf0m+*f-0.104528X*f-0.994522Y+*f0.994522X*f-0.104528Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.275Y-Yf2.475aa-f-0.125X-Xf0.125a-f1.15Y-Yf2.6-r+q-Xf-0.125q-Yf1.275f0.125-r+q-Xf-0.125q-Yf2.475f0.125-r+q-Xf0.125q-Yf1.275f0.125-r+q-Xf0.125q-Yf2.475f0.125m-Xf0-Yf0-Zf0m+*f0.309017X*f-0.951057Y+*f0.951057X*f0.309017Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.275Y-Yf2.475aa-f-0.125X-Xf0.125a-f1.15Y-Yf2.6-r+q-Xf-0.125q-Yf1.275f0.125-r+q-Xf-0.125q-Yf2.475f0.125-r+q-Xf0.125q-Yf1.275f0.125-r+q-Xf0.125q-Yf2.475f0.125m-Xf0-Yf0-Zf0m+*f0.669131X*f-0.743145Y+*f0.743145X*f0.669131Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.275Y-Yf2.475aa-f-0.125X-Xf0.125a-f1.15Y-Yf2.6-r+q-Xf-0.125q-Yf1.275f0.125-r+q-Xf-0.125q-Yf2.475f0.125-r+q-Xf0.125q-Yf1.275f0.125-r+q-Xf0.125q-Yf2.475f0.125m-Xf0-Yf0-Zf0m+*f0.913545X*f-0.406737Y+*f0.406737X*f0.913545Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.275Y-Yf2.475aa-f-0.125X-Xf0.125a-f1.15Y-Yf2.6-r+q-Xf-0.125q-Yf1.275f0.125-r+q-Xf-0.125q-Yf2.475f0.125-r+q-Xf0.125q-Yf1.275f0.125-r+q-Xf0.125q-Yf2.475f0.125f0.5',float('-2.611889'),float('-2.595163'),float('-inf'),float('2.611889'),float('2.600000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 3 } ], "inspector": [ 1024.066783346947, -109.88711469286116 ], "name": "b2", "script": [ "import fab.types", "import fab.shapes", "", "title('Blend')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "input('q', float)", "", "output('shape', fab.shapes.blend(a, b, q))", "" ], "uid": 16 } ], "uid": 29 }, { "datums": [ { "expr": "2.25", "name": "r", "subdatum": [ -401, -470 ], "type": "float", "uid": 0 }, { "expr": "18", "name": "nTeeth", "subdatum": [ -400.46614198105999, -429.5338580189399 ], "type": "int", "uid": 1 }, { "expr": "var.wTeeth", "name": "wTeeth", "subdatum": [ -402, -386 ], "type": "float", "uid": 2 }, { "expr": "var.hTeeth", "name": "hTeeth", "subdatum": [ -402, -346 ], "type": "float", "uid": 3 }, { "expr": "var.wBeam", "name": "wBeam", "subdatum": [ -403, -307 ], "type": "float", "uid": 4 }, { "expr": "var.dAxle", "name": "dAxle", "subdatum": [ -402, -268 ], "type": "float", "uid": 5 }, { "expr": "var.kerf", "name": "kerf", "subdatum": [ -403, -229 ], "type": "float", "uid": 6 }, { "expr": "\u0013[__16.__3]", "name": "gear", "subdatum": [ 1320.8383871349215, -9.4493373291903708 ], "type": "_fabtypes.Shape", "uid": 7 } ], "inspector": [ 502.69262278769156, -449.48112831872527 ], "name": "gear0", "subgraph": [ { "datums": [ { "expr": "\u0011[__parent.__0]", "name": "rGear", "type": "float", "uid": 8 }, { "expr": "\u0011[__parent.__3]", "name": "hTeeth", "type": "float", "uid": 9 }, { "expr": "\u0011[__parent.__4]", "name": "wBeam", "type": "float", "uid": 2 }, { "expr": "\u0011[__parent.__5]", "name": "dAxle", "type": "float", "uid": 5 }, { "expr": "\u0011[__parent.__6]", "name": "kerf", "type": "float", "uid": 10 }, { "expr": "0", "name": "_a", "type": "float", "uid": 3 }, { "expr": "\u0012fab.types.Shape('-r+qXqYf1.775',float('-1.775000'),float('-1.775000'),float('-inf'),float('1.775000'),float('1.775000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 19, -467 ], "name": "outer", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 6/11/18", "", "import fab", "import math", "", "title('Circle (center)')", "", "input('rGear',float)", "input('hTeeth', float)", "input('wBeam', float)", "input('dAxle', float)", "input('kerf', float)", "input('_a',float)", "", "x0 = 0", "y0 = 0", "r = rGear - hTeeth/2 + kerf/2", "", "output('shape', fab.shapes.circle(x0, y0, r))", "", "def drag_r(this,x,y,z):", " dx = x - this.x0", " dy = y - this.y0", " this.r = math.sqrt(dx**2 + dy**2)", " this._a = math.atan2(dy, dx)", "", "# UI", "sb.ui.wireframe([", " (math.cos(i/36. * 2*math.pi) * r + x0,", " math.sin(i/36. * 2*math.pi) * r + y0, 0)", " for i in range(36)], close=True)", "sb.ui.point(x0,y0)", "sb.ui.point(x0 + r*math.cos(_a),", " y0 + r*math.sin(_a),", " drag=drag_r, relative=False)", "", "" ], "uid": 0 }, { "datums": [ { "expr": "\u0011[__0.__8]", "name": "rGear", "type": "float", "uid": 8 }, { "expr": "\u0011[__0.__9]", "name": "hTeeth", "type": "float", "uid": 9 }, { "expr": "\u0011[__0.__2]", "name": "wBeam", "type": "float", "uid": 2 }, { "expr": "\u0011[__0.__5]", "name": "dAxle", "type": "float", "uid": 5 }, { "expr": "\u0011[__0.__10]", "name": "kerf", "type": "float", "uid": 10 }, { "expr": "0", "name": "_a", "type": "float", "uid": 3 }, { "expr": "\u0012fab.types.Shape('-r+qXqYf0.5',float('-0.500000'),float('-0.500000'),float('-inf'),float('0.500000'),float('0.500000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 931.07461668293922, -466.00000000000006 ], "name": "SupportIn0", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 6/11/18", "", "import fab", "import math", "", "title('Circle (center)')", "", "input('rGear',float)", "input('hTeeth', float)", "input('wBeam', float)", "input('dAxle', float)", "input('kerf', float)", "input('_a',float)", "", "x0 = 0", "y0 = 0", "r = dAxle/2 - kerf/2", "", "output('shape', fab.shapes.circle(x0, y0, r))", "", "def drag_r(this,x,y,z):", " dx = x - this.x0", " dy = y - this.y0", " this.r = math.sqrt(dx**2 + dy**2)", " this._a = math.atan2(dy, dx)", "", "# UI", "sb.ui.wireframe([", " (math.cos(i/36. * 2*math.pi) * r + x0,", " math.sin(i/36. * 2*math.pi) * r + y0, 0)", " for i in range(36)], close=True)", "sb.ui.point(x0,y0)", "sb.ui.point(x0 + r*math.cos(_a),", " y0 + r*math.sin(_a),", " drag=drag_r, relative=False)", "", "" ], "uid": 4 }, { "datums": [ { "expr": "\u0011[__0.__4]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__4.__4]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('a-r+qXqYf1.775n-r+qXqYf0.5',float('-1.775000'),float('-1.775000'),float('-inf'),float('1.775000'),float('1.775000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 1105.46614198106, -254.15117264395565 ], "name": "d1", "script": [ "import fab.types", "", "title('Difference')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a & ~b)", "" ], "uid": 13 }, { "datums": [ { "expr": "\u0011[__parent.__0]", "name": "rGear", "type": "float", "uid": 9 }, { "expr": "\u0011[__parent.__2]", "name": "wTeeth", "type": "float", "uid": 15 }, { "expr": "\u0011[__parent.__3]", "name": "hTeeth", "type": "float", "uid": 17 }, { "expr": "\u0011[__parent.__6]", "name": "kerf", "type": "float", "uid": 18 }, { "expr": "0.5", "name": "r", "type": "float", "uid": 4 }, { "expr": "\u0012fab.types.Shape('iiiiiaa-f-0.25X-Xf0.25a-f1.65Y-Yf2.85aa-f-0.125X-Xf0.125a-f1.525Y-Yf2.975-r+q-Xf-0.125q-Yf1.65f0.125-r+q-Xf-0.125q-Yf2.85f0.125-r+q-Xf0.125q-Yf1.65f0.125-r+q-Xf0.125q-Yf2.85f0.125',float('-0.250000'),float('1.525000'),float('-inf'),float('0.250000'),float('2.975000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 36.262219149669534, -23.991065632228356 ], "name": "teeth", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 6/11/15", "", "import fab", "", "title('Rounded rectangle (center)')", "", "input('rGear', float)", "input('wTeeth', float)", "input('hTeeth', float)", "input('kerf', float)", "input('r', float)", "", "x = 0", "y = rGear", "width = wTeeth + kerf", "height = hTeeth + kerf", "", "xmin, xmax = x - width/2, x + width/2", "ymin, ymax = y - height/2, y + height/2", "", "# This is the circle's radius in actual units (not a 0-1 fraction)", "r_ = r * min(width, height)/2", "", "output('shape', fab.shapes.rounded_rectangle(xmin, xmax, ymin, ymax, r))", "", "def drag_r(this, x, y, z):", " if abs(this.width) < abs(this.height):", " d = abs(this.width)", " mid = this.y + this.height/2 - d/2", " else:", " d = abs(this.width)", " mid = this.y", " r = 1 - (y - mid) / (d/2)", " this.r = float(min(1, max(0, r)))", "", "def drag_hw(this, x, y, z):", " this.height = abs(2 * (y - this.y))", " this.width = abs(2 * (x - this.x))", "", "# UI", "sb.ui.wireframe(", " [(xmin, ymin, 0), (xmax, ymin, 0), (xmax, ymax, 0), (xmin, ymax, 0)],", " close=True)", "sb.ui.wireframe([(xmax - r_, ymax, 0), (xmax, ymax - r_, 0)])", "sb.ui.point(x, y)", "sb.ui.point(xmax, ymax, drag=drag_hw, relative=False)", "sb.ui.point(xmax, ymax - r_, drag=drag_r, relative=False)", "", "" ], "uid": 14 }, { "datums": [ { "expr": "\u0011[__14.__5]", "name": "shape", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__parent.__1]", "name": "n", "type": "int", "uid": 3 }, { "expr": "\u0012fab.types.Shape('iiiiiiiiiiiiiiiiim-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.65Y-Yf2.85aa-f-0.125X-Xf0.125a-f1.525Y-Yf2.975-r+q-Xf-0.125q-Yf1.65f0.125-r+q-Xf-0.125q-Yf2.85f0.125-r+q-Xf0.125q-Yf1.65f0.125-r+q-Xf0.125q-Yf2.85f0.125m-Xf0-Yf0-Zf0m+*f0.939693X*f0.34202Y+*f-0.34202X*f0.939693Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.65Y-Yf2.85aa-f-0.125X-Xf0.125a-f1.525Y-Yf2.975-r+q-Xf-0.125q-Yf1.65f0.125-r+q-Xf-0.125q-Yf2.85f0.125-r+q-Xf0.125q-Yf1.65f0.125-r+q-Xf0.125q-Yf2.85f0.125m-Xf0-Yf0-Zf0m+*f0.766044X*f0.642788Y+*f-0.642788X*f0.766044Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.65Y-Yf2.85aa-f-0.125X-Xf0.125a-f1.525Y-Yf2.975-r+q-Xf-0.125q-Yf1.65f0.125-r+q-Xf-0.125q-Yf2.85f0.125-r+q-Xf0.125q-Yf1.65f0.125-r+q-Xf0.125q-Yf2.85f0.125m-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.65Y-Yf2.85aa-f-0.125X-Xf0.125a-f1.525Y-Yf2.975-r+q-Xf-0.125q-Yf1.65f0.125-r+q-Xf-0.125q-Yf2.85f0.125-r+q-Xf0.125q-Yf1.65f0.125-r+q-Xf0.125q-Yf2.85f0.125m-Xf0-Yf0-Zf0m+*f0.173648X*f0.984808Y+*f-0.984808X*f0.173648Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.65Y-Yf2.85aa-f-0.125X-Xf0.125a-f1.525Y-Yf2.975-r+q-Xf-0.125q-Yf1.65f0.125-r+q-Xf-0.125q-Yf2.85f0.125-r+q-Xf0.125q-Yf1.65f0.125-r+q-Xf0.125q-Yf2.85f0.125m-Xf0-Yf0-Zf0m+*f-0.173648X*f0.984808Y+*f-0.984808X*f-0.173648Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.65Y-Yf2.85aa-f-0.125X-Xf0.125a-f1.525Y-Yf2.975-r+q-Xf-0.125q-Yf1.65f0.125-r+q-Xf-0.125q-Yf2.85f0.125-r+q-Xf0.125q-Yf1.65f0.125-r+q-Xf0.125q-Yf2.85f0.125m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.65Y-Yf2.85aa-f-0.125X-Xf0.125a-f1.525Y-Yf2.975-r+q-Xf-0.125q-Yf1.65f0.125-r+q-Xf-0.125q-Yf2.85f0.125-r+q-Xf0.125q-Yf1.65f0.125-r+q-Xf0.125q-Yf2.85f0.125m-Xf0-Yf0-Zf0m+*f-0.766044X*f0.642788Y+*f-0.642788X*f-0.766044Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.65Y-Yf2.85aa-f-0.125X-Xf0.125a-f1.525Y-Yf2.975-r+q-Xf-0.125q-Yf1.65f0.125-r+q-Xf-0.125q-Yf2.85f0.125-r+q-Xf0.125q-Yf1.65f0.125-r+q-Xf0.125q-Yf2.85f0.125m-Xf0-Yf0-Zf0m+*f-0.939693X*f0.34202Y+*f-0.34202X*f-0.939693Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.65Y-Yf2.85aa-f-0.125X-Xf0.125a-f1.525Y-Yf2.975-r+q-Xf-0.125q-Yf1.65f0.125-r+q-Xf-0.125q-Yf2.85f0.125-r+q-Xf0.125q-Yf1.65f0.125-r+q-Xf0.125q-Yf2.85f0.125m-Xf0-Yf0-Zf0m+*f-1X*f1.22465e-16Y+*f-1.22465e-16X*f-1Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.65Y-Yf2.85aa-f-0.125X-Xf0.125a-f1.525Y-Yf2.975-r+q-Xf-0.125q-Yf1.65f0.125-r+q-Xf-0.125q-Yf2.85f0.125-r+q-Xf0.125q-Yf1.65f0.125-r+q-Xf0.125q-Yf2.85f0.125m-Xf0-Yf0-Zf0m+*f-0.939693X*f-0.34202Y+*f0.34202X*f-0.939693Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.65Y-Yf2.85aa-f-0.125X-Xf0.125a-f1.525Y-Yf2.975-r+q-Xf-0.125q-Yf1.65f0.125-r+q-Xf-0.125q-Yf2.85f0.125-r+q-Xf0.125q-Yf1.65f0.125-r+q-Xf0.125q-Yf2.85f0.125m-Xf0-Yf0-Zf0m+*f-0.766044X*f-0.642788Y+*f0.642788X*f-0.766044Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.65Y-Yf2.85aa-f-0.125X-Xf0.125a-f1.525Y-Yf2.975-r+q-Xf-0.125q-Yf1.65f0.125-r+q-Xf-0.125q-Yf2.85f0.125-r+q-Xf0.125q-Yf1.65f0.125-r+q-Xf0.125q-Yf2.85f0.125m-Xf0-Yf0-Zf0m+*f-0.5X*f-0.866025Y+*f0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.65Y-Yf2.85aa-f-0.125X-Xf0.125a-f1.525Y-Yf2.975-r+q-Xf-0.125q-Yf1.65f0.125-r+q-Xf-0.125q-Yf2.85f0.125-r+q-Xf0.125q-Yf1.65f0.125-r+q-Xf0.125q-Yf2.85f0.125m-Xf0-Yf0-Zf0m+*f-0.173648X*f-0.984808Y+*f0.984808X*f-0.173648Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.65Y-Yf2.85aa-f-0.125X-Xf0.125a-f1.525Y-Yf2.975-r+q-Xf-0.125q-Yf1.65f0.125-r+q-Xf-0.125q-Yf2.85f0.125-r+q-Xf0.125q-Yf1.65f0.125-r+q-Xf0.125q-Yf2.85f0.125m-Xf0-Yf0-Zf0m+*f0.173648X*f-0.984808Y+*f0.984808X*f0.173648Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.65Y-Yf2.85aa-f-0.125X-Xf0.125a-f1.525Y-Yf2.975-r+q-Xf-0.125q-Yf1.65f0.125-r+q-Xf-0.125q-Yf2.85f0.125-r+q-Xf0.125q-Yf1.65f0.125-r+q-Xf0.125q-Yf2.85f0.125m-Xf0-Yf0-Zf0m+*f0.5X*f-0.866025Y+*f0.866025X*f0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.65Y-Yf2.85aa-f-0.125X-Xf0.125a-f1.525Y-Yf2.975-r+q-Xf-0.125q-Yf1.65f0.125-r+q-Xf-0.125q-Yf2.85f0.125-r+q-Xf0.125q-Yf1.65f0.125-r+q-Xf0.125q-Yf2.85f0.125m-Xf0-Yf0-Zf0m+*f0.766044X*f-0.642788Y+*f0.642788X*f0.766044Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.65Y-Yf2.85aa-f-0.125X-Xf0.125a-f1.525Y-Yf2.975-r+q-Xf-0.125q-Yf1.65f0.125-r+q-Xf-0.125q-Yf2.85f0.125-r+q-Xf0.125q-Yf1.65f0.125-r+q-Xf0.125q-Yf2.85f0.125m-Xf0-Yf0-Zf0m+*f0.939693X*f-0.34202Y+*f0.34202X*f0.939693Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.65Y-Yf2.85aa-f-0.125X-Xf0.125a-f1.525Y-Yf2.975-r+q-Xf-0.125q-Yf1.65f0.125-r+q-Xf-0.125q-Yf2.85f0.125-r+q-Xf0.125q-Yf1.65f0.125-r+q-Xf0.125q-Yf2.85f0.125',float('-2.973216'),float('-2.975000'),float('-inf'),float('2.973216'),float('2.975000'),float('inf'))", "name": "array", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 355.30468708916288, -14.787917518589211 ], "name": "a0", "script": [ "import fab", "import math", "", "title('Array (polar)')", "", "input('shape', fab.types.Shape)", "input('n', int)", "", "x = 0", "y = 0", "", "output('array', fab.shapes.iterate_polar(shape, x, y, n))", "", "# UI", "sb.ui.wireframe([", " (math.cos(i/36. * 2*math.pi) * 0.3 + x,", " math.sin(i/36. * 2*math.pi) * 0.3 + y, 0)", " for i in range(36)], close=True, color=sb.color.teal)", "", "sb.ui.point(x, y, 0, color=sb.color.teal)", "" ], "uid": 15 }, { "datums": [ { "expr": "\u0011[__13.__2]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__15.__4]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "0.5", "name": "q", "type": "float", "uid": 2 }, { "expr": "\u0012fab.types.Shape('iia-r+qXqYf1.775n-r+qXqYf0.5iiiiiiiiiiiiiiiiim-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.65Y-Yf2.85aa-f-0.125X-Xf0.125a-f1.525Y-Yf2.975-r+q-Xf-0.125q-Yf1.65f0.125-r+q-Xf-0.125q-Yf2.85f0.125-r+q-Xf0.125q-Yf1.65f0.125-r+q-Xf0.125q-Yf2.85f0.125m-Xf0-Yf0-Zf0m+*f0.939693X*f0.34202Y+*f-0.34202X*f0.939693Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.65Y-Yf2.85aa-f-0.125X-Xf0.125a-f1.525Y-Yf2.975-r+q-Xf-0.125q-Yf1.65f0.125-r+q-Xf-0.125q-Yf2.85f0.125-r+q-Xf0.125q-Yf1.65f0.125-r+q-Xf0.125q-Yf2.85f0.125m-Xf0-Yf0-Zf0m+*f0.766044X*f0.642788Y+*f-0.642788X*f0.766044Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.65Y-Yf2.85aa-f-0.125X-Xf0.125a-f1.525Y-Yf2.975-r+q-Xf-0.125q-Yf1.65f0.125-r+q-Xf-0.125q-Yf2.85f0.125-r+q-Xf0.125q-Yf1.65f0.125-r+q-Xf0.125q-Yf2.85f0.125m-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.65Y-Yf2.85aa-f-0.125X-Xf0.125a-f1.525Y-Yf2.975-r+q-Xf-0.125q-Yf1.65f0.125-r+q-Xf-0.125q-Yf2.85f0.125-r+q-Xf0.125q-Yf1.65f0.125-r+q-Xf0.125q-Yf2.85f0.125m-Xf0-Yf0-Zf0m+*f0.173648X*f0.984808Y+*f-0.984808X*f0.173648Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.65Y-Yf2.85aa-f-0.125X-Xf0.125a-f1.525Y-Yf2.975-r+q-Xf-0.125q-Yf1.65f0.125-r+q-Xf-0.125q-Yf2.85f0.125-r+q-Xf0.125q-Yf1.65f0.125-r+q-Xf0.125q-Yf2.85f0.125m-Xf0-Yf0-Zf0m+*f-0.173648X*f0.984808Y+*f-0.984808X*f-0.173648Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.65Y-Yf2.85aa-f-0.125X-Xf0.125a-f1.525Y-Yf2.975-r+q-Xf-0.125q-Yf1.65f0.125-r+q-Xf-0.125q-Yf2.85f0.125-r+q-Xf0.125q-Yf1.65f0.125-r+q-Xf0.125q-Yf2.85f0.125m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.65Y-Yf2.85aa-f-0.125X-Xf0.125a-f1.525Y-Yf2.975-r+q-Xf-0.125q-Yf1.65f0.125-r+q-Xf-0.125q-Yf2.85f0.125-r+q-Xf0.125q-Yf1.65f0.125-r+q-Xf0.125q-Yf2.85f0.125m-Xf0-Yf0-Zf0m+*f-0.766044X*f0.642788Y+*f-0.642788X*f-0.766044Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.65Y-Yf2.85aa-f-0.125X-Xf0.125a-f1.525Y-Yf2.975-r+q-Xf-0.125q-Yf1.65f0.125-r+q-Xf-0.125q-Yf2.85f0.125-r+q-Xf0.125q-Yf1.65f0.125-r+q-Xf0.125q-Yf2.85f0.125m-Xf0-Yf0-Zf0m+*f-0.939693X*f0.34202Y+*f-0.34202X*f-0.939693Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.65Y-Yf2.85aa-f-0.125X-Xf0.125a-f1.525Y-Yf2.975-r+q-Xf-0.125q-Yf1.65f0.125-r+q-Xf-0.125q-Yf2.85f0.125-r+q-Xf0.125q-Yf1.65f0.125-r+q-Xf0.125q-Yf2.85f0.125m-Xf0-Yf0-Zf0m+*f-1X*f1.22465e-16Y+*f-1.22465e-16X*f-1Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.65Y-Yf2.85aa-f-0.125X-Xf0.125a-f1.525Y-Yf2.975-r+q-Xf-0.125q-Yf1.65f0.125-r+q-Xf-0.125q-Yf2.85f0.125-r+q-Xf0.125q-Yf1.65f0.125-r+q-Xf0.125q-Yf2.85f0.125m-Xf0-Yf0-Zf0m+*f-0.939693X*f-0.34202Y+*f0.34202X*f-0.939693Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.65Y-Yf2.85aa-f-0.125X-Xf0.125a-f1.525Y-Yf2.975-r+q-Xf-0.125q-Yf1.65f0.125-r+q-Xf-0.125q-Yf2.85f0.125-r+q-Xf0.125q-Yf1.65f0.125-r+q-Xf0.125q-Yf2.85f0.125m-Xf0-Yf0-Zf0m+*f-0.766044X*f-0.642788Y+*f0.642788X*f-0.766044Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.65Y-Yf2.85aa-f-0.125X-Xf0.125a-f1.525Y-Yf2.975-r+q-Xf-0.125q-Yf1.65f0.125-r+q-Xf-0.125q-Yf2.85f0.125-r+q-Xf0.125q-Yf1.65f0.125-r+q-Xf0.125q-Yf2.85f0.125m-Xf0-Yf0-Zf0m+*f-0.5X*f-0.866025Y+*f0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.65Y-Yf2.85aa-f-0.125X-Xf0.125a-f1.525Y-Yf2.975-r+q-Xf-0.125q-Yf1.65f0.125-r+q-Xf-0.125q-Yf2.85f0.125-r+q-Xf0.125q-Yf1.65f0.125-r+q-Xf0.125q-Yf2.85f0.125m-Xf0-Yf0-Zf0m+*f-0.173648X*f-0.984808Y+*f0.984808X*f-0.173648Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.65Y-Yf2.85aa-f-0.125X-Xf0.125a-f1.525Y-Yf2.975-r+q-Xf-0.125q-Yf1.65f0.125-r+q-Xf-0.125q-Yf2.85f0.125-r+q-Xf0.125q-Yf1.65f0.125-r+q-Xf0.125q-Yf2.85f0.125m-Xf0-Yf0-Zf0m+*f0.173648X*f-0.984808Y+*f0.984808X*f0.173648Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.65Y-Yf2.85aa-f-0.125X-Xf0.125a-f1.525Y-Yf2.975-r+q-Xf-0.125q-Yf1.65f0.125-r+q-Xf-0.125q-Yf2.85f0.125-r+q-Xf0.125q-Yf1.65f0.125-r+q-Xf0.125q-Yf2.85f0.125m-Xf0-Yf0-Zf0m+*f0.5X*f-0.866025Y+*f0.866025X*f0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.65Y-Yf2.85aa-f-0.125X-Xf0.125a-f1.525Y-Yf2.975-r+q-Xf-0.125q-Yf1.65f0.125-r+q-Xf-0.125q-Yf2.85f0.125-r+q-Xf0.125q-Yf1.65f0.125-r+q-Xf0.125q-Yf2.85f0.125m-Xf0-Yf0-Zf0m+*f0.766044X*f-0.642788Y+*f0.642788X*f0.766044Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.65Y-Yf2.85aa-f-0.125X-Xf0.125a-f1.525Y-Yf2.975-r+q-Xf-0.125q-Yf1.65f0.125-r+q-Xf-0.125q-Yf2.85f0.125-r+q-Xf0.125q-Yf1.65f0.125-r+q-Xf0.125q-Yf2.85f0.125m-Xf0-Yf0-Zf0m+*f0.939693X*f-0.34202Y+*f0.34202X*f0.939693Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.65Y-Yf2.85aa-f-0.125X-Xf0.125a-f1.525Y-Yf2.975-r+q-Xf-0.125q-Yf1.65f0.125-r+q-Xf-0.125q-Yf2.85f0.125-r+q-Xf0.125q-Yf1.65f0.125-r+q-Xf0.125q-Yf2.85f0.125-+rba-r+qXqYf1.775n-r+qXqYf0.5rbiiiiiiiiiiiiiiiiim-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.65Y-Yf2.85aa-f-0.125X-Xf0.125a-f1.525Y-Yf2.975-r+q-Xf-0.125q-Yf1.65f0.125-r+q-Xf-0.125q-Yf2.85f0.125-r+q-Xf0.125q-Yf1.65f0.125-r+q-Xf0.125q-Yf2.85f0.125m-Xf0-Yf0-Zf0m+*f0.939693X*f0.34202Y+*f-0.34202X*f0.939693Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.65Y-Yf2.85aa-f-0.125X-Xf0.125a-f1.525Y-Yf2.975-r+q-Xf-0.125q-Yf1.65f0.125-r+q-Xf-0.125q-Yf2.85f0.125-r+q-Xf0.125q-Yf1.65f0.125-r+q-Xf0.125q-Yf2.85f0.125m-Xf0-Yf0-Zf0m+*f0.766044X*f0.642788Y+*f-0.642788X*f0.766044Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.65Y-Yf2.85aa-f-0.125X-Xf0.125a-f1.525Y-Yf2.975-r+q-Xf-0.125q-Yf1.65f0.125-r+q-Xf-0.125q-Yf2.85f0.125-r+q-Xf0.125q-Yf1.65f0.125-r+q-Xf0.125q-Yf2.85f0.125m-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.65Y-Yf2.85aa-f-0.125X-Xf0.125a-f1.525Y-Yf2.975-r+q-Xf-0.125q-Yf1.65f0.125-r+q-Xf-0.125q-Yf2.85f0.125-r+q-Xf0.125q-Yf1.65f0.125-r+q-Xf0.125q-Yf2.85f0.125m-Xf0-Yf0-Zf0m+*f0.173648X*f0.984808Y+*f-0.984808X*f0.173648Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.65Y-Yf2.85aa-f-0.125X-Xf0.125a-f1.525Y-Yf2.975-r+q-Xf-0.125q-Yf1.65f0.125-r+q-Xf-0.125q-Yf2.85f0.125-r+q-Xf0.125q-Yf1.65f0.125-r+q-Xf0.125q-Yf2.85f0.125m-Xf0-Yf0-Zf0m+*f-0.173648X*f0.984808Y+*f-0.984808X*f-0.173648Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.65Y-Yf2.85aa-f-0.125X-Xf0.125a-f1.525Y-Yf2.975-r+q-Xf-0.125q-Yf1.65f0.125-r+q-Xf-0.125q-Yf2.85f0.125-r+q-Xf0.125q-Yf1.65f0.125-r+q-Xf0.125q-Yf2.85f0.125m-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.65Y-Yf2.85aa-f-0.125X-Xf0.125a-f1.525Y-Yf2.975-r+q-Xf-0.125q-Yf1.65f0.125-r+q-Xf-0.125q-Yf2.85f0.125-r+q-Xf0.125q-Yf1.65f0.125-r+q-Xf0.125q-Yf2.85f0.125m-Xf0-Yf0-Zf0m+*f-0.766044X*f0.642788Y+*f-0.642788X*f-0.766044Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.65Y-Yf2.85aa-f-0.125X-Xf0.125a-f1.525Y-Yf2.975-r+q-Xf-0.125q-Yf1.65f0.125-r+q-Xf-0.125q-Yf2.85f0.125-r+q-Xf0.125q-Yf1.65f0.125-r+q-Xf0.125q-Yf2.85f0.125m-Xf0-Yf0-Zf0m+*f-0.939693X*f0.34202Y+*f-0.34202X*f-0.939693Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.65Y-Yf2.85aa-f-0.125X-Xf0.125a-f1.525Y-Yf2.975-r+q-Xf-0.125q-Yf1.65f0.125-r+q-Xf-0.125q-Yf2.85f0.125-r+q-Xf0.125q-Yf1.65f0.125-r+q-Xf0.125q-Yf2.85f0.125m-Xf0-Yf0-Zf0m+*f-1X*f1.22465e-16Y+*f-1.22465e-16X*f-1Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.65Y-Yf2.85aa-f-0.125X-Xf0.125a-f1.525Y-Yf2.975-r+q-Xf-0.125q-Yf1.65f0.125-r+q-Xf-0.125q-Yf2.85f0.125-r+q-Xf0.125q-Yf1.65f0.125-r+q-Xf0.125q-Yf2.85f0.125m-Xf0-Yf0-Zf0m+*f-0.939693X*f-0.34202Y+*f0.34202X*f-0.939693Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.65Y-Yf2.85aa-f-0.125X-Xf0.125a-f1.525Y-Yf2.975-r+q-Xf-0.125q-Yf1.65f0.125-r+q-Xf-0.125q-Yf2.85f0.125-r+q-Xf0.125q-Yf1.65f0.125-r+q-Xf0.125q-Yf2.85f0.125m-Xf0-Yf0-Zf0m+*f-0.766044X*f-0.642788Y+*f0.642788X*f-0.766044Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.65Y-Yf2.85aa-f-0.125X-Xf0.125a-f1.525Y-Yf2.975-r+q-Xf-0.125q-Yf1.65f0.125-r+q-Xf-0.125q-Yf2.85f0.125-r+q-Xf0.125q-Yf1.65f0.125-r+q-Xf0.125q-Yf2.85f0.125m-Xf0-Yf0-Zf0m+*f-0.5X*f-0.866025Y+*f0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.65Y-Yf2.85aa-f-0.125X-Xf0.125a-f1.525Y-Yf2.975-r+q-Xf-0.125q-Yf1.65f0.125-r+q-Xf-0.125q-Yf2.85f0.125-r+q-Xf0.125q-Yf1.65f0.125-r+q-Xf0.125q-Yf2.85f0.125m-Xf0-Yf0-Zf0m+*f-0.173648X*f-0.984808Y+*f0.984808X*f-0.173648Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.65Y-Yf2.85aa-f-0.125X-Xf0.125a-f1.525Y-Yf2.975-r+q-Xf-0.125q-Yf1.65f0.125-r+q-Xf-0.125q-Yf2.85f0.125-r+q-Xf0.125q-Yf1.65f0.125-r+q-Xf0.125q-Yf2.85f0.125m-Xf0-Yf0-Zf0m+*f0.173648X*f-0.984808Y+*f0.984808X*f0.173648Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.65Y-Yf2.85aa-f-0.125X-Xf0.125a-f1.525Y-Yf2.975-r+q-Xf-0.125q-Yf1.65f0.125-r+q-Xf-0.125q-Yf2.85f0.125-r+q-Xf0.125q-Yf1.65f0.125-r+q-Xf0.125q-Yf2.85f0.125m-Xf0-Yf0-Zf0m+*f0.5X*f-0.866025Y+*f0.866025X*f0.5Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.65Y-Yf2.85aa-f-0.125X-Xf0.125a-f1.525Y-Yf2.975-r+q-Xf-0.125q-Yf1.65f0.125-r+q-Xf-0.125q-Yf2.85f0.125-r+q-Xf0.125q-Yf1.65f0.125-r+q-Xf0.125q-Yf2.85f0.125m-Xf0-Yf0-Zf0m+*f0.766044X*f-0.642788Y+*f0.642788X*f0.766044Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.65Y-Yf2.85aa-f-0.125X-Xf0.125a-f1.525Y-Yf2.975-r+q-Xf-0.125q-Yf1.65f0.125-r+q-Xf-0.125q-Yf2.85f0.125-r+q-Xf0.125q-Yf1.65f0.125-r+q-Xf0.125q-Yf2.85f0.125m-Xf0-Yf0-Zf0m+*f0.939693X*f-0.34202Y+*f0.34202X*f0.939693Y_m-Xf0-Yf0-Zf0iiiiiaa-f-0.25X-Xf0.25a-f1.65Y-Yf2.85aa-f-0.125X-Xf0.125a-f1.525Y-Yf2.975-r+q-Xf-0.125q-Yf1.65f0.125-r+q-Xf-0.125q-Yf2.85f0.125-r+q-Xf0.125q-Yf1.65f0.125-r+q-Xf0.125q-Yf2.85f0.125f0.5',float('-2.973216'),float('-2.975000'),float('-inf'),float('2.973216'),float('2.975000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 3 } ], "inspector": [ 1024.066783346947, -109.88711469286116 ], "name": "b2", "script": [ "import fab.types", "import fab.shapes", "", "title('Blend')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "input('q', float)", "", "output('shape', fab.shapes.blend(a, b, q))", "" ], "uid": 16 } ], "uid": 4 } ], "protocol": 6, "type": "sb" }