Script: Hanging box

Hanging box picture
Type
Rete logo indicatorrete
Date Created
Sep 21, 2024, 11:23:30 AM
Last Edit Date
Feb 5, 2026, 4:58:39 PM

Project Information

Simple example of how to model holder box that you can hang on the wall.

View Full Project

Script Code

{
  "id": "rete-v2-json",
  "nodes": {
    "40edfb900c073b2b": {
      "id": "40edfb900c073b2b",
      "name": "bitbybit.math.numberSlider",
      "customName": "number slider",
      "data": {
        "options": {
          "min": 3,
          "max": 10,
          "step": 0.1,
          "width": 350,
          "updateOnDrag": false
        },
        "number": 4.7
      },
      "inputs": {},
      "position": [
        -816.9707400135716,
        -2074.3548745780013
      ]
    },
    "322c96fa9edea231": {
      "id": "322c96fa9edea231",
      "name": "bitbybit.math.numberSlider",
      "customName": "number slider",
      "data": {
        "number": 5.5
      },
      "inputs": {},
      "position": [
        -838.003200908103,
        -1623.9963167059905
      ]
    },
    "fb68e8845301cc12": {
      "id": "fb68e8845301cc12",
      "name": "bitbybit.math.numberSlider",
      "customName": "number slider",
      "data": {
        "options": {
          "min": 5,
          "max": 10,
          "step": 0.1,
          "width": 350,
          "updateOnDrag": false
        },
        "number": 5.6
      },
      "inputs": {},
      "position": [
        -819.2707033660463,
        -1881.4971551265903
      ]
    },
    "b684ea09964b6d70": {
      "id": "b684ea09964b6d70",
      "name": "bitbybit.math.numberSlider",
      "customName": "number slider",
      "data": {
        "options": {
          "min": 1,
          "max": 5,
          "step": 0.1,
          "width": 350,
          "updateOnDrag": false
        },
        "number": 3.2
      },
      "inputs": {},
      "position": [
        -862.3458387682065,
        -1401.1506900026825
      ]
    },
    "25d1fcc8c6b9dd48": {
      "id": "25d1fcc8c6b9dd48",
      "name": "bitbybit.draw.drawGridMesh",
      "customName": "draw grid mesh",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "width": 400,
        "height": 400,
        "subdivisions": 10,
        "majorUnitFrequency": 10,
        "minorUnitVisibility": 0.45,
        "gridRatio": 0.5,
        "opacity": 0.5,
        "backFaceCulling": false,
        "mainColor": "#ffffff",
        "secondaryColor": "#ffffff"
      },
      "inputs": {},
      "position": [
        -1357.882072045159,
        2618.71298034038
      ]
    },
    "9dd5375b0d1ce130": {
      "id": "9dd5375b0d1ce130",
      "name": "bitbybit.occt.shapes.edge.getEdges",
      "customName": "get edges",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        }
      },
      "inputs": {
        "shape": {
          "connections": [
            {
              "node": "442b62d75cddfaea",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        1373.9440886502105,
        -256.54246969953226
      ]
    },
    "cb7bc5338cdbaeb3": {
      "id": "cb7bc5338cdbaeb3",
      "name": "bitbybit.lists.getItem",
      "customName": "get item",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "index": 3,
        "clone": true
      },
      "inputs": {
        "list": {
          "connections": [
            {
              "node": "9dd5375b0d1ce130",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        1778.9830903341683,
        -244.99717390076356
      ]
    },
    "06cf82b1b755d52a": {
      "id": "06cf82b1b755d52a",
      "name": "bitbybit.occt.shapes.wire.createRectangleWire",
      "customName": "rectangle wire",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "width": 1,
        "length": 2,
        "center": [
          0,
          0,
          0
        ],
        "direction": [
          0,
          1,
          0
        ]
      },
      "inputs": {
        "width": {
          "connections": [
            {
              "node": "40edfb900c073b2b",
              "output": "result",
              "data": {}
            }
          ]
        },
        "length": {
          "connections": [
            {
              "node": "fb68e8845301cc12",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        501.69442469796854,
        -494.06102066478365
      ]
    },
    "442b62d75cddfaea": {
      "id": "442b62d75cddfaea",
      "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": {
        "shape": {
          "connections": [
            {
              "node": "06cf82b1b755d52a",
              "output": "result",
              "data": {}
            }
          ]
        },
        "translation": {
          "connections": [
            {
              "node": "1d63260fd340a64b",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        895.1550329211295,
        -200.92148764148124
      ]
    },
    "1d63260fd340a64b": {
      "id": "1d63260fd340a64b",
      "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": 0
      },
      "inputs": {
        "y": {
          "connections": [
            {
              "node": "322c96fa9edea231",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        461.4698099951588,
        33.88856086322659
      ]
    },
    "6ccf35c9e1bf7dc8": {
      "id": "6ccf35c9e1bf7dc8",
      "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": {
        "shape": {
          "connections": [
            {
              "node": "cb7bc5338cdbaeb3",
              "output": "result",
              "data": {}
            }
          ]
        },
        "translation": {
          "connections": [
            {
              "node": "63ee8a6d0a21f644",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        2503.471175407609,
        -278.05864181225326
      ]
    },
    "63ee8a6d0a21f644": {
      "id": "63ee8a6d0a21f644",
      "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": 0
      },
      "inputs": {
        "y": {
          "connections": [
            {
              "node": "b684ea09964b6d70",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        2139.4083735727395,
        -63.06162095639647
      ]
    },
    "1995c7ae0bb86fe8": {
      "id": "1995c7ae0bb86fe8",
      "name": "bitbybit.lists.getItem",
      "customName": "get item",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "index": 1,
        "clone": true
      },
      "inputs": {
        "list": {
          "connections": [
            {
              "node": "9dd5375b0d1ce130",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        1750.5788308860433,
        -618.0210344447308
      ]
    },
    "8fc05ddd5f69f97e": {
      "id": "8fc05ddd5f69f97e",
      "name": "bitbybit.lists.createList",
      "customName": "create list",
      "data": {},
      "inputs": {
        "listElements": {
          "connections": [
            {
              "node": "06f98f714076cfb0",
              "output": "result",
              "data": {}
            },
            {
              "node": "a4cf96bae37ad17b",
              "output": "result",
              "data": {}
            },
            {
              "node": "c965d48a4fabf8ef",
              "output": "result",
              "data": {}
            },
            {
              "node": "887642c0031db7ed",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        3278.8182053580904,
        -549.7521948866371
      ]
    },
    "68ebad2066cd06e9": {
      "id": "68ebad2066cd06e9",
      "name": "bitbybit.lists.createList",
      "customName": "create list",
      "data": {},
      "inputs": {
        "listElements": {
          "connections": [
            {
              "node": "e466925e50e1ae35",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        4336.804523327079,
        -429.17042083977617
      ]
    },
    "de5c62285ef4b566": {
      "id": "de5c62285ef4b566",
      "name": "bitbybit.occt.shapes.face.subdivideToRectangleHoles",
      "customName": "subdivide to rectangle holes",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "nrRectanglesU": 5,
        "nrRectanglesV": 5,
        "holesToFaces": false,
        "offsetFromBorderU": 0,
        "offsetFromBorderV": 0
      },
      "inputs": {
        "scalePatternU": {
          "connections": [
            {
              "node": "63a5fe7a34024de7",
              "output": "result",
              "data": {}
            }
          ]
        },
        "scalePatternV": {
          "connections": [
            {
              "node": "2dd99a38921a9b18",
              "output": "result",
              "data": {}
            }
          ]
        },
        "filletPattern": {
          "connections": [
            {
              "node": "40cb3a120aa246c2",
              "output": "result",
              "data": {}
            }
          ]
        },
        "inclusionPattern": {
          "connections": [
            {
              "node": "e6b51b66cd9b864f",
              "output": "result",
              "data": {}
            }
          ]
        },
        "shape": {
          "connections": [
            {
              "node": "85a590a0cb2b833f",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        11553.975373856194,
        534.851957368468
      ]
    },
    "302ef33a03c17454": {
      "id": "302ef33a03c17454",
      "name": "bitbybit.code.jsonEditor",
      "customName": "json editor",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": true
        },
        "options": {
          "width": 549,
          "height": 488
        },
        "code": {
          "code": "[\n    [\n        0.9,\n        0.9\n    ],\n    [\n        0.9,\n        0.9\n    ],\n    [\n        0.5\n    ],\n    [\n        true,\n        true,\n        false,\n        true\n    ]\n]"
        }
      },
      "inputs": {},
      "position": [
        10071.607963671555,
        914.6058238006805
      ]
    },
    "a4cf96bae37ad17b": {
      "id": "a4cf96bae37ad17b",
      "name": "bitbybit.occt.shapes.edge.startPointOnEdge",
      "customName": "start point on edge",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        }
      },
      "inputs": {
        "shape": {
          "connections": [
            {
              "node": "1995c7ae0bb86fe8",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        2866.1083470114163,
        -989.0638135546113
      ]
    },
    "887642c0031db7ed": {
      "id": "887642c0031db7ed",
      "name": "bitbybit.occt.shapes.edge.startPointOnEdge",
      "customName": "start point on edge",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        }
      },
      "inputs": {
        "shape": {
          "connections": [
            {
              "node": "6ccf35c9e1bf7dc8",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        2867.374190817235,
        -447.7361304251508
      ]
    },
    "06f98f714076cfb0": {
      "id": "06f98f714076cfb0",
      "name": "bitbybit.occt.shapes.edge.endPointOnEdge",
      "customName": "end point on edge",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        }
      },
      "inputs": {
        "shape": {
          "connections": [
            {
              "node": "6ccf35c9e1bf7dc8",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        2868.6978614988006,
        -173.47940101404868
      ]
    },
    "c965d48a4fabf8ef": {
      "id": "c965d48a4fabf8ef",
      "name": "bitbybit.occt.shapes.edge.endPointOnEdge",
      "customName": "end point on edge",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        }
      },
      "inputs": {
        "shape": {
          "connections": [
            {
              "node": "1995c7ae0bb86fe8",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        2871.698372220818,
        -720.8470618328156
      ]
    },
    "0e996fdc2130f938": {
      "id": "0e996fdc2130f938",
      "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": true
      },
      "inputs": {
        "shape": {
          "connections": [
            {
              "node": "06cf82b1b755d52a",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        2866.745056245978,
        -1346.2519288769715
      ]
    },
    "92ce97baaee92376": {
      "id": "92ce97baaee92376",
      "name": "bitbybit.math.numberSlider",
      "customName": "number slider",
      "data": {
        "options": {
          "min": 0,
          "max": 1,
          "step": 0.1,
          "width": 350,
          "updateOnDrag": false
        },
        "number": 0.9
      },
      "inputs": {},
      "position": [
        -812.6626265186601,
        -2277.14749914879
      ]
    },
    "2e43ecffa9c6ef90": {
      "id": "2e43ecffa9c6ef90",
      "name": "bitbybit.lists.getItem",
      "customName": "get item",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "index": 7,
        "clone": true
      },
      "inputs": {
        "list": {
          "connections": [
            {
              "node": "4b3f5420df8533bd",
              "output": "result",
              "data": {}
            }
          ]
        },
        "index": {
          "connections": [
            {
              "node": "672ea47440ac2b94",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        7161.679522946249,
        -1300.7374085077936
      ]
    },
    "ddfa2a8d619b5e4f": {
      "id": "ddfa2a8d619b5e4f",
      "name": "bitbybit.code.jsonEditor",
      "customName": "json editor",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": true
        },
        "options": {
          "width": 558,
          "height": 213
        },
        "code": {
          "code": "[\n    [\n        0,\n        4,\n        6,\n        14\n    ]\n]"
        }
      },
      "inputs": {},
      "position": [
        5548.868195339546,
        -616.0445040868469
      ]
    },
    "4b3f5420df8533bd": {
      "id": "4b3f5420df8533bd",
      "name": "bitbybit.occt.shapes.face.getFaces",
      "customName": "get faces",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        }
      },
      "inputs": {
        "shape": {
          "connections": [
            {
              "node": "c5fba04d9a4f22cd",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        6328.209063773989,
        -1070.1291600897732
      ]
    },
    "672ea47440ac2b94": {
      "id": "672ea47440ac2b94",
      "name": "bitbybit.lists.flatten",
      "customName": "flatten",
      "data": {
        "nrLevels": 1
      },
      "inputs": {
        "list": {
          "connections": [
            {
              "node": "8a9318ca760e2eec",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        6834.240705413431,
        -1005.0295305928478
      ]
    },
    "8a9318ca760e2eec": {
      "id": "8a9318ca760e2eec",
      "name": "bitbybit.lists.getItem",
      "customName": "get item",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "index": 0,
        "clone": true
      },
      "inputs": {
        "list": {
          "connections": [
            {
              "node": "ddfa2a8d619b5e4f",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        6310.882849453285,
        -761.7481732399684
      ]
    },
    "fe83482ae21e942b": {
      "id": "fe83482ae21e942b",
      "name": "bitbybit.occt.shapes.shell.sewFaces",
      "customName": "sew faces",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "tolerance": 1e-7
      },
      "inputs": {
        "shapes": {
          "connections": [
            {
              "node": "e10df4a96119481b",
              "output": "list",
              "data": {}
            }
          ]
        }
      },
      "position": [
        5355.943914254633,
        -1064.7855917671188
      ]
    },
    "e10df4a96119481b": {
      "id": "e10df4a96119481b",
      "name": "bitbybit.lists.createList",
      "customName": "create list",
      "data": {},
      "inputs": {
        "listElements": {
          "connections": [
            {
              "node": "24159d1919ac692c",
              "output": "result",
              "data": {}
            },
            {
              "node": "90acca90ddcf1a80",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        4983.178354848882,
        -881.7907977044915
      ]
    },
    "90acca90ddcf1a80": {
      "id": "90acca90ddcf1a80",
      "name": "bitbybit.occt.shapes.face.reversedFace",
      "customName": "reversed face",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        }
      },
      "inputs": {
        "shape": {
          "connections": [
            {
              "node": "0e996fdc2130f938",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        3740.4645524922144,
        -1105.9427612114819
      ]
    },
    "ecedaab76752dead": {
      "id": "ecedaab76752dead",
      "name": "bitbybit.occt.shapes.face.subdivideToRectangleHoles",
      "customName": "subdivide to rectangle holes",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "nrRectanglesU": 1,
        "nrRectanglesV": 1,
        "holesToFaces": false,
        "offsetFromBorderU": 0,
        "offsetFromBorderV": 0
      },
      "inputs": {
        "shape": {
          "connections": [
            {
              "node": "ba6892a0f41353b8",
              "output": "result",
              "data": {}
            }
          ]
        },
        "filletPattern": {
          "connections": [
            {
              "node": "2c992a7954f0e49f",
              "output": "result",
              "data": {}
            }
          ]
        },
        "scalePatternV": {
          "connections": [
            {
              "node": "58f93b9bcc958e0d",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        7312.9541225460935,
        -2960.6259656649327
      ]
    },
    "ba6892a0f41353b8": {
      "id": "ba6892a0f41353b8",
      "name": "bitbybit.occt.shapes.face.getFace",
      "customName": "get face",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "index": 3
      },
      "inputs": {
        "shape": {
          "connections": [
            {
              "node": "5097027fa386c5c8",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        6665.4568146727,
        -3253.3441995000453
      ]
    },
    "32b4ab12b25d81fe": {
      "id": "32b4ab12b25d81fe",
      "name": "bitbybit.lists.flatten",
      "customName": "flatten",
      "data": {
        "nrLevels": 1
      },
      "inputs": {
        "list": {
          "connections": [
            {
              "node": "de5c62285ef4b566",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        12009.91891560873,
        333.7599227867296
      ]
    },
    "afec4e30a513f0dd": {
      "id": "afec4e30a513f0dd",
      "name": "bitbybit.lists.createList",
      "customName": "create list",
      "data": {},
      "inputs": {
        "listElements": {
          "connections": [
            {
              "node": "32b4ab12b25d81fe",
              "output": "result",
              "data": {}
            },
            {
              "node": "37ff08de76c01e58",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        12425.755146833226,
        -69.29347224970236
      ]
    },
    "b7da97a43d1247b6": {
      "id": "b7da97a43d1247b6",
      "name": "bitbybit.occt.shapes.shell.sewFaces",
      "customName": "sew faces",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "tolerance": 0.000001
      },
      "inputs": {
        "shapes": {
          "connections": [
            {
              "node": "afec4e30a513f0dd",
              "output": "list",
              "data": {}
            }
          ]
        }
      },
      "position": [
        12768.124334464388,
        -10.899788774184572
      ]
    },
    "24159d1919ac692c": {
      "id": "24159d1919ac692c",
      "name": "bitbybit.occt.operations.loftAdvanced",
      "customName": "loft advanced",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "makeSolid": false,
        "closed": true,
        "periodic": false,
        "straight": true,
        "nrPeriodicSections": 1,
        "useSmoothing": false,
        "maxUDegree": 4,
        "tolerance": 1e-7,
        "parType": "approxIsoParametric"
      },
      "inputs": {
        "shapes": {
          "connections": [
            {
              "node": "68ebad2066cd06e9",
              "output": "list",
              "data": {}
            }
          ]
        }
      },
      "position": [
        4636.017848284175,
        -719.2193861736974
      ]
    },
    "6de29a0eaaaf0d40": {
      "id": "6de29a0eaaaf0d40",
      "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": "76ae868843f6f68b",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        10329.254600247932,
        -688.1930967550595
      ]
    },
    "9c4d59427249bcb2": {
      "id": "9c4d59427249bcb2",
      "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": "06cf82b1b755d52a",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        2850.671671085734,
        410.07014004809156
      ]
    },
    "09c7b874f29c555c": {
      "id": "09c7b874f29c555c",
      "name": "bitbybit.lists.flatten",
      "customName": "flatten",
      "data": {
        "nrLevels": 1
      },
      "inputs": {
        "list": {
          "connections": [
            {
              "node": "9c4d59427249bcb2",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        3596.5437211498174,
        -90.06690481684006
      ]
    },
    "ea7a81df55622090": {
      "id": "ea7a81df55622090",
      "name": "bitbybit.lists.flatten",
      "customName": "flatten",
      "data": {
        "nrLevels": 1
      },
      "inputs": {
        "list": {
          "connections": [
            {
              "node": "8fc05ddd5f69f97e",
              "output": "list",
              "data": {}
            }
          ]
        }
      },
      "position": [
        3600.665701884025,
        -278.044828962541
      ]
    },
    "e466925e50e1ae35": {
      "id": "e466925e50e1ae35",
      "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": "ea7a81df55622090",
              "output": "result",
              "data": {}
            }
          ]
        },
        "end": {
          "connections": [
            {
              "node": "09c7b874f29c555c",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        4022.286269414558,
        -309.4182691607541
      ]
    },
    "55c7a5dbabaa693b": {
      "id": "55c7a5dbabaa693b",
      "name": "bitbybit.occt.shapes.edge.getEdge",
      "customName": "get edge",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "index": 0
      },
      "inputs": {
        "shape": {
          "connections": [
            {
              "node": "2e43ecffa9c6ef90",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        7738.841206489783,
        -1092.5638106155782
      ]
    },
    "3c8ba496e967a030": {
      "id": "3c8ba496e967a030",
      "name": "bitbybit.occt.shapes.edge.getEdge",
      "customName": "get edge",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "index": 3
      },
      "inputs": {
        "shape": {
          "connections": [
            {
              "node": "2e43ecffa9c6ef90",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        7740.069774373846,
        -788.7713394733206
      ]
    },
    "4ebbb43ca539bf9c": {
      "id": "4ebbb43ca539bf9c",
      "name": "bitbybit.lists.createList",
      "customName": "create list",
      "data": {},
      "inputs": {
        "listElements": {
          "connections": [
            {
              "node": "9ad2bbc777770cd7",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        8590.939273267319,
        -738.1204733605946
      ]
    },
    "c00db9719fc4c5ec": {
      "id": "c00db9719fc4c5ec",
      "name": "bitbybit.lists.createList",
      "customName": "create list",
      "data": {},
      "inputs": {
        "listElements": {
          "connections": [
            {
              "node": "55c7a5dbabaa693b",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        8142.583007747145,
        -1059.0270616692974
      ]
    },
    "5f46dcd4126201f5": {
      "id": "5f46dcd4126201f5",
      "name": "bitbybit.lists.createList",
      "customName": "create list",
      "data": {},
      "inputs": {
        "listElements": {
          "connections": [
            {
              "node": "c00db9719fc4c5ec",
              "output": "list",
              "data": {}
            },
            {
              "node": "4ebbb43ca539bf9c",
              "output": "list",
              "data": {}
            }
          ]
        }
      },
      "position": [
        9092.07963736431,
        -748.8943987848953
      ]
    },
    "e9d130b5e594dfb8": {
      "id": "e9d130b5e594dfb8",
      "name": "bitbybit.lists.mergeElementsOfLists",
      "customName": "merge elements of lists",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "level": 0
      },
      "inputs": {
        "lists": {
          "connections": [
            {
              "node": "5f46dcd4126201f5",
              "output": "list",
              "data": {}
            }
          ]
        }
      },
      "position": [
        9419.752957452203,
        -719.2101485640108
      ]
    },
    "76ae868843f6f68b": {
      "id": "76ae868843f6f68b",
      "name": "bitbybit.lists.flatten",
      "customName": "flatten",
      "data": {
        "nrLevels": 1
      },
      "inputs": {
        "list": {
          "connections": [
            {
              "node": "e9d130b5e594dfb8",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        9860.467887420113,
        -676.6005232007944
      ]
    },
    "9ad2bbc777770cd7": {
      "id": "9ad2bbc777770cd7",
      "name": "bitbybit.occt.shapes.edge.reversedEdge",
      "customName": "reversed edge",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        }
      },
      "inputs": {
        "shape": {
          "connections": [
            {
              "node": "3c8ba496e967a030",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        8131.120124786826,
        -783.7379414461968
      ]
    },
    "85a590a0cb2b833f": {
      "id": "85a590a0cb2b833f",
      "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": "6de29a0eaaaf0d40",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        11022.091416409969,
        18.33091113522123
      ]
    },
    "c5fba04d9a4f22cd": {
      "id": "c5fba04d9a4f22cd",
      "name": "bitbybit.occt.fillets.filletEdges",
      "customName": "fillet edges",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "radius": 1
      },
      "inputs": {
        "shape": {
          "connections": [
            {
              "node": "fe83482ae21e942b",
              "output": "result",
              "data": {}
            }
          ]
        },
        "radius": {
          "connections": [
            {
              "node": "92ce97baaee92376",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        5747.585795276295,
        -1323.6887196226257
      ]
    },
    "764fca467a005587": {
      "id": "764fca467a005587",
      "name": "bitbybit.point.translatePoints",
      "customName": "translate points",
      "async": false,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        }
      },
      "inputs": {
        "points": {
          "connections": [
            {
              "node": "8fc05ddd5f69f97e",
              "output": "list",
              "data": {}
            }
          ]
        },
        "translation": {
          "connections": [
            {
              "node": "bd99fbc2a25fa1d4",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        3660.1657223289685,
        -1950.353027568765
      ]
    },
    "bd99fbc2a25fa1d4": {
      "id": "bd99fbc2a25fa1d4",
      "name": "bitbybit.vector.vectorXYZ",
      "customName": "vector xyz",
      "async": false,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "x": 0,
        "y": 2,
        "z": 0
      },
      "inputs": {},
      "position": [
        3209.69980940161,
        -1898.9672523891188
      ]
    },
    "54a420fd5094a0c6": {
      "id": "54a420fd5094a0c6",
      "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": "ea7a81df55622090",
              "output": "result",
              "data": {}
            }
          ]
        },
        "end": {
          "connections": [
            {
              "node": "30d09ab86af58480",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        4455.462320776649,
        -1848.1486119454714
      ]
    },
    "30d09ab86af58480": {
      "id": "30d09ab86af58480",
      "name": "bitbybit.lists.flatten",
      "customName": "flatten",
      "data": {
        "nrLevels": 1
      },
      "inputs": {
        "list": {
          "connections": [
            {
              "node": "764fca467a005587",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        4076.3325848993227,
        -1835.766735700631
      ]
    },
    "0b926ecb181c5ea3": {
      "id": "0b926ecb181c5ea3",
      "name": "bitbybit.occt.operations.loftAdvanced",
      "customName": "loft advanced",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "makeSolid": false,
        "closed": true,
        "periodic": false,
        "straight": true,
        "nrPeriodicSections": 10,
        "useSmoothing": false,
        "maxUDegree": 3,
        "tolerance": 1e-7,
        "parType": "approxCentripetal"
      },
      "inputs": {
        "shapes": {
          "connections": [
            {
              "node": "5af22f2418c94dc5",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        5566.991985333725,
        -2370.5988622850955
      ]
    },
    "ccb11f9f65059dde": {
      "id": "ccb11f9f65059dde",
      "name": "bitbybit.lists.createList",
      "customName": "create list",
      "data": {},
      "inputs": {
        "listElements": {
          "connections": [
            {
              "node": "54a420fd5094a0c6",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        4794.37508567673,
        -2012.4544373618605
      ]
    },
    "5af22f2418c94dc5": {
      "id": "5af22f2418c94dc5",
      "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": "ccb11f9f65059dde",
              "output": "list",
              "data": {}
            }
          ]
        }
      },
      "position": [
        5122.486694635992,
        -2004.7501406797455
      ]
    },
    "5097027fa386c5c8": {
      "id": "5097027fa386c5c8",
      "name": "bitbybit.occt.fillets.filletEdges",
      "customName": "fillet edges",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "radius": 1.3
      },
      "inputs": {
        "shape": {
          "connections": [
            {
              "node": "0b926ecb181c5ea3",
              "output": "result",
              "data": {}
            }
          ]
        },
        "radius": {
          "connections": [
            {
              "node": "92ce97baaee92376",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        6088.355487079066,
        -2701.224948945124
      ]
    },
    "2c992a7954f0e49f": {
      "id": "2c992a7954f0e49f",
      "name": "bitbybit.code.jsonEditor",
      "customName": "json editor",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": true
        },
        "code": {
          "code": "[0.8]"
        }
      },
      "inputs": {},
      "position": [
        6556.340602598076,
        -2388.054274931374
      ]
    },
    "89a89a2b4db73b37": {
      "id": "89a89a2b4db73b37",
      "name": "bitbybit.occt.shapes.face.getFaces",
      "customName": "get faces",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        }
      },
      "inputs": {
        "shape": {
          "connections": [
            {
              "node": "5097027fa386c5c8",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        6614.212152302937,
        -2025.6902935851717
      ]
    },
    "da54c6fc31e9d645": {
      "id": "da54c6fc31e9d645",
      "name": "bitbybit.lists.removeItemAtIndex",
      "customName": "remove item at index",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "index": 3,
        "clone": true
      },
      "inputs": {
        "list": {
          "connections": [
            {
              "node": "89a89a2b4db73b37",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        6979.531185540973,
        -2001.5287140438506
      ]
    },
    "c567bc1319310388": {
      "id": "c567bc1319310388",
      "name": "bitbybit.occt.shapes.shell.sewFaces",
      "customName": "sew faces",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "tolerance": 0.000001
      },
      "inputs": {
        "shapes": {
          "connections": [
            {
              "node": "e55356f880c515c6",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        8647.183056610114,
        -2219.363999884874
      ]
    },
    "12f0cd0f566392f2": {
      "id": "12f0cd0f566392f2",
      "name": "bitbybit.lists.createList",
      "customName": "create list",
      "data": {},
      "inputs": {
        "listElements": {
          "connections": [
            {
              "node": "da54c6fc31e9d645",
              "output": "result",
              "data": {}
            },
            {
              "node": "ecedaab76752dead",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        7870.087862975591,
        -2128.6064741509817
      ]
    },
    "e55356f880c515c6": {
      "id": "e55356f880c515c6",
      "name": "bitbybit.lists.flatten",
      "customName": "flatten",
      "data": {
        "nrLevels": 1
      },
      "inputs": {
        "list": {
          "connections": [
            {
              "node": "12f0cd0f566392f2",
              "output": "list",
              "data": {}
            }
          ]
        }
      },
      "position": [
        8290.904289668453,
        -2131.2251034420533
      ]
    },
    "03b8fd5a2d9c97b8": {
      "id": "03b8fd5a2d9c97b8",
      "name": "bitbybit.occt.shapes.shell.sewFaces",
      "customName": "sew faces",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "tolerance": 1e-7
      },
      "inputs": {
        "shapes": {
          "connections": [
            {
              "node": "2b72b3cafea3cd14",
              "output": "list",
              "data": {}
            }
          ]
        }
      },
      "position": [
        13450.725273044833,
        -184.98323166319295
      ]
    },
    "2b72b3cafea3cd14": {
      "id": "2b72b3cafea3cd14",
      "name": "bitbybit.lists.createList",
      "customName": "create list",
      "data": {},
      "inputs": {
        "listElements": {
          "connections": [
            {
              "node": "c567bc1319310388",
              "output": "result",
              "data": {}
            },
            {
              "node": "b7da97a43d1247b6",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        13163.352617876264,
        -148.98000288784237
      ]
    },
    "775f36a3d35d03f3": {
      "id": "775f36a3d35d03f3",
      "name": "bitbybit.occt.shapes.shape.unifySameDomain",
      "customName": "unify same domain",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "unifyEdges": true,
        "unifyFaces": true,
        "concatBSplines": true
      },
      "inputs": {
        "shape": {
          "connections": [
            {
              "node": "03b8fd5a2d9c97b8",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        13790.542574345976,
        -180.19462605227045
      ]
    },
    "63a5fe7a34024de7": {
      "id": "63a5fe7a34024de7",
      "name": "bitbybit.lists.getItem",
      "customName": "get item",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "index": 0,
        "clone": true
      },
      "inputs": {
        "list": {
          "connections": [
            {
              "node": "302ef33a03c17454",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        10974.757605340048,
        417.77020803268334
      ]
    },
    "2dd99a38921a9b18": {
      "id": "2dd99a38921a9b18",
      "name": "bitbybit.lists.getItem",
      "customName": "get item",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "index": 1,
        "clone": true
      },
      "inputs": {
        "list": {
          "connections": [
            {
              "node": "302ef33a03c17454",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        10977.501837394737,
        765.9515589194591
      ]
    },
    "40cb3a120aa246c2": {
      "id": "40cb3a120aa246c2",
      "name": "bitbybit.lists.getItem",
      "customName": "get item",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "index": 2,
        "clone": true
      },
      "inputs": {
        "list": {
          "connections": [
            {
              "node": "302ef33a03c17454",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        10982.652415779497,
        1113.1542220772953
      ]
    },
    "e6b51b66cd9b864f": {
      "id": "e6b51b66cd9b864f",
      "name": "bitbybit.lists.getItem",
      "customName": "get item",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "index": 3,
        "clone": true
      },
      "inputs": {
        "list": {
          "connections": [
            {
              "node": "302ef33a03c17454",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        10983.967884278127,
        1460.623073052005
      ]
    },
    "e88ea937b4ce98ca": {
      "id": "e88ea937b4ce98ca",
      "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.1
      },
      "inputs": {
        "shape": {
          "connections": [
            {
              "node": "775f36a3d35d03f3",
              "output": "result",
              "data": {}
            }
          ]
        },
        "offset": {
          "connections": [
            {
              "node": "4b45fc47d992a778",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        14220.962195141165,
        -94.9591842507223
      ]
    },
    "9ad6a576c0620980": {
      "id": "9ad6a576c0620980",
      "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": "65a36d4af8109414",
              "output": "result",
              "data": {}
            },
            {
              "node": "0906c0993d58216e",
              "output": "result",
              "data": {}
            }
          ]
        },
        "options": {
          "connections": [
            {
              "node": "1a64578ec2ffe0e9",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        18106.077066837446,
        832.7552078898843
      ]
    },
    "9fca868ea6939386": {
      "id": "9fca868ea6939386",
      "name": "bitbybit.babylon.scene.drawDirectionalLight",
      "customName": "draw directional light",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "direction": [
          -100,
          -100,
          -100
        ],
        "intensity": 4,
        "diffuse": "#ffffff",
        "specular": "#ffffff",
        "shadowGeneratorMapSize": 2056,
        "enableShadows": true,
        "shadowDarkness": 0,
        "shadowUsePercentageCloserFiltering": true,
        "transparencyShadow": false,
        "shadowContactHardeningLightSizeUVRatio": 0.2,
        "shadowBias": 0.0001,
        "shadowNormalBias": 0.002,
        "shadowMaxZ": 1000,
        "shadowMinZ": 0,
        "shadowRefreshRate": 1
      },
      "inputs": {
        "direction": {
          "connections": [
            {
              "node": "0f76b54a5290c513",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        -992.7902974566343,
        2079.656174512059
      ]
    },
    "61106adfb9edc892": {
      "id": "61106adfb9edc892",
      "name": "bitbybit.babylon.scene.enableSkybox",
      "customName": "enable skybox",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "skybox": "city",
        "size": 1000,
        "blur": 0.5,
        "environmentIntensity": 0.7,
        "hideSkybox": false
      },
      "inputs": {},
      "position": [
        -995.5520052073458,
        2622.3331364951555
      ]
    },
    "0906c0993d58216e": {
      "id": "0906c0993d58216e",
      "name": "bitbybit.occt.shapes.face.createCircleFace",
      "customName": "circle face",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "radius": 15,
        "center": [
          0,
          0,
          0
        ],
        "direction": [
          0,
          1,
          0
        ]
      },
      "inputs": {},
      "position": [
        17199.60115743455,
        584.8404263791103
      ]
    },
    "0eccdf7614df2eae": {
      "id": "0eccdf7614df2eae",
      "name": "bitbybit.babylon.material.pbrMetallicRoughness.create",
      "customName": "pbr metallic roughness",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "name": "Custom Material",
        "baseColor": "#1c1c1c",
        "emissiveColor": "#000000",
        "metallic": 0.9,
        "roughness": 0.25,
        "alpha": 1,
        "backFaceCulling": true,
        "zOffset": 2
      },
      "inputs": {},
      "position": [
        16820.141032137406,
        1205.6799775832765
      ]
    },
    "0a4e9c836e137cb4": {
      "id": "0a4e9c836e137cb4",
      "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": "d2714c133ebcb7a4",
              "output": "result",
              "data": {}
            }
          ]
        },
        "shape": {
          "connections": [
            {
              "node": "e88ea937b4ce98ca",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        14649.62570251466,
        -39.174944785300085
      ]
    },
    "d2714c133ebcb7a4": {
      "id": "d2714c133ebcb7a4",
      "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.1,
        "z": 0
      },
      "inputs": {
        "y": {
          "connections": [
            {
              "node": "4b45fc47d992a778",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        14245.523913194793,
        220.16856334979607
      ]
    },
    "ed91caf93472aecf": {
      "id": "ed91caf93472aecf",
      "name": "bitbybit.advanced.text3d.create",
      "customName": "text 3d",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "text": "Tool Box",
        "fontType": "Tektur",
        "fontVariant": "Regular",
        "fontSize": 0.7,
        "height": 0.2,
        "rotation": 90,
        "origin": [
          0,
          0,
          0
        ],
        "direction": [
          0,
          1,
          0
        ],
        "originAlignment": "centerMiddle"
      },
      "inputs": {
        "origin": {
          "connections": [
            {
              "node": "647760e084a9aae1",
              "output": "result",
              "data": {}
            }
          ]
        },
        "direction": {
          "connections": [
            {
              "node": "2af5f328b898ff66",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        15806.988619315993,
        565.0406331894437
      ]
    },
    "647760e084a9aae1": {
      "id": "647760e084a9aae1",
      "name": "bitbybit.vector.vectorXYZ",
      "customName": "vector xyz",
      "async": false,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "x": -2,
        "y": 10,
        "z": 0
      },
      "inputs": {
        "y": {
          "connections": [
            {
              "node": "0fbc278be8de8674",
              "output": "result",
              "data": {}
            }
          ]
        },
        "x": {
          "connections": [
            {
              "node": "cfa2a3e577f587fb",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        15207.237762182336,
        762.2236969989079
      ]
    },
    "2af5f328b898ff66": {
      "id": "2af5f328b898ff66",
      "name": "bitbybit.vector.vectorXYZ",
      "customName": "vector xyz",
      "async": false,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "x": -1,
        "y": 0,
        "z": 0
      },
      "inputs": {},
      "position": [
        15213.133552910325,
        1154.2317073687625
      ]
    },
    "65a36d4af8109414": {
      "id": "65a36d4af8109414",
      "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": "3ac1587a5d2c5ca1",
              "output": "list",
              "data": {}
            }
          ]
        }
      },
      "position": [
        17214.376470824627,
        214.34296910558226
      ]
    },
    "3ac1587a5d2c5ca1": {
      "id": "3ac1587a5d2c5ca1",
      "name": "bitbybit.lists.createList",
      "customName": "create list",
      "data": {},
      "inputs": {
        "listElements": {
          "connections": [
            {
              "node": "c97fd7081c9deaa6",
              "output": "result",
              "data": {}
            },
            {
              "node": "e91a110e3173060e",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        16787.913724624395,
        307.79731244862626
      ]
    },
    "e91a110e3173060e": {
      "id": "e91a110e3173060e",
      "name": "bitbybit.advanced.text3d.getCompoundShape",
      "customName": "get compound shape",
      "async": false,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        }
      },
      "inputs": {
        "model": {
          "connections": [
            {
              "node": "ed91caf93472aecf",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        16277.86654428645,
        417.55957340542125
      ]
    },
    "0fbc278be8de8674": {
      "id": "0fbc278be8de8674",
      "name": "bitbybit.math.twoNrOperation",
      "customName": "two nr operation",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "first": 1,
        "second": 1,
        "operation": "add"
      },
      "inputs": {
        "first": {
          "connections": [
            {
              "node": "322c96fa9edea231",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        13574.882407052222,
        1612.8715405440232
      ]
    },
    "4b45fc47d992a778": {
      "id": "4b45fc47d992a778",
      "name": "bitbybit.math.numberSlider",
      "customName": "number slider",
      "data": {
        "options": {
          "min": 0,
          "max": 0.2,
          "step": 0.01,
          "width": 350,
          "updateOnDrag": false
        },
        "number": 0.1
      },
      "inputs": {},
      "position": [
        13431.054549885826,
        997.670670455315
      ]
    },
    "709f38030e75e737": {
      "id": "709f38030e75e737",
      "name": "bitbybit.math.twoNrOperation",
      "customName": "two nr operation",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "first": 1,
        "second": 1,
        "operation": "add"
      },
      "inputs": {
        "first": {
          "connections": [
            {
              "node": "ccea1458f349b088",
              "output": "result",
              "data": {}
            }
          ]
        },
        "second": {
          "connections": [
            {
              "node": "4b45fc47d992a778",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        14227.76538431365,
        1061.424982034953
      ]
    },
    "ccea1458f349b088": {
      "id": "ccea1458f349b088",
      "name": "bitbybit.math.twoNrOperation",
      "customName": "two nr operation",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "first": 1,
        "second": 2,
        "operation": "divide"
      },
      "inputs": {
        "first": {
          "connections": [
            {
              "node": "40edfb900c073b2b",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        13579.770259179071,
        1249.6179007724784
      ]
    },
    "cfa2a3e577f587fb": {
      "id": "cfa2a3e577f587fb",
      "name": "bitbybit.math.oneNrOperation",
      "customName": "one nr operation",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "number": 1,
        "operation": "negate"
      },
      "inputs": {
        "number": {
          "connections": [
            {
              "node": "709f38030e75e737",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        14692.524430741923,
        742.1195396133834
      ]
    },
    "0f76b54a5290c513": {
      "id": "0f76b54a5290c513",
      "name": "bitbybit.vector.vectorXYZ",
      "customName": "vector xyz",
      "async": false,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "x": -100,
        "y": -50,
        "z": -100
      },
      "inputs": {},
      "position": [
        -1371.5054755994822,
        2089.10517776181
      ]
    },
    "0131c5d6c35b4f9a": {
      "id": "0131c5d6c35b4f9a",
      "name": "bitbybit.occt.io.saveShapeStl",
      "customName": "save shape stl",
      "async": true,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "fileName": "toolbox.stl",
        "precision": 0.001,
        "adjustYtoZ": false,
        "tryDownload": true,
        "binary": true
      },
      "inputs": {
        "shape": {
          "connections": [
            {
              "node": "c78c1a8815a3acef",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        18362.158893392698,
        106.6635919775035
      ]
    },
    "af5888dc9cf1a2e2": {
      "id": "af5888dc9cf1a2e2",
      "name": "bitbybit.occt.shapes.solid.fromClosedShell",
      "customName": "from closed shell",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        }
      },
      "inputs": {
        "shape": {
          "connections": [
            {
              "node": "0a4e9c836e137cb4",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        15111.755171585643,
        -35.422269503435
      ]
    },
    "c97fd7081c9deaa6": {
      "id": "c97fd7081c9deaa6",
      "name": "bitbybit.occt.shapes.shape.unifySameDomain",
      "customName": "unify same domain",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "unifyEdges": true,
        "unifyFaces": true,
        "concatBSplines": true
      },
      "inputs": {
        "shape": {
          "connections": [
            {
              "node": "af5888dc9cf1a2e2",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        15602.346937300405,
        -98.1623962191656
      ]
    },
    "2ee98f0f74c7f3af": {
      "id": "2ee98f0f74c7f3af",
      "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": "9cb54ea64356c473",
              "output": "result",
              "data": {}
            }
          ]
        },
        "lookAt": {
          "connections": [
            {
              "node": "ec5c336db11ed636",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        -1051.0667873001637,
        3311.5347475928675
      ]
    },
    "9cb54ea64356c473": {
      "id": "9cb54ea64356c473",
      "name": "bitbybit.vector.vectorXYZ",
      "customName": "vector xyz",
      "async": false,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "x": -11,
        "y": 11,
        "z": 11
      },
      "inputs": {},
      "position": [
        -1456.1825027111915,
        3241.102440791625
      ]
    },
    "ec5c336db11ed636": {
      "id": "ec5c336db11ed636",
      "name": "bitbybit.vector.vectorXYZ",
      "customName": "vector xyz",
      "async": false,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "x": 0,
        "y": 6,
        "z": 0
      },
      "inputs": {},
      "position": [
        -1462.292282278747,
        3602.080167625055
      ]
    },
    "58f93b9bcc958e0d": {
      "id": "58f93b9bcc958e0d",
      "name": "bitbybit.code.jsonEditor",
      "customName": "json editor",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": true
        },
        "options": {
          "width": 525,
          "height": 165
        },
        "code": {
          "code": "[0.8]"
        }
      },
      "inputs": {},
      "position": [
        6566.1294851529965,
        -2901.7611426818457
      ]
    },
    "0a855410ca9cb1ec": {
      "id": "0a855410ca9cb1ec",
      "name": "bitbybit.lists.removeItemsAtIndexes",
      "customName": "remove items at indexes",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "clone": true
      },
      "inputs": {
        "indexes": {
          "connections": [
            {
              "node": "8a9318ca760e2eec",
              "output": "result",
              "data": {}
            }
          ]
        },
        "list": {
          "connections": [
            {
              "node": "4b3f5420df8533bd",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        7170.923158459801,
        -556.1553904495966
      ]
    },
    "37ff08de76c01e58": {
      "id": "37ff08de76c01e58",
      "name": "bitbybit.lists.flatten",
      "customName": "flatten",
      "data": {
        "nrLevels": 1
      },
      "inputs": {
        "list": {
          "connections": [
            {
              "node": "0a855410ca9cb1ec",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        8902.11227170206,
        -94.87762197578624
      ]
    },
    "c78c1a8815a3acef": {
      "id": "c78c1a8815a3acef",
      "name": "bitbybit.logic.valueGate",
      "customName": "value gate",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "boolean": false
      },
      "inputs": {
        "value": {
          "connections": [
            {
              "node": "65a36d4af8109414",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        17855.13052375558,
        252.5240107758865
      ]
    },
    "0b50e3c707e7999d": {
      "id": "0b50e3c707e7999d",
      "name": "bitbybit.babylon.mesh.setRotation",
      "customName": "set rotation",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        }
      },
      "inputs": {
        "exec": {
          "connections": [
            {
              "node": "a8c9dc9ce52998e0",
              "output": "exec",
              "data": {}
            }
          ]
        },
        "rotation": {
          "connections": [
            {
              "node": "a8c9dc9ce52998e0",
              "output": "result",
              "data": {}
            }
          ]
        },
        "babylonMesh": {
          "connections": [
            {
              "node": "9ad6a576c0620980",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        19574.44763071101,
        1299.3903781359745
      ]
    },
    "76dd5ad7cf0ab76b": {
      "id": "76dd5ad7cf0ab76b",
      "name": "bitbybit.flow.time.interval",
      "customName": "interval",
      "data": {
        "interval": 10,
        "expire": 0
      },
      "inputs": {
        "exec": {
          "connections": [
            {
              "node": "8b40bae6f5f92208",
              "output": "exec",
              "data": {}
            }
          ]
        }
      },
      "position": [
        18176.88515374737,
        1805.1446995867288
      ]
    },
    "8b40bae6f5f92208": {
      "id": "8b40bae6f5f92208",
      "name": "bitbybit.flow.actions.trigger",
      "customName": "trigger",
      "data": {},
      "inputs": {},
      "position": [
        17766.942510862387,
        1859.0324615843112
      ]
    },
    "9809b3c22dbfb48e": {
      "id": "9809b3c22dbfb48e",
      "name": "bitbybit.flow.counters.counterMinMax",
      "customName": "counter min max",
      "data": {
        "count": 0,
        "min": 0,
        "max": 360,
        "step": 0.1,
        "pulse": false,
        "end": false
      },
      "inputs": {
        "exec": {
          "connections": [
            {
              "node": "76dd5ad7cf0ab76b",
              "output": "exec",
              "data": {}
            }
          ]
        }
      },
      "position": [
        18726.69855781516,
        1741.7386357965736
      ]
    },
    "a8c9dc9ce52998e0": {
      "id": "a8c9dc9ce52998e0",
      "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": 0
      },
      "inputs": {
        "exec": {
          "connections": [
            {
              "node": "9809b3c22dbfb48e",
              "output": "exec",
              "data": {}
            }
          ]
        },
        "y": {
          "connections": [
            {
              "node": "9809b3c22dbfb48e",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        19181.10987234902,
        1450.4041061562982
      ]
    },
    "1a64578ec2ffe0e9": {
      "id": "1a64578ec2ffe0e9",
      "name": "bitbybit.draw.optionsOcctShape",
      "customName": "options occt shape",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "faceOpacity": 1,
        "edgeOpacity": 1,
        "edgeColour": "#ffffff",
        "faceColour": "#ff0000",
        "vertexColour": "#ff00ff",
        "edgeWidth": 2,
        "vertexSize": 0.03,
        "drawEdges": false,
        "drawFaces": true,
        "drawVertices": false,
        "precision": 0.01,
        "drawEdgeIndexes": false,
        "edgeIndexHeight": 0.06,
        "edgeIndexColour": "#ff00ff",
        "drawFaceIndexes": false,
        "faceIndexHeight": 0.06,
        "faceIndexColour": "#0000ff",
        "drawTwoSided": false,
        "backFaceColour": "#0000ff",
        "backFaceOpacity": 1,
        "edgeArrowSize": 0,
        "edgeArrowAngle": 15
      },
      "inputs": {
        "faceMaterial": {
          "connections": [
            {
              "node": "0eccdf7614df2eae",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        17215.750565385384,
        1018.1935958038616
      ]
    }
  }
}
Plans & Pricing

Choose Your Plan

Editor plans for 3D development, API keys for server-side CAD algorithms

B2B

ENTERPRISE

Custom pricing

Custom software development, dedicated servers & CAD automation at scale.

CAD Automation & Software
  • Custom software development
  • Cloud CAD automation pipelines
  • 3D configurators (STEP & GLTF)
  • Batch export jobs
  • Custom algorithms & deployment
Infrastructure & Support
  • Custom compute allocation
  • Dedicated / VPS server tenants
  • Long-running computation jobs
  • Custom upload limits & overage
  • SLA & premium support