{
  "source": "/var/folders/56/8x2brs557_v7kq404r8yxzr80000gn/T/tmp.CsTO5EcMiw/orbit-tower/orbit-tower.assemble",
  "parts": [
    {
      "name": "base",
      "part": "base",
      "material": "printed",
      "mass_g": 8.377,
      "centre_of_mass_mm": [0, 0, 2.908]
    },
    {
      "name": "axle1",
      "part": "axle1",
      "material": "printed",
      "mass_g": 1.7,
      "centre_of_mass_mm": [0, 0, 12.556]
    },
    {
      "name": "rotor1",
      "part": "rotor1",
      "material": "printed",
      "mass_g": 2.291,
      "centre_of_mass_mm": [-2.153, 0, 15.25]
    },
    {
      "name": "satellite1",
      "part": "satellite1",
      "material": "printed",
      "mass_g": 0.638,
      "centre_of_mass_mm": [24, 0, 20.965]
    },
    {
      "name": "axle2",
      "part": "axle2",
      "material": "printed",
      "mass_g": 1.7,
      "centre_of_mass_mm": [0, 0, 27.556]
    },
    {
      "name": "rotor2",
      "part": "rotor2",
      "material": "printed",
      "mass_g": 2.291,
      "centre_of_mass_mm": [-1.077, -1.865, 30.25]
    },
    {
      "name": "satellite2",
      "part": "satellite2",
      "material": "printed",
      "mass_g": 0.638,
      "centre_of_mass_mm": [12, 20.785, 35.965]
    },
    {
      "name": "axle3",
      "part": "axle3",
      "material": "printed",
      "mass_g": 1.7,
      "centre_of_mass_mm": [0, 0, 42.556]
    },
    {
      "name": "rotor3",
      "part": "rotor3",
      "material": "printed",
      "mass_g": 2.291,
      "centre_of_mass_mm": [1.077, -1.865, 45.25]
    },
    {
      "name": "satellite3",
      "part": "satellite3",
      "material": "printed",
      "mass_g": 0.638,
      "centre_of_mass_mm": [-12, 20.785, 50.965]
    },
    {
      "name": "axle4",
      "part": "axle4",
      "material": "printed",
      "mass_g": 1.7,
      "centre_of_mass_mm": [0, 0, 57.556]
    },
    {
      "name": "rotor4",
      "part": "rotor4",
      "material": "printed",
      "mass_g": 2.291,
      "centre_of_mass_mm": [2.153, 0, 60.25]
    },
    {
      "name": "satellite4",
      "part": "satellite4",
      "material": "printed",
      "mass_g": 0.638,
      "centre_of_mass_mm": [-24, 0, 65.965]
    },
    {
      "name": "axle5",
      "part": "axle5",
      "material": "printed",
      "mass_g": 1.7,
      "centre_of_mass_mm": [0, 0, 72.556]
    },
    {
      "name": "rotor5",
      "part": "rotor5",
      "material": "printed",
      "mass_g": 2.291,
      "centre_of_mass_mm": [1.077, 1.865, 75.25]
    },
    {
      "name": "satellite5",
      "part": "satellite5",
      "material": "printed",
      "mass_g": 0.638,
      "centre_of_mass_mm": [-12, -20.785, 80.965]
    },
    {
      "name": "axle6",
      "part": "axle6",
      "material": "printed",
      "mass_g": 1.7,
      "centre_of_mass_mm": [0, 0, 87.556]
    },
    {
      "name": "rotor6",
      "part": "rotor6",
      "material": "printed",
      "mass_g": 2.291,
      "centre_of_mass_mm": [-1.077, 1.865, 90.25]
    },
    {
      "name": "satellite6",
      "part": "satellite6",
      "material": "printed",
      "mass_g": 0.638,
      "centre_of_mass_mm": [12, -20.785, 95.965]
    },
    {
      "name": "cap",
      "part": "cap",
      "material": "printed",
      "mass_g": 1.37,
      "centre_of_mass_mm": [0, 0, 100.766]
    }
  ],
  "design_errors": [],
  "weights": {
    "driver": 3,
    "fastener": 0,
    "finger": 2,
    "flip": 10,
    "hand": 20,
    "insert": 0.5,
    "loose": 1,
    "nut": 0,
    "part": 0,
    "shrink": 2,
    "sibling": 1,
    "turn": 0.3,
    "vertical": 6
  },
  "cost": 57.014,
  "steps": [
    {
      "step": 1,
      "rest": "bottom (-Z) face",
      "flip": false,
      "parts": ["base", "axle1"],
      "preload": [],
      "fasteners": [
        {
          "spec": "peg",
          "head": "peg",
          "nut": "none",
          "clamped": "axle1",
          "host": "base",
          "face": "top",
          "position_mm": [0, 0, 11],
          "axis": [0, 0, 1],
          "head_position_mm": [0, 0, 26],
          "thread_reach_mm": 0,
          "inset_mm": 0,
          "at_mm": 29,
          "torque_nm": 0,
          "joint": "peg"
        }
      ],
      "warnings": [],
      "entries": [
        {
          "part": "base",
          "leaves_along": [0, 0, 1]
        },
        {
          "part": "axle1",
          "leaves_along": [0, 0, 1]
        }
      ],
      "terms": {
        "fastener": 1,
        "insert": 5.672,
        "part": 2
      },
      "cost": 2.836
    },
    {
      "step": 2,
      "rest": "bottom (-Z) face",
      "flip": false,
      "parts": ["rotor1"],
      "preload": [],
      "fasteners": [
        {
          "spec": "peg",
          "head": "peg",
          "nut": "none",
          "clamped": "rotor1",
          "host": "axle1",
          "face": "top",
          "position_mm": [0, 0, 13],
          "axis": [0, 0, 1],
          "head_position_mm": [0, 0, 17.5],
          "thread_reach_mm": 0,
          "inset_mm": 13,
          "at_mm": 9,
          "torque_nm": 0,
          "joint": "peg"
        }
      ],
      "warnings": [],
      "entries": [
        {
          "part": "rotor1",
          "leaves_along": [0, 0, 1]
        }
      ],
      "terms": {
        "fastener": 1,
        "finger": 2.2e-2,
        "insert": 7.033,
        "part": 1
      },
      "cost": 3.56
    },
    {
      "step": 3,
      "rest": "bottom (-Z) face",
      "flip": false,
      "parts": ["satellite1"],
      "preload": [],
      "fasteners": [
        {
          "spec": "peg",
          "head": "peg",
          "nut": "none",
          "clamped": "satellite1",
          "host": "rotor1",
          "face": "top",
          "position_mm": [23.25, 0, 17.5],
          "axis": [0, 0, 1],
          "head_position_mm": [23.25, 0, 24.5],
          "thread_reach_mm": 0,
          "inset_mm": 0,
          "at_mm": 53.25,
          "torque_nm": 0,
          "joint": "peg"
        }
      ],
      "warnings": [],
      "entries": [
        {
          "part": "satellite1",
          "leaves_along": [0, 0, 1]
        }
      ],
      "terms": {
        "fastener": 1,
        "insert": 5.285,
        "part": 1
      },
      "cost": 2.643
    },
    {
      "step": 4,
      "rest": "bottom (-Z) face",
      "flip": false,
      "parts": ["axle2"],
      "preload": [],
      "fasteners": [
        {
          "spec": "peg",
          "head": "peg",
          "nut": "none",
          "clamped": "axle2",
          "host": "axle1",
          "face": "top",
          "position_mm": [0, 0, 26],
          "axis": [0, 0, 1],
          "head_position_mm": [0, 0, 41],
          "thread_reach_mm": 0,
          "inset_mm": 0,
          "at_mm": 9,
          "torque_nm": 0,
          "joint": "peg"
        }
      ],
      "warnings": [],
      "entries": [
        {
          "part": "axle2",
          "leaves_along": [0, 0, 1]
        }
      ],
      "terms": {
        "fastener": 1,
        "insert": 5.672,
        "part": 1
      },
      "cost": 2.836
    },
    {
      "step": 5,
      "rest": "bottom (-Z) face",
      "flip": false,
      "parts": ["rotor2"],
      "preload": [],
      "fasteners": [
        {
          "spec": "peg",
          "head": "peg",
          "nut": "none",
          "clamped": "rotor2",
          "host": "axle2",
          "face": "top",
          "position_mm": [0, 0, 28],
          "axis": [0, 0, 1],
          "head_position_mm": [0, 0, 32.5],
          "thread_reach_mm": 0,
          "inset_mm": 13,
          "at_mm": 9,
          "torque_nm": 0,
          "joint": "peg"
        }
      ],
      "warnings": [],
      "entries": [
        {
          "part": "rotor2",
          "leaves_along": [0, 0, 1]
        }
      ],
      "terms": {
        "fastener": 1,
        "finger": 1.5e-2,
        "insert": 7.033,
        "part": 1
      },
      "cost": 3.546
    },
    {
      "step": 6,
      "rest": "bottom (-Z) face",
      "flip": false,
      "parts": ["satellite2"],
      "preload": [],
      "fasteners": [
        {
          "spec": "peg",
          "head": "peg",
          "nut": "none",
          "clamped": "satellite2",
          "host": "rotor2",
          "face": "top",
          "position_mm": [12, 20.785, 32.5],
          "axis": [0, 0, 1],
          "head_position_mm": [12, 20.785, 39.5],
          "thread_reach_mm": 0,
          "inset_mm": 0,
          "at_mm": 52.015,
          "torque_nm": 0,
          "joint": "peg"
        }
      ],
      "warnings": [],
      "entries": [
        {
          "part": "satellite2",
          "leaves_along": [0, 0, 1]
        }
      ],
      "terms": {
        "fastener": 1,
        "insert": 5.285,
        "part": 1
      },
      "cost": 2.643
    },
    {
      "step": 7,
      "rest": "bottom (-Z) face",
      "flip": false,
      "parts": ["axle3"],
      "preload": [],
      "fasteners": [
        {
          "spec": "peg",
          "head": "peg",
          "nut": "none",
          "clamped": "axle3",
          "host": "axle2",
          "face": "top",
          "position_mm": [0, 0, 41],
          "axis": [0, 0, 1],
          "head_position_mm": [0, 0, 56],
          "thread_reach_mm": 0,
          "inset_mm": 0,
          "at_mm": 9,
          "torque_nm": 0,
          "joint": "peg"
        }
      ],
      "warnings": [],
      "entries": [
        {
          "part": "axle3",
          "leaves_along": [0, 0, 1]
        }
      ],
      "terms": {
        "fastener": 1,
        "insert": 5.672,
        "part": 1
      },
      "cost": 2.836
    },
    {
      "step": 8,
      "rest": "bottom (-Z) face",
      "flip": false,
      "parts": ["rotor3"],
      "preload": [],
      "fasteners": [
        {
          "spec": "peg",
          "head": "peg",
          "nut": "none",
          "clamped": "rotor3",
          "host": "axle3",
          "face": "top",
          "position_mm": [0, 0, 43],
          "axis": [0, 0, 1],
          "head_position_mm": [0, 0, 47.5],
          "thread_reach_mm": 0,
          "inset_mm": 13,
          "at_mm": 9,
          "torque_nm": 0,
          "joint": "peg"
        }
      ],
      "warnings": [],
      "entries": [
        {
          "part": "rotor3",
          "leaves_along": [0, 0, 1]
        }
      ],
      "terms": {
        "fastener": 1,
        "finger": 1.5e-2,
        "insert": 7.033,
        "part": 1
      },
      "cost": 3.546
    },
    {
      "step": 9,
      "rest": "bottom (-Z) face",
      "flip": false,
      "parts": ["satellite3"],
      "preload": [],
      "fasteners": [
        {
          "spec": "peg",
          "head": "peg",
          "nut": "none",
          "clamped": "satellite3",
          "host": "rotor3",
          "face": "top",
          "position_mm": [-12, 20.785, 47.5],
          "axis": [0, 0, 1],
          "head_position_mm": [-12, 20.785, 54.5],
          "thread_reach_mm": 0,
          "inset_mm": 0,
          "at_mm": 52.015,
          "torque_nm": 0,
          "joint": "peg"
        }
      ],
      "warnings": [],
      "entries": [
        {
          "part": "satellite3",
          "leaves_along": [0, 0, 1]
        }
      ],
      "terms": {
        "fastener": 1,
        "insert": 5.285,
        "part": 1
      },
      "cost": 2.643
    },
    {
      "step": 10,
      "rest": "bottom (-Z) face",
      "flip": false,
      "parts": ["axle4"],
      "preload": [],
      "fasteners": [
        {
          "spec": "peg",
          "head": "peg",
          "nut": "none",
          "clamped": "axle4",
          "host": "axle3",
          "face": "top",
          "position_mm": [0, 0, 56],
          "axis": [0, 0, 1],
          "head_position_mm": [0, 0, 71],
          "thread_reach_mm": 0,
          "inset_mm": 0,
          "at_mm": 9,
          "torque_nm": 0,
          "joint": "peg"
        }
      ],
      "warnings": [],
      "entries": [
        {
          "part": "axle4",
          "leaves_along": [0, 0, 1]
        }
      ],
      "terms": {
        "fastener": 1,
        "insert": 5.672,
        "part": 1
      },
      "cost": 2.836
    },
    {
      "step": 11,
      "rest": "bottom (-Z) face",
      "flip": false,
      "parts": ["rotor4"],
      "preload": [],
      "fasteners": [
        {
          "spec": "peg",
          "head": "peg",
          "nut": "none",
          "clamped": "rotor4",
          "host": "axle4",
          "face": "top",
          "position_mm": [0, 0, 58],
          "axis": [0, 0, 1],
          "head_position_mm": [0, 0, 62.5],
          "thread_reach_mm": 0,
          "inset_mm": 13,
          "at_mm": 9,
          "torque_nm": 0,
          "joint": "peg"
        }
      ],
      "warnings": [],
      "entries": [
        {
          "part": "rotor4",
          "leaves_along": [0, 0, 1]
        }
      ],
      "terms": {
        "fastener": 1,
        "finger": 2.2e-2,
        "insert": 7.033,
        "part": 1
      },
      "cost": 3.56
    },
    {
      "step": 12,
      "rest": "bottom (-Z) face",
      "flip": false,
      "parts": ["satellite4"],
      "preload": [],
      "fasteners": [
        {
          "spec": "peg",
          "head": "peg",
          "nut": "none",
          "clamped": "satellite4",
          "host": "rotor4",
          "face": "top",
          "position_mm": [-23.25, 0, 62.5],
          "axis": [0, 0, 1],
          "head_position_mm": [-23.25, 0, 69.5],
          "thread_reach_mm": 0,
          "inset_mm": 0,
          "at_mm": 5.75,
          "torque_nm": 0,
          "joint": "peg"
        }
      ],
      "warnings": [],
      "entries": [
        {
          "part": "satellite4",
          "leaves_along": [0, 0, 1]
        }
      ],
      "terms": {
        "fastener": 1,
        "insert": 5.285,
        "part": 1
      },
      "cost": 2.643
    },
    {
      "step": 13,
      "rest": "bottom (-Z) face",
      "flip": false,
      "parts": ["axle5"],
      "preload": [],
      "fasteners": [
        {
          "spec": "peg",
          "head": "peg",
          "nut": "none",
          "clamped": "axle5",
          "host": "axle4",
          "face": "top",
          "position_mm": [0, 0, 71],
          "axis": [0, 0, 1],
          "head_position_mm": [0, 0, 86],
          "thread_reach_mm": 0,
          "inset_mm": 0,
          "at_mm": 9,
          "torque_nm": 0,
          "joint": "peg"
        }
      ],
      "warnings": [],
      "entries": [
        {
          "part": "axle5",
          "leaves_along": [0, 0, 1]
        }
      ],
      "terms": {
        "fastener": 1,
        "insert": 5.672,
        "part": 1
      },
      "cost": 2.836
    },
    {
      "step": 14,
      "rest": "bottom (-Z) face",
      "flip": false,
      "parts": ["rotor5"],
      "preload": [],
      "fasteners": [
        {
          "spec": "peg",
          "head": "peg",
          "nut": "none",
          "clamped": "rotor5",
          "host": "axle5",
          "face": "top",
          "position_mm": [0, 0, 73],
          "axis": [0, 0, 1],
          "head_position_mm": [0, 0, 77.5],
          "thread_reach_mm": 0,
          "inset_mm": 13,
          "at_mm": 9,
          "torque_nm": 0,
          "joint": "peg"
        }
      ],
      "warnings": [],
      "entries": [
        {
          "part": "rotor5",
          "leaves_along": [0, 0, 1]
        }
      ],
      "terms": {
        "fastener": 1,
        "finger": 1.5e-2,
        "insert": 7.033,
        "part": 1
      },
      "cost": 3.546
    },
    {
      "step": 15,
      "rest": "bottom (-Z) face",
      "flip": false,
      "parts": ["satellite5"],
      "preload": [],
      "fasteners": [
        {
          "spec": "peg",
          "head": "peg",
          "nut": "none",
          "clamped": "satellite5",
          "host": "rotor5",
          "face": "top",
          "position_mm": [-12, -20.785, 77.5],
          "axis": [0, 0, 1],
          "head_position_mm": [-12, -20.785, 84.5],
          "thread_reach_mm": 0,
          "inset_mm": 0,
          "at_mm": 9.58,
          "torque_nm": 0,
          "joint": "peg"
        }
      ],
      "warnings": [],
      "entries": [
        {
          "part": "satellite5",
          "leaves_along": [0, 0, 1]
        }
      ],
      "terms": {
        "fastener": 1,
        "insert": 5.285,
        "part": 1
      },
      "cost": 2.643
    },
    {
      "step": 16,
      "rest": "bottom (-Z) face",
      "flip": false,
      "parts": ["axle6"],
      "preload": [],
      "fasteners": [
        {
          "spec": "peg",
          "head": "peg",
          "nut": "none",
          "clamped": "axle6",
          "host": "axle5",
          "face": "top",
          "position_mm": [0, 0, 86],
          "axis": [0, 0, 1],
          "head_position_mm": [0, 0, 101],
          "thread_reach_mm": 0,
          "inset_mm": 0,
          "at_mm": 9,
          "torque_nm": 0,
          "joint": "peg"
        }
      ],
      "warnings": [],
      "entries": [
        {
          "part": "axle6",
          "leaves_along": [0, 0, 1]
        }
      ],
      "terms": {
        "fastener": 1,
        "insert": 5.672,
        "part": 1
      },
      "cost": 2.836
    },
    {
      "step": 17,
      "rest": "bottom (-Z) face",
      "flip": false,
      "parts": ["rotor6"],
      "preload": [],
      "fasteners": [
        {
          "spec": "peg",
          "head": "peg",
          "nut": "none",
          "clamped": "rotor6",
          "host": "axle6",
          "face": "top",
          "position_mm": [0, 0, 88],
          "axis": [0, 0, 1],
          "head_position_mm": [0, 0, 92.5],
          "thread_reach_mm": 0,
          "inset_mm": 13,
          "at_mm": 9,
          "torque_nm": 0,
          "joint": "peg"
        }
      ],
      "warnings": [],
      "entries": [
        {
          "part": "rotor6",
          "leaves_along": [0, 0, 1]
        }
      ],
      "terms": {
        "fastener": 1,
        "finger": 1.5e-2,
        "insert": 7.033,
        "part": 1
      },
      "cost": 3.546
    },
    {
      "step": 18,
      "rest": "bottom (-Z) face",
      "flip": false,
      "parts": ["satellite6"],
      "preload": [],
      "fasteners": [
        {
          "spec": "peg",
          "head": "peg",
          "nut": "none",
          "clamped": "satellite6",
          "host": "rotor6",
          "face": "top",
          "position_mm": [12, -20.785, 92.5],
          "axis": [0, 0, 1],
          "head_position_mm": [12, -20.785, 99.5],
          "thread_reach_mm": 0,
          "inset_mm": 0,
          "at_mm": 9.58,
          "torque_nm": 0,
          "joint": "peg"
        }
      ],
      "warnings": [],
      "entries": [
        {
          "part": "satellite6",
          "leaves_along": [0, 0, 1]
        }
      ],
      "terms": {
        "fastener": 1,
        "insert": 5.285,
        "part": 1
      },
      "cost": 2.643
    },
    {
      "step": 19,
      "rest": "bottom (-Z) face",
      "flip": false,
      "parts": ["cap"],
      "preload": [],
      "fasteners": [
        {
          "spec": "peg",
          "head": "peg",
          "nut": "none",
          "clamped": "cap",
          "host": "axle6",
          "face": "top",
          "position_mm": [0, 0, 101],
          "axis": [0, 0, 1],
          "head_position_mm": [0, 0, 107],
          "thread_reach_mm": 0,
          "inset_mm": 0,
          "at_mm": 9,
          "torque_nm": 0,
          "joint": "peg"
        }
      ],
      "warnings": [],
      "entries": [
        {
          "part": "cap",
          "leaves_along": [0, 0, 1]
        }
      ],
      "terms": {
        "fastener": 1,
        "insert": 5.672,
        "part": 1
      },
      "cost": 2.836
    }
  ]
}
