Script: 3D Configurator

3D Configurator picture
Type
Rete logo indicatorrete
Date Created
Sep 24, 2024, 12:29:14 PM
Last Edit Date
Sep 30, 2025, 6:30:27 PM

Project Information

If you are looking to 3D print a generic box with equally spaced cavities this model might serve you well as it can be extended quite easily and adapted to your personal needs

View Full Project

Script Code

{
  "id": "rete-v2-json",
  "nodes": {
    "4b6a8b3c8d6e9050": {
      "id": "4b6a8b3c8d6e9050",
      "name": "bitbybit.occt.shapes.face.createRectangleFace",
      "customName": "rectangle",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "width": 4,
        "length": 2,
        "center": [
          0,
          0,
          0
        ],
        "direction": [
          0,
          1,
          0
        ]
      },
      "inputs": {
        "width": {
          "connections": [
            {
              "node": "8a88898aa71de59c",
              "output": "result",
              "data": {}
            }
          ]
        },
        "length": {
          "connections": [
            {
              "node": "1acbefcec68b9046",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        390.08984375,
        442.5390625
      ]
    },
    "8688d5108d9de470": {
      "id": "8688d5108d9de470",
      "name": "bitbybit.occt.shapes.face.subdivideToRectangleHoles",
      "customName": "rectangle holes on face",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "nrRectanglesU": 3,
        "nrRectanglesV": 6,
        "holesToFaces": true,
        "offsetFromBorderU": 0.03,
        "offsetFromBorderV": 0.03
      },
      "inputs": {
        "scalePatternU": {
          "connections": [
            {
              "node": "d22b4f01be675996",
              "output": "result",
              "data": {}
            }
          ]
        },
        "scalePatternV": {
          "connections": [
            {
              "node": "f725f316acbf2f7b",
              "output": "result",
              "data": {}
            }
          ]
        },
        "inclusionPattern": {
          "connections": [
            {
              "node": "c3c99ea79747b79c",
              "output": "result",
              "data": {}
            }
          ]
        },
        "filletPattern": {
          "connections": [
            {
              "node": "d8f24f2b68d86a4f",
              "output": "result",
              "data": {}
            }
          ]
        },
        "shape": {
          "connections": [
            {
              "node": "4b6a8b3c8d6e9050",
              "output": "result",
              "data": {}
            }
          ]
        },
        "nrRectanglesU": {
          "connections": [
            {
              "node": "6cfba61b9fcff67e",
              "output": "result",
              "data": {}
            }
          ]
        },
        "nrRectanglesV": {
          "connections": [
            {
              "node": "b79e002e6ef5766c",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        1359.9377674585155,
        47.22551001186171
      ]
    },
    "0f365f5eacc60488": {
      "id": "0f365f5eacc60488",
      "name": "bitbybit.code.jsonEditor",
      "customName": "json editor",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": true
        },
        "code": {
          "code": "{\n    \"uPat\": [0.9],\n    \"vPat\": [0.9],\n    \"fillet\": [0.3],\n    \"include\": [true]\n}"
        }
      },
      "inputs": {},
      "position": [
        -24.597978107849514,
        1182.1531471408055
      ]
    },
    "d22b4f01be675996": {
      "id": "d22b4f01be675996",
      "name": "bitbybit.json.getValueOnProp",
      "customName": "get value on property",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "property": "uPat"
      },
      "inputs": {
        "json": {
          "connections": [
            {
              "node": "0f365f5eacc60488",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        788.28125,
        676.203125
      ]
    },
    "f725f316acbf2f7b": {
      "id": "f725f316acbf2f7b",
      "name": "bitbybit.json.getValueOnProp",
      "customName": "get value on property",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "property": "vPat"
      },
      "inputs": {
        "json": {
          "connections": [
            {
              "node": "0f365f5eacc60488",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        794.765625,
        1004.95703125
      ]
    },
    "c3c99ea79747b79c": {
      "id": "c3c99ea79747b79c",
      "name": "bitbybit.json.getValueOnProp",
      "customName": "get value on property",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "property": "include"
      },
      "inputs": {
        "json": {
          "connections": [
            {
              "node": "0f365f5eacc60488",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        791.3603315611202,
        1617.6290106245008
      ]
    },
    "d8f24f2b68d86a4f": {
      "id": "d8f24f2b68d86a4f",
      "name": "bitbybit.json.getValueOnProp",
      "customName": "get value on property",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "property": "fillet"
      },
      "inputs": {
        "json": {
          "connections": [
            {
              "node": "0f365f5eacc60488",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        796.0973836150168,
        1310.089059986169
      ]
    },
    "6d9432cfff75ef23": {
      "id": "6d9432cfff75ef23",
      "name": "bitbybit.occt.operations.extrude",
      "customName": "extrude",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "direction": [
          0,
          1,
          0
        ]
      },
      "inputs": {
        "direction": {
          "connections": [
            {
              "node": "be8607d605f9ebac",
              "output": "result",
              "data": {}
            }
          ]
        },
        "shape": {
          "connections": [
            {
              "node": "ea70be6810d3ac1e",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        2466.0263156517603,
        767.8965226487385
      ]
    },
    "be8607d605f9ebac": {
      "id": "be8607d605f9ebac",
      "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.5,
        "z": 0
      },
      "inputs": {},
      "position": [
        1766.9604693064014,
        1337.8562359964005
      ]
    },
    "ea70be6810d3ac1e": {
      "id": "ea70be6810d3ac1e",
      "name": "bitbybit.lists.getItem",
      "customName": "item by index",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "index": 0,
        "clone": true
      },
      "inputs": {
        "list": {
          "connections": [
            {
              "node": "8688d5108d9de470",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        1932.1512164323055,
        673.3608751981039
      ]
    },
    "87cb248952f09e6b": {
      "id": "87cb248952f09e6b",
      "name": "bitbybit.occt.operations.extrude",
      "customName": "extrude",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "direction": [
          0,
          1,
          0
        ]
      },
      "inputs": {
        "shape": {
          "connections": [
            {
              "node": "4b6a8b3c8d6e9050",
              "output": "result",
              "data": {}
            }
          ]
        },
        "direction": {
          "connections": [
            {
              "node": "9daf55d08aee89a3",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        1756.1627286214061,
        1854.0524193960769
      ]
    },
    "9daf55d08aee89a3": {
      "id": "9daf55d08aee89a3",
      "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.05,
        "z": 0
      },
      "inputs": {
        "y": {
          "connections": [
            {
              "node": "04ac5f026e968693",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        1145.9219942677703,
        2245.856711744213
      ]
    },
    "6e63799d86b7b88c": {
      "id": "6e63799d86b7b88c",
      "name": "bitbybit.lists.removeItemAtIndex",
      "customName": "remove item",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "index": 0,
        "clone": true
      },
      "inputs": {
        "list": {
          "connections": [
            {
              "node": "8688d5108d9de470",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        2628.113887898685,
        -238.97250581570063
      ]
    },
    "08424d40fa8c798b": {
      "id": "08424d40fa8c798b",
      "name": "bitbybit.occt.shapes.face.getFaces",
      "customName": "faces",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        }
      },
      "inputs": {
        "shape": {
          "connections": [
            {
              "node": "6d9432cfff75ef23",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        2950.428425471911,
        333.5751581324704
      ]
    },
    "a7585deb761fddc9": {
      "id": "a7585deb761fddc9",
      "name": "bitbybit.lists.removeItemAtIndex",
      "customName": "remove item",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "index": 1,
        "clone": true
      },
      "inputs": {
        "list": {
          "connections": [
            {
              "node": "08424d40fa8c798b",
              "output": "result",
              "data": {}
            }
          ]
        },
        "index": {
          "connections": [
            {
              "node": "bbfed089e2d5556c",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        4125.383508339302,
        275.1180533506304
      ]
    },
    "d99ff2c971d42f08": {
      "id": "d99ff2c971d42f08",
      "name": "bitbybit.lists.listLength",
      "customName": "list length",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "clone": true
      },
      "inputs": {
        "list": {
          "connections": [
            {
              "node": "08424d40fa8c798b",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        3293.369267673561,
        506.39970042796483
      ]
    },
    "bbfed089e2d5556c": {
      "id": "bbfed089e2d5556c",
      "name": "bitbybit.math.twoNrOperation",
      "customName": "two numbers",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "first": 1,
        "second": 2,
        "operation": "subtract"
      },
      "inputs": {
        "first": {
          "connections": [
            {
              "node": "d99ff2c971d42f08",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        3670.179223903555,
        497.5786968489502
      ]
    },
    "2878623e6ffb5abf": {
      "id": "2878623e6ffb5abf",
      "name": "bitbybit.occt.shapes.face.getFaces",
      "customName": "faces",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        }
      },
      "inputs": {
        "shape": {
          "connections": [
            {
              "node": "87cb248952f09e6b",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        2133.2514521410926,
        1882.7595524676988
      ]
    },
    "2fb29908c7974327": {
      "id": "2fb29908c7974327",
      "name": "bitbybit.lists.removeItemAtIndex",
      "customName": "remove item",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "index": 4,
        "clone": true
      },
      "inputs": {
        "list": {
          "connections": [
            {
              "node": "2878623e6ffb5abf",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        2527.1022699780115,
        1834.1415629914238
      ]
    },
    "97c5ef6aba544486": {
      "id": "97c5ef6aba544486",
      "name": "bitbybit.lists.createList",
      "customName": "create list",
      "data": {},
      "inputs": {
        "listElements": {
          "connections": [
            {
              "node": "1880a2bacad6f3bd",
              "output": "result",
              "data": {}
            },
            {
              "node": "f8103e3d80fd9fcb",
              "output": "result",
              "data": {}
            },
            {
              "node": "5b80f34fda3492f1",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        5044.948713188394,
        1048.9770238832848
      ]
    },
    "5b80f34fda3492f1": {
      "id": "5b80f34fda3492f1",
      "name": "bitbybit.lists.flatten",
      "customName": "flatten",
      "data": {
        "nrLevels": 1
      },
      "inputs": {
        "list": {
          "connections": [
            {
              "node": "2fb29908c7974327",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        4545.596488710909,
        1408.464520619248
      ]
    },
    "f8103e3d80fd9fcb": {
      "id": "f8103e3d80fd9fcb",
      "name": "bitbybit.lists.flatten",
      "customName": "flatten",
      "data": {
        "nrLevels": 1
      },
      "inputs": {
        "list": {
          "connections": [
            {
              "node": "a7585deb761fddc9",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        4587.175003464273,
        1009.6384183214143
      ]
    },
    "1880a2bacad6f3bd": {
      "id": "1880a2bacad6f3bd",
      "name": "bitbybit.lists.flatten",
      "customName": "flatten",
      "data": {
        "nrLevels": 1
      },
      "inputs": {
        "list": {
          "connections": [
            {
              "node": "6e63799d86b7b88c",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        4556.555470090783,
        50.9907193244737
      ]
    },
    "7c1ec0d59ecfcb0f": {
      "id": "7c1ec0d59ecfcb0f",
      "name": "bitbybit.occt.shapes.shell.sewFaces",
      "customName": "sew",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "tolerance": 1e-7
      },
      "inputs": {
        "shapes": {
          "connections": [
            {
              "node": "97c5ef6aba544486",
              "output": "list",
              "data": {}
            }
          ]
        }
      },
      "position": [
        5429.706497456796,
        1017.215633920024
      ]
    },
    "35fd21a4c4c2391c": {
      "id": "35fd21a4c4c2391c",
      "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": "7c1ec0d59ecfcb0f",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        5882.065282273248,
        1064.1080269073555
      ]
    },
    "2d37cc2286701308": {
      "id": "2d37cc2286701308",
      "name": "bitbybit.occt.shapes.solid.fromClosedShell",
      "customName": "solid from closed shell",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        }
      },
      "inputs": {
        "shape": {
          "connections": [
            {
              "node": "35fd21a4c4c2391c",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        6373.389394560612,
        1081.4695034001359
      ]
    },
    "8a88898aa71de59c": {
      "id": "8a88898aa71de59c",
      "name": "bitbybit.math.numberSlider",
      "customName": "number slider",
      "data": {
        "options": {
          "min": 2,
          "max": 20,
          "step": 0.1,
          "width": 350,
          "updateOnDrag": false
        },
        "number": 7.7
      },
      "inputs": {},
      "position": [
        -669.6385853353096,
        -148.88009489479566
      ]
    },
    "1acbefcec68b9046": {
      "id": "1acbefcec68b9046",
      "name": "bitbybit.math.numberSlider",
      "customName": "number slider",
      "data": {
        "options": {
          "min": 2,
          "max": 20,
          "step": 0.1,
          "width": 350,
          "updateOnDrag": false
        },
        "number": 13.4
      },
      "inputs": {},
      "position": [
        -662.369435328047,
        24.753261316342844
      ]
    },
    "6cfba61b9fcff67e": {
      "id": "6cfba61b9fcff67e",
      "name": "bitbybit.math.numberSlider",
      "customName": "number slider",
      "data": {
        "options": {
          "min": 1,
          "max": 30,
          "step": 1,
          "width": 350,
          "updateOnDrag": false
        },
        "number": 5
      },
      "inputs": {},
      "position": [
        -646.3676243850559,
        216.91572810296896
      ]
    },
    "b79e002e6ef5766c": {
      "id": "b79e002e6ef5766c",
      "name": "bitbybit.math.numberSlider",
      "customName": "number slider",
      "data": {
        "options": {
          "min": 1,
          "max": 30,
          "step": 1,
          "width": 350,
          "updateOnDrag": false
        },
        "number": 5
      },
      "inputs": {},
      "position": [
        -652.3302533654515,
        396.3201417718601
      ]
    },
    "0ea98b52a0a3375a": {
      "id": "0ea98b52a0a3375a",
      "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": "82f4b8607e59ca87",
              "output": "result",
              "data": {}
            }
          ]
        },
        "entity": {
          "connections": [
            {
              "node": "7f06fae115061360",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        8282.245455043183,
        1163.8648552973293
      ]
    },
    "82f4b8607e59ca87": {
      "id": "82f4b8607e59ca87",
      "name": "bitbybit.draw.optionsOcctShapeMaterial",
      "customName": "occt shape with material",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "precision": 0.001,
        "drawEdges": true,
        "edgeColour": "#000000",
        "edgeWidth": 0.5
      },
      "inputs": {
        "faceMaterial": {
          "connections": [
            {
              "node": "e77799c58d952ede",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        6920.765276121045,
        1766.8162798209507
      ]
    },
    "e77799c58d952ede": {
      "id": "e77799c58d952ede",
      "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": "#61155c",
        "emissiveColor": "#000000",
        "metallic": 0.9,
        "roughness": 0.26,
        "alpha": 1,
        "backFaceCulling": true,
        "zOffset": 2
      },
      "inputs": {},
      "position": [
        5939.8124971179295,
        1749.1466693301766
      ]
    },
    "cdfc124188171a6f": {
      "id": "cdfc124188171a6f",
      "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": "2d37cc2286701308",
              "output": "result",
              "data": {}
            }
          ]
        },
        "translation": {
          "connections": [
            {
              "node": "f7c730baed617479",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        6982.460391502306,
        1333.7757317671812
      ]
    },
    "f7c730baed617479": {
      "id": "f7c730baed617479",
      "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.05,
        "z": 0
      },
      "inputs": {
        "y": {
          "connections": [
            {
              "node": "a74aea9ca5266ec1",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        1153.5233288512654,
        2596.0209026206794
      ]
    },
    "a74aea9ca5266ec1": {
      "id": "a74aea9ca5266ec1",
      "name": "bitbybit.math.numberSlider",
      "customName": "number slider",
      "data": {
        "options": {
          "min": 0,
          "max": 0.5,
          "step": 0.05,
          "width": 350,
          "updateOnDrag": false
        },
        "number": 0.05
      },
      "inputs": {},
      "position": [
        97.92324751048113,
        2364.50986850693
      ]
    },
    "04ac5f026e968693": {
      "id": "04ac5f026e968693",
      "name": "bitbybit.math.oneNrOperation",
      "customName": "one number",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "number": 1,
        "operation": "negate"
      },
      "inputs": {
        "number": {
          "connections": [
            {
              "node": "a74aea9ca5266ec1",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        652.7011998563794,
        2068.066007855389
      ]
    },
    "6e374b8819e22206": {
      "id": "6e374b8819e22206",
      "name": "bitbybit.babylon.scene.enableSkybox",
      "customName": "skybox",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "skybox": "clearSky",
        "size": 1000,
        "blur": 0.1,
        "environmentIntensity": 0.7,
        "hideSkybox": false
      },
      "inputs": {},
      "position": [
        221.44168721658394,
        2798.721055337092
      ]
    },
    "c4d8c07a380b705a": {
      "id": "c4d8c07a380b705a",
      "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": 1024,
        "enableShadows": true,
        "shadowDarkness": 0,
        "shadowUsePercentageCloserFiltering": true,
        "shadowContactHardeningLightSizeUVRatio": 0.2,
        "shadowBias": 0.0001,
        "shadowNormalBias": 0.002,
        "shadowMaxZ": 1000,
        "shadowMinZ": 0
      },
      "inputs": {},
      "position": [
        181.94006687477048,
        3189.818156372936
      ]
    },
    "07a22e36e133b09c": {
      "id": "07a22e36e133b09c",
      "name": "bitbybit.occt.shapes.face.createCircleFace",
      "customName": "circle",
      "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": [
        7613.286090471714,
        1622.2824261632604
      ]
    },
    "83a3f9d3968976a8": {
      "id": "83a3f9d3968976a8",
      "name": "bitbybit.draw.drawAnyAsync",
      "customName": "draw async",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        }
      },
      "inputs": {
        "entity": {
          "connections": [
            {
              "node": "07a22e36e133b09c",
              "output": "result",
              "data": {}
            }
          ]
        },
        "options": {
          "connections": [
            {
              "node": "82f4b8607e59ca87",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        8283.259425277405,
        1670.1660457926519
      ]
    },
    "387281e4fbc1e938": {
      "id": "387281e4fbc1e938",
      "name": "bitbybit.occt.io.saveShapeStl",
      "customName": "save stl",
      "async": true,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "fileName": "shape.stl",
        "precision": 0.001,
        "adjustYtoZ": false,
        "tryDownload": true,
        "binary": true
      },
      "inputs": {
        "shape": {
          "connections": [
            {
              "node": "a41577b8db7dd71b",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        8236.933620072428,
        471.96279621132265
      ]
    },
    "a41577b8db7dd71b": {
      "id": "a41577b8db7dd71b",
      "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": "cdfc124188171a6f",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        7547.435329244445,
        662.2870639925625
      ]
    },
    "7f06fae115061360": {
      "id": "7f06fae115061360",
      "name": "bitbybit.occt.fillets.chamferEdges",
      "customName": "chamfer edges",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "distance": 0.05
      },
      "inputs": {
        "shape": {
          "connections": [
            {
              "node": "cdfc124188171a6f",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        7715.993260555503,
        -28.696997109698515
      ]
    }
  }
}
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