Script: 3D CAD Model Of Tangent Circles

3D CAD Model Of Tangent Circles picture
Type
Rete logo indicatorrete
Date Created
Apr 9, 2024, 9:54:43 AM
Last Edit Date
Feb 28, 2025, 3:05:15 PM

Project Information

This project is meant as a conceptual demo for designing parametric industrial 3D parts in mechanical engineering.

View Full Project

Script Code

{
  "id": "rete-v2-json",
  "nodes": {
    "0e5783f31a1adcc7": {
      "id": "0e5783f31a1adcc7",
      "name": "bitbybit.occt.shapes.wire.createCircleWire",
      "customName": "circle",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "radius": 3,
        "center": [
          0,
          0,
          0
        ],
        "direction": [
          0,
          1,
          0
        ]
      },
      "inputs": {
        "radius": {
          "connections": [
            {
              "node": "498c3f62c6cc7c55",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        643.177992239504,
        105.57423628074595
      ]
    },
    "8e5a0a7791426ef3": {
      "id": "8e5a0a7791426ef3",
      "name": "bitbybit.occt.shapes.wire.createCircleWire",
      "customName": "circle",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "radius": 1,
        "center": [
          0,
          0,
          0
        ],
        "direction": [
          0,
          1,
          0
        ]
      },
      "inputs": {
        "center": {
          "connections": [
            {
              "node": "6a1488953f74f4df",
              "output": "result",
              "data": {}
            }
          ]
        },
        "radius": {
          "connections": [
            {
              "node": "182a6b4bffea432a",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        638.6830591039859,
        459.6335741820354
      ]
    },
    "6a1488953f74f4df": {
      "id": "6a1488953f74f4df",
      "name": "bitbybit.vector.vectorXYZ",
      "customName": "vector XYZ",
      "async": false,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "x": 24,
        "y": 0,
        "z": 0
      },
      "inputs": {
        "x": {
          "connections": [
            {
              "node": "949731cdb685bb1b",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        -279.68726257677577,
        910.9337360384327
      ]
    },
    "7412d19c72b59cb8": {
      "id": "7412d19c72b59cb8",
      "name": "bitbybit.occt.shapes.wire.createWireFromTwoCirclesTan",
      "customName": "tangent wire from two circles",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "keepLines": "outside",
        "circleRemainders": "inside",
        "tolerance": 1e-7
      },
      "inputs": {
        "circle1": {
          "connections": [
            {
              "node": "0e5783f31a1adcc7",
              "output": "result",
              "data": {}
            }
          ]
        },
        "circle2": {
          "connections": [
            {
              "node": "8e5a0a7791426ef3",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        1349.6676303711936,
        189.2601423416136
      ]
    },
    "be58f281db572bd8": {
      "id": "be58f281db572bd8",
      "name": "bitbybit.occt.operations.offset",
      "customName": "offset",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "distance": -0.5,
        "tolerance": 0.1
      },
      "inputs": {
        "shape": {
          "connections": [
            {
              "node": "7412d19c72b59cb8",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        1825.380102136211,
        -214.45160289076006
      ]
    },
    "df4ffa0b9caee9b5": {
      "id": "df4ffa0b9caee9b5",
      "name": "bitbybit.occt.shapes.face.createFaceFromWires",
      "customName": "face from wires",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "planar": false
      },
      "inputs": {
        "shapes": {
          "connections": [
            {
              "node": "5bc885db568c68fa",
              "output": "list",
              "data": {}
            }
          ]
        }
      },
      "position": [
        3715.0477213383656,
        105.27994105359419
      ]
    },
    "5bc885db568c68fa": {
      "id": "5bc885db568c68fa",
      "name": "bitbybit.lists.createList",
      "customName": "list",
      "data": {},
      "inputs": {
        "listElements": {
          "connections": [
            {
              "node": "7412d19c72b59cb8",
              "output": "result",
              "data": {}
            },
            {
              "node": "0b22101a99001fdb",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        3432.8615947206135,
        140.51713458776825
      ]
    },
    "0b22101a99001fdb": {
      "id": "0b22101a99001fdb",
      "name": "bitbybit.occt.shapes.wire.reversedWire",
      "customName": "reversed",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        }
      },
      "inputs": {
        "shape": {
          "connections": [
            {
              "node": "ee547be2d8293f93",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        2881.569297123601,
        -111.71749084143329
      ]
    },
    "6b18ed98bf61664f": {
      "id": "6b18ed98bf61664f",
      "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": "df4ffa0b9caee9b5",
              "output": "result",
              "data": {}
            }
          ]
        },
        "direction": {
          "connections": [
            {
              "node": "9bed813631c7cee9",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        4206.222825598234,
        327.3206994836024
      ]
    },
    "ee547be2d8293f93": {
      "id": "ee547be2d8293f93",
      "name": "bitbybit.occt.fillets.fillet2d",
      "customName": "fillet 2d wire or face",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "radius": 0.3
      },
      "inputs": {
        "shape": {
          "connections": [
            {
              "node": "be58f281db572bd8",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        2171.632610327837,
        -99.45054875803254
      ]
    },
    "498c3f62c6cc7c55": {
      "id": "498c3f62c6cc7c55",
      "name": "bitbybit.math.numberSlider",
      "customName": "Radius 1",
      "data": {
        "options": {
          "min": 1.5,
          "max": 7,
          "step": 0.1,
          "width": 350
        },
        "number": 3.4
      },
      "inputs": {},
      "position": [
        -905.7287151671537,
        124.43083592711356
      ]
    },
    "497d623697fc72f4": {
      "id": "497d623697fc72f4",
      "name": "bitbybit.occt.shapes.wire.reversedWire",
      "customName": "reversed",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        }
      },
      "inputs": {
        "shape": {
          "connections": [
            {
              "node": "3ab67eda3a3fd471",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        1740.8804815238311,
        961.3909812429428
      ]
    },
    "3ab67eda3a3fd471": {
      "id": "3ab67eda3a3fd471",
      "name": "bitbybit.occt.shapes.wire.createCircleWire",
      "customName": "circle",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "radius": 1,
        "center": [
          0,
          0,
          0
        ],
        "direction": [
          0,
          1,
          0
        ]
      },
      "inputs": {
        "radius": {
          "connections": [
            {
              "node": "9c0292a8a1c2ddcd",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        1292.5028022264862,
        983.0458732393794
      ]
    },
    "f3e4918b2521ba96": {
      "id": "f3e4918b2521ba96",
      "name": "bitbybit.occt.shapes.face.createFaceFromWires",
      "customName": "face from wires",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "planar": true
      },
      "inputs": {
        "shapes": {
          "connections": [
            {
              "node": "5e8bd66294b9ff7e",
              "output": "list",
              "data": {}
            }
          ]
        }
      },
      "position": [
        2512.5687464258817,
        588.4414254196271
      ]
    },
    "5e8bd66294b9ff7e": {
      "id": "5e8bd66294b9ff7e",
      "name": "bitbybit.lists.createList",
      "customName": "list",
      "data": {},
      "inputs": {
        "listElements": {
          "connections": [
            {
              "node": "0e5783f31a1adcc7",
              "output": "result",
              "data": {}
            },
            {
              "node": "497d623697fc72f4",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        2143.039683497029,
        766.2218724544525
      ]
    },
    "688fdfe9a66fcf58": {
      "id": "688fdfe9a66fcf58",
      "name": "bitbybit.occt.shapes.face.createFaceFromWires",
      "customName": "face from wires",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "planar": true
      },
      "inputs": {
        "shapes": {
          "connections": [
            {
              "node": "ce8975b2150c8490",
              "output": "list",
              "data": {}
            }
          ]
        }
      },
      "position": [
        2624.485427828371,
        1283.786591534435
      ]
    },
    "182a6b4bffea432a": {
      "id": "182a6b4bffea432a",
      "name": "bitbybit.math.numberSlider",
      "customName": "Radius 2",
      "data": {
        "options": {
          "min": 1.5,
          "max": 7,
          "step": 0.1,
          "width": 350
        },
        "number": 5.5
      },
      "inputs": {},
      "position": [
        -921.1386123255572,
        482.6618956370434
      ]
    },
    "fec4f83e2eef505f": {
      "id": "fec4f83e2eef505f",
      "name": "bitbybit.occt.shapes.wire.createCircleWire",
      "customName": "circle",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "radius": 1,
        "center": [
          0,
          0,
          0
        ],
        "direction": [
          0,
          1,
          0
        ]
      },
      "inputs": {
        "center": {
          "connections": [
            {
              "node": "6a1488953f74f4df",
              "output": "result",
              "data": {}
            }
          ]
        },
        "radius": {
          "connections": [
            {
              "node": "66a89540e6f8c793",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        1275.8814421068166,
        1428.5941765537818
      ]
    },
    "4b8d1e24581d4915": {
      "id": "4b8d1e24581d4915",
      "name": "bitbybit.occt.shapes.wire.reversedWire",
      "customName": "reversed",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        }
      },
      "inputs": {
        "shape": {
          "connections": [
            {
              "node": "fec4f83e2eef505f",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        1748.835638066051,
        1475.1404775474389
      ]
    },
    "ce8975b2150c8490": {
      "id": "ce8975b2150c8490",
      "name": "bitbybit.lists.createList",
      "customName": "list",
      "data": {},
      "inputs": {
        "listElements": {
          "connections": [
            {
              "node": "8e5a0a7791426ef3",
              "output": "result",
              "data": {}
            },
            {
              "node": "4b8d1e24581d4915",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        2208.1254794320785,
        1326.362027250052
      ]
    },
    "bbe374f5eda2398c": {
      "id": "bbe374f5eda2398c",
      "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": "f3e4918b2521ba96",
              "output": "result",
              "data": {}
            },
            {
              "node": "688fdfe9a66fcf58",
              "output": "result",
              "data": {}
            }
          ]
        },
        "direction": {
          "connections": [
            {
              "node": "fc465c8ee3870705",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        3567.0495771803926,
        1012.3724098767043
      ]
    },
    "fc465c8ee3870705": {
      "id": "fc465c8ee3870705",
      "name": "bitbybit.vector.vectorXYZ",
      "customName": "vector XYZ",
      "async": false,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "x": 0,
        "y": 7,
        "z": 0
      },
      "inputs": {},
      "position": [
        3226.3887292384293,
        1377.2117757682631
      ]
    },
    "9c0292a8a1c2ddcd": {
      "id": "9c0292a8a1c2ddcd",
      "name": "bitbybit.math.twoNrOperation",
      "customName": "two numbers",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "first": 1,
        "second": 1,
        "operation": "subtract"
      },
      "inputs": {
        "first": {
          "connections": [
            {
              "node": "498c3f62c6cc7c55",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        558.8427077394689,
        810.1272903513453
      ]
    },
    "66a89540e6f8c793": {
      "id": "66a89540e6f8c793",
      "name": "bitbybit.math.twoNrOperation",
      "customName": "two numbers",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "first": 1,
        "second": 1,
        "operation": "subtract"
      },
      "inputs": {
        "first": {
          "connections": [
            {
              "node": "182a6b4bffea432a",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        615.8480411775889,
        1280.5032349360806
      ]
    },
    "949731cdb685bb1b": {
      "id": "949731cdb685bb1b",
      "name": "bitbybit.math.numberSlider",
      "customName": "Distance",
      "data": {
        "options": {
          "min": 15,
          "max": 30,
          "step": 0.1,
          "width": 350
        },
        "number": 16.2
      },
      "inputs": {},
      "position": [
        -891.2108515097773,
        1014.2356656648353
      ]
    },
    "9bed813631c7cee9": {
      "id": "9bed813631c7cee9",
      "name": "bitbybit.vector.vectorXYZ",
      "customName": "vector XYZ",
      "async": false,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "x": 0,
        "y": 3,
        "z": 0
      },
      "inputs": {},
      "position": [
        3767.40337004187,
        503.4437814659145
      ]
    },
    "89ce7d96be21a3ac": {
      "id": "89ce7d96be21a3ac",
      "name": "bitbybit.occt.fillets.filletEdges",
      "customName": "fillet edges",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "radius": 0.3
      },
      "inputs": {
        "shape": {
          "connections": [
            {
              "node": "bbe374f5eda2398c",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        3981.7749388049233,
        1031.3125789633891
      ]
    },
    "42e595e4ca0f506a": {
      "id": "42e595e4ca0f506a",
      "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": "89ce7d96be21a3ac",
              "output": "result",
              "data": {}
            }
          ]
        },
        "translation": {
          "connections": [
            {
              "node": "b0dd224f54856b41",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        4411.41722640604,
        1251.7287566123932
      ]
    },
    "b0dd224f54856b41": {
      "id": "b0dd224f54856b41",
      "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": [
        3923.126185111321,
        1435.3150259366798
      ]
    },
    "8fc36bdb2b55523d": {
      "id": "8fc36bdb2b55523d",
      "name": "bitbybit.occt.shapes.wire.createWireFromTwoCirclesTan",
      "customName": "tangent wire from two circles",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "keepLines": "outside",
        "circleRemainders": "outside",
        "tolerance": 1e-7
      },
      "inputs": {
        "circle1": {
          "connections": [
            {
              "node": "0e5783f31a1adcc7",
              "output": "result",
              "data": {}
            }
          ]
        },
        "circle2": {
          "connections": [
            {
              "node": "8e5a0a7791426ef3",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        1292.4703320113213,
        -784.5287635659598
      ]
    },
    "a7d3a1e10f64aa16": {
      "id": "a7d3a1e10f64aa16",
      "name": "bitbybit.occt.operations.offset",
      "customName": "offset",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "distance": 2,
        "tolerance": 0.1
      },
      "inputs": {
        "shape": {
          "connections": [
            {
              "node": "8fc36bdb2b55523d",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        1906.199028508239,
        -1029.2604367143058
      ]
    },
    "63983df6da15461e": {
      "id": "63983df6da15461e",
      "name": "bitbybit.lists.createList",
      "customName": "list",
      "data": {},
      "inputs": {
        "listElements": {
          "connections": [
            {
              "node": "a7d3a1e10f64aa16",
              "output": "result",
              "data": {}
            },
            {
              "node": "30e99aee51a8b0d1",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        2501.1181549967487,
        -817.3106126908197
      ]
    },
    "9e68a90a72bcf45f": {
      "id": "9e68a90a72bcf45f",
      "name": "bitbybit.occt.shapes.face.createFaceFromWires",
      "customName": "face from wires",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "planar": true
      },
      "inputs": {
        "shapes": {
          "connections": [
            {
              "node": "63983df6da15461e",
              "output": "list",
              "data": {}
            }
          ]
        }
      },
      "position": [
        2861.864703723829,
        -878.5851750760701
      ]
    },
    "30e99aee51a8b0d1": {
      "id": "30e99aee51a8b0d1",
      "name": "bitbybit.occt.shapes.wire.reversedWire",
      "customName": "reversed",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        }
      },
      "inputs": {
        "shape": {
          "connections": [
            {
              "node": "8fc36bdb2b55523d",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        1967.4855118956514,
        -634.0865287164468
      ]
    },
    "3e51adf8adb5e69b": {
      "id": "3e51adf8adb5e69b",
      "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": "9e68a90a72bcf45f",
              "output": "result",
              "data": {}
            }
          ]
        },
        "direction": {
          "connections": [
            {
              "node": "4b421d2f96ef9234",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        3365.1213476056246,
        -889.0716969404066
      ]
    },
    "51e5403095b40669": {
      "id": "51e5403095b40669",
      "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": "9a2b49ce3f0cfd4c",
              "output": "result",
              "data": {}
            }
          ]
        },
        "shape": {
          "connections": [
            {
              "node": "54015bf942a3e5c9",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        4405.044912133333,
        -862.4295973353054
      ]
    },
    "9a2b49ce3f0cfd4c": {
      "id": "9a2b49ce3f0cfd4c",
      "name": "bitbybit.vector.vectorXYZ",
      "customName": "vector XYZ",
      "async": false,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "x": 0,
        "y": 1,
        "z": 0
      },
      "inputs": {},
      "position": [
        3513.5161651135536,
        -473.05804385461227
      ]
    },
    "ec99231f0fda2160": {
      "id": "ec99231f0fda2160",
      "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": "a7d3a1e10f64aa16",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        3174.135738058122,
        -1204.4187488749792
      ]
    },
    "54015bf942a3e5c9": {
      "id": "54015bf942a3e5c9",
      "name": "bitbybit.occt.fillets.filletEdgesListOneRadius",
      "customName": "fillet edges list one r",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "radius": 0.4
      },
      "inputs": {
        "shape": {
          "connections": [
            {
              "node": "3e51adf8adb5e69b",
              "output": "result",
              "data": {}
            }
          ]
        },
        "edges": {
          "connections": [
            {
              "node": "ec99231f0fda2160",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        3910.7460919068053,
        -1169.1905610536687
      ]
    },
    "4b421d2f96ef9234": {
      "id": "4b421d2f96ef9234",
      "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": [
        2993.8703217269817,
        -610.3216367287403
      ]
    },
    "7da0dcadffbeea01": {
      "id": "7da0dcadffbeea01",
      "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": "51e5403095b40669",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        4764.459880838269,
        -703.1915971356891
      ]
    },
    "6532a2ccef0c0293": {
      "id": "6532a2ccef0c0293",
      "name": "bitbybit.lists.removeItemAtIndex",
      "customName": "remove item",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "index": 3,
        "clone": true
      },
      "inputs": {
        "list": {
          "connections": [
            {
              "node": "7da0dcadffbeea01",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        5159.311512624683,
        -874.9400432214468
      ]
    },
    "9fa75263876c1185": {
      "id": "9fa75263876c1185",
      "name": "bitbybit.occt.transforms.mirrorAlongNormal",
      "customName": "mirror normal",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "origin": [
          0,
          0,
          0
        ],
        "normal": [
          0,
          0,
          1
        ]
      },
      "inputs": {
        "shape": {
          "connections": [
            {
              "node": "b647be9e465d9019",
              "output": "result",
              "data": {}
            }
          ]
        },
        "normal": {
          "connections": [
            {
              "node": "c1ded2b6a93b3312",
              "output": "result",
              "data": {}
            }
          ]
        },
        "origin": {
          "connections": [
            {
              "node": "291829b37455132b",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        6102.71693807506,
        -573.7660215650886
      ]
    },
    "b647be9e465d9019": {
      "id": "b647be9e465d9019",
      "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": "6532a2ccef0c0293",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        5576.561899937931,
        -859.680923154312
      ]
    },
    "c1ded2b6a93b3312": {
      "id": "c1ded2b6a93b3312",
      "name": "bitbybit.vector.vectorXYZ",
      "customName": "vector XYZ",
      "async": false,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "x": 0,
        "y": 1,
        "z": 0
      },
      "inputs": {},
      "position": [
        5191.089993851374,
        -215.19168500585442
      ]
    },
    "291829b37455132b": {
      "id": "291829b37455132b",
      "name": "bitbybit.vector.vectorXYZ",
      "customName": "vector XYZ",
      "async": false,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "x": 0,
        "y": 1.5,
        "z": 0
      },
      "inputs": {},
      "position": [
        5180.356403615972,
        -522.6279997627405
      ]
    },
    "5ae666936971361a": {
      "id": "5ae666936971361a",
      "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": "0354f1edb3349b80",
              "output": "list",
              "data": {}
            }
          ]
        }
      },
      "position": [
        6884.767282311176,
        -798.1487157884476
      ]
    },
    "0354f1edb3349b80": {
      "id": "0354f1edb3349b80",
      "name": "bitbybit.lists.createList",
      "customName": "list",
      "data": {},
      "inputs": {
        "listElements": {
          "connections": [
            {
              "node": "b647be9e465d9019",
              "output": "result",
              "data": {}
            },
            {
              "node": "9fa75263876c1185",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        6548.557950183183,
        -679.1803257961602
      ]
    },
    "2a3498acaf91df69": {
      "id": "2a3498acaf91df69",
      "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": "5ae666936971361a",
              "output": "result",
              "data": {}
            }
          ]
        },
        "options": {
          "connections": [
            {
              "node": "e533fbc5ff843a1a",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        7375.940133508733,
        -575.3702061418084
      ]
    },
    "e533fbc5ff843a1a": {
      "id": "e533fbc5ff843a1a",
      "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": "#474747",
        "edgeWidth": 2
      },
      "inputs": {
        "faceMaterial": {
          "connections": [
            {
              "node": "d18385be158b361d",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        6803.07667079093,
        -257.84353244700446
      ]
    },
    "d18385be158b361d": {
      "id": "d18385be158b361d",
      "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": "#474eff",
        "emissiveColor": "#000000",
        "metallic": 0.1,
        "roughness": 0.9,
        "alpha": 1,
        "backFaceCulling": false,
        "zOffset": 2
      },
      "inputs": {},
      "position": [
        6440.862982340747,
        -136.28746828913185
      ]
    },
    "8a37cf5f86e779de": {
      "id": "8a37cf5f86e779de",
      "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.6,
        "environmentIntensity": 0.7
      },
      "inputs": {},
      "position": [
        -52.931589545080556,
        1554.506524900003
      ]
    },
    "d10af2e7a1d25873": {
      "id": "d10af2e7a1d25873",
      "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": [
        -546.6658452417059,
        1525.133375396519
      ]
    },
    "f2681b20e859e8a9": {
      "id": "f2681b20e859e8a9",
      "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": "e505a9c24b57a487",
              "output": "result",
              "data": {}
            }
          ]
        },
        "options": {
          "connections": [
            {
              "node": "ce6d4e5ab9e76539",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        7049.929610536694,
        713.8803221630949
      ]
    },
    "e505a9c24b57a487": {
      "id": "e505a9c24b57a487",
      "name": "bitbybit.occt.shapes.compound.makeCompound",
      "customName": "make",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        }
      },
      "inputs": {
        "shapes": {
          "connections": [
            {
              "node": "f2ae560bb343a451",
              "output": "list",
              "data": {}
            }
          ]
        }
      },
      "position": [
        5035.975336103436,
        700.952975045815
      ]
    },
    "f2ae560bb343a451": {
      "id": "f2ae560bb343a451",
      "name": "bitbybit.lists.createList",
      "customName": "list",
      "data": {},
      "inputs": {
        "listElements": {
          "connections": [
            {
              "node": "6b18ed98bf61664f",
              "output": "result",
              "data": {}
            },
            {
              "node": "42e595e4ca0f506a",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        4722.254054471903,
        696.965152460524
      ]
    },
    "93309d1c56bd9934": {
      "id": "93309d1c56bd9934",
      "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": "#212121",
        "emissiveColor": "#000000",
        "metallic": 0.95,
        "roughness": 0.235,
        "alpha": 1,
        "backFaceCulling": false,
        "zOffset": 2
      },
      "inputs": {},
      "position": [
        5628.201101780516,
        1083.7868997974167
      ]
    },
    "ce6d4e5ab9e76539": {
      "id": "ce6d4e5ab9e76539",
      "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": "#6e6e6e",
        "edgeWidth": 2
      },
      "inputs": {
        "faceMaterial": {
          "connections": [
            {
              "node": "93309d1c56bd9934",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        6226.179700514807,
        931.5108132152701
      ]
    },
    "ede7bad8847cd067": {
      "id": "ede7bad8847cd067",
      "name": "bitbybit.babylon.scene.adjustActiveArcRotateCamera",
      "customName": "adjust active 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": {
        "lookAt": {
          "connections": [
            {
              "node": "5ebcec914f2048b3",
              "output": "result",
              "data": {}
            }
          ]
        },
        "position": {
          "connections": [
            {
              "node": "d5e6e43169cdf069",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        -0.3925817416179598,
        1999.8356090815028
      ]
    },
    "5ebcec914f2048b3": {
      "id": "5ebcec914f2048b3",
      "name": "bitbybit.vector.vectorXYZ",
      "customName": "vector XYZ",
      "async": false,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "x": 7,
        "y": 0,
        "z": 0
      },
      "inputs": {},
      "position": [
        -455.9506205664287,
        2163.7612926208294
      ]
    },
    "d5e6e43169cdf069": {
      "id": "d5e6e43169cdf069",
      "name": "bitbybit.vector.vectorXYZ",
      "customName": "vector XYZ",
      "async": false,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "x": -10,
        "y": 20,
        "z": -10
      },
      "inputs": {},
      "position": [
        -920.6159695415183,
        1968.777403079351
      ]
    }
  }
}