{
  "version": "0.1",
  "nodes": {
    "1": {
      "id": 1,
      "name": "cube_60x60x10_primitive",
      "op": {
        "type": "Cube",
        "size": {
          "x": 60,
          "y": 60,
          "z": 10
        }
      }
    },
    "2": {
      "id": 2,
      "name": "hole_cyl_r2.5_h20_primitive",
      "op": {
        "type": "Cylinder",
        "radius": 2.5,
        "height": 20,
        "segments": 32
      }
    },
    "3": {
      "id": 3,
      "name": "hole_t_0deg",
      "op": {
        "type": "Translate",
        "child": 2,
        "offset": {
          "x": 20,
          "y": 0,
          "z": 0
        }
      }
    },
    "4": {
      "id": 4,
      "name": "hole_t_45deg",
      "op": {
        "type": "Translate",
        "child": 2,
        "offset": {
          "x": 14.142135623730951,
          "y": 14.142135623730951,
          "z": 0
        }
      }
    },
    "5": {
      "id": 5,
      "name": "hole_t_90deg",
      "op": {
        "type": "Translate",
        "child": 2,
        "offset": {
          "x": 0,
          "y": 20,
          "z": 0
        }
      }
    },
    "6": {
      "id": 6,
      "name": "hole_t_135deg",
      "op": {
        "type": "Translate",
        "child": 2,
        "offset": {
          "x": -14.142135623730951,
          "y": 14.142135623730951,
          "z": 0
        }
      }
    },
    "7": {
      "id": 7,
      "name": "hole_t_180deg",
      "op": {
        "type": "Translate",
        "child": 2,
        "offset": {
          "x": -20,
          "y": 0,
          "z": 0
        }
      }
    },
    "8": {
      "id": 8,
      "name": "hole_t_225deg",
      "op": {
        "type": "Translate",
        "child": 2,
        "offset": {
          "x": -14.142135623730951,
          "y": -14.142135623730951,
          "z": 0
        }
      }
    },
    "9": {
      "id": 9,
      "name": "hole_t_270deg",
      "op": {
        "type": "Translate",
        "child": 2,
        "offset": {
          "x": 0,
          "y": -20,
          "z": 0
        }
      }
    },
    "10": {
      "id": 10,
      "name": "hole_t_315deg",
      "op": {
        "type": "Translate",
        "child": 2,
        "offset": {
          "x": 14.142135623730951,
          "y": -14.142135623730951,
          "z": 0
        }
      }
    },
    "11": {
      "id": 11,
      "name": "holes_union_1",
      "op": {
        "type": "Union",
        "left": 3,
        "right": 4
      }
    },
    "12": {
      "id": 12,
      "name": "holes_union_2",
      "op": {
        "type": "Union",
        "left": 11,
        "right": 5
      }
    },
    "13": {
      "id": 13,
      "name": "holes_union_3",
      "op": {
        "type": "Union",
        "left": 12,
        "right": 6
      }
    },
    "14": {
      "id": 14,
      "name": "holes_union_4",
      "op": {
        "type": "Union",
        "left": 13,
        "right": 7
      }
    },
    "15": {
      "id": 15,
      "name": "holes_union_5",
      "op": {
        "type": "Union",
        "left": 14,
        "right": 8
      }
    },
    "16": {
      "id": 16,
      "name": "holes_union_6",
      "op": {
        "type": "Union",
        "left": 15,
        "right": 9
      }
    },
    "17": {
      "id": 17,
      "name": "holes_union_all",
      "op": {
        "type": "Union",
        "left": 16,
        "right": 10
      }
    },
    "18": {
      "id": 18,
      "name": "block_centered_in_xy",
      "op": {
        "type": "Translate",
        "child": 1,
        "offset": {
          "x": -30,
          "y": -30,
          "z": 0
        }
      }
    },
    "19": {
      "id": 19,
      "name": "block_with_8_holes",
      "op": {
        "type": "Difference",
        "left": 18,
        "right": 17
      }
    }
  },
  "materials": {},
  "part_materials": {},
  "roots": [
    {
      "root": 19,
      "material": "default"
    }
  ]
}