Script: 3D hexagons on curved face

3D hexagons on curved face picture
Type
Rete logo indicatorrete
Date Created
May 9, 2025, 8:43:55 AM
Last Edit Date
Aug 5, 2025, 10:38:31 AM

Project Information

To demonstrate the algorithms of hexagon grid generation we made this script

View Full Project

Script Code

{
  "id": "rete-v2-json",
  "nodes": {
    "2603321af859291c": {
      "id": "2603321af859291c",
      "name": "bitbybit.occt.shapes.wire.interpolatePoints",
      "customName": "interpolate",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "periodic": false,
        "tolerance": 1e-7
      },
      "inputs": {
        "points": {
          "connections": [
            {
              "node": "f44e03d70f4c20f8",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        -1037.6489117861283,
        2587.3744834457284
      ]
    },
    "f44e03d70f4c20f8": {
      "id": "f44e03d70f4c20f8",
      "name": "bitbybit.code.jsonEditor",
      "customName": "json editor",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": true
        },
        "code": {
          "code": "[\n    [\n        -32,\n        0,\n        10\n    ],\n    [\n        -15,\n        0,\n        10\n    ],\n    [\n        0,\n        0,\n        10\n    ],\n    [\n        32,\n        0,\n        10\n    ]\n]"
        }
      },
      "inputs": {},
      "position": [
        -1957.3018832155635,
        2714.455358485006
      ]
    },
    "56699746c41068da": {
      "id": "56699746c41068da",
      "name": "bitbybit.occt.shapes.wire.divideWireByParamsToPoints",
      "customName": "points by params",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "nrOfDivisions": 3,
        "removeStartPoint": false,
        "removeEndPoint": false
      },
      "inputs": {
        "shape": {
          "connections": [
            {
              "node": "2603321af859291c",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        -81.84153654645249,
        2424.974156665822
      ]
    },
    "8698aa61968f0753": {
      "id": "8698aa61968f0753",
      "name": "bitbybit.babylon.meshBuilder.createGoldberg",
      "customName": "create goldberg",
      "async": false,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "m": 1,
        "n": 1,
        "size": 0.5,
        "sizeX": 0,
        "sizeY": 0,
        "sizeZ": 0,
        "sideOrientation": "frontside",
        "enableShadows": true
      },
      "inputs": {},
      "position": [
        -977.3469626789534,
        1729.7221092748805
      ]
    },
    "5beaa31ac0b12cc1": {
      "id": "5beaa31ac0b12cc1",
      "name": "bitbybit.babylon.mesh.cloneToPositions",
      "customName": "clone to positions",
      "async": false,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "positions": []
      },
      "inputs": {
        "positions": {
          "connections": [
            {
              "node": "56699746c41068da",
              "output": "result",
              "data": {}
            }
          ]
        },
        "babylonMesh": {
          "connections": [
            {
              "node": "8698aa61968f0753",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        466.4073770847728,
        2280.41604728442
      ]
    },
    "3f5b5f3901694b70": {
      "id": "3f5b5f3901694b70",
      "name": "bitbybit.babylon.gizmo.manager.createGizmoManager",
      "customName": "create gizmo manager",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "positionGizmoEnabled": true,
        "rotationGizmoEnabled": false,
        "scaleGizmoEnabled": false,
        "boundingBoxGizmoEnabled": false,
        "usePointerToAttachGizmos": true,
        "clearGizmoOnEmptyPointerEvent": true,
        "scaleRatio": 0.5
      },
      "inputs": {
        "attachableMeshes": {
          "connections": [
            {
              "node": "5beaa31ac0b12cc1",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        1246.471038780341,
        3372.058372046561
      ]
    },
    "cc2ab51934745ecb": {
      "id": "cc2ab51934745ecb",
      "name": "bitbybit.babylon.gizmo.manager.getPositionGizmo",
      "customName": "get position gizmo",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        }
      },
      "inputs": {
        "gizmoManager": {
          "connections": [
            {
              "node": "3f5b5f3901694b70",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        1631.786804644318,
        3369.9652796475034
      ]
    },
    "ff32cb865a2ca86d": {
      "id": "ff32cb865a2ca86d",
      "name": "bitbybit.babylon.gizmo.positionGizmo.getXGizmo",
      "customName": "get x gizmo",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        }
      },
      "inputs": {
        "positionGizmo": {
          "connections": [
            {
              "node": "cc2ab51934745ecb",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        2229.7476101575708,
        4268.659411931366
      ]
    },
    "029d08c7be601ddb": {
      "id": "029d08c7be601ddb",
      "name": "bitbybit.babylon.gizmo.positionGizmo.getZGizmo",
      "customName": "get z gizmo",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        }
      },
      "inputs": {
        "positionGizmo": {
          "connections": [
            {
              "node": "cc2ab51934745ecb",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        2228.1755855872216,
        4545.157392082679
      ]
    },
    "a99a803dcd4eb00a": {
      "id": "a99a803dcd4eb00a",
      "name": "bitbybit.babylon.gizmo.axisDragGizmo.setIsEnabled",
      "customName": "set is axis enabled",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "isEnabled": false
      },
      "inputs": {
        "axisDragGizmo": {
          "connections": [
            {
              "node": "ff32cb865a2ca86d",
              "output": "result",
              "data": {}
            },
            {
              "node": "029d08c7be601ddb",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        2616.8267591253157,
        4428.969423338504
      ]
    },
    "f6cef194a4675cfe": {
      "id": "f6cef194a4675cfe",
      "name": "bitbybit.flow.babylon.observableListener",
      "customName": "babylon observable listener",
      "data": {},
      "inputs": {
        "object": {
          "connections": [
            {
              "node": "cc2ab51934745ecb",
              "output": "result",
              "data": {}
            }
          ]
        },
        "observableSelector": {
          "connections": [
            {
              "node": "18e1c7ad6c5fd7e0",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        4288.0802825596,
        5440.635605972712
      ]
    },
    "18e1c7ad6c5fd7e0": {
      "id": "18e1c7ad6c5fd7e0",
      "name": "bitbybit.babylon.gizmo.positionGizmo.createPositionGizmoObservableSelector",
      "customName": "position gizmo observable selector",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "selector": "onDragEndObservable"
      },
      "inputs": {},
      "position": [
        3644.469943761036,
        5535.429154449998
      ]
    },
    "cc84e46d0c9e5e93": {
      "id": "cc84e46d0c9e5e93",
      "name": "bitbybit.babylon.mesh.getPosition",
      "customName": "position",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": true
        }
      },
      "inputs": {
        "babylonMesh": {
          "connections": [
            {
              "node": "32cf946f755957a8",
              "output": "result",
              "data": {}
            }
          ]
        },
        "exec": {
          "connections": [
            {
              "node": "f6cef194a4675cfe",
              "output": "exec",
              "data": {}
            }
          ]
        }
      },
      "position": [
        5747.595361542611,
        4984.107628944186
      ]
    },
    "32cf946f755957a8": {
      "id": "32cf946f755957a8",
      "name": "bitbybit.lists.flatten",
      "customName": "flatten",
      "data": {
        "nrLevels": 1
      },
      "inputs": {
        "list": {
          "connections": [
            {
              "node": "5beaa31ac0b12cc1",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        4754.19477173895,
        4390.829235847128
      ]
    },
    "ee26f8c5da25042f": {
      "id": "ee26f8c5da25042f",
      "name": "bitbybit.lists.createList",
      "customName": "create list",
      "data": {},
      "inputs": {
        "listElements": {
          "connections": [
            {
              "node": "cc84e46d0c9e5e93",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        6119.479648371245,
        5021.01149815286
      ]
    },
    "b1deb669dadc2620": {
      "id": "b1deb669dadc2620",
      "name": "bitbybit.occt.shapes.wire.interpolatePoints",
      "customName": "interpolate",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "periodic": false,
        "tolerance": 1e-7
      },
      "inputs": {
        "points": {
          "connections": [
            {
              "node": "ee26f8c5da25042f",
              "output": "list",
              "data": {}
            }
          ]
        }
      },
      "position": [
        6487.2037147305,
        4977.561378324223
      ]
    },
    "4c60bffe9af25e59": {
      "id": "4c60bffe9af25e59",
      "name": "bitbybit.flow.counters.counterMinMax",
      "customName": "counter min max",
      "data": {
        "count": 0,
        "min": 0,
        "max": 360,
        "step": 1,
        "pulse": false,
        "end": false
      },
      "inputs": {
        "exec": {
          "connections": [
            {
              "node": "53f8cf473250f927",
              "output": "exec",
              "data": {}
            }
          ]
        },
        "max": {
          "connections": [
            {
              "node": "fe7030cd999aacc5",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        4334.3498223875595,
        1121.3066705472806
      ]
    },
    "53f8cf473250f927": {
      "id": "53f8cf473250f927",
      "name": "bitbybit.flow.babylon.observableListener",
      "customName": "babylon observable listener",
      "data": {},
      "inputs": {
        "observableSelector": {
          "connections": [
            {
              "node": "b4cfaaf49110f15c",
              "output": "result",
              "data": {}
            }
          ]
        },
        "object": {
          "connections": [
            {
              "node": "cc2ab51934745ecb",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        3784.2832780219455,
        1282.0405988337222
      ]
    },
    "b4cfaaf49110f15c": {
      "id": "b4cfaaf49110f15c",
      "name": "bitbybit.babylon.gizmo.positionGizmo.createPositionGizmoObservableSelector",
      "customName": "position gizmo observable selector",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "selector": "onDragObservable"
      },
      "inputs": {},
      "position": [
        2961.1048086877086,
        1281.9084044847234
      ]
    },
    "088e5d5f7c4d3a33": {
      "id": "088e5d5f7c4d3a33",
      "name": "bitbybit.logic.compare",
      "customName": "compare",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": true
        },
        "operator": "=="
      },
      "inputs": {
        "first": {
          "connections": [
            {
              "node": "4c60bffe9af25e59",
              "output": "result",
              "data": {}
            }
          ]
        },
        "exec": {
          "connections": [
            {
              "node": "4c60bffe9af25e59",
              "output": "exec",
              "data": {}
            }
          ]
        },
        "second": {
          "connections": [
            {
              "node": "fe7030cd999aacc5",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        5045.186291997142,
        895.1534759884842
      ]
    },
    "fe7030cd999aacc5": {
      "id": "fe7030cd999aacc5",
      "name": "bitbybit.math.number",
      "customName": "number",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "number": 10
      },
      "inputs": {},
      "position": [
        3670.5943100753298,
        928.84209312544
      ]
    },
    "95626b9050f82e79": {
      "id": "95626b9050f82e79",
      "name": "bitbybit.flow.logic.booleanGate",
      "customName": "boolean gate",
      "data": {
        "boolean": false
      },
      "inputs": {
        "exec": {
          "connections": [
            {
              "node": "088e5d5f7c4d3a33",
              "output": "exec",
              "data": {}
            }
          ]
        },
        "boolean": {
          "connections": [
            {
              "node": "088e5d5f7c4d3a33",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        5470.190924375926,
        924.6745805552491
      ]
    },
    "387fda9b3d75efa2": {
      "id": "387fda9b3d75efa2",
      "name": "bitbybit.babylon.mesh.getPosition",
      "customName": "position",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": true
        }
      },
      "inputs": {
        "babylonMesh": {
          "connections": [
            {
              "node": "32cf946f755957a8",
              "output": "result",
              "data": {}
            }
          ]
        },
        "exec": {
          "connections": [
            {
              "node": "95626b9050f82e79",
              "output": "execTrue",
              "data": {}
            }
          ]
        }
      },
      "position": [
        6054.255365490857,
        845.6847785216047
      ]
    },
    "73b310372717f215": {
      "id": "73b310372717f215",
      "name": "bitbybit.occt.shapes.wire.interpolatePoints",
      "customName": "interpolate",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "periodic": false,
        "tolerance": 1e-7
      },
      "inputs": {
        "points": {
          "connections": [
            {
              "node": "b720d1721a760b28",
              "output": "list",
              "data": {}
            }
          ]
        },
        "exec": {
          "connections": [
            {
              "node": "b720d1721a760b28",
              "output": "exec",
              "data": {}
            }
          ]
        }
      },
      "position": [
        6866.215086464819,
        804.3675130655216
      ]
    },
    "b720d1721a760b28": {
      "id": "b720d1721a760b28",
      "name": "bitbybit.lists.createList",
      "customName": "create list",
      "data": {},
      "inputs": {
        "listElements": {
          "connections": [
            {
              "node": "387fda9b3d75efa2",
              "output": "result",
              "data": {}
            }
          ]
        },
        "exec": {
          "connections": [
            {
              "node": "387fda9b3d75efa2",
              "output": "exec",
              "data": {}
            }
          ]
        }
      },
      "position": [
        6462.91736378674,
        895.480029096713
      ]
    },
    "c55a21fd94a12eaf": {
      "id": "c55a21fd94a12eaf",
      "name": "bitbybit.draw.drawAnyAsync",
      "customName": "draw async",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        }
      },
      "inputs": {
        "exec": {
          "connections": [
            {
              "node": "73b310372717f215",
              "output": "exec",
              "data": {}
            }
          ]
        },
        "options": {
          "connections": [
            {
              "node": "739d72f5c3efa87e",
              "output": "result",
              "data": {}
            }
          ]
        },
        "entity": {
          "connections": [
            {
              "node": "73b310372717f215",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        7261.615551999211,
        745.1438046761411
      ]
    },
    "581f23322de7a035": {
      "id": "581f23322de7a035",
      "name": "bitbybit.babylon.mesh.hide",
      "customName": "hide",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "includeChildren": true
      },
      "inputs": {
        "babylonMesh": {
          "connections": [
            {
              "node": "c55a21fd94a12eaf",
              "output": "result",
              "data": {}
            }
          ]
        },
        "exec": {
          "connections": [
            {
              "node": "f6cef194a4675cfe",
              "output": "exec",
              "data": {}
            }
          ]
        }
      },
      "position": [
        7740.8762036295075,
        957.1530760238478
      ]
    },
    "68aecf6d83a3bc2c": {
      "id": "68aecf6d83a3bc2c",
      "name": "bitbybit.babylon.mesh.show",
      "customName": "show",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "includeChildren": true
      },
      "inputs": {
        "exec": {
          "connections": [
            {
              "node": "c55a21fd94a12eaf",
              "output": "exec",
              "data": {}
            }
          ]
        }
      },
      "position": [
        7729.787352025913,
        621.870970417277
      ]
    },
    "13670cd5abee487f": {
      "id": "13670cd5abee487f",
      "name": "bitbybit.occt.transforms.translate",
      "customName": "translate",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "translation": [
          0,
          0,
          0
        ]
      },
      "inputs": {
        "translation": {
          "connections": [
            {
              "node": "d00cada85b222992",
              "output": "result",
              "data": {}
            }
          ]
        },
        "shape": {
          "connections": [
            {
              "node": "1a67c02c910aff79",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        6909.867417508643,
        3636.365779525158
      ]
    },
    "d00cada85b222992": {
      "id": "d00cada85b222992",
      "name": "bitbybit.vector.vectorXYZ",
      "customName": "vector XYZ",
      "async": false,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "x": 0,
        "y": 0,
        "z": 20
      },
      "inputs": {
        "z": {
          "connections": [
            {
              "node": "1e6740c3b3a85b7d",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        6547.273017995997,
        3834.850020366361
      ]
    },
    "ad6a075b0e4247e6": {
      "id": "ad6a075b0e4247e6",
      "name": "bitbybit.occt.transforms.translate",
      "customName": "translate",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "translation": [
          0,
          0,
          0
        ]
      },
      "inputs": {
        "translation": {
          "connections": [
            {
              "node": "f302ca35bdb3d4e1",
              "output": "result",
              "data": {}
            }
          ]
        },
        "shape": {
          "connections": [
            {
              "node": "1a67c02c910aff79",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        6954.175205691483,
        4123.137653376864
      ]
    },
    "3e189867eb825eae": {
      "id": "3e189867eb825eae",
      "name": "bitbybit.math.negate",
      "customName": "negate",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "number": 1
      },
      "inputs": {
        "number": {
          "connections": [
            {
              "node": "1e6740c3b3a85b7d",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        6179.779174707313,
        4395.255811034627
      ]
    },
    "1e6740c3b3a85b7d": {
      "id": "1e6740c3b3a85b7d",
      "name": "bitbybit.math.number",
      "customName": "number",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "number": 20
      },
      "inputs": {},
      "position": [
        5740.375450868789,
        4273.370541959771
      ]
    },
    "f302ca35bdb3d4e1": {
      "id": "f302ca35bdb3d4e1",
      "name": "bitbybit.vector.vectorXYZ",
      "customName": "vector XYZ",
      "async": false,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "x": 0,
        "y": 0,
        "z": 20
      },
      "inputs": {
        "z": {
          "connections": [
            {
              "node": "3e189867eb825eae",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        6574.625549335163,
        4322.1892802877555
      ]
    },
    "d3b35cc343f16ac7": {
      "id": "d3b35cc343f16ac7",
      "name": "bitbybit.occt.operations.loft",
      "customName": "loft",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "makeSolid": false
      },
      "inputs": {
        "shapes": {
          "connections": [
            {
              "node": "1bba7c7362ccdf2f",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        8685.227189050362,
        4376.845848250122
      ]
    },
    "7520a54d69c1c1f8": {
      "id": "7520a54d69c1c1f8",
      "name": "bitbybit.lists.createList",
      "customName": "create list",
      "data": {},
      "inputs": {
        "listElements": {
          "connections": [
            {
              "node": "ad6a075b0e4247e6",
              "output": "result",
              "data": {}
            },
            {
              "node": "b1deb669dadc2620",
              "output": "result",
              "data": {}
            },
            {
              "node": "13670cd5abee487f",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        7916.040177770982,
        4419.072188799598
      ]
    },
    "1bba7c7362ccdf2f": {
      "id": "1bba7c7362ccdf2f",
      "name": "bitbybit.lists.reverse",
      "customName": "reverse",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "clone": true
      },
      "inputs": {
        "list": {
          "connections": [
            {
              "node": "7520a54d69c1c1f8",
              "output": "list",
              "data": {}
            }
          ]
        }
      },
      "position": [
        8305.984700274796,
        4377.0597280302645
      ]
    },
    "eae6ec6599810d28": {
      "id": "eae6ec6599810d28",
      "name": "bitbybit.occt.transforms.translate",
      "customName": "translate",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "translation": [
          0,
          0,
          0
        ]
      },
      "inputs": {
        "translation": {
          "connections": [
            {
              "node": "7ed758754391422b",
              "output": "result",
              "data": {}
            }
          ]
        },
        "shape": {
          "connections": [
            {
              "node": "d3b35cc343f16ac7",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        9096.186879909614,
        4515.409174299299
      ]
    },
    "7ed758754391422b": {
      "id": "7ed758754391422b",
      "name": "bitbybit.vector.vectorXYZ",
      "customName": "vector XYZ",
      "async": false,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "x": 0,
        "y": -4,
        "z": 0
      },
      "inputs": {},
      "position": [
        8689.200392240955,
        4686.471586335144
      ]
    },
    "8d3d368d827b2f99": {
      "id": "8d3d368d827b2f99",
      "name": "bitbybit.occt.shapes.face.getFace",
      "customName": "face",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "index": 0
      },
      "inputs": {
        "shape": {
          "connections": [
            {
              "node": "eae6ec6599810d28",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        9785.59207975833,
        3383.9881523369772
      ]
    },
    "b3458974a8d6a5f9": {
      "id": "b3458974a8d6a5f9",
      "name": "bitbybit.babylon.mesh.hide",
      "customName": "hide",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "includeChildren": true
      },
      "inputs": {
        "babylonMesh": {
          "connections": [
            {
              "node": "8698aa61968f0753",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        -508.88301178976855,
        2336.3354552009187
      ]
    },
    "c0ca70830f63f214": {
      "id": "c0ca70830f63f214",
      "name": "bitbybit.draw.drawAnyAsync",
      "customName": "draw async",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        }
      },
      "inputs": {
        "options": {
          "connections": [
            {
              "node": "6d8bcfe2f21d68e5",
              "output": "result",
              "data": {}
            }
          ]
        },
        "entity": {
          "connections": [
            {
              "node": "b1deb669dadc2620",
              "output": "result",
              "data": {}
            }
          ]
        },
        "exec": {
          "connections": [
            {
              "node": "f6cef194a4675cfe",
              "output": "exec",
              "data": {}
            }
          ]
        }
      },
      "position": [
        7243.165273110032,
        5928.900027731704
      ]
    },
    "6d8bcfe2f21d68e5": {
      "id": "6d8bcfe2f21d68e5",
      "name": "bitbybit.draw.optionsOcctShapeSimple",
      "customName": "occt shape simple",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "precision": 0.01,
        "drawFaces": false,
        "faceColour": "#ff0000",
        "drawEdges": true,
        "edgeColour": "#ffffff",
        "edgeWidth": 20
      },
      "inputs": {},
      "position": [
        6633.689801079033,
        5598.610084651518
      ]
    },
    "a9346475dfd2ef3b": {
      "id": "a9346475dfd2ef3b",
      "name": "bitbybit.babylon.scene.drawDirectionalLight",
      "customName": "directional light",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "direction": [
          -100,
          -100,
          -100
        ],
        "intensity": 3,
        "diffuse": "#ffffff",
        "specular": "#ffffff",
        "shadowGeneratorMapSize": 2056,
        "enableShadows": true,
        "shadowDarkness": 0,
        "shadowUsePercentageCloserFiltering": true,
        "shadowContactHardeningLightSizeUVRatio": 0.2,
        "shadowBias": 0.0003,
        "shadowNormalBias": 0.002,
        "shadowMaxZ": 1000,
        "shadowMinZ": 0
      },
      "inputs": {},
      "position": [
        -1616.8120298040851,
        4143.678042931654
      ]
    },
    "3f1719fa403897db": {
      "id": "3f1719fa403897db",
      "name": "bitbybit.babylon.scene.enableSkybox",
      "customName": "skybox",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "skybox": "greyGradient",
        "size": 1000,
        "blur": 0.5,
        "environmentIntensity": 0.7
      },
      "inputs": {},
      "position": [
        -2004.4694856060073,
        4405.645017713094
      ]
    },
    "739d72f5c3efa87e": {
      "id": "739d72f5c3efa87e",
      "name": "bitbybit.draw.optionsOcctShapeSimple",
      "customName": "occt shape simple",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "precision": 0.01,
        "drawFaces": false,
        "faceColour": "#ff0000",
        "drawEdges": true,
        "edgeColour": "#ffae00",
        "edgeWidth": 20
      },
      "inputs": {},
      "position": [
        6814.017702334545,
        298.86930015459416
      ]
    },
    "55f2f543b6dd4c78": {
      "id": "55f2f543b6dd4c78",
      "name": "bitbybit.babylon.mesh.show",
      "customName": "show",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "includeChildren": true
      },
      "inputs": {
        "babylonMesh": {
          "connections": [
            {
              "node": "9a8e304f226fa34b",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        1557.2709613308507,
        2146.356625503563
      ]
    },
    "9a8e304f226fa34b": {
      "id": "9a8e304f226fa34b",
      "name": "bitbybit.lists.flatten",
      "customName": "flatten",
      "data": {
        "nrLevels": 1
      },
      "inputs": {
        "list": {
          "connections": [
            {
              "node": "5beaa31ac0b12cc1",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        1086.4130661732072,
        2120.348665705799
      ]
    },
    "cc595c2f1ac9b93b": {
      "id": "cc595c2f1ac9b93b",
      "name": "bitbybit.babylon.mesh.setMaterial",
      "customName": "material",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "includeChildren": false
      },
      "inputs": {
        "babylonMesh": {
          "connections": [
            {
              "node": "9a8e304f226fa34b",
              "output": "result",
              "data": {}
            }
          ]
        },
        "material": {
          "connections": [
            {
              "node": "ddc8a50424520f0d",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        1621.5883976119562,
        1488.9528678576928
      ]
    },
    "ddc8a50424520f0d": {
      "id": "ddc8a50424520f0d",
      "name": "bitbybit.babylon.material.pbrMetallicRoughness.create",
      "customName": "pbr material",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "name": "Custom Material",
        "baseColor": "#010029",
        "emissiveColor": "#000000",
        "metallic": 0.3,
        "roughness": 0.5,
        "alpha": 1,
        "backFaceCulling": false,
        "zOffset": 0
      },
      "inputs": {},
      "position": [
        1095.2027326266582,
        1537.3352265075814
      ]
    },
    "e5977fa7c5f2eff5": {
      "id": "e5977fa7c5f2eff5",
      "name": "bitbybit.occt.shapes.face.subdivideToHexagonWires",
      "customName": "subdivide to hexagon wires",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "nrHexagonsU": 10,
        "nrHexagonsV": 10,
        "flatU": false,
        "offsetFromBorderU": 0,
        "offsetFromBorderV": 0,
        "extendUUp": false,
        "extendUBottom": false,
        "extendVUp": false,
        "extendVBottom": false
      },
      "inputs": {
        "shape": {
          "connections": [
            {
              "node": "8d3d368d827b2f99",
              "output": "result",
              "data": {}
            }
          ]
        },
        "scalePatternU": {
          "connections": [
            {
              "node": "8bea2f13d665ec9e",
              "output": "result",
              "data": {}
            }
          ]
        },
        "scalePatternV": {
          "connections": [
            {
              "node": "8bea2f13d665ec9e",
              "output": "result",
              "data": {}
            }
          ]
        },
        "nrHexagonsV": {
          "connections": [
            {
              "node": "51659adfa0ff0947",
              "output": "result",
              "data": {}
            }
          ]
        },
        "nrHexagonsU": {
          "connections": [
            {
              "node": "8cdfb6f0b19ae433",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        10530.44367708397,
        3496.229295424791
      ]
    },
    "cbd1a3d621e16d73": {
      "id": "cbd1a3d621e16d73",
      "name": "bitbybit.occt.shapes.edge.getCornerPointsOfEdgesForShape",
      "customName": "get corner points of edges for shape",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        }
      },
      "inputs": {
        "shape": {
          "connections": [
            {
              "node": "f9ad500bed01d1c1",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        11287.963892656458,
        3764.6825252637327
      ]
    },
    "f9ad500bed01d1c1": {
      "id": "f9ad500bed01d1c1",
      "name": "bitbybit.lists.flatten",
      "customName": "flatten",
      "data": {
        "nrLevels": 1
      },
      "inputs": {
        "list": {
          "connections": [
            {
              "node": "e5977fa7c5f2eff5",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        10946.365523501807,
        3535.956870003749
      ]
    },
    "a9da8693a2241f6b": {
      "id": "a9da8693a2241f6b",
      "name": "bitbybit.occt.shapes.wire.createPolygonWire",
      "customName": "polygon wire",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        }
      },
      "inputs": {
        "points": {
          "connections": [
            {
              "node": "cbd1a3d621e16d73",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        11666.625877303171,
        3629.8154623286214
      ]
    },
    "0a289f4230d3f13f": {
      "id": "0a289f4230d3f13f",
      "name": "bitbybit.occt.shapes.face.getFace",
      "customName": "get face",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "index": 0
      },
      "inputs": {
        "shape": {
          "connections": [
            {
              "node": "2e644ce9befdf798",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        10115.542181107669,
        4906.329103573519
      ]
    },
    "bbf70f68fb3708c1": {
      "id": "bbf70f68fb3708c1",
      "name": "bitbybit.occt.shapes.face.subdivideToHexagonWires",
      "customName": "subdivide to hexagon wires",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "nrHexagonsU": 10,
        "nrHexagonsV": 10,
        "flatU": false,
        "offsetFromBorderU": 0,
        "offsetFromBorderV": 0,
        "extendUUp": false,
        "extendUBottom": false,
        "extendVUp": false,
        "extendVBottom": false
      },
      "inputs": {
        "shape": {
          "connections": [
            {
              "node": "0a289f4230d3f13f",
              "output": "result",
              "data": {}
            }
          ]
        },
        "scalePatternU": {
          "connections": [
            {
              "node": "50bd209de2ef85ef",
              "output": "result",
              "data": {}
            }
          ]
        },
        "scalePatternV": {
          "connections": [
            {
              "node": "50bd209de2ef85ef",
              "output": "result",
              "data": {}
            }
          ]
        },
        "nrHexagonsV": {
          "connections": [
            {
              "node": "51659adfa0ff0947",
              "output": "result",
              "data": {}
            }
          ]
        },
        "nrHexagonsU": {
          "connections": [
            {
              "node": "8cdfb6f0b19ae433",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        10531.799000295725,
        4757.58179541427
      ]
    },
    "8bea2f13d665ec9e": {
      "id": "8bea2f13d665ec9e",
      "name": "bitbybit.json.parse",
      "customName": "parse",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "text": "[0.2,0.3,0.5]"
      },
      "inputs": {},
      "position": [
        9789.242162543042,
        3697.9377446179
      ]
    },
    "fc073c268507445d": {
      "id": "fc073c268507445d",
      "name": "bitbybit.lists.flatten",
      "customName": "flatten",
      "data": {
        "nrLevels": 1
      },
      "inputs": {
        "list": {
          "connections": [
            {
              "node": "bbf70f68fb3708c1",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        10907.981890202662,
        4796.55045810111
      ]
    },
    "9852d3ed2dfd5056": {
      "id": "9852d3ed2dfd5056",
      "name": "bitbybit.occt.shapes.edge.getCornerPointsOfEdgesForShape",
      "customName": "get corner points of edges for shape",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        }
      },
      "inputs": {
        "shape": {
          "connections": [
            {
              "node": "fc073c268507445d",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        11352.79632705829,
        4884.976432517469
      ]
    },
    "b22cd01ea030dd4b": {
      "id": "b22cd01ea030dd4b",
      "name": "bitbybit.occt.shapes.wire.createPolygonWire",
      "customName": "polygon wire",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        }
      },
      "inputs": {
        "points": {
          "connections": [
            {
              "node": "9852d3ed2dfd5056",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        11905.308583594771,
        4885.6757635024705
      ]
    },
    "1a67c02c910aff79": {
      "id": "1a67c02c910aff79",
      "name": "bitbybit.occt.shapes.wire.interpolatePoints",
      "customName": "interpolate points",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "periodic": false,
        "tolerance": 1e-7
      },
      "inputs": {
        "points": {
          "connections": [
            {
              "node": "e9fead11e3e5001a",
              "output": "list",
              "data": {}
            }
          ]
        }
      },
      "position": [
        513.3530276730626,
        2760.518190836399
      ]
    },
    "71728f2d22720298": {
      "id": "71728f2d22720298",
      "name": "bitbybit.lists.addItemAtIndex",
      "customName": "add item at index",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "index": 1,
        "clone": true
      },
      "inputs": {
        "item": {
          "connections": [
            {
              "node": "c31021864278611d",
              "output": "result",
              "data": {}
            }
          ]
        },
        "list": {
          "connections": [
            {
              "node": "67eb053163f51859",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        -744.305619489358,
        3110.4999240529
      ]
    },
    "c31021864278611d": {
      "id": "c31021864278611d",
      "name": "bitbybit.math.number",
      "customName": "number",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "number": -8
      },
      "inputs": {},
      "position": [
        -1265.942785078494,
        3232.7133402107834
      ]
    },
    "67eb053163f51859": {
      "id": "67eb053163f51859",
      "name": "bitbybit.lists.flatten",
      "customName": "flatten",
      "data": {
        "nrLevels": 1
      },
      "inputs": {
        "list": {
          "connections": [
            {
              "node": "f44e03d70f4c20f8",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        -1252.9347284738055,
        3008.7998044452816
      ]
    },
    "bb8272019cc923b8": {
      "id": "bb8272019cc923b8",
      "name": "bitbybit.lists.removeItemAtIndex",
      "customName": "remove item at index",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "index": 2,
        "clone": true
      },
      "inputs": {
        "list": {
          "connections": [
            {
              "node": "71728f2d22720298",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        -314.64302217936074,
        3178.717621883262
      ]
    },
    "e9fead11e3e5001a": {
      "id": "e9fead11e3e5001a",
      "name": "bitbybit.lists.createList",
      "customName": "create list",
      "data": {},
      "inputs": {
        "listElements": {
          "connections": [
            {
              "node": "bb8272019cc923b8",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        87.68169347105035,
        3377.4858832171003
      ]
    },
    "f627c965c0d8bf9f": {
      "id": "f627c965c0d8bf9f",
      "name": "bitbybit.lists.flatten",
      "customName": "flatten",
      "data": {
        "nrLevels": 1
      },
      "inputs": {
        "list": {
          "connections": [
            {
              "node": "cbd1a3d621e16d73",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        12124.170175633102,
        4361.985632363413
      ]
    },
    "50bd209de2ef85ef": {
      "id": "50bd209de2ef85ef",
      "name": "bitbybit.json.parse",
      "customName": "parse",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "text": "[1]"
      },
      "inputs": {},
      "position": [
        10115.623257813535,
        5216.0180260534435
      ]
    },
    "39560e4776de0dd3": {
      "id": "39560e4776de0dd3",
      "name": "bitbybit.lists.flatten",
      "customName": "flatten",
      "data": {
        "nrLevels": 1
      },
      "inputs": {
        "list": {
          "connections": [
            {
              "node": "9852d3ed2dfd5056",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        12124.513334419391,
        4563.89235053968
      ]
    },
    "411e47451868432b": {
      "id": "411e47451868432b",
      "name": "bitbybit.occt.shapes.wire.createLineWire",
      "customName": "line wire",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": true,
          "flatten": 0,
          "forceExecution": false
        },
        "start": [
          0,
          0,
          0
        ],
        "end": [
          0,
          1,
          0
        ]
      },
      "inputs": {
        "start": {
          "connections": [
            {
              "node": "f627c965c0d8bf9f",
              "output": "result",
              "data": {}
            }
          ]
        },
        "end": {
          "connections": [
            {
              "node": "39560e4776de0dd3",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        12622.344646270903,
        4385.37159656737
      ]
    },
    "8934c4944388eb96": {
      "id": "8934c4944388eb96",
      "name": "bitbybit.draw.drawAnyAsync",
      "customName": "draw any async",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        }
      },
      "inputs": {
        "entity": {
          "connections": [
            {
              "node": "98aa7103c007537a",
              "output": "result",
              "data": {}
            }
          ]
        },
        "options": {
          "connections": [
            {
              "node": "ccc296eb277f8307",
              "output": "result",
              "data": {}
            }
          ]
        },
        "exec": {
          "connections": [
            {
              "node": "53f453933787cc79",
              "output": "exec",
              "data": {}
            }
          ]
        }
      },
      "position": [
        15905.185908482204,
        5300.24977249308
      ]
    },
    "98aa7103c007537a": {
      "id": "98aa7103c007537a",
      "name": "bitbybit.occt.shapes.compound.makeCompound",
      "customName": "make compound",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        }
      },
      "inputs": {
        "shapes": {
          "connections": [
            {
              "node": "4e36b6c4462952ad",
              "output": "list",
              "data": {}
            }
          ]
        }
      },
      "position": [
        13944.649098922302,
        4389.840006442279
      ]
    },
    "4e36b6c4462952ad": {
      "id": "4e36b6c4462952ad",
      "name": "bitbybit.lists.createList",
      "customName": "create list",
      "data": {},
      "inputs": {
        "listElements": {
          "connections": [
            {
              "node": "a9da8693a2241f6b",
              "output": "result",
              "data": {}
            },
            {
              "node": "411e47451868432b",
              "output": "result",
              "data": {}
            },
            {
              "node": "b22cd01ea030dd4b",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        13482.163585926954,
        4420.563434430059
      ]
    },
    "ccc296eb277f8307": {
      "id": "ccc296eb277f8307",
      "name": "bitbybit.draw.optionsOcctShapeSimple",
      "customName": "options occt shape simple",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "precision": 0.3,
        "drawFaces": false,
        "faceColour": "#000000",
        "drawEdges": true,
        "edgeColour": "#000000",
        "edgeWidth": 10
      },
      "inputs": {},
      "position": [
        15348.924072788372,
        5638.985523469843
      ]
    },
    "2e644ce9befdf798": {
      "id": "2e644ce9befdf798",
      "name": "bitbybit.occt.operations.offset",
      "customName": "offset",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "distance": -2,
        "tolerance": 0.01
      },
      "inputs": {
        "shape": {
          "connections": [
            {
              "node": "eae6ec6599810d28",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        9622.987284613317,
        4905.125321371877
      ]
    },
    "78ab515c6a531e8e": {
      "id": "78ab515c6a531e8e",
      "name": "bitbybit.occt.shapes.face.createFaceFromWire",
      "customName": "face from wire",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "planar": false
      },
      "inputs": {
        "shape": {
          "connections": [
            {
              "node": "a9da8693a2241f6b",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        12104.527162646873,
        3330.6828494472993
      ]
    },
    "ca5bdd00929e2ffc": {
      "id": "ca5bdd00929e2ffc",
      "name": "bitbybit.occt.operations.makeThickSolidSimple",
      "customName": "make thick solid simple",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "offset": -0.01
      },
      "inputs": {
        "shape": {
          "connections": [
            {
              "node": "78ab515c6a531e8e",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        12530.432217083498,
        3326.473513405456
      ]
    },
    "a996c18b6aa41424": {
      "id": "a996c18b6aa41424",
      "name": "bitbybit.draw.drawAnyAsync",
      "customName": "draw any async",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        }
      },
      "inputs": {
        "entity": {
          "connections": [
            {
              "node": "2cbb46cc13f8349f",
              "output": "result",
              "data": {}
            }
          ]
        },
        "options": {
          "connections": [
            {
              "node": "27ea7df0f7342943",
              "output": "result",
              "data": {}
            }
          ]
        },
        "exec": {
          "connections": [
            {
              "node": "53f453933787cc79",
              "output": "exec",
              "data": {}
            }
          ]
        }
      },
      "position": [
        15891.366463505097,
        4438.661231540624
      ]
    },
    "27ea7df0f7342943": {
      "id": "27ea7df0f7342943",
      "name": "bitbybit.draw.optionsOcctShapeSimple",
      "customName": "options occt shape simple",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "precision": 1,
        "drawFaces": true,
        "faceColour": "#001eff",
        "drawEdges": true,
        "edgeColour": "#000000",
        "edgeWidth": 2
      },
      "inputs": {},
      "position": [
        15265.36841883412,
        4549.226144347296
      ]
    },
    "bc12e36f537d75d4": {
      "id": "bc12e36f537d75d4",
      "name": "bitbybit.lists.createList",
      "customName": "create list",
      "data": {},
      "inputs": {
        "listElements": {
          "connections": [
            {
              "node": "ca5bdd00929e2ffc",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        13043.962820980838,
        3131.070652884455
      ]
    },
    "2cbb46cc13f8349f": {
      "id": "2cbb46cc13f8349f",
      "name": "bitbybit.occt.shapes.compound.makeCompound",
      "customName": "make compound",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        }
      },
      "inputs": {
        "shapes": {
          "connections": [
            {
              "node": "bc12e36f537d75d4",
              "output": "list",
              "data": {}
            }
          ]
        }
      },
      "position": [
        13580.787186057065,
        3073.670131682493
      ]
    },
    "51659adfa0ff0947": {
      "id": "51659adfa0ff0947",
      "name": "bitbybit.math.number",
      "customName": "number",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "number": 10
      },
      "inputs": {},
      "position": [
        9785.029746083806,
        4355.692630876736
      ]
    },
    "53f453933787cc79": {
      "id": "53f453933787cc79",
      "name": "bitbybit.lists.passThrough",
      "customName": "pass through",
      "data": {},
      "inputs": {
        "exec": {
          "connections": [
            {
              "node": "f6cef194a4675cfe",
              "output": "exec",
              "data": {}
            }
          ]
        }
      },
      "position": [
        14714.421609121582,
        5438.453983147377
      ]
    },
    "8cdfb6f0b19ae433": {
      "id": "8cdfb6f0b19ae433",
      "name": "bitbybit.math.number",
      "customName": "number",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "number": 20
      },
      "inputs": {},
      "position": [
        9784.376160260463,
        4083.6184466597283
      ]
    },
    "7d4766957aa7f331": {
      "id": "7d4766957aa7f331",
      "name": "bitbybit.babylon.scene.adjustActiveArcRotateCamera",
      "customName": "adjust active arc rotate camera",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "position": [
          10,
          10,
          10
        ],
        "lookAt": [
          0,
          0,
          0
        ],
        "lowerBetaLimit": 1,
        "upperBetaLimit": 179,
        "angularSensibilityX": 1000,
        "angularSensibilityY": 1000,
        "maxZ": 1000,
        "panningSensibility": 1000,
        "wheelPrecision": 3
      },
      "inputs": {
        "position": {
          "connections": [
            {
              "node": "1e205ca744cd2a34",
              "output": "result",
              "data": {}
            }
          ]
        },
        "lookAt": {
          "connections": [
            {
              "node": "05f44d795cc63d61",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        -1562.487403382701,
        4889.885666563868
      ]
    },
    "1e205ca744cd2a34": {
      "id": "1e205ca744cd2a34",
      "name": "bitbybit.vector.vectorXYZ",
      "customName": "vector xyz",
      "async": false,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "x": 40,
        "y": 5,
        "z": 60
      },
      "inputs": {},
      "position": [
        -2060.069547026668,
        4878.896681684542
      ]
    },
    "05f44d795cc63d61": {
      "id": "05f44d795cc63d61",
      "name": "bitbybit.vector.vectorXYZ",
      "customName": "vector xyz",
      "async": false,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "x": 0,
        "y": -12,
        "z": 0
      },
      "inputs": {},
      "position": [
        -2063.9812020835107,
        5218.736257556497
      ]
    }
  }
}