Script: Example On How To Use Pipe Components

Example On How To Use Pipe Components picture
Type
Rete logo indicatorrete
Date Created
Mar 21, 2025, 8:56:02 AM
Last Edit Date
Mar 21, 2025, 1:27:10 PM

Project Information

This short demo script illustrates how piping can be used to create solids around continuous wires.

View Full Project

Script Code

{
  "id": "rete-v2-json",
  "nodes": {
    "2236fc8e79d4bd49": {
      "id": "2236fc8e79d4bd49",
      "name": "bitbybit.point.pointXYZ",
      "customName": "point xyz",
      "async": false,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "x": -10,
        "y": 0,
        "z": -3
      },
      "inputs": {},
      "position": [
        159.727941079438,
        492.63295924164737
      ]
    },
    "5efa6a364133ce33": {
      "id": "5efa6a364133ce33",
      "name": "bitbybit.point.pointXYZ",
      "customName": "point xyz",
      "async": false,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "x": -10,
        "y": 0,
        "z": 3
      },
      "inputs": {},
      "position": [
        166.34900398329933,
        1213.74530980641
      ]
    },
    "69ac825bcbaefd85": {
      "id": "69ac825bcbaefd85",
      "name": "bitbybit.point.pointXYZ",
      "customName": "point xyz",
      "async": false,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "x": 10,
        "y": 0,
        "z": 3
      },
      "inputs": {},
      "position": [
        164.66733229485556,
        1558.894801934817
      ]
    },
    "0538742b25c10978": {
      "id": "0538742b25c10978",
      "name": "bitbybit.point.pointXYZ",
      "customName": "point xyz",
      "async": false,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "x": 10,
        "y": 0,
        "z": -3
      },
      "inputs": {},
      "position": [
        159.16549484834357,
        829.6271947677151
      ]
    },
    "9ed83c46647727d5": {
      "id": "9ed83c46647727d5",
      "name": "bitbybit.point.pointXYZ",
      "customName": "point xyz",
      "async": false,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "x": -13,
        "y": 6,
        "z": 0
      },
      "inputs": {},
      "position": [
        191.70503148689832,
        -1016.8193101106674
      ]
    },
    "1a3c249c8b332a51": {
      "id": "1a3c249c8b332a51",
      "name": "bitbybit.point.pointXYZ",
      "customName": "point xyz",
      "async": false,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "x": 0,
        "y": 3,
        "z": 0
      },
      "inputs": {},
      "position": [
        196.76124825189524,
        -666.8311967429894
      ]
    },
    "0bda156c9fd5dee4": {
      "id": "0bda156c9fd5dee4",
      "name": "bitbybit.point.pointXYZ",
      "customName": "point xyz",
      "async": false,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "x": 13,
        "y": 12,
        "z": 0
      },
      "inputs": {},
      "position": [
        196.20605421972132,
        -316.5377437664627
      ]
    },
    "bd42c7b70e0e4185": {
      "id": "bd42c7b70e0e4185",
      "name": "bitbybit.lists.createList",
      "customName": "list",
      "data": {},
      "inputs": {
        "listElements": {
          "connections": [
            {
              "node": "9ed83c46647727d5",
              "output": "result",
              "data": {}
            },
            {
              "node": "1a3c249c8b332a51",
              "output": "result",
              "data": {}
            },
            {
              "node": "0bda156c9fd5dee4",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        914.7804357786567,
        -671.355030489068
      ]
    },
    "35e0dd7a181533a6": {
      "id": "35e0dd7a181533a6",
      "name": "bitbybit.occt.shapes.wire.interpolatePoints",
      "customName": "interpolate",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "periodic": false,
        "tolerance": 1e-7
      },
      "inputs": {
        "points": {
          "connections": [
            {
              "node": "bd42c7b70e0e4185",
              "output": "list",
              "data": {}
            }
          ]
        }
      },
      "position": [
        1405.562443289561,
        -684.4238889216185
      ]
    },
    "ae47d80dcdca02a4": {
      "id": "ae47d80dcdca02a4",
      "name": "bitbybit.occt.shapes.wire.createLineWire",
      "customName": "line",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "start": [
          0,
          0,
          0
        ],
        "end": [
          0,
          1,
          0
        ]
      },
      "inputs": {
        "start": {
          "connections": [
            {
              "node": "2236fc8e79d4bd49",
              "output": "result",
              "data": {}
            }
          ]
        },
        "end": {
          "connections": [
            {
              "node": "0538742b25c10978",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        548.1855533032676,
        665.227579593455
      ]
    },
    "a5e334206d71524c": {
      "id": "a5e334206d71524c",
      "name": "bitbybit.occt.shapes.wire.createLineWire",
      "customName": "line",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "start": [
          0,
          0,
          0
        ],
        "end": [
          0,
          1,
          0
        ]
      },
      "inputs": {
        "start": {
          "connections": [
            {
              "node": "5efa6a364133ce33",
              "output": "result",
              "data": {}
            }
          ]
        },
        "end": {
          "connections": [
            {
              "node": "69ac825bcbaefd85",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        580.8815411226126,
        1396.8520353734386
      ]
    },
    "345fd62e1f13c50d": {
      "id": "345fd62e1f13c50d",
      "name": "bitbybit.occt.shapes.wire.divideWireByParamsToPoints",
      "customName": "points by params",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "nrOfDivisions": 10,
        "removeStartPoint": false,
        "removeEndPoint": false
      },
      "inputs": {
        "shape": {
          "connections": [
            {
              "node": "35e0dd7a181533a6",
              "output": "result",
              "data": {}
            }
          ]
        },
        "nrOfDivisions": {
          "connections": [
            {
              "node": "eeb0c63491008bbf",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        1910.3834651918503,
        279.1632117624851
      ]
    },
    "94a79eb638fa5772": {
      "id": "94a79eb638fa5772",
      "name": "bitbybit.occt.shapes.wire.divideWireByParamsToPoints",
      "customName": "points by params",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "nrOfDivisions": 10,
        "removeStartPoint": false,
        "removeEndPoint": false
      },
      "inputs": {
        "shape": {
          "connections": [
            {
              "node": "ae47d80dcdca02a4",
              "output": "result",
              "data": {}
            }
          ]
        },
        "nrOfDivisions": {
          "connections": [
            {
              "node": "eeb0c63491008bbf",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        1910.8166227542883,
        674.5006242861057
      ]
    },
    "22cddf52b4c797a6": {
      "id": "22cddf52b4c797a6",
      "name": "bitbybit.occt.shapes.wire.divideWireByParamsToPoints",
      "customName": "points by params",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "nrOfDivisions": 10,
        "removeStartPoint": false,
        "removeEndPoint": false
      },
      "inputs": {
        "shape": {
          "connections": [
            {
              "node": "a5e334206d71524c",
              "output": "result",
              "data": {}
            }
          ]
        },
        "nrOfDivisions": {
          "connections": [
            {
              "node": "eeb0c63491008bbf",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        1909.608450425939,
        1074.403466414315
      ]
    },
    "eeb0c63491008bbf": {
      "id": "eeb0c63491008bbf",
      "name": "bitbybit.math.numberSlider",
      "customName": "number slider",
      "data": {
        "options": {
          "min": 10,
          "max": 50,
          "step": 1,
          "width": 350,
          "updateOnDrag": false
        },
        "number": 25
      },
      "inputs": {},
      "position": [
        -543.4369039382561,
        255.46344210032862
      ]
    },
    "08c308097aaffcff": {
      "id": "08c308097aaffcff",
      "name": "bitbybit.lists.createList",
      "customName": "list",
      "data": {},
      "inputs": {
        "listElements": {
          "connections": [
            {
              "node": "345fd62e1f13c50d",
              "output": "result",
              "data": {}
            },
            {
              "node": "94a79eb638fa5772",
              "output": "result",
              "data": {}
            },
            {
              "node": "22cddf52b4c797a6",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        3128.514939695409,
        649.2333327247574
      ]
    },
    "5c553201d347a402": {
      "id": "5c553201d347a402",
      "name": "bitbybit.lists.flipLists",
      "customName": "flip lists",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "clone": true
      },
      "inputs": {
        "list": {
          "connections": [
            {
              "node": "08c308097aaffcff",
              "output": "list",
              "data": {}
            }
          ]
        }
      },
      "position": [
        3498.650758550385,
        609.5246753420104
      ]
    },
    "33e586d9227685c0": {
      "id": "33e586d9227685c0",
      "name": "bitbybit.lists.flatten",
      "customName": "flatten",
      "data": {
        "nrLevels": 1
      },
      "inputs": {
        "list": {
          "connections": [
            {
              "node": "5c553201d347a402",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        3885.1844919409355,
        646.1429483032655
      ]
    },
    "270275690fed54e0": {
      "id": "270275690fed54e0",
      "name": "bitbybit.occt.shapes.wire.createPolygonWire",
      "customName": "polygon",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        }
      },
      "inputs": {
        "points": {
          "connections": [
            {
              "node": "33e586d9227685c0",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        4255.534461543296,
        605.928730852293
      ]
    },
    "8c6114bff5556197": {
      "id": "8c6114bff5556197",
      "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.2
      },
      "inputs": {
        "shape": {
          "connections": [
            {
              "node": "270275690fed54e0",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        4614.793959510647,
        603.5295116326237
      ]
    },
    "0aa01f185af926f9": {
      "id": "0aa01f185af926f9",
      "name": "bitbybit.occt.operations.pipePolylineWireNGon",
      "customName": "pipe polyline ngon",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "radius": 0.1,
        "nrCorners": 6,
        "makeSolid": true,
        "trihedronEnum": "isConstantNormal",
        "forceApproxC1": false
      },
      "inputs": {
        "shape": {
          "connections": [
            {
              "node": "8c6114bff5556197",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        4971.964187350257,
        604.1483750998117
      ]
    },
    "004315503d28309b": {
      "id": "004315503d28309b",
      "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.5,
        "environmentIntensity": 0.7
      },
      "inputs": {},
      "position": [
        -213.51529664107835,
        1975.3999991952608
      ]
    },
    "0e7856c946c5695c": {
      "id": "0e7856c946c5695c",
      "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": 4000,
        "enableShadows": true,
        "shadowDarkness": 0,
        "shadowUsePercentageCloserFiltering": true,
        "shadowContactHardeningLightSizeUVRatio": 0.2,
        "shadowBias": 0.0001,
        "shadowNormalBias": 0.0002,
        "shadowMaxZ": 1000,
        "shadowMinZ": 0
      },
      "inputs": {},
      "position": [
        -345.6265765608265,
        2362.3162659800705
      ]
    },
    "6cdc985ec417d121": {
      "id": "6cdc985ec417d121",
      "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": {
        "center": {
          "connections": [
            {
              "node": "313eff657c55a38e",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        -238.26147351623524,
        3125.7931703370305
      ]
    },
    "145175787e8794a9": {
      "id": "145175787e8794a9",
      "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": "557fa4d6bf4c6f57",
              "output": "result",
              "data": {}
            }
          ]
        },
        "entity": {
          "connections": [
            {
              "node": "6cdc985ec417d121",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        289.07780553961675,
        3322.4240613860457
      ]
    },
    "557fa4d6bf4c6f57": {
      "id": "557fa4d6bf4c6f57",
      "name": "bitbybit.draw.optionsOcctShapeSimple",
      "customName": "occt shape simple",
      "async": false,
      "drawable": false,
      "data": {
        "genericNodeData": {
          "hide": false,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "precision": 0.01,
        "drawFaces": true,
        "faceColour": "#2e46ff",
        "drawEdges": true,
        "edgeColour": "#ffffff",
        "edgeWidth": 2
      },
      "inputs": {},
      "position": [
        -176.98885597986435,
        3548.3438333542726
      ]
    },
    "313eff657c55a38e": {
      "id": "313eff657c55a38e",
      "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": {},
      "position": [
        -628.8705927120861,
        3180.2875375792573
      ]
    },
    "81f389160208d4ed": {
      "id": "81f389160208d4ed",
      "name": "bitbybit.lists.createList",
      "customName": "list",
      "data": {},
      "inputs": {
        "listElements": {
          "connections": [
            {
              "node": "0aa01f185af926f9",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        5350.046230622937,
        642.97696860454
      ]
    },
    "0129850d36c0cf79": {
      "id": "0129850d36c0cf79",
      "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": "81f389160208d4ed",
              "output": "list",
              "data": {}
            }
          ]
        }
      },
      "position": [
        5708.352660014402,
        600.7019224762254
      ]
    },
    "f91fb8a0e8df4c08": {
      "id": "f91fb8a0e8df4c08",
      "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": "0129850d36c0cf79",
              "output": "result",
              "data": {}
            }
          ]
        },
        "options": {
          "connections": [
            {
              "node": "6042a7d646c59164",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        6094.243144737764,
        598.1918488690085
      ]
    },
    "6042a7d646c59164": {
      "id": "6042a7d646c59164",
      "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.01,
        "drawEdges": true,
        "edgeColour": "#ffffff",
        "edgeWidth": 0.5
      },
      "inputs": {
        "faceMaterial": {
          "connections": [
            {
              "node": "7ec7c8b3936fdddc",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        5685.568896270148,
        1120.2556597209566
      ]
    },
    "7ec7c8b3936fdddc": {
      "id": "7ec7c8b3936fdddc",
      "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": "#9d5cff",
        "emissiveColor": "#000000",
        "metallic": 0.8,
        "roughness": 0.25,
        "alpha": 1,
        "backFaceCulling": false,
        "zOffset": 2
      },
      "inputs": {},
      "position": [
        5314.883802198514,
        1163.3075271819148
      ]
    },
    "994d8c70f9b8ed18": {
      "id": "994d8c70f9b8ed18",
      "name": "bitbybit.occt.operations.pipeWireCylindrical",
      "customName": "pipe wire cylindrical",
      "async": true,
      "drawable": true,
      "data": {
        "genericNodeData": {
          "hide": true,
          "oneOnOne": false,
          "flatten": 0,
          "forceExecution": false
        },
        "radius": 0.1,
        "makeSolid": true,
        "trihedronEnum": "isConstantNormal",
        "forceApproxC1": false
      },
      "inputs": {
        "shape": {
          "connections": [
            {
              "node": "8c6114bff5556197",
              "output": "result",
              "data": {}
            }
          ]
        }
      },
      "position": [
        4968.083279538641,
        176.23689044203633
      ]
    }
  }
}