{
  "version": "0.1",
  "nodes": {
    "1": { "id": 1, "name": "cube_lx_200_40_8", "op": { "type": "Cube", "size": { "x": 200, "y": 40, "z": 8 } } },
    "2": { "id": 2, "name": "slab_x_centered", "op": { "type": "Translate", "child": 1, "offset": { "x": -100, "y": -20, "z": 0 } } },

    "3": { "id": 3, "name": "cube_ly_40_200_8", "op": { "type": "Cube", "size": { "x": 40, "y": 200, "z": 8 } } },
    "4": { "id": 4, "name": "slab_y_centered", "op": { "type": "Translate", "child": 3, "offset": { "x": -20, "y": -100, "z": 0 } } },

    "5": { "id": 5, "name": "cube_diag_base_200_40_8", "op": { "type": "Cube", "size": { "x": 200, "y": 40, "z": 8 } } },
    "6": { "id": 6, "name": "slab_diag_base_centered", "op": { "type": "Translate", "child": 5, "offset": { "x": -100, "y": -20, "z": 0 } } },
    "7": { "id": 7, "name": "slab_diag_pos45", "op": { "type": "Rotate", "child": 6, "angles": { "x": 0, "y": 0, "z": 45 } } },
    "8": { "id": 8, "name": "slab_diag_neg45", "op": { "type": "Rotate", "child": 6, "angles": { "x": 0, "y": 0, "z": -45 } } },

    "9": { "id": 9, "name": "inter_xy", "op": { "type": "Intersection", "left": 2, "right": 4 } },
    "10": { "id": 10, "name": "inter_diags", "op": { "type": "Intersection", "left": 7, "right": 8 } },
    "11": { "id": 11, "name": "octagon_body", "op": { "type": "Intersection", "left": 9, "right": 10 } },

    "20": { "id": 20, "name": "hole_cylinder_r2p5_h8", "op": { "type": "Cylinder", "radius": 2.5, "height": 8, "segments": 32 } },
    "21": { "id": 21, "name": "hole_0deg", "op": { "type": "Translate", "child": 20, "offset": { "x": 15, "y": 0, "z": 0 } } },
    "22": { "id": 22, "name": "hole_45deg", "op": { "type": "Translate", "child": 20, "offset": { "x": 10.6066017178, "y": 10.6066017178, "z": 0 } } },
    "23": { "id": 23, "name": "hole_90deg", "op": { "type": "Translate", "child": 20, "offset": { "x": 0, "y": 15, "z": 0 } } },
    "24": { "id": 24, "name": "hole_135deg", "op": { "type": "Translate", "child": 20, "offset": { "x": -10.6066017178, "y": 10.6066017178, "z": 0 } } },
    "25": { "id": 25, "name": "hole_180deg", "op": { "type": "Translate", "child": 20, "offset": { "x": -15, "y": 0, "z": 0 } } },
    "26": { "id": 26, "name": "hole_225deg", "op": { "type": "Translate", "child": 20, "offset": { "x": -10.6066017178, "y": -10.6066017178, "z": 0 } } },
    "27": { "id": 27, "name": "hole_270deg", "op": { "type": "Translate", "child": 20, "offset": { "x": 0, "y": -15, "z": 0 } } },
    "28": { "id": 28, "name": "hole_315deg", "op": { "type": "Translate", "child": 20, "offset": { "x": 10.6066017178, "y": -10.6066017178, "z": 0 } } },

    "30": { "id": 30, "name": "u_holes_21_22", "op": { "type": "Union", "left": 21, "right": 22 } },
    "31": { "id": 31, "name": "u_holes_23_24", "op": { "type": "Union", "left": 23, "right": 24 } },
    "32": { "id": 32, "name": "u_holes_25_26", "op": { "type": "Union", "left": 25, "right": 26 } },
    "33": { "id": 33, "name": "u_holes_27_28", "op": { "type": "Union", "left": 27, "right": 28 } },
    "34": { "id": 34, "name": "u_holes_a", "op": { "type": "Union", "left": 30, "right": 31 } },
    "35": { "id": 35, "name": "u_holes_b", "op": { "type": "Union", "left": 32, "right": 33 } },
    "36": { "id": 36, "name": "u_holes_all", "op": { "type": "Union", "left": 34, "right": 35 } },

    "40": { "id": 40, "name": "octagon_with_holes", "op": { "type": "Difference", "left": 11, "right": 36 } }
  },
  "materials": {},
  "part_materials": {},
  "roots": [
    { "root": 40, "material": "default" }
  ]
}