{
  "version": "0.1",
  "nodes": {
    "1": {"id": 1, "name": "cube_body", "op": {"type": "Cube", "size": {"x": 30, "y": 30, "z": 30}}},
    "2": {"id": 2, "name": "cube_centered", "op": {"type": "Translate", "child": 1, "offset": {"x": -15, "y": -15, "z": 0}}},

    "10": {"id": 10, "name": "hole_cyl_00", "op": {"type": "Cylinder", "radius": 1.5, "height": 30, "segments": 32}},
    "11": {"id": 11, "name": "hole_00", "op": {"type": "Translate", "child": 10, "offset": {"x": -8, "y": -8, "z": 0}}},

    "20": {"id": 20, "name": "hole_cyl_10", "op": {"type": "Cylinder", "radius": 1.5, "height": 30, "segments": 32}},
    "21": {"id": 21, "name": "hole_10", "op": {"type": "Translate", "child": 20, "offset": {"x": 0, "y": -8, "z": 0}}},

    "30": {"id": 30, "name": "hole_cyl_20", "op": {"type": "Cylinder", "radius": 1.5, "height": 30, "segments": 32}},
    "31": {"id": 31, "name": "hole_20", "op": {"type": "Translate", "child": 30, "offset": {"x": 8, "y": -8, "z": 0}}},

    "40": {"id": 40, "name": "hole_cyl_01", "op": {"type": "Cylinder", "radius": 1.5, "height": 30, "segments": 32}},
    "41": {"id": 41, "name": "hole_01", "op": {"type": "Translate", "child": 40, "offset": {"x": -8, "y": 0, "z": 0}}},

    "50": {"id": 50, "name": "hole_cyl_11", "op": {"type": "Cylinder", "radius": 1.5, "height": 30, "segments": 32}},
    "51": {"id": 51, "name": "hole_11", "op": {"type": "Translate", "child": 50, "offset": {"x": 0, "y": 0, "z": 0}}},

    "60": {"id": 60, "name": "hole_cyl_21", "op": {"type": "Cylinder", "radius": 1.5, "height": 30, "segments": 32}},
    "61": {"id": 61, "name": "hole_21", "op": {"type": "Translate", "child": 60, "offset": {"x": 8, "y": 0, "z": 0}}},

    "70": {"id": 70, "name": "hole_cyl_02", "op": {"type": "Cylinder", "radius": 1.5, "height": 30, "segments": 32}},
    "71": {"id": 71, "name": "hole_02", "op": {"type": "Translate", "child": 70, "offset": {"x": -8, "y": 8, "z": 0}}},

    "80": {"id": 80, "name": "hole_cyl_12", "op": {"type": "Cylinder", "radius": 1.5, "height": 30, "segments": 32}},
    "81": {"id": 81, "name": "hole_12", "op": {"type": "Translate", "child": 80, "offset": {"x": 0, "y": 8, "z": 0}}},

    "90": {"id": 90, "name": "hole_cyl_22", "op": {"type": "Cylinder", "radius": 1.5, "height": 30, "segments": 32}},
    "91": {"id": 91, "name": "hole_22", "op": {"type": "Translate", "child": 90, "offset": {"x": 8, "y": 8, "z": 0}}},

    "100": {"id": 100, "name": "union_holes_01", "op": {"type": "Union", "left": 11, "right": 21}},
    "101": {"id": 101, "name": "union_holes_02", "op": {"type": "Union", "left": 100, "right": 31}},
    "102": {"id": 102, "name": "union_holes_03", "op": {"type": "Union", "left": 101, "right": 41}},
    "103": {"id": 103, "name": "union_holes_04", "op": {"type": "Union", "left": 102, "right": 51}},
    "104": {"id": 104, "name": "union_holes_05", "op": {"type": "Union", "left": 103, "right": 61}},
    "105": {"id": 105, "name": "union_holes_06", "op": {"type": "Union", "left": 104, "right": 71}},
    "106": {"id": 106, "name": "union_holes_07", "op": {"type": "Union", "left": 105, "right": 81}},
    "107": {"id": 107, "name": "union_holes_08", "op": {"type": "Union", "left": 106, "right": 91}},

    "200": {"id": 200, "name": "result", "op": {"type": "Difference", "left": 2, "right": 107}}
  },
  "materials": {},
  "part_materials": {},
  "roots": [{"root": 200, "material": "default"}]
}