{ "nodes": [ { "datums": [ { "expr": "0.0", "name": "x", "type": "float", "uid": 0 }, { "expr": "0.0", "name": "y", "type": "float", "uid": 1 }, { "expr": "-param.thin_len", "name": "zmin", "type": "float", "uid": 2 }, { "expr": "0", "name": "zmax", "type": "float", "uid": 3 }, { "expr": "param.thin_diam/2", "name": "r", "type": "float", "uid": 4 }, { "expr": "\u0012fab.types.Shape('am__f1-r+qXqYf17.8a-f-17.4Z-Zf0',float('-17.799999'),float('-17.799999'),float('-17.400000'),float('17.799999'),float('17.799999'),float('0.000000'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 361.30875669772183, -4306.6828977456416 ], "name": "thin", "script": [ "import fab", "import math", "", "title('Cylinder (Z)')", "", "input('x', float)", "input('y', float)", "input('zmin', float)", "input('zmax', float)", "input('r', float)", "", "output('shape', fab.shapes.cylinder(x, y, zmin, zmax, r))", "" ], "uid": 1 }, { "datums": [ { "expr": "17.4", "name": "thin_len", "type": "float", "uid": 2 }, { "expr": "32.3", "name": "thick_len", "type": "float", "uid": 1 }, { "expr": "35.6", "name": "thin_diam", "type": "float", "uid": 11 }, { "expr": "37.2", "name": "thick_diam", "type": "float", "uid": 3 }, { "expr": "12.9", "name": "extra_diam", "type": "float", "uid": 0 }, { "expr": "4.6", "name": "extra_len", "type": "float", "uid": 4 }, { "expr": "3.2", "name": "rod_diam", "type": "float", "uid": 23 }, { "expr": "17", "name": "rod_len", "type": "float", "uid": 5 }, { "expr": "(param.thick_diam-param.extra_diam)/2", "name": "rod_dist_edge", "type": "float", "uid": 31 } ], "inspector": [ -397.57613208376154, -373.63254521770079 ], "name": "param", "script": [ "import fab", "", "title('Parameters: Gear DC Motor')", "", "input('thin_len', float)", "input('thick_len', float)", "input('thin_diam', float)", "input('thick_diam', float)", "input('extra_diam', float)", "input('extra_len', float)", "input('rod_diam', float)", "input('rod_len', float)", "input('rod_dist_edge', float)", "", "", "", "" ], "uid": 0 }, { "datums": [ { "expr": "0.0", "name": "x", "type": "float", "uid": 0 }, { "expr": "0.0", "name": "y", "type": "float", "uid": 1 }, { "expr": "0.0", "name": "zmin", "type": "float", "uid": 2 }, { "expr": "param.thick_len", "name": "zmax", "type": "float", "uid": 3 }, { "expr": "param.thick_diam/2", "name": "r", "type": "float", "uid": 4 }, { "expr": "\u0012fab.types.Shape('am__f1-r+qXqYf18.6a-f0Z-Zf32.3',float('-18.600000'),float('-18.600000'),float('0.000000'),float('18.600000'),float('18.600000'),float('32.299999'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 365.62212287163186, -4073.95869204257 ], "name": "thick", "script": [ "import fab", "import math", "", "title('Cylinder (Z)')", "", "input('x', float)", "input('y', float)", "input('zmin', float)", "input('zmax', float)", "input('r', float)", "", "output('shape', fab.shapes.cylinder(x, y, zmin, zmax, r))", "", "" ], "uid": 2 }, { "datums": [ { "expr": "0", "name": "x", "type": "float", "uid": 0 }, { "expr": "-((param.thick_diam-param.extra_diam)/2-param.rod_dist_edge)", "name": "y", "type": "float", "uid": 1 }, { "expr": "0.0", "name": "zmin", "type": "float", "uid": 2 }, { "expr": "param.thick_len+param.extra_len+param.rod_len", "name": "zmax", "type": "float", "uid": 3 }, { "expr": "param.rod_diam/2", "name": "r", "type": "float", "uid": 4 }, { "expr": "\u0012fab.types.Shape('am__f1-r+qXqYf1.6a-f0Z-Zf53.9',float('-1.600000'),float('-1.600000'),float('0.000000'),float('1.600000'),float('1.600000'),float('53.900002'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 357.09217213249678, -3840.3305332019208 ], "name": "rod", "script": [ "import fab", "import math", "", "title('Cylinder (Z)')", "", "input('x', float)", "input('y', float)", "input('zmin', float)", "input('zmax', float)", "input('r', float)", "", "output('shape', fab.shapes.cylinder(x, y, zmin, zmax, r))", "" ], "uid": 3 }, { "datums": [ { "expr": "0", "name": "x", "type": "float", "uid": 0 }, { "expr": "-((param.thick_diam-param.extra_diam)/2-param.rod_dist_edge)", "name": "y", "type": "float", "uid": 1 }, { "expr": "0.0", "name": "zmin", "type": "float", "uid": 2 }, { "expr": "param.thick_len+param.extra_len", "name": "zmax", "type": "float", "uid": 3 }, { "expr": "param.extra_diam/2", "name": "r", "type": "float", "uid": 4 }, { "expr": "\u0012fab.types.Shape('am__f1-r+qXqYf6.45a-f0Z-Zf36.9',float('-6.450000'),float('-6.450000'),float('0.000000'),float('6.450000'),float('6.450000'),float('36.900002'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 350.84320186377579, -3551.7028368734864 ], "name": "extra", "script": [ "import fab", "import math", "", "title('Cylinder (Z)')", "", "input('x', float)", "input('y', float)", "input('zmin', float)", "input('zmax', float)", "input('r', float)", "", "output('shape', fab.shapes.cylinder(x, y, zmin, zmax, r))", "", "" ], "uid": 4 }, { "datums": [ { "expr": "\u0011[__1.__5]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__2.__5]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0011[__3.__5]", "name": "c", "type": "_fabtypes.Shape", "uid": 4 }, { "expr": "\u0011[__4.__5]", "name": "d", "type": "_fabtypes.Shape", "uid": 5 }, { "expr": "\u0012fab.types.Shape('iiiam__f1-r+qXqYf17.8a-f-17.4Z-Zf0am__f1-r+qXqYf18.6a-f0Z-Zf32.3am__f1-r+qXqYf1.6a-f0Z-Zf53.9am__f1-r+qXqYf6.45a-f0Z-Zf36.9',float('-18.600000'),float('-18.600000'),float('-17.400000'),float('18.600000'),float('18.600000'),float('53.900002'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 921.26068272807322, -3798.5094375633043 ], "name": "motor", "script": [ "import fab.types", "", "title('Union')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "input('c', fab.types.Shape)", "input('d', fab.types.Shape)", "", "output('shape', a | b | c | d)", "" ], "uid": 5 }, { "datums": [ { "expr": "6", "name": "min_thick", "type": "float", "uid": 2 }, { "expr": "6", "name": "height_from_chassis", "type": "float", "uid": 5 }, { "expr": "4", "name": "len_extra_piece", "type": "float", "uid": 6 }, { "expr": "10", "name": "dist_sep_pieces", "type": "float", "uid": 3 }, { "expr": "0.0", "name": "extra_not_covered", "type": "float", "uid": 4 }, { "expr": "0.0", "name": "motor_orientation", "type": "float", "uid": 1 }, { "expr": "1", "name": "clearance", "type": "float", "uid": 7 } ], "inspector": [ -402.57210495198592, -55.290632874377167 ], "name": "prints", "script": [ "import fab", "", "title('Parameters: 3D prints')", "", "input('min_thick', float)", "input('height_from_chassis', float)", "input('len_extra_piece', float)", "input('dist_sep_pieces', float)", "input('extra_not_covered', float)", "input('motor_orientation', float)", "input('clearance', float)", "", "", "", "", "", "", "" ], "uid": 6 }, { "datums": [ { "expr": "0.0", "name": "x", "type": "float", "uid": 0 }, { "expr": "0.0", "name": "y", "type": "float", "uid": 1 }, { "expr": "-param.thin_len", "name": "zmin", "type": "float", "uid": 2 }, { "expr": "prints.len_extra_piece", "name": "zmax", "type": "float", "uid": 3 }, { "expr": "param.thick_diam/2+prints.min_thick", "name": "r", "type": "float", "uid": 4 }, { "expr": "\u0012fab.types.Shape('am__f1-r+qXqYf24.6a-f-17.4Z-Zf4',float('-24.600000'),float('-24.600000'),float('-17.400000'),float('24.600000'),float('24.600000'),float('4.000000'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 342.75034126206594, -3184.487628613374 ], "name": "piece1_cyl", "script": [ "import fab", "import math", "", "title('Cylinder (Z)')", "", "input('x', float)", "input('y', float)", "input('zmin', float)", "input('zmax', float)", "input('r', float)", "", "output('shape', fab.shapes.cylinder(x, y, zmin, zmax, r))", "", "" ], "uid": 7 }, { "datums": [ { "expr": "0.0", "name": "dist from edge", "type": "float", "uid": 0 }, { "expr": "4", "name": "len_extra", "type": "float", "uid": 1 }, { "expr": "2", "name": "thick", "type": "float", "uid": 4 }, { "expr": "5", "name": "width", "type": "float", "uid": 6 }, { "expr": "3.175", "name": "thick_stock", "type": "float", "uid": 2 }, { "expr": "0.05", "name": "clearance", "type": "float", "uid": 7 }, { "expr": "2", "name": "notch_extrude", "type": "float", "uid": 3 } ], "inspector": [ -404.50617321778356, 206.63826092305601 ], "name": "clips", "script": [ "import fab", "", "title('Parameters: Clips on Prints')", "", "input('dist from edge', float)", "input('len_extra', float)", "input('thick',float)", "input('width',float)", "input('thick_stock',float)", "input('clearance',float)", "input('notch_extrude',float)", "", "", "", "", "", "", "", "", "" ], "uid": 8 }, { "datums": [ { "expr": "-(param.thick_diam/2+prints.min_thick)", "name": "xmin", "type": "float", "uid": 0 }, { "expr": "-(param.thick_diam/2+prints.height_from_chassis)", "name": "ymin", "type": "float", "uid": 1 }, { "expr": "-param.thin_len", "name": "zmin", "type": "float", "uid": 2 }, { "expr": "param.thick_diam/2+prints.min_thick", "name": "xmax", "type": "float", "uid": 3 }, { "expr": "0", "name": "ymax", "type": "float", "uid": 4 }, { "expr": "prints.len_extra_piece", "name": "zmax", "type": "float", "uid": 5 }, { "expr": "\u0012fab.types.Shape('am__f1aa-f-24.6X-Xf24.6a-f-24.6Y-Yf0a-f-17.4Z-Zf4',float('-24.600000'),float('-24.600000'),float('-17.400000'),float('24.600000'),float('0.000000'),float('4.000000'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 6 } ], "inspector": [ 339.40726856999083, -2938.7717857458601 ], "name": "piece1_rect", "script": [ "import fab", "", "title('Cube (corner)')", "", "input('xmin', float)", "input('ymin', float)", "input('zmin', float)", "input('xmax', float)", "input('ymax', float)", "input('zmax', float)", "", "output('shape', fab.shapes.cube(xmin, xmax, ymin, ymax, zmin, zmax))", "", "" ], "uid": 9 }, { "datums": [ { "expr": "\u0011[__10.__2]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__29.__2]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('aiam__f1-r+qXqYf24.6a-f-17.4Z-Zf4am__f1aa-f-24.6X-Xf24.6a-f-24.6Y-Yf0a-f-17.4Z-Zf4n-iiiam__f1-r+qXqYf17.8a-f-17.4Z-Zf0am__f1-r+qXqYf18.6a-f0Z-Zf32.3am__f1-r+qXqYf1.6a-f0Z-Zf53.9am__f1-r+qXqYf6.45a-f0Z-Zf36.9f1',float('-24.600000'),float('-24.600000'),float('-17.400000'),float('24.600000'),float('24.600000'),float('4.000000'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 1652.639993853446, -2917.8099888935621 ], "name": "hole_added", "script": [ "import fab.types", "", "title('Difference')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a & ~b)", "" ], "uid": 12 }, { "datums": [ { "expr": "\u0011[__7.__5]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__9.__6]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('iam__f1-r+qXqYf24.6a-f-17.4Z-Zf4am__f1aa-f-24.6X-Xf24.6a-f-24.6Y-Yf0a-f-17.4Z-Zf4',float('-24.600000'),float('-24.600000'),float('-17.400000'),float('24.600000'),float('24.600000'),float('4.000000'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 742.15150276543829, -2969.73239770898 ], "name": "full", "script": [ "import fab.types", "", "title('Union')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a | b)", "" ], "uid": 10 }, { "datums": [ { "expr": "-clips.thick", "name": "x0", "type": "float", "uid": 0 }, { "expr": "-clips.thick_stock+clips.clearance", "name": "y0", "type": "float", "uid": 1 }, { "expr": "0", "name": "x1", "type": "float", "uid": 2 }, { "expr": "0", "name": "y1", "type": "float", "uid": 3 }, { "expr": "\u0012fab.types.Shape('aa-f-2X-Xf0a-f-3.125Y-Yf0',float('-2.000000'),float('-3.125000'),float('-inf'),float('0.000000'),float('0.000000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 372.82541272702827, -1105.9135317819025 ], "name": "Clip_rect", "script": [ "# Neil Gershenfeld 1/24/15", "# Matt Keeter 6/11/15", "", "import fab", "", "title('Rectangle (corner)')", "", "input('x0', float)", "input('y0', float)", "input('x1', float)", "input('y1', float)", "", "output('shape', fab.shapes.rectangle(x0, x1, y0, y1))", "", "", "" ], "uid": 14 }, { "datums": [ { "expr": "0.0", "name": "_x", "type": "float", "uid": 0 }, { "expr": "0.0", "name": "_y", "type": "float", "uid": 1 }, { "expr": "0", "name": "zmin", "type": "float", "uid": 2 }, { "expr": "clips.width", "name": "zmax", "type": "float", "uid": 3 }, { "expr": "\u0011[__18.__2]", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 }, { "expr": "\u0012fab.types.Shape('am__f1iaa-f-2X-Xf0a-f-3.125Y-Yf0ni-*f0-Xf-2*f4-Yf-3.125i-*f-4-Xf2*f-4-Yf-3.125-*f4-Xf-2*f0-Yf-7.125a-f0Z-Zf5',float('-2.000000'),float('-7.125000'),float('0.000000'),float('2.000000'),float('0.000000'),float('5.000000'))", "name": "out", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 1066.7122738843022, -908.45571769568119 ], "name": "clip", "script": [ "import fab", "", "title('Extrude')", "", "input('_x', float)", "input('_y', float)", "input('zmin', float)", "input('zmax', float)", "", "input('shape', fab.types.Shape)", "output('out', fab.shapes.extrude_z(shape, zmin, zmax))", "", "" ], "uid": 17 }, { "datums": [ { "expr": "\u0011[__14.__4]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__20.__6]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('iaa-f-2X-Xf0a-f-3.125Y-Yf0ni-*f0-Xf-2*f4-Yf-3.125i-*f-4-Xf2*f-4-Yf-3.125-*f4-Xf-2*f0-Yf-7.125',float('-2.000000'),float('-7.125000'),float('-inf'),float('2.000000'),float('0.000000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 734.60538655076232, -906.67019679603823 ], "name": "u0", "script": [ "import fab.types", "", "title('Union')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a | b)", "" ], "uid": 18 }, { "datums": [ { "expr": "-clips.thick", "name": "x0", "type": "float", "uid": 0 }, { "expr": "-clips.thick_stock+clips.clearance", "name": "y0", "type": "float", "uid": 1 }, { "expr": "clips.notch_extrude", "name": "x1", "type": "float", "uid": 2 }, { "expr": "-clips.thick_stock+clips.clearance", "name": "y1", "type": "float", "uid": 3 }, { "expr": "-clips.thick", "name": "x2", "type": "float", "uid": 4 }, { "expr": "-clips.len_extra-clips.thick_stock+clips.clearance", "name": "y2", "type": "float", "uid": 5 }, { "expr": "\u0012fab.types.Shape('ni-*f0-Xf-2*f4-Yf-3.125i-*f-4-Xf2*f-4-Yf-3.125-*f4-Xf-2*f0-Yf-7.125',float('-2.000000'),float('-7.125000'),float('-inf'),float('2.000000'),float('-3.125000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 6 } ], "inspector": [ 370.35912302365443, -881.67290420104041 ], "name": "t1", "script": [ "import fab", "", "title('Triangle')", "", "input('x0', float)", "input('y0', float)", "input('x1', float)", "input('y1', float)", "input('x2', float)", "input('y2', float)", "", "output('shape', fab.shapes.triangle(x0, y0, x1, y1, x2, y2))", "", "", "" ], "uid": 20 }, { "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": "param.thick_diam/2+prints.min_thick", "name": "dx", "type": "float", "uid": 3 }, { "expr": "-(param.thick_diam/2+prints.height_from_chassis)", "name": "dy", "type": "float", "uid": 4 }, { "expr": "-param.thin_len", "name": "dz", "type": "float", "uid": 5 }, { "expr": "\u0011[__17.__5]", "name": "shape", "type": "_fabtypes.Shape", "uid": 6 }, { "expr": "\u0012fab.types.Shape('m-Xf24.6-Yf-24.6-Zf-17.4am__f1iaa-f-2X-Xf0a-f-3.125Y-Yf0ni-*f0-Xf-2*f4-Yf-3.125i-*f-4-Xf2*f-4-Yf-3.125-*f4-Xf-2*f0-Yf-7.125a-f0Z-Zf5',float('22.600000'),float('-31.725000'),float('-17.400000'),float('26.600000'),float('-24.600000'),float('-12.400000'))", "name": "out", "type": "_fabtypes.Shape", "uid": 7 } ], "inspector": [ 1633.3268169798175, -1268.6863763188842 ], "name": "first_piece", "script": [ "import fab", "", "title('Translate')", "", "input('_x', float)", "input('_y', float)", "input('_z', float)", "input('dx', float)", "input('dy', float)", "input('dz', float)", "", "input('shape', fab.types.Shape)", "output('out', fab.shapes.translate(shape, dx, dy, dz))", "" ], "uid": 15 }, { "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": "-80", "name": "dx", "type": "float", "uid": 3 }, { "expr": "15", "name": "dy", "type": "float", "uid": 4 }, { "expr": "0", "name": "dz", "type": "float", "uid": 5 }, { "expr": "\u0011[__5.__2]", "name": "shape", "type": "_fabtypes.Shape", "uid": 6 }, { "expr": "\u0012fab.types.Shape('m-Xf-80-Yf15-Zf0iiiam__f1-r+qXqYf17.8a-f-17.4Z-Zf0am__f1-r+qXqYf18.6a-f0Z-Zf32.3am__f1-r+qXqYf1.6a-f0Z-Zf53.9am__f1-r+qXqYf6.45a-f0Z-Zf36.9',float('-98.599998'),float('-3.600000'),float('-17.400000'),float('-61.400002'),float('33.599998'),float('53.900002'))", "name": "out", "type": "_fabtypes.Shape", "uid": 7 } ], "inspector": [ 3273.3698148679182, -3431.4433203717499 ], "name": "t0", "script": [ "import fab", "", "title('Translate')", "", "input('_x', float)", "input('_y', float)", "input('_z', float)", "input('dx', float)", "input('dy', float)", "input('dz', float)", "", "input('shape', fab.types.Shape)", "output('out', fab.shapes.translate(shape, dx, dy, dz))", "", "" ], "uid": 13 }, { "datums": [ { "expr": "0.0", "name": "x0", "type": "float", "uid": 0 }, { "expr": "0.0", "name": "_y", "type": "float", "uid": 1 }, { "expr": "0.0", "name": "_z", "type": "float", "uid": 2 }, { "expr": "\u0011[__15.__7]", "name": "shape", "type": "_fabtypes.Shape", "uid": 3 }, { "expr": "\u0012fab.types.Shape('m-*f2f0X__m-Xf24.6-Yf-24.6-Zf-17.4am__f1iaa-f-2X-Xf0a-f-3.125Y-Yf0ni-*f0-Xf-2*f4-Yf-3.125i-*f-4-Xf2*f-4-Yf-3.125-*f4-Xf-2*f0-Yf-7.125a-f0Z-Zf5',float('-26.600000'),float('-31.725000'),float('-17.400000'),float('-22.600000'),float('-24.600000'),float('-12.400000'))", "name": "reflected", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 1626.7067047324099, -1008.9476586185608 ], "name": "r0", "script": [ "import fab", "", "title('Reflect (X)')", "", "input('x0', float)", "input('_y', float)", "input('_z', float)", "", "input('shape', fab.types.Shape)", "output('reflected', fab.shapes.reflect_x(shape, x0))", "", "" ], "uid": 16 }, { "datums": [ { "expr": "0.0", "name": "_x", "type": "float", "uid": 0 }, { "expr": "0.0", "name": "_y", "type": "float", "uid": 1 }, { "expr": "(prints.len_extra_piece-param.thin_len)/2", "name": "z0", "type": "float", "uid": 2 }, { "expr": "\u0011[__21.__2]", "name": "shape", "type": "_fabtypes.Shape", "uid": 3 }, { "expr": "\u0012fab.types.Shape('m__-*f2f-6.7Zim-Xf24.6-Yf-24.6-Zf-17.4am__f1iaa-f-2X-Xf0a-f-3.125Y-Yf0ni-*f0-Xf-2*f4-Yf-3.125i-*f-4-Xf2*f-4-Yf-3.125-*f4-Xf-2*f0-Yf-7.125a-f0Z-Zf5m-*f2f0X__m-Xf24.6-Yf-24.6-Zf-17.4am__f1iaa-f-2X-Xf0a-f-3.125Y-Yf0ni-*f0-Xf-2*f4-Yf-3.125i-*f-4-Xf2*f-4-Yf-3.125-*f4-Xf-2*f0-Yf-7.125a-f0Z-Zf5',float('-26.600000'),float('-31.725000'),float('-1.000000'),float('26.600000'),float('-24.600000'),float('4.000000'))", "name": "reflected", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 1960.2659489626321, -1072.901053069754 ], "name": "r1", "script": [ "import fab", "", "title('Reflect (Z)')", "", "input('_x', float)", "input('_y', float)", "input('z0', float)", "", "input('shape', fab.types.Shape)", "output('reflected', fab.shapes.reflect_z(shape, z0))", "", "", "" ], "uid": 19 }, { "datums": [ { "expr": "\u0011[__15.__7]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__16.__4]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('im-Xf24.6-Yf-24.6-Zf-17.4am__f1iaa-f-2X-Xf0a-f-3.125Y-Yf0ni-*f0-Xf-2*f4-Yf-3.125i-*f-4-Xf2*f-4-Yf-3.125-*f4-Xf-2*f0-Yf-7.125a-f0Z-Zf5m-*f2f0X__m-Xf24.6-Yf-24.6-Zf-17.4am__f1iaa-f-2X-Xf0a-f-3.125Y-Yf0ni-*f0-Xf-2*f4-Yf-3.125i-*f-4-Xf2*f-4-Yf-3.125-*f4-Xf-2*f0-Yf-7.125a-f0Z-Zf5',float('-26.600000'),float('-31.725000'),float('-17.400000'),float('26.600000'),float('-24.600000'),float('-12.400000'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 1965.7983363997519, -1223.5390950616068 ], "name": "u1", "script": [ "import fab.types", "", "title('Union')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a | b)", "" ], "uid": 21 }, { "datums": [ { "expr": "\u0011[__21.__2]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__19.__4]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('iim-Xf24.6-Yf-24.6-Zf-17.4am__f1iaa-f-2X-Xf0a-f-3.125Y-Yf0ni-*f0-Xf-2*f4-Yf-3.125i-*f-4-Xf2*f-4-Yf-3.125-*f4-Xf-2*f0-Yf-7.125a-f0Z-Zf5m-*f2f0X__m-Xf24.6-Yf-24.6-Zf-17.4am__f1iaa-f-2X-Xf0a-f-3.125Y-Yf0ni-*f0-Xf-2*f4-Yf-3.125i-*f-4-Xf2*f-4-Yf-3.125-*f4-Xf-2*f0-Yf-7.125a-f0Z-Zf5m__-*f2f-6.7Zim-Xf24.6-Yf-24.6-Zf-17.4am__f1iaa-f-2X-Xf0a-f-3.125Y-Yf0ni-*f0-Xf-2*f4-Yf-3.125i-*f-4-Xf2*f-4-Yf-3.125-*f4-Xf-2*f0-Yf-7.125a-f0Z-Zf5m-*f2f0X__m-Xf24.6-Yf-24.6-Zf-17.4am__f1iaa-f-2X-Xf0a-f-3.125Y-Yf0ni-*f0-Xf-2*f4-Yf-3.125i-*f-4-Xf2*f-4-Yf-3.125-*f4-Xf-2*f0-Yf-7.125a-f0Z-Zf5',float('-26.600000'),float('-31.725000'),float('-17.400000'),float('26.600000'),float('-24.600000'),float('4.000000'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 2336.1321499579171, -1104.7325826195363 ], "name": "four_clips", "script": [ "import fab.types", "", "title('Union')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a | b)", "" ], "uid": 22 }, { "datums": [ { "expr": "\u0011[__12.__2]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__22.__2]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('iaiam__f1-r+qXqYf24.6a-f-17.4Z-Zf4am__f1aa-f-24.6X-Xf24.6a-f-24.6Y-Yf0a-f-17.4Z-Zf4n-iiiam__f1-r+qXqYf17.8a-f-17.4Z-Zf0am__f1-r+qXqYf18.6a-f0Z-Zf32.3am__f1-r+qXqYf1.6a-f0Z-Zf53.9am__f1-r+qXqYf6.45a-f0Z-Zf36.9f1iim-Xf24.6-Yf-24.6-Zf-17.4am__f1iaa-f-2X-Xf0a-f-3.125Y-Yf0ni-*f0-Xf-2*f4-Yf-3.125i-*f-4-Xf2*f-4-Yf-3.125-*f4-Xf-2*f0-Yf-7.125a-f0Z-Zf5m-*f2f0X__m-Xf24.6-Yf-24.6-Zf-17.4am__f1iaa-f-2X-Xf0a-f-3.125Y-Yf0ni-*f0-Xf-2*f4-Yf-3.125i-*f-4-Xf2*f-4-Yf-3.125-*f4-Xf-2*f0-Yf-7.125a-f0Z-Zf5m__-*f2f-6.7Zim-Xf24.6-Yf-24.6-Zf-17.4am__f1iaa-f-2X-Xf0a-f-3.125Y-Yf0ni-*f0-Xf-2*f4-Yf-3.125i-*f-4-Xf2*f-4-Yf-3.125-*f4-Xf-2*f0-Yf-7.125a-f0Z-Zf5m-*f2f0X__m-Xf24.6-Yf-24.6-Zf-17.4am__f1iaa-f-2X-Xf0a-f-3.125Y-Yf0ni-*f0-Xf-2*f4-Yf-3.125i-*f-4-Xf2*f-4-Yf-3.125-*f4-Xf-2*f0-Yf-7.125a-f0Z-Zf5',float('-26.600000'),float('-31.725000'),float('-17.400000'),float('26.600000'),float('24.600000'),float('4.000000'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 3019.2624601496618, -2828.4200276071333 ], "name": "clips_added", "script": [ "import fab.types", "", "title('Union')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a | b)", "" ], "uid": 23 }, { "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": "-80", "name": "dx", "type": "float", "uid": 3 }, { "expr": "100", "name": "dy", "type": "float", "uid": 4 }, { "expr": "0", "name": "dz", "type": "float", "uid": 5 }, { "expr": "\u0011[__23.__2]", "name": "shape", "type": "_fabtypes.Shape", "uid": 6 }, { "expr": "\u0012fab.types.Shape('m-Xf-80-Yf100-Zf0iaiam__f1-r+qXqYf24.6a-f-17.4Z-Zf4am__f1aa-f-24.6X-Xf24.6a-f-24.6Y-Yf0a-f-17.4Z-Zf4n-iiiam__f1-r+qXqYf17.8a-f-17.4Z-Zf0am__f1-r+qXqYf18.6a-f0Z-Zf32.3am__f1-r+qXqYf1.6a-f0Z-Zf53.9am__f1-r+qXqYf6.45a-f0Z-Zf36.9f1iim-Xf24.6-Yf-24.6-Zf-17.4am__f1iaa-f-2X-Xf0a-f-3.125Y-Yf0ni-*f0-Xf-2*f4-Yf-3.125i-*f-4-Xf2*f-4-Yf-3.125-*f4-Xf-2*f0-Yf-7.125a-f0Z-Zf5m-*f2f0X__m-Xf24.6-Yf-24.6-Zf-17.4am__f1iaa-f-2X-Xf0a-f-3.125Y-Yf0ni-*f0-Xf-2*f4-Yf-3.125i-*f-4-Xf2*f-4-Yf-3.125-*f4-Xf-2*f0-Yf-7.125a-f0Z-Zf5m__-*f2f-6.7Zim-Xf24.6-Yf-24.6-Zf-17.4am__f1iaa-f-2X-Xf0a-f-3.125Y-Yf0ni-*f0-Xf-2*f4-Yf-3.125i-*f-4-Xf2*f-4-Yf-3.125-*f4-Xf-2*f0-Yf-7.125a-f0Z-Zf5m-*f2f0X__m-Xf24.6-Yf-24.6-Zf-17.4am__f1iaa-f-2X-Xf0a-f-3.125Y-Yf0ni-*f0-Xf-2*f4-Yf-3.125i-*f-4-Xf2*f-4-Yf-3.125-*f4-Xf-2*f0-Yf-7.125a-f0Z-Zf5',float('-106.599998'),float('68.275002'),float('-17.400000'),float('-53.400002'),float('124.599998'),float('4.000000'))", "name": "out", "type": "_fabtypes.Shape", "uid": 7 } ], "inspector": [ 3595.9735550947739, -3414.5893418740352 ], "name": "t3", "script": [ "import fab", "", "title('Translate')", "", "input('_x', float)", "input('_y', float)", "input('_z', float)", "input('dx', float)", "input('dy', float)", "input('dz', float)", "", "input('shape', fab.types.Shape)", "output('out', fab.shapes.translate(shape, dx, dy, dz))", "", "" ], "uid": 24 }, { "datums": [ { "expr": "0.0", "name": "x", "type": "float", "uid": 0 }, { "expr": "0.0", "name": "y", "type": "float", "uid": 1 }, { "expr": "prints.len_extra_piece+prints.dist_sep_pieces", "name": "zmin", "type": "float", "uid": 2 }, { "expr": "param.thick_len+param.extra_len", "name": "zmax", "type": "float", "uid": 3 }, { "expr": "param.thick_diam/2+prints.min_thick", "name": "r", "type": "float", "uid": 4 }, { "expr": "\u0012fab.types.Shape('am__f1-r+qXqYf24.6a-f14Z-Zf36.9',float('-24.600000'),float('-24.600000'),float('14.000000'),float('24.600000'),float('24.600000'),float('36.900002'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 349.73102750681744, -2281.6679555178462 ], "name": "piece1_cyl0", "script": [ "import fab", "import math", "", "title('Cylinder (Z)')", "", "input('x', float)", "input('y', float)", "input('zmin', float)", "input('zmax', float)", "input('r', float)", "", "output('shape', fab.shapes.cylinder(x, y, zmin, zmax, r))", "", "" ], "uid": 25 }, { "datums": [ { "expr": "-(param.thick_diam/2+prints.min_thick)", "name": "xmin", "type": "float", "uid": 0 }, { "expr": "-(param.thick_diam/2+prints.height_from_chassis)", "name": "ymin", "type": "float", "uid": 1 }, { "expr": "\u0011[__25.__2]", "name": "zmin", "type": "float", "uid": 2 }, { "expr": "param.thick_diam/2+prints.min_thick", "name": "xmax", "type": "float", "uid": 3 }, { "expr": "0", "name": "ymax", "type": "float", "uid": 4 }, { "expr": "\u0011[__25.__3]", "name": "zmax", "type": "float", "uid": 5 }, { "expr": "\u0012fab.types.Shape('am__f1aa-f-24.6X-Xf24.6a-f-24.6Y-Yf0a-f14Z-Zf36.9',float('-24.600000'),float('-24.600000'),float('14.000000'),float('24.600000'),float('0.000000'),float('36.900002'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 6 } ], "inspector": [ 346.3879548147421, -2006.4571607782252 ], "name": "piece1_rect0", "script": [ "import fab", "", "title('Cube (corner)')", "", "input('xmin', float)", "input('ymin', float)", "input('zmin', float)", "input('xmax', float)", "input('ymax', float)", "input('zmax', float)", "", "output('shape', fab.shapes.cube(xmin, xmax, ymin, ymax, zmin, zmax))", "", "" ], "uid": 26 }, { "datums": [ { "expr": "\u0011[__25.__5]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__26.__6]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('iam__f1-r+qXqYf24.6a-f14Z-Zf36.9am__f1aa-f-24.6X-Xf24.6a-f-24.6Y-Yf0a-f14Z-Zf36.9',float('-24.600000'),float('-24.600000'),float('14.000000'),float('24.600000'),float('24.600000'),float('36.900002'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 760.08903779281002, -2044.9990270482106 ], "name": "full0", "script": [ "import fab.types", "", "title('Union')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a | b)", "" ], "uid": 27 }, { "datums": [ { "expr": "\u0011[__27.__2]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__32.__2]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('aiam__f1-r+qXqYf24.6a-f14Z-Zf36.9am__f1aa-f-24.6X-Xf24.6a-f-24.6Y-Yf0a-f14Z-Zf36.9ni-iiiam__f1-r+qXqYf17.8a-f-17.4Z-Zf0am__f1-r+qXqYf18.6a-f0Z-Zf32.3am__f1-r+qXqYf1.6a-f0Z-Zf53.9am__f1-r+qXqYf6.45a-f0Z-Zf36.9f1iam__f1aa-f-7.45X-Xf7.45a-f-24.6Y-Yf0a-f32.3Z-Zf36.9am__f1aa-f-19.6X-Xf19.6a-f-24.6Y-Yf0a-f14Z-Zf32.3',float('-24.600000'),float('-24.600000'),float('14.000000'),float('24.600000'),float('24.600000'),float('36.900002'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 1822.6446833019318, -2065.1323610685358 ], "name": "hole_added0", "script": [ "import fab.types", "", "title('Difference')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a & ~b)", "" ], "uid": 28 }, { "datums": [ { "expr": "\u0011[__5.__2]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "prints.clearance", "name": "o", "type": "float", "uid": 1 }, { "expr": "\u0012fab.types.Shape('-iiiam__f1-r+qXqYf17.8a-f-17.4Z-Zf0am__f1-r+qXqYf18.6a-f0Z-Zf32.3am__f1-r+qXqYf1.6a-f0Z-Zf53.9am__f1-r+qXqYf6.45a-f0Z-Zf36.9f1',float('-19.600000'),float('-19.600000'),float('-18.400000'),float('19.600000'),float('19.600000'),float('54.900002'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 1249.6444661702335, -3387.5845646179559 ], "name": "o0", "script": [ "import fab.types", "import fab.shapes", "", "title('Offset')", "input('a', fab.types.Shape)", "input('o', float)", "", "output('shape', fab.shapes.offset(a, o))", "" ], "uid": 29 }, { "datums": [ { "expr": "-(param.extra_diam/2+prints.clearance)", "name": "xmin", "type": "float", "uid": 0 }, { "expr": "-(param.thick_diam/2+prints.height_from_chassis)", "name": "ymin", "type": "float", "uid": 1 }, { "expr": "param.thick_len", "name": "zmin", "type": "float", "uid": 2 }, { "expr": "(param.extra_diam/2+prints.clearance)", "name": "xmax", "type": "float", "uid": 3 }, { "expr": "0", "name": "ymax", "type": "float", "uid": 4 }, { "expr": "param.thick_len+param.extra_len", "name": "zmax", "type": "float", "uid": 5 }, { "expr": "\u0012fab.types.Shape('am__f1aa-f-7.45X-Xf7.45a-f-24.6Y-Yf0a-f32.3Z-Zf36.9',float('-7.450000'),float('-24.600000'),float('32.299999'),float('7.450000'),float('0.000000'),float('36.900002'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 6 } ], "inspector": [ 762.56801309536093, -2769.3407693616755 ], "name": "top", "script": [ "import fab", "", "title('Cube (corner)')", "", "input('xmin', float)", "input('ymin', float)", "input('zmin', float)", "input('xmax', float)", "input('ymax', float)", "input('zmax', float)", "", "output('shape', fab.shapes.cube(xmin, xmax, ymin, ymax, zmin, zmax))", "", "" ], "uid": 11 }, { "datums": [ { "expr": "-(param.thick_diam/2+prints.clearance)", "name": "xmin", "type": "float", "uid": 0 }, { "expr": "-(param.thick_diam/2+prints.height_from_chassis)", "name": "ymin", "type": "float", "uid": 1 }, { "expr": "prints.len_extra_piece+prints.dist_sep_pieces", "name": "zmin", "type": "float", "uid": 2 }, { "expr": "(param.thick_diam/2+prints.clearance)", "name": "xmax", "type": "float", "uid": 3 }, { "expr": "0", "name": "ymax", "type": "float", "uid": 4 }, { "expr": "param.thick_len", "name": "zmax", "type": "float", "uid": 5 }, { "expr": "\u0012fab.types.Shape('am__f1aa-f-19.6X-Xf19.6a-f-24.6Y-Yf0a-f14Z-Zf32.3',float('-19.600000'),float('-24.600000'),float('14.000000'),float('19.600000'),float('0.000000'),float('32.299999'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 6 } ], "inspector": [ 762.09906516086482, -2446.1155156493105 ], "name": "bottom", "script": [ "import fab", "", "title('Cube (corner)')", "", "input('xmin', float)", "input('ymin', float)", "input('zmin', float)", "input('xmax', float)", "input('ymax', float)", "input('zmax', float)", "", "output('shape', fab.shapes.cube(xmin, xmax, ymin, ymax, zmin, zmax))", "" ], "uid": 30 }, { "datums": [ { "expr": "\u0011[__11.__6]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__30.__6]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('iam__f1aa-f-7.45X-Xf7.45a-f-24.6Y-Yf0a-f32.3Z-Zf36.9am__f1aa-f-19.6X-Xf19.6a-f-24.6Y-Yf0a-f14Z-Zf32.3',float('-19.600000'),float('-24.600000'),float('14.000000'),float('19.600000'),float('0.000000'),float('36.900002'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 1083.0377952287949, -2505.8845878404081 ], "name": "u2", "script": [ "import fab.types", "", "title('Union')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a | b)", "" ], "uid": 31 }, { "datums": [ { "expr": "\u0011[__29.__2]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__31.__2]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('i-iiiam__f1-r+qXqYf17.8a-f-17.4Z-Zf0am__f1-r+qXqYf18.6a-f0Z-Zf32.3am__f1-r+qXqYf1.6a-f0Z-Zf53.9am__f1-r+qXqYf6.45a-f0Z-Zf36.9f1iam__f1aa-f-7.45X-Xf7.45a-f-24.6Y-Yf0a-f32.3Z-Zf36.9am__f1aa-f-19.6X-Xf19.6a-f-24.6Y-Yf0a-f14Z-Zf32.3',float('-19.600000'),float('-24.600000'),float('-18.400000'),float('19.600000'),float('19.600000'),float('54.900002'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 1464.851598791075, -2554.841910731383 ], "name": "u3", "script": [ "import fab.types", "", "title('Union')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a | b)", "" ], "uid": 32 }, { "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": "param.thick_diam/2+prints.min_thick", "name": "dx", "type": "float", "uid": 3 }, { "expr": "-(param.thick_diam/2+prints.height_from_chassis)", "name": "dy", "type": "float", "uid": 4 }, { "expr": "prints.len_extra_piece+prints.dist_sep_pieces", "name": "dz", "type": "float", "uid": 5 }, { "expr": "\u0011[__17.__5]", "name": "shape", "type": "_fabtypes.Shape", "uid": 6 }, { "expr": "\u0012fab.types.Shape('m-Xf24.6-Yf-24.6-Zf14am__f1iaa-f-2X-Xf0a-f-3.125Y-Yf0ni-*f0-Xf-2*f4-Yf-3.125i-*f-4-Xf2*f-4-Yf-3.125-*f4-Xf-2*f0-Yf-7.125a-f0Z-Zf5',float('22.600000'),float('-31.725000'),float('14.000000'),float('26.600000'),float('-24.600000'),float('19.000000'))", "name": "out", "type": "_fabtypes.Shape", "uid": 7 } ], "inspector": [ 1636.2732418734831, -764.10769525994124 ], "name": "second_piece", "script": [ "import fab", "", "title('Translate')", "", "input('_x', float)", "input('_y', float)", "input('_z', float)", "input('dx', float)", "input('dy', float)", "input('dz', float)", "", "input('shape', fab.types.Shape)", "output('out', fab.shapes.translate(shape, dx, dy, dz))", "" ], "uid": 33 }, { "datums": [ { "expr": "\u0011[__36.__2]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__37.__4]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('iim-Xf24.6-Yf-24.6-Zf14am__f1iaa-f-2X-Xf0a-f-3.125Y-Yf0ni-*f0-Xf-2*f4-Yf-3.125i-*f-4-Xf2*f-4-Yf-3.125-*f4-Xf-2*f0-Yf-7.125a-f0Z-Zf5m-*f2f0X__m-Xf24.6-Yf-24.6-Zf14am__f1iaa-f-2X-Xf0a-f-3.125Y-Yf0ni-*f0-Xf-2*f4-Yf-3.125i-*f-4-Xf2*f-4-Yf-3.125-*f4-Xf-2*f0-Yf-7.125a-f0Z-Zf5m__-*f2f25.45Zim-Xf24.6-Yf-24.6-Zf14am__f1iaa-f-2X-Xf0a-f-3.125Y-Yf0ni-*f0-Xf-2*f4-Yf-3.125i-*f-4-Xf2*f-4-Yf-3.125-*f4-Xf-2*f0-Yf-7.125a-f0Z-Zf5m-*f2f0X__m-Xf24.6-Yf-24.6-Zf14am__f1iaa-f-2X-Xf0a-f-3.125Y-Yf0ni-*f0-Xf-2*f4-Yf-3.125i-*f-4-Xf2*f-4-Yf-3.125-*f4-Xf-2*f0-Yf-7.125a-f0Z-Zf5',float('-26.600000'),float('-31.725000'),float('14.000000'),float('26.600000'),float('-24.600000'),float('36.900002'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 2339.9039609005522, -590.24926897296314 ], "name": "four_clips0", "script": [ "import fab.types", "", "title('Union')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a | b)", "" ], "uid": 34 }, { "datums": [ { "expr": "0.0", "name": "x0", "type": "float", "uid": 0 }, { "expr": "0.0", "name": "_y", "type": "float", "uid": 1 }, { "expr": "0.0", "name": "_z", "type": "float", "uid": 2 }, { "expr": "\u0011[__33.__7]", "name": "shape", "type": "_fabtypes.Shape", "uid": 3 }, { "expr": "\u0012fab.types.Shape('m-*f2f0X__m-Xf24.6-Yf-24.6-Zf14am__f1iaa-f-2X-Xf0a-f-3.125Y-Yf0ni-*f0-Xf-2*f4-Yf-3.125i-*f-4-Xf2*f-4-Yf-3.125-*f4-Xf-2*f0-Yf-7.125a-f0Z-Zf5',float('-26.600000'),float('-31.725000'),float('14.000000'),float('-22.600000'),float('-24.600000'),float('19.000000'))", "name": "reflected", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 1630.4785156750449, -494.46434497198766 ], "name": "r2", "script": [ "import fab", "", "title('Reflect (X)')", "", "input('x0', float)", "input('_y', float)", "input('_z', float)", "", "input('shape', fab.types.Shape)", "output('reflected', fab.shapes.reflect_x(shape, x0))", "", "" ], "uid": 35 }, { "datums": [ { "expr": "\u0011[__33.__7]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__35.__4]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('im-Xf24.6-Yf-24.6-Zf14am__f1iaa-f-2X-Xf0a-f-3.125Y-Yf0ni-*f0-Xf-2*f4-Yf-3.125i-*f-4-Xf2*f-4-Yf-3.125-*f4-Xf-2*f0-Yf-7.125a-f0Z-Zf5m-*f2f0X__m-Xf24.6-Yf-24.6-Zf14am__f1iaa-f-2X-Xf0a-f-3.125Y-Yf0ni-*f0-Xf-2*f4-Yf-3.125i-*f-4-Xf2*f-4-Yf-3.125-*f4-Xf-2*f0-Yf-7.125a-f0Z-Zf5',float('-26.600000'),float('-31.725000'),float('14.000000'),float('26.600000'),float('-24.600000'),float('19.000000'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 1969.5701473423869, -709.05578141503406 ], "name": "u4", "script": [ "import fab.types", "", "title('Union')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a | b)", "" ], "uid": 36 }, { "datums": [ { "expr": "0.0", "name": "_x", "type": "float", "uid": 0 }, { "expr": "0.0", "name": "_y", "type": "float", "uid": 1 }, { "expr": "(prints.len_extra_piece+prints.dist_sep_pieces+param.thick_len+param.extra_len)/2", "name": "z0", "type": "float", "uid": 2 }, { "expr": "\u0011[__36.__2]", "name": "shape", "type": "_fabtypes.Shape", "uid": 3 }, { "expr": "\u0012fab.types.Shape('m__-*f2f25.45Zim-Xf24.6-Yf-24.6-Zf14am__f1iaa-f-2X-Xf0a-f-3.125Y-Yf0ni-*f0-Xf-2*f4-Yf-3.125i-*f-4-Xf2*f-4-Yf-3.125-*f4-Xf-2*f0-Yf-7.125a-f0Z-Zf5m-*f2f0X__m-Xf24.6-Yf-24.6-Zf14am__f1iaa-f-2X-Xf0a-f-3.125Y-Yf0ni-*f0-Xf-2*f4-Yf-3.125i-*f-4-Xf2*f-4-Yf-3.125-*f4-Xf-2*f0-Yf-7.125a-f0Z-Zf5',float('-26.600000'),float('-31.725000'),float('31.900002'),float('26.600000'),float('-24.600000'),float('36.900002'))", "name": "reflected", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 1964.0377599052672, -558.41773942318082 ], "name": "r3", "script": [ "import fab", "", "title('Reflect (Z)')", "", "input('_x', float)", "input('_y', float)", "input('z0', float)", "", "input('shape', fab.types.Shape)", "output('reflected', fab.shapes.reflect_z(shape, z0))", "", "", "" ], "uid": 37 }, { "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": "-80", "name": "dx", "type": "float", "uid": 3 }, { "expr": "100", "name": "dy", "type": "float", "uid": 4 }, { "expr": "0", "name": "dz", "type": "float", "uid": 5 }, { "expr": "\u0011[__39.__2]", "name": "shape", "type": "_fabtypes.Shape", "uid": 6 }, { "expr": "\u0012fab.types.Shape('m-Xf-80-Yf100-Zf0iaiam__f1-r+qXqYf24.6a-f14Z-Zf36.9am__f1aa-f-24.6X-Xf24.6a-f-24.6Y-Yf0a-f14Z-Zf36.9ni-iiiam__f1-r+qXqYf17.8a-f-17.4Z-Zf0am__f1-r+qXqYf18.6a-f0Z-Zf32.3am__f1-r+qXqYf1.6a-f0Z-Zf53.9am__f1-r+qXqYf6.45a-f0Z-Zf36.9f1iam__f1aa-f-7.45X-Xf7.45a-f-24.6Y-Yf0a-f32.3Z-Zf36.9am__f1aa-f-19.6X-Xf19.6a-f-24.6Y-Yf0a-f14Z-Zf32.3iim-Xf24.6-Yf-24.6-Zf14am__f1iaa-f-2X-Xf0a-f-3.125Y-Yf0ni-*f0-Xf-2*f4-Yf-3.125i-*f-4-Xf2*f-4-Yf-3.125-*f4-Xf-2*f0-Yf-7.125a-f0Z-Zf5m-*f2f0X__m-Xf24.6-Yf-24.6-Zf14am__f1iaa-f-2X-Xf0a-f-3.125Y-Yf0ni-*f0-Xf-2*f4-Yf-3.125i-*f-4-Xf2*f-4-Yf-3.125-*f4-Xf-2*f0-Yf-7.125a-f0Z-Zf5m__-*f2f25.45Zim-Xf24.6-Yf-24.6-Zf14am__f1iaa-f-2X-Xf0a-f-3.125Y-Yf0ni-*f0-Xf-2*f4-Yf-3.125i-*f-4-Xf2*f-4-Yf-3.125-*f4-Xf-2*f0-Yf-7.125a-f0Z-Zf5m-*f2f0X__m-Xf24.6-Yf-24.6-Zf14am__f1iaa-f-2X-Xf0a-f-3.125Y-Yf0ni-*f0-Xf-2*f4-Yf-3.125i-*f-4-Xf2*f-4-Yf-3.125-*f4-Xf-2*f0-Yf-7.125a-f0Z-Zf5',float('-106.599998'),float('68.275002'),float('14.000000'),float('-53.400002'),float('124.599998'),float('36.900002'))", "name": "out", "type": "_fabtypes.Shape", "uid": 7 } ], "inspector": [ 3913.6347574900688, -3408.5169845886858 ], "name": "t2", "script": [ "import fab", "", "title('Translate')", "", "input('_x', float)", "input('_y', float)", "input('_z', float)", "input('dx', float)", "input('dy', float)", "input('dz', float)", "", "input('shape', fab.types.Shape)", "output('out', fab.shapes.translate(shape, dx, dy, dz))", "", "" ], "uid": 38 }, { "datums": [ { "expr": "\u0011[__28.__2]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__34.__2]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('iaiam__f1-r+qXqYf24.6a-f14Z-Zf36.9am__f1aa-f-24.6X-Xf24.6a-f-24.6Y-Yf0a-f14Z-Zf36.9ni-iiiam__f1-r+qXqYf17.8a-f-17.4Z-Zf0am__f1-r+qXqYf18.6a-f0Z-Zf32.3am__f1-r+qXqYf1.6a-f0Z-Zf53.9am__f1-r+qXqYf6.45a-f0Z-Zf36.9f1iam__f1aa-f-7.45X-Xf7.45a-f-24.6Y-Yf0a-f32.3Z-Zf36.9am__f1aa-f-19.6X-Xf19.6a-f-24.6Y-Yf0a-f14Z-Zf32.3iim-Xf24.6-Yf-24.6-Zf14am__f1iaa-f-2X-Xf0a-f-3.125Y-Yf0ni-*f0-Xf-2*f4-Yf-3.125i-*f-4-Xf2*f-4-Yf-3.125-*f4-Xf-2*f0-Yf-7.125a-f0Z-Zf5m-*f2f0X__m-Xf24.6-Yf-24.6-Zf14am__f1iaa-f-2X-Xf0a-f-3.125Y-Yf0ni-*f0-Xf-2*f4-Yf-3.125i-*f-4-Xf2*f-4-Yf-3.125-*f4-Xf-2*f0-Yf-7.125a-f0Z-Zf5m__-*f2f25.45Zim-Xf24.6-Yf-24.6-Zf14am__f1iaa-f-2X-Xf0a-f-3.125Y-Yf0ni-*f0-Xf-2*f4-Yf-3.125i-*f-4-Xf2*f-4-Yf-3.125-*f4-Xf-2*f0-Yf-7.125a-f0Z-Zf5m-*f2f0X__m-Xf24.6-Yf-24.6-Zf14am__f1iaa-f-2X-Xf0a-f-3.125Y-Yf0ni-*f0-Xf-2*f4-Yf-3.125i-*f-4-Xf2*f-4-Yf-3.125-*f4-Xf-2*f0-Yf-7.125a-f0Z-Zf5',float('-26.600000'),float('-31.725000'),float('14.000000'),float('26.600000'),float('24.600000'),float('36.900002'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 3032.3675911655941, -2067.7039778344515 ], "name": "clips_added0", "script": [ "import fab.types", "", "title('Union')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a | b)", "" ], "uid": 39 }, { "datums": [ { "expr": "13.7", "name": "hex_diam", "type": "float", "uid": 5 }, { "expr": "4", "name": "hole_diam", "type": "float", "uid": 1 }, { "expr": "4.6", "name": "hex_depth", "type": "float", "uid": 4 }, { "expr": "0.2", "name": "jam_space", "type": "float", "uid": 0 }, { "expr": "10", "name": "hole_depth", "type": "float", "uid": 2 } ], "inspector": [ -404.92363747306496, 463.18491496471779 ], "name": "wheel", "script": [ "import fab", "", "title('Parameters: Wheels')", "", "input('hex_diam', float)", "input('hole_diam', float)", "input('hex_depth',float)", "input('jam_space',float)", "input('hole_depth', float)", "", "", "", "", "", "", "", "", "", "" ], "uid": 42 }, { "datums": [ { "expr": "24", "name": "diam", "type": "float", "uid": 0 }, { "expr": "2.7", "name": "slat", "type": "float", "uid": 3 }, { "expr": "1.3", "name": "slat_deep", "type": "float", "uid": 1 }, { "expr": "7.9", "name": "rod_diam", "type": "float", "uid": 2 } ], "inspector": [ -405.09068450404743, 654.74856311667565 ], "name": "Pot", "script": [ "import fab", "", "title('Parameters: Potentiometers')", "", "input('diam', float)", "input('slat',float)", "input('slat_deep',float)", "input('rod_diam',float)", "", "", "", "", "", "", "", "", "", "" ], "uid": 43 }, { "datums": [ { "expr": "0", "name": "x", "type": "float", "uid": 0 }, { "expr": "0", "name": "y", "type": "float", "uid": 1 }, { "expr": "6", "name": "N", "type": "int", "uid": 2 }, { "expr": "wheel.hex_diam/2", "name": "r", "type": "float", "uid": 3 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf0-Zf0aaaaam-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0-f-5.93227Ym-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0-f-5.93227Ym-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0-f-5.93227Ym-Xf0-Yf0-Zf0m+*f-1X*f1.22465e-16Y+*f-1.22465e-16X*f-1Y_m-Xf0-Yf0-Zf0-f-5.93227Ym-Xf0-Yf0-Zf0m+*f-0.5X*f-0.866025Y+*f0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0-f-5.93227Ym-Xf0-Yf0-Zf0m+*f0.5X*f-0.866025Y+*f0.866025X*f0.5Y_m-Xf0-Yf0-Zf0-f-5.93227Y',float('-6.850000'),float('-6.850000'),float('-inf'),float('6.850000'),float('6.850000'),float('inf'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 3366.1190235174786, -1485.5317126247087 ], "name": "Hex", "script": [ "# Neil Gershenfeld 2/14/15", "# Matt Keeter 6/12/15", "", "import fab", "import math", "", "title('Polygon')", "", "input('x', float)", "input('y', float)", "input('N', int)", "input('r', float)", "", "output('shape', fab.shapes.move(fab.shapes.polygon_radius(x, y, r, N), x, y))", "", "" ], "uid": 40 }, { "datums": [ { "expr": "0.0", "name": "_x", "type": "float", "uid": 0 }, { "expr": "0.0", "name": "_y", "type": "float", "uid": 1 }, { "expr": "-wheel.hex_depth", "name": "zmin", "type": "float", "uid": 2 }, { "expr": "0", "name": "zmax", "type": "float", "uid": 3 }, { "expr": "\u0011[__40.__4]", "name": "shape", "type": "_fabtypes.Shape", "uid": 4 }, { "expr": "\u0012fab.types.Shape('am__f1m-Xf0-Yf0-Zf0aaaaam-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0-f-5.93227Ym-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0-f-5.93227Ym-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0-f-5.93227Ym-Xf0-Yf0-Zf0m+*f-1X*f1.22465e-16Y+*f-1.22465e-16X*f-1Y_m-Xf0-Yf0-Zf0-f-5.93227Ym-Xf0-Yf0-Zf0m+*f-0.5X*f-0.866025Y+*f0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0-f-5.93227Ym-Xf0-Yf0-Zf0m+*f0.5X*f-0.866025Y+*f0.866025X*f0.5Y_m-Xf0-Yf0-Zf0-f-5.93227Ya-f-4.6Z-Zf0',float('-6.850000'),float('-6.850000'),float('-4.600000'),float('6.850000'),float('6.850000'),float('0.000000'))", "name": "out", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 3725.9732518691858, -1469.6204974312873 ], "name": "e0", "script": [ "import fab", "", "title('Extrude')", "", "input('_x', float)", "input('_y', float)", "input('zmin', float)", "input('zmax', float)", "", "input('shape', fab.types.Shape)", "output('out', fab.shapes.extrude_z(shape, zmin, zmax))", "", "", "" ], "uid": 41 }, { "datums": [ { "expr": "0.0", "name": "x", "type": "float", "uid": 0 }, { "expr": "0.0", "name": "y", "type": "float", "uid": 1 }, { "expr": "0.0", "name": "zmin", "type": "float", "uid": 2 }, { "expr": "param.rod_len*2", "name": "zmax", "type": "float", "uid": 3 }, { "expr": "wheel.hex_diam/2", "name": "hex_rad", "type": "float", "uid": 13 }, { "expr": "\u0012fab.types.Shape('am__f1-r+qXqYf5.93227a-f0Z-Zf34',float('-5.932274'),float('-5.932274'),float('0.000000'),float('5.932274'),float('5.932274'),float('34.000000'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 3361.3161198172197, -1274.1552384114925 ], "name": "connector", "script": [ "import fab", "import math", "", "title('Cylinder (Z)')", "", "input('x', float)", "input('y', float)", "input('zmin', float)", "input('zmax', float)", "input('hex_rad', float)", "", "r = math.cos(math.pi/6) * hex_rad", "", "output('shape', fab.shapes.cylinder(x, y, zmin, zmax, r))", "", "", "" ], "uid": 44 }, { "datums": [ { "expr": "0.0", "name": "x", "type": "float", "uid": 0 }, { "expr": "0.0", "name": "y", "type": "float", "uid": 1 }, { "expr": "param.rod_len", "name": "zmin", "type": "float", "uid": 2 }, { "expr": "param.rod_len*2", "name": "zmax", "type": "float", "uid": 3 }, { "expr": "param.rod_diam/2-wheel.jam_space", "name": "hex_rad", "type": "float", "uid": 13 }, { "expr": "\u0012fab.types.Shape('am__f1-r+qXqYf1.21244a-f17Z-Zf34',float('-1.212436'),float('-1.212436'),float('17.000000'),float('1.212436'),float('1.212436'),float('34.000000'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 3362.7040378811475, -1035.4693176941262 ], "name": "hole", "script": [ "import fab", "import math", "", "title('Cylinder (Z)')", "", "input('x', float)", "input('y', float)", "input('zmin', float)", "input('zmax', float)", "input('hex_rad', float)", "", "r = math.cos(math.pi/6) * hex_rad", "", "output('shape', fab.shapes.cylinder(x, y, zmin, zmax, r))", "", "", "" ], "uid": 45 }, { "datums": [ { "expr": "\u0011[__44.__5]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__45.__5]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('aam__f1-r+qXqYf5.93227a-f0Z-Zf34nam__f1-r+qXqYf1.21244a-f17Z-Zf34',float('-5.932274'),float('-5.932274'),float('0.000000'),float('5.932274'),float('5.932274'),float('34.000000'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 3730.1178300561746, -1098.3155764073661 ], "name": "d0", "script": [ "import fab.types", "", "title('Difference')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a & ~b)", "" ], "uid": 46 }, { "datums": [ { "expr": "0.0", "name": "x", "type": "float", "uid": 0 }, { "expr": "0.0", "name": "y", "type": "float", "uid": 1 }, { "expr": "-wheel.hex_depth-wheel.hole_depth", "name": "zmin", "type": "float", "uid": 2 }, { "expr": "0", "name": "zmax", "type": "float", "uid": 3 }, { "expr": "param.rod_diam/2-wheel.jam_space", "name": "hex_rad", "type": "float", "uid": 13 }, { "expr": "\u0012fab.types.Shape('am__f1-r+qXqYf1.21244a-f-14.6Z-Zf0',float('-1.212436'),float('-1.212436'),float('-14.600000'),float('1.212436'),float('1.212436'),float('0.000000'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 3360.5065419120156, -801.34032926133182 ], "name": "axle", "script": [ "import fab", "import math", "", "title('Cylinder (Z)')", "", "input('x', float)", "input('y', float)", "input('zmin', float)", "input('zmax', float)", "input('hex_rad', float)", "", "r = math.cos(math.pi/6) * hex_rad", "", "output('shape', fab.shapes.cylinder(x, y, zmin, zmax, r))", "", "", "" ], "uid": 47 }, { "datums": [ { "expr": "\u0011[__41.__5]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__46.__2]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0011[__47.__5]", "name": "c", "type": "_fabtypes.Shape", "uid": 4 }, { "expr": "\u0012fab.types.Shape('iiam__f1m-Xf0-Yf0-Zf0aaaaam-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0-f-5.93227Ym-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0-f-5.93227Ym-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0-f-5.93227Ym-Xf0-Yf0-Zf0m+*f-1X*f1.22465e-16Y+*f-1.22465e-16X*f-1Y_m-Xf0-Yf0-Zf0-f-5.93227Ym-Xf0-Yf0-Zf0m+*f-0.5X*f-0.866025Y+*f0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0-f-5.93227Ym-Xf0-Yf0-Zf0m+*f0.5X*f-0.866025Y+*f0.866025X*f0.5Y_m-Xf0-Yf0-Zf0-f-5.93227Ya-f-4.6Z-Zf0aam__f1-r+qXqYf5.93227a-f0Z-Zf34nam__f1-r+qXqYf1.21244a-f17Z-Zf34am__f1-r+qXqYf1.21244a-f-14.6Z-Zf0',float('-6.850000'),float('-6.850000'),float('-14.600000'),float('6.850000'),float('6.850000'),float('34.000000'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 4168.7807546052272, -1059.2372821088691 ], "name": "wheel_axle", "script": [ "import fab.types", "", "title('Union')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "input('c', fab.types.Shape)", "", "output('shape', a | b | c)", "" ], "uid": 48 }, { "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": "0", "name": "dx", "type": "float", "uid": 3 }, { "expr": "80", "name": "dy", "type": "float", "uid": 4 }, { "expr": "0", "name": "dz", "type": "float", "uid": 5 }, { "expr": "\u0011[__48.__2]", "name": "shape", "type": "_fabtypes.Shape", "uid": 6 }, { "expr": "\u0012fab.types.Shape('m-Xf0-Yf80-Zf0iiam__f1m-Xf0-Yf0-Zf0aaaaam-Xf0-Yf0-Zf0m+*f1X*f0Y+*f-0X*f1Y_m-Xf0-Yf0-Zf0-f-5.93227Ym-Xf0-Yf0-Zf0m+*f0.5X*f0.866025Y+*f-0.866025X*f0.5Y_m-Xf0-Yf0-Zf0-f-5.93227Ym-Xf0-Yf0-Zf0m+*f-0.5X*f0.866025Y+*f-0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0-f-5.93227Ym-Xf0-Yf0-Zf0m+*f-1X*f1.22465e-16Y+*f-1.22465e-16X*f-1Y_m-Xf0-Yf0-Zf0-f-5.93227Ym-Xf0-Yf0-Zf0m+*f-0.5X*f-0.866025Y+*f0.866025X*f-0.5Y_m-Xf0-Yf0-Zf0-f-5.93227Ym-Xf0-Yf0-Zf0m+*f0.5X*f-0.866025Y+*f0.866025X*f0.5Y_m-Xf0-Yf0-Zf0-f-5.93227Ya-f-4.6Z-Zf0aam__f1-r+qXqYf5.93227a-f0Z-Zf34nam__f1-r+qXqYf1.21244a-f17Z-Zf34am__f1-r+qXqYf1.21244a-f-14.6Z-Zf0',float('-6.850000'),float('73.150002'),float('-14.600000'),float('6.850000'),float('86.849998'),float('34.000000'))", "name": "out", "type": "_fabtypes.Shape", "uid": 7 } ], "inspector": [ 4569.5177514216493, -1726.8230594856705 ], "name": "t4", "script": [ "import fab", "", "title('Translate')", "", "input('_x', float)", "input('_y', float)", "input('_z', float)", "input('dx', float)", "input('dy', float)", "input('dz', float)", "", "input('shape', fab.types.Shape)", "output('out', fab.shapes.translate(shape, dx, dy, dz))", "", "" ], "uid": 49 }, { "datums": [ { "expr": "-(wheel.hole_diam /2 + prints.min_thick)", "name": "xmin", "type": "float", "uid": 0 }, { "expr": "-(param.thick_diam/2+prints.min_thick)", "name": "ymin", "type": "float", "uid": 1 }, { "expr": "0", "name": "zmin", "type": "float", "uid": 2 }, { "expr": "(wheel.hole_diam /2 + prints.min_thick)", "name": "xmax", "type": "float", "uid": 3 }, { "expr": "0", "name": "ymax", "type": "float", "uid": 4 }, { "expr": "clips.width", "name": "zmax", "type": "float", "uid": 5 }, { "expr": "\u0012fab.types.Shape('am__f1aa-f-8X-Xf8a-f-24.6Y-Yf0a-f0Z-Zf5',float('-8.000000'),float('-24.600000'),float('0.000000'),float('8.000000'),float('0.000000'),float('5.000000'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 6 } ], "inspector": [ 807.18219826870836, 837.26509867831192 ], "name": "c1", "script": [ "import fab", "", "title('Cube (corner)')", "", "input('xmin', float)", "input('ymin', float)", "input('zmin', float)", "input('xmax', float)", "input('ymax', float)", "input('zmax', float)", "", "output('shape', fab.shapes.cube(xmin, xmax, ymin, ymax, zmin, zmax))", "", "" ], "uid": 51 }, { "datums": [ { "expr": "0.0", "name": "x", "type": "float", "uid": 0 }, { "expr": "0.0", "name": "y", "type": "float", "uid": 1 }, { "expr": "0.0", "name": "zmin", "type": "float", "uid": 2 }, { "expr": "clips.width", "name": "zmax", "type": "float", "uid": 3 }, { "expr": "(wheel.hole_diam/2+ prints.min_thick) ", "name": "r", "type": "float", "uid": 4 }, { "expr": "\u0012fab.types.Shape('am__f1-r+qXqYf8a-f0Z-Zf5',float('-8.000000'),float('-8.000000'),float('0.000000'),float('8.000000'),float('8.000000'),float('5.000000'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 805.43444624907579, 601.47118518917887 ], "name": "holder", "script": [ "import fab", "import math", "", "title('Cylinder (Z)')", "", "input('x', float)", "input('y', float)", "input('zmin', float)", "input('zmax', float)", "input('r', float)", "", "output('shape', fab.shapes.cylinder(x, y, zmin, zmax, r))", "", "", "" ], "uid": 50 }, { "datums": [ { "expr": "0.0", "name": "x", "type": "float", "uid": 0 }, { "expr": "0.0", "name": "y", "type": "float", "uid": 1 }, { "expr": "0.0", "name": "zmin", "type": "float", "uid": 2 }, { "expr": "clips.width", "name": "zmax", "type": "float", "uid": 3 }, { "expr": "(wheel.hole_diam ) / 2", "name": "r", "type": "float", "uid": 4 }, { "expr": "\u0012fab.types.Shape('am__f1-r+qXqYf2a-f0Z-Zf5',float('-2.000000'),float('-2.000000'),float('0.000000'),float('2.000000'),float('2.000000'),float('5.000000'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 5 } ], "inspector": [ 1156.9103746798278, 810.66547677378446 ], "name": "hole_holder", "script": [ "import fab", "import math", "", "title('Cylinder (Z)')", "", "input('x', float)", "input('y', float)", "input('zmin', float)", "input('zmax', float)", "input('r', float)", "", "output('shape', fab.shapes.cylinder(x, y, zmin, zmax, r))", "", "", "" ], "uid": 53 }, { "datums": [ { "expr": "\u0011[__50.__5]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__51.__6]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('iam__f1-r+qXqYf8a-f0Z-Zf5am__f1aa-f-8X-Xf8a-f-24.6Y-Yf0a-f0Z-Zf5',float('-8.000000'),float('-24.600000'),float('0.000000'),float('8.000000'),float('8.000000'),float('5.000000'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 1158.5349998144584, 670.97597242010806 ], "name": "u5", "script": [ "import fab.types", "", "title('Union')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a | b)", "" ], "uid": 52 }, { "datums": [ { "expr": "\u0011[__52.__2]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__53.__5]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('aiam__f1-r+qXqYf8a-f0Z-Zf5am__f1aa-f-8X-Xf8a-f-24.6Y-Yf0a-f0Z-Zf5nam__f1-r+qXqYf2a-f0Z-Zf5',float('-8.000000'),float('-24.600000'),float('0.000000'),float('8.000000'),float('8.000000'),float('5.000000'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 1482.3951065404494, 763.12027056808893 ], "name": "d1", "script": [ "import fab.types", "", "title('Difference')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a & ~b)", "" ], "uid": 54 }, { "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": "(wheel.hole_diam /2 + prints.min_thick)", "name": "dx", "type": "float", "uid": 3 }, { "expr": "-(param.thick_diam/2+prints.min_thick)", "name": "dy", "type": "float", "uid": 4 }, { "expr": "0", "name": "dz", "type": "float", "uid": 5 }, { "expr": "\u0011[__17.__5]", "name": "shape", "type": "_fabtypes.Shape", "uid": 6 }, { "expr": "\u0012fab.types.Shape('m-Xf8-Yf-24.6-Zf0am__f1iaa-f-2X-Xf0a-f-3.125Y-Yf0ni-*f0-Xf-2*f4-Yf-3.125i-*f-4-Xf2*f-4-Yf-3.125-*f4-Xf-2*f0-Yf-7.125a-f0Z-Zf5',float('6.000000'),float('-31.725000'),float('0.000000'),float('10.000000'),float('-24.600000'),float('5.000000'))", "name": "out", "type": "_fabtypes.Shape", "uid": 7 } ], "inspector": [ 1144.5440893799819, 170.28427711447526 ], "name": "holder_clips", "script": [ "import fab", "", "title('Translate')", "", "input('_x', float)", "input('_y', float)", "input('_z', float)", "input('dx', float)", "input('dy', float)", "input('dz', float)", "", "input('shape', fab.types.Shape)", "output('out', fab.shapes.translate(shape, dx, dy, dz))", "" ], "uid": 55 }, { "datums": [ { "expr": "0.0", "name": "x0", "type": "float", "uid": 0 }, { "expr": "0.0", "name": "_y", "type": "float", "uid": 1 }, { "expr": "0.0", "name": "_z", "type": "float", "uid": 2 }, { "expr": "\u0011[__55.__7]", "name": "shape", "type": "_fabtypes.Shape", "uid": 3 }, { "expr": "\u0012fab.types.Shape('m-*f2f0X__m-Xf8-Yf-24.6-Zf0am__f1iaa-f-2X-Xf0a-f-3.125Y-Yf0ni-*f0-Xf-2*f4-Yf-3.125i-*f-4-Xf2*f-4-Yf-3.125-*f4-Xf-2*f0-Yf-7.125a-f0Z-Zf5',float('-10.000000'),float('-31.725000'),float('0.000000'),float('-6.000000'),float('-24.600000'),float('5.000000'))", "name": "reflected", "type": "_fabtypes.Shape", "uid": 4 } ], "inspector": [ 1138.7493631815437, 439.92762740242881 ], "name": "r4", "script": [ "import fab", "", "title('Reflect (X)')", "", "input('x0', float)", "input('_y', float)", "input('_z', float)", "", "input('shape', fab.types.Shape)", "output('reflected', fab.shapes.reflect_x(shape, x0))", "", "" ], "uid": 56 }, { "datums": [ { "expr": "\u0011[__55.__7]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__56.__4]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('im-Xf8-Yf-24.6-Zf0am__f1iaa-f-2X-Xf0a-f-3.125Y-Yf0ni-*f0-Xf-2*f4-Yf-3.125i-*f-4-Xf2*f-4-Yf-3.125-*f4-Xf-2*f0-Yf-7.125a-f0Z-Zf5m-*f2f0X__m-Xf8-Yf-24.6-Zf0am__f1iaa-f-2X-Xf0a-f-3.125Y-Yf0ni-*f0-Xf-2*f4-Yf-3.125i-*f-4-Xf2*f-4-Yf-3.125-*f4-Xf-2*f0-Yf-7.125a-f0Z-Zf5',float('-10.000000'),float('-31.725000'),float('0.000000'),float('10.000000'),float('-24.600000'),float('5.000000'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 1473.4109158412857, 367.09871920257524 ], "name": "u6", "script": [ "import fab.types", "", "title('Union')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a | b)", "" ], "uid": 58 }, { "datums": [ { "expr": "\u0011[__58.__2]", "name": "a", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0011[__54.__2]", "name": "b", "type": "_fabtypes.Shape", "uid": 1 }, { "expr": "\u0012fab.types.Shape('iim-Xf8-Yf-24.6-Zf0am__f1iaa-f-2X-Xf0a-f-3.125Y-Yf0ni-*f0-Xf-2*f4-Yf-3.125i-*f-4-Xf2*f-4-Yf-3.125-*f4-Xf-2*f0-Yf-7.125a-f0Z-Zf5m-*f2f0X__m-Xf8-Yf-24.6-Zf0am__f1iaa-f-2X-Xf0a-f-3.125Y-Yf0ni-*f0-Xf-2*f4-Yf-3.125i-*f-4-Xf2*f-4-Yf-3.125-*f4-Xf-2*f0-Yf-7.125a-f0Z-Zf5aiam__f1-r+qXqYf8a-f0Z-Zf5am__f1aa-f-8X-Xf8a-f-24.6Y-Yf0a-f0Z-Zf5nam__f1-r+qXqYf2a-f0Z-Zf5',float('-10.000000'),float('-31.725000'),float('0.000000'),float('10.000000'),float('8.000000'),float('5.000000'))", "name": "shape", "type": "_fabtypes.Shape", "uid": 2 } ], "inspector": [ 1825.45432004231, 586.96928964896381 ], "name": "u7", "script": [ "import fab.types", "", "title('Union')", "input('a', fab.types.Shape)", "input('b', fab.types.Shape)", "", "output('shape', a | b)", "" ], "uid": 57 }, { "datums": [ { "expr": "\u0011[__57.__2]", "name": "shape", "type": "_fabtypes.Shape", "uid": 0 }, { "expr": "\u0012fab.types.Shape('iim-Xf8-Yf-24.6-Zf0am__f1iaa-f-2X-Xf0a-f-3.125Y-Yf0ni-*f0-Xf-2*f4-Yf-3.125i-*f-4-Xf2*f-4-Yf-3.125-*f4-Xf-2*f0-Yf-7.125a-f0Z-Zf5m-*f2f0X__m-Xf8-Yf-24.6-Zf0am__f1iaa-f-2X-Xf0a-f-3.125Y-Yf0ni-*f0-Xf-2*f4-Yf-3.125i-*f-4-Xf2*f-4-Yf-3.125-*f4-Xf-2*f0-Yf-7.125a-f0Z-Zf5aiam__f1-r+qXqYf8a-f0Z-Zf5am__f1aa-f-8X-Xf8a-f-24.6Y-Yf0a-f0Z-Zf5nam__f1-r+qXqYf2a-f0Z-Zf5',float('-10.000000'),float('-31.725000'),float('0.000000'),float('10.000000'),float('8.000000'),float('5.000000'))", "name": "out", "type": "_fabtypes.Shape", "uid": 1 } ], "inspector": [ 2563.3541432224501, 614.68186087477125 ], "name": "m0", "script": [ "import fab", "", "title('Mesh (.stl)')", "", "input('shape', fab.types.Shape)", "output('out', shape)", "", "sb.export.stl(shape)", "" ], "uid": 59 } ], "protocol": 6, "type": "sb" }