UNPKG

@bottobot/td-mcp

Version:

TouchDesigner Documentation MCP Server v2.3 - Pure MCP server for VS Code/Codium with comprehensive operator documentation for 629 operators + 7 tutorials across all categories (TOP, CHOP, SOP, DAT, MAT, COMP, POP). Features experimental POP operators wit

1,275 lines 49 kB
{ "id": "box", "name": "Box", "displayName": "Box", "category": "SOP", "subcategory": "Primitives", "version": "", "lastUpdated": "2025-08-08T00:37:40.063Z", "sourceFile": "C:\\Program Files\\Derivative\\TouchDesigner\\Samples\\Learn\\OfflineHelp\\https.docs.derivative.ca\\Box_SOP.htm", "url": "", "description": "The Box SOP creates cuboids. These can be used as geometries by themselves, or they can be sub-divided for use with the Lattice SOP.", "summary": "The Box SOP creates cuboids. These can be used as geometries by themselves, or they can be sub-divided for use with the Lattice SOP.", "details": "", "usage": "", "tips": [], "warnings": [], "parameters": [ { "id": null, "name": "Orient Bounds", "label": "Orient Bounds", "group": "General", "page": "", "type": "float", "dataType": "number", "style": "", "defaultValue": null, "minValue": null, "maxValue": null, "step": null, "menuItems": [], "menuLabels": [], "allowCustom": false, "maxLength": null, "pattern": null, "isArray": false, "arraySize": 1, "dimensions": 1, "description": "From Derivative\n\t\t\n\t\t\n\t\t\n\t\t\n\t\tJump to navigation\n\t\tJump to search\n\t\t\nThe Box creates cuboids. These can be used as geometries by themselves, or they can be sub-divided for use with the Lattice .\t\nIf it has an input then it will create a box that bounds the incoming geometry. Otherwise, the parameters determine the size and location of the box.\nboxSOP_Class\n\nContents\n \n \n \n \n \n \n \n\n\n\n\n\n orientbounds - Available only when an input is connected to the Box to set bounds for the box. When Orient Bounds = On it will rotate the geometry to match the orientation of the input used for bounds.\n\n\n\n modifybounds - Available only when an input is connected to the Box to set bounds for the box. When Modify Bounds = On to enable the transform parameters below to further modify the position and scale of the bounds.\n\n\n\n rord - - Sets the order in which the rotations are applied.\n\n xyz - xzy - yxz - yzx - zxy - zyx -\n\n size - - Size of the Box or Cube along the X, Y, and Z axes.\n\n sizex - sizey - sizez -\n\t\t\n t - - These X,Y, and Z Values determine where the center of the Box is located.\n\n tx - ty - tz -\n\t\t\n r - - These three fields rotate the Box along the X, Y, and Z axes.\n\n rx - ry - rz -\n\n s - Adjusts the uniform scale of the box.\n\n\n\n reverseanchors - Invert the direction of anchors.\n\n\n\t\t \n anchoru - Set the point in X about which the geometry is positioned, scaled and rotated.\n\n\n\n anchorv - Set the point in Y about which the geometry is positioned, scaled and rotated.\n\n\n\n anchorw - Set the point in Z about which the geometry is positioned, scaled and rotated.\n\n\n\n dodivs - If checked, it divides the box into the number of Divisions specified below. Boxes divided in this way do not appear when rendered because the Divisions consist of open polygons.\n\n\n\t\t\n divs - - The number of divisions in X, Y, and Z to split this Box into.\n\n divsx - divsy - divsz -\n\t\t\n rebar - Places four diagonal crossbars in each division of the Box.\n\n\n\t\t\n consolidatepts - Merges the corner points together. Instead of the box being composed of 6 separate faces (resulting in 4 points per corner and a total of 24 points), the corner points are merged together and the box is composed of 8 points.\n\n\n\t\t\n texture - - Determines how the texture coordinates are applied to the box.\n\n off - boxinside - faceinside - cubemapinside - boxoutside - faceoutside - cubemapoutside -\n\t\t\n normals - Checking this option on will compute surface normals.\n\n\n\n\n\nTo create boxes.\nYou can use the points as an input geometry for the Lattice and Spring SOPs.\n\n\n -\n\nExtra Information for the Box can be accessed via an Info CHOP.\n\n\n\n - Number of points in this . - Number of primitives in this . - Number of particles in this . - Time spent in another thread updating geometry data on the from the 's CPU data. As it is part of another thread, this time is not part of the usual frame time. - Time spent in another thread updating meta surface geometry data (such as metaballs or nurbs) on the from the 's CPU data. As it is part of another thread, this time is not part of the usual frame time.\n - Number of times the operator has cooked since the process started. - Duration of the last cook in milliseconds. - Frame number when this operator was last cooked relative to the component timeline. - Frame number when this operator was last cooked relative to the absolute time. - Time in milliseconds at which the operator started cooking in the frame it was cooked. - Time in milliseconds at which the operator finished cooking in the frame it was cooked. - 1 if operator was cooked this frame. - Number of warnings in this operator if any. - Number of errors in this operator if any.\nTouchDesigner Build: Latest\\nwikieditorwikieditor2022.241402021.100002018.28070before 2018.28070\nSOPs\n• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • \n\nA Operator Family that reads, creates and modifies 3D points, polygons, lines, particles, surfaces, spheres and meatballs. Particles and point clouds are now done primarily on the GPU using TOPs.\n\n\n\nAn Operator Family which operate on Channels (a sequence of numbers (Samples)) which are used for animation, audio, mathematics, simulation, logic, UI construction, and data streamed from/to devices and protocols.\n\n\n\nThe Graphics Processing Unit. This is the high-speed, many-core processor of the graphics card/chip that takes geometry, images and data from the CPU and creates images and processed data.\n\n\n\n\n\n\n\n\nRetrieved from \"https://docs.derivative.ca/index.php?title=Box_SOP&oldid=29938\"\n\t\tCategory: SOPs", "tooltip": "", "help": "", "units": "", "examples": [], "isReadOnly": false, "isAdvanced": false, "isHidden": false, "isAnimatable": true, "isExpression": false, "isPython": false, "dependsOn": [], "affects": [], "linkedTo": [], "expressionLanguage": "", "defaultExpression": "", "commonExpressions": [], "order": 0, "isVisible": true, "conditionalDisplay": null, "isValid": true, "validationErrors": [], "lastUpdated": "2025-08-08T00:37:40.059Z", "rawData": {}, "sourceElement": null }, { "id": null, "name": "Orient Bounds", "label": "Orient Bounds", "group": "General", "page": "", "type": "float", "dataType": "number", "style": "", "defaultValue": null, "minValue": null, "maxValue": null, "step": null, "menuItems": [], "menuLabels": [], "allowCustom": false, "maxLength": null, "pattern": null, "isArray": false, "arraySize": 1, "dimensions": 1, "description": "From Derivative\n\t\t\n\t\t\n\t\t\n\t\t\n\t\tJump to navigation\n\t\tJump to search\n\t\t\nThe Box creates cuboids. These can be used as geometries by themselves, or they can be sub-divided for use with the Lattice .\t\nIf it has an input then it will create a box that bounds the incoming geometry. Otherwise, the parameters determine the size and location of the box.\nboxSOP_Class\n\nContents\n \n \n \n \n \n \n \n\n\n\n\n\n orientbounds - Available only when an input is connected to the Box to set bounds for the box. When Orient Bounds = On it will rotate the geometry to match the orientation of the input used for bounds.\n\n\n\n modifybounds - Available only when an input is connected to the Box to set bounds for the box. When Modify Bounds = On to enable the transform parameters below to further modify the position and scale of the bounds.\n\n\n\n rord - - Sets the order in which the rotations are applied.\n\n xyz - xzy - yxz - yzx - zxy - zyx -\n\n size - - Size of the Box or Cube along the X, Y, and Z axes.\n\n sizex - sizey - sizez -\n\t\t\n t - - These X,Y, and Z Values determine where the center of the Box is located.\n\n tx - ty - tz -\n\t\t\n r - - These three fields rotate the Box along the X, Y, and Z axes.\n\n rx - ry - rz -\n\n s - Adjusts the uniform scale of the box.\n\n\n\n reverseanchors - Invert the direction of anchors.\n\n\n\t\t \n anchoru - Set the point in X about which the geometry is positioned, scaled and rotated.\n\n\n\n anchorv - Set the point in Y about which the geometry is positioned, scaled and rotated.\n\n\n\n anchorw - Set the point in Z about which the geometry is positioned, scaled and rotated.\n\n\n\n dodivs - If checked, it divides the box into the number of Divisions specified below. Boxes divided in this way do not appear when rendered because the Divisions consist of open polygons.\n\n\n\t\t\n divs - - The number of divisions in X, Y, and Z to split this Box into.\n\n divsx - divsy - divsz -\n\t\t\n rebar - Places four diagonal crossbars in each division of the Box.\n\n\n\t\t\n consolidatepts - Merges the corner points together. Instead of the box being composed of 6 separate faces (resulting in 4 points per corner and a total of 24 points), the corner points are merged together and the box is composed of 8 points.\n\n\n\t\t\n texture - - Determines how the texture coordinates are applied to the box.\n\n off - boxinside - faceinside - cubemapinside - boxoutside - faceoutside - cubemapoutside -\n\t\t\n normals - Checking this option on will compute surface normals.\n\n\n\n\n\nTo create boxes.\nYou can use the points as an input geometry for the Lattice and Spring SOPs.\n\n\n -\n\nExtra Information for the Box can be accessed via an Info CHOP.\n\n\n\n - Number of points in this . - Number of primitives in this . - Number of particles in this . - Time spent in another thread updating geometry data on the from the 's CPU data. As it is part of another thread, this time is not part of the usual frame time. - Time spent in another thread updating meta surface geometry data (such as metaballs or nurbs) on the from the 's CPU data. As it is part of another thread, this time is not part of the usual frame time.\n - Number of times the operator has cooked since the process started. - Duration of the last cook in milliseconds. - Frame number when this operator was last cooked relative to the component timeline. - Frame number when this operator was last cooked relative to the absolute time. - Time in milliseconds at which the operator started cooking in the frame it was cooked. - Time in milliseconds at which the operator finished cooking in the frame it was cooked. - 1 if operator was cooked this frame. - Number of warnings in this operator if any. - Number of errors in this operator if any.\nTouchDesigner Build: Latest\\nwikieditorwikieditor2022.241402021.100002018.28070before 2018.28070\nSOPs\n• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • \n\nA Operator Family that reads, creates and modifies 3D points, polygons, lines, particles, surfaces, spheres and meatballs. Particles and point clouds are now done primarily on the GPU using TOPs.\n\n\n\nAn Operator Family which operate on Channels (a sequence of numbers (Samples)) which are used for animation, audio, mathematics, simulation, logic, UI construction, and data streamed from/to devices and protocols.\n\n\n\nThe Graphics Processing Unit. This is the high-speed, many-core processor of the graphics card/chip that takes geometry, images and data from the CPU and creates images and processed data.\n\n\n\n\n\n\n\n\nRetrieved from \"https://docs.derivative.ca/index.php?title=Box_SOP&oldid=29938\"\n\t\tCategory: SOPs", "tooltip": "", "help": "", "units": "", "examples": [], "isReadOnly": false, "isAdvanced": false, "isHidden": false, "isAnimatable": true, "isExpression": false, "isPython": false, "dependsOn": [], "affects": [], "linkedTo": [], "expressionLanguage": "", "defaultExpression": "", "commonExpressions": [], "order": 0, "isVisible": true, "conditionalDisplay": null, "isValid": true, "validationErrors": [], "lastUpdated": "2025-08-08T00:37:40.060Z", "rawData": {}, "sourceElement": null }, { "id": null, "name": "Orient Bounds", "label": "Orient Bounds", "group": "General", "page": "", "type": "float", "dataType": "number", "style": "", "defaultValue": null, "minValue": null, "maxValue": null, "step": null, "menuItems": [], "menuLabels": [], "allowCustom": false, "maxLength": null, "pattern": null, "isArray": false, "arraySize": 1, "dimensions": 1, "description": "The Box creates cuboids. These can be used as geometries by themselves, or they can be sub-divided for use with the Lattice .\t\nIf it has an input then it will create a box that bounds the incoming geometry. Otherwise, the parameters determine the size and location of the box.\nboxSOP_Class\n\nContents\n \n \n \n \n \n \n \n\n\n\n\n\n orientbounds - Available only when an input is connected to the Box to set bounds for the box. When Orient Bounds = On it will rotate the geometry to match the orientation of the input used for bounds.\n\n\n\n modifybounds - Available only when an input is connected to the Box to set bounds for the box. When Modify Bounds = On to enable the transform parameters below to further modify the position and scale of the bounds.\n\n\n\n rord - - Sets the order in which the rotations are applied.\n\n xyz - xzy - yxz - yzx - zxy - zyx -\n\n size - - Size of the Box or Cube along the X, Y, and Z axes.\n\n sizex - sizey - sizez -\n\t\t\n t - - These X,Y, and Z Values determine where the center of the Box is located.\n\n tx - ty - tz -\n\t\t\n r - - These three fields rotate the Box along the X, Y, and Z axes.\n\n rx - ry - rz -\n\n s - Adjusts the uniform scale of the box.\n\n\n\n reverseanchors - Invert the direction of anchors.\n\n\n\t\t \n anchoru - Set the point in X about which the geometry is positioned, scaled and rotated.\n\n\n\n anchorv - Set the point in Y about which the geometry is positioned, scaled and rotated.\n\n\n\n anchorw - Set the point in Z about which the geometry is positioned, scaled and rotated.\n\n\n\n dodivs - If checked, it divides the box into the number of Divisions specified below. Boxes divided in this way do not appear when rendered because the Divisions consist of open polygons.\n\n\n\t\t\n divs - - The number of divisions in X, Y, and Z to split this Box into.\n\n divsx - divsy - divsz -\n\t\t\n rebar - Places four diagonal crossbars in each division of the Box.\n\n\n\t\t\n consolidatepts - Merges the corner points together. Instead of the box being composed of 6 separate faces (resulting in 4 points per corner and a total of 24 points), the corner points are merged together and the box is composed of 8 points.\n\n\n\t\t\n texture - - Determines how the texture coordinates are applied to the box.\n\n off - boxinside - faceinside - cubemapinside - boxoutside - faceoutside - cubemapoutside -\n\t\t\n normals - Checking this option on will compute surface normals.\n\n\n\n\n\nTo create boxes.\nYou can use the points as an input geometry for the Lattice and Spring SOPs.\n\n\n -\n\nExtra Information for the Box can be accessed via an Info CHOP.\n\n\n\n - Number of points in this . - Number of primitives in this . - Number of particles in this . - Time spent in another thread updating geometry data on the from the 's CPU data. As it is part of another thread, this time is not part of the usual frame time. - Time spent in another thread updating meta surface geometry data (such as metaballs or nurbs) on the from the 's CPU data. As it is part of another thread, this time is not part of the usual frame time.\n - Number of times the operator has cooked since the process started. - Duration of the last cook in milliseconds. - Frame number when this operator was last cooked relative to the component timeline. - Frame number when this operator was last cooked relative to the absolute time. - Time in milliseconds at which the operator started cooking in the frame it was cooked. - Time in milliseconds at which the operator finished cooking in the frame it was cooked. - 1 if operator was cooked this frame. - Number of warnings in this operator if any. - Number of errors in this operator if any.\nTouchDesigner Build: Latest\\nwikieditorwikieditor2022.241402021.100002018.28070before 2018.28070\nSOPs\n• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • \n\nA Operator Family that reads, creates and modifies 3D points, polygons, lines, particles, surfaces, spheres and meatballs. Particles and point clouds are now done primarily on the GPU using TOPs.\n\n\n\nAn Operator Family which operate on Channels (a sequence of numbers (Samples)) which are used for animation, audio, mathematics, simulation, logic, UI construction, and data streamed from/to devices and protocols.\n\n\n\nThe Graphics Processing Unit. This is the high-speed, many-core processor of the graphics card/chip that takes geometry, images and data from the CPU and creates images and processed data.\n\n\n\n\n\n\n\n\nRetrieved from \"https://docs.derivative.ca/index.php?title=Box_SOP&oldid=29938\"", "tooltip": "", "help": "", "units": "", "examples": [], "isReadOnly": false, "isAdvanced": false, "isHidden": false, "isAnimatable": true, "isExpression": false, "isPython": false, "dependsOn": [], "affects": [], "linkedTo": [], "expressionLanguage": "", "defaultExpression": "", "commonExpressions": [], "order": 0, "isVisible": true, "conditionalDisplay": null, "isValid": true, "validationErrors": [], "lastUpdated": "2025-08-08T00:37:40.061Z", "rawData": {}, "sourceElement": null }, { "id": null, "name": "Orient Bounds", "label": "Orient Bounds", "group": "General", "page": "", "type": "float", "dataType": "number", "style": "", "defaultValue": null, "minValue": null, "maxValue": null, "step": null, "menuItems": [], "menuLabels": [], "allowCustom": false, "maxLength": null, "pattern": null, "isArray": false, "arraySize": 1, "dimensions": 1, "description": "orientbounds - Available only when an input is connected to the Box to set bounds for the box. When Orient Bounds = On it will rotate the geometry to match the orientation of the input used for bounds.", "tooltip": "", "help": "", "units": "", "examples": [], "isReadOnly": false, "isAdvanced": false, "isHidden": false, "isAnimatable": true, "isExpression": false, "isPython": false, "dependsOn": [], "affects": [], "linkedTo": [], "expressionLanguage": "", "defaultExpression": "", "commonExpressions": [], "order": 0, "isVisible": true, "conditionalDisplay": null, "isValid": true, "validationErrors": [], "lastUpdated": "2025-08-08T00:37:40.062Z", "rawData": {}, "sourceElement": null }, { "id": null, "name": "Modify Bounds", "label": "Modify Bounds", "group": "General", "page": "", "type": "float", "dataType": "number", "style": "", "defaultValue": null, "minValue": null, "maxValue": null, "step": null, "menuItems": [], "menuLabels": [], "allowCustom": false, "maxLength": null, "pattern": null, "isArray": false, "arraySize": 1, "dimensions": 1, "description": "modifybounds - Available only when an input is connected to the Box to set bounds for the box. When Modify Bounds = On to enable the transform parameters below to further modify the position and scale of the bounds.", "tooltip": "", "help": "", "units": "", "examples": [], "isReadOnly": false, "isAdvanced": false, "isHidden": false, "isAnimatable": true, "isExpression": false, "isPython": false, "dependsOn": [], "affects": [], "linkedTo": [], "expressionLanguage": "", "defaultExpression": "", "commonExpressions": [], "order": 0, "isVisible": true, "conditionalDisplay": null, "isValid": true, "validationErrors": [], "lastUpdated": "2025-08-08T00:37:40.062Z", "rawData": {}, "sourceElement": null }, { "id": null, "name": "Rotate Order", "label": "Rotate Order", "group": "General", "page": "", "type": "float", "dataType": "number", "style": "", "defaultValue": null, "minValue": null, "maxValue": null, "step": null, "menuItems": [], "menuLabels": [], "allowCustom": false, "maxLength": null, "pattern": null, "isArray": false, "arraySize": 1, "dimensions": 1, "description": "rord - - Sets the order in which the rotations are applied.\n\n xyz - xzy - yxz - yzx - zxy - zyx -", "tooltip": "", "help": "", "units": "", "examples": [], "isReadOnly": false, "isAdvanced": false, "isHidden": false, "isAnimatable": true, "isExpression": false, "isPython": false, "dependsOn": [], "affects": [], "linkedTo": [], "expressionLanguage": "", "defaultExpression": "", "commonExpressions": [], "order": 0, "isVisible": true, "conditionalDisplay": null, "isValid": true, "validationErrors": [], "lastUpdated": "2025-08-08T00:37:40.062Z", "rawData": {}, "sourceElement": null }, { "id": null, "name": "Rx Ry Rz", "label": "Rx Ry Rz", "group": "General", "page": "", "type": "float", "dataType": "number", "style": "", "defaultValue": null, "minValue": null, "maxValue": null, "step": null, "menuItems": [], "menuLabels": [], "allowCustom": false, "maxLength": null, "pattern": null, "isArray": false, "arraySize": 1, "dimensions": 1, "description": "xyz - xzy - yxz - yzx - zxy - zyx -", "tooltip": "", "help": "", "units": "", "examples": [], "isReadOnly": false, "isAdvanced": false, "isHidden": false, "isAnimatable": true, "isExpression": false, "isPython": false, "dependsOn": [], "affects": [], "linkedTo": [], "expressionLanguage": "", "defaultExpression": "", "commonExpressions": [], "order": 0, "isVisible": true, "conditionalDisplay": null, "isValid": true, "validationErrors": [], "lastUpdated": "2025-08-08T00:37:40.062Z", "rawData": {}, "sourceElement": null }, { "id": null, "name": "Size", "label": "Size", "group": "General", "page": "", "type": "float", "dataType": "number", "style": "", "defaultValue": null, "minValue": null, "maxValue": null, "step": null, "menuItems": [], "menuLabels": [], "allowCustom": false, "maxLength": null, "pattern": null, "isArray": false, "arraySize": 1, "dimensions": 1, "description": "size - - Size of the Box or Cube along the X, Y, and Z axes.\n\n sizex - sizey - sizez -", "tooltip": "", "help": "", "units": "", "examples": [], "isReadOnly": false, "isAdvanced": false, "isHidden": false, "isAnimatable": true, "isExpression": false, "isPython": false, "dependsOn": [], "affects": [], "linkedTo": [], "expressionLanguage": "", "defaultExpression": "", "commonExpressions": [], "order": 0, "isVisible": true, "conditionalDisplay": null, "isValid": true, "validationErrors": [], "lastUpdated": "2025-08-08T00:37:40.062Z", "rawData": {}, "sourceElement": null }, { "id": null, "name": "X", "label": "X", "group": "General", "page": "", "type": "float", "dataType": "number", "style": "", "defaultValue": null, "minValue": null, "maxValue": null, "step": null, "menuItems": [], "menuLabels": [], "allowCustom": false, "maxLength": null, "pattern": null, "isArray": false, "arraySize": 1, "dimensions": 1, "description": "sizex - sizey - sizez -", "tooltip": "", "help": "", "units": "", "examples": [], "isReadOnly": false, "isAdvanced": false, "isHidden": false, "isAnimatable": true, "isExpression": false, "isPython": false, "dependsOn": [], "affects": [], "linkedTo": [], "expressionLanguage": "", "defaultExpression": "", "commonExpressions": [], "order": 0, "isVisible": true, "conditionalDisplay": null, "isValid": true, "validationErrors": [], "lastUpdated": "2025-08-08T00:37:40.062Z", "rawData": {}, "sourceElement": null }, { "id": null, "name": "Center", "label": "Center", "group": "General", "page": "", "type": "float", "dataType": "number", "style": "", "defaultValue": null, "minValue": null, "maxValue": null, "step": null, "menuItems": [], "menuLabels": [], "allowCustom": false, "maxLength": null, "pattern": null, "isArray": false, "arraySize": 1, "dimensions": 1, "description": "t - - These X,Y, and Z Values determine where the center of the Box is located.\n\n tx - ty - tz -", "tooltip": "", "help": "", "units": "", "examples": [], "isReadOnly": false, "isAdvanced": false, "isHidden": false, "isAnimatable": true, "isExpression": false, "isPython": false, "dependsOn": [], "affects": [], "linkedTo": [], "expressionLanguage": "", "defaultExpression": "", "commonExpressions": [], "order": 0, "isVisible": true, "conditionalDisplay": null, "isValid": true, "validationErrors": [], "lastUpdated": "2025-08-08T00:37:40.062Z", "rawData": {}, "sourceElement": null }, { "id": null, "name": "X", "label": "X", "group": "General", "page": "", "type": "float", "dataType": "number", "style": "", "defaultValue": null, "minValue": null, "maxValue": null, "step": null, "menuItems": [], "menuLabels": [], "allowCustom": false, "maxLength": null, "pattern": null, "isArray": false, "arraySize": 1, "dimensions": 1, "description": "tx - ty - tz -", "tooltip": "", "help": "", "units": "", "examples": [], "isReadOnly": false, "isAdvanced": false, "isHidden": false, "isAnimatable": true, "isExpression": false, "isPython": false, "dependsOn": [], "affects": [], "linkedTo": [], "expressionLanguage": "", "defaultExpression": "", "commonExpressions": [], "order": 0, "isVisible": true, "conditionalDisplay": null, "isValid": true, "validationErrors": [], "lastUpdated": "2025-08-08T00:37:40.062Z", "rawData": {}, "sourceElement": null }, { "id": null, "name": "Rotate", "label": "Rotate", "group": "General", "page": "", "type": "float", "dataType": "number", "style": "", "defaultValue": null, "minValue": null, "maxValue": null, "step": null, "menuItems": [], "menuLabels": [], "allowCustom": false, "maxLength": null, "pattern": null, "isArray": false, "arraySize": 1, "dimensions": 1, "description": "r - - These three fields rotate the Box along the X, Y, and Z axes.\n\n rx - ry - rz -", "tooltip": "", "help": "", "units": "", "examples": [], "isReadOnly": false, "isAdvanced": false, "isHidden": false, "isAnimatable": true, "isExpression": false, "isPython": false, "dependsOn": [], "affects": [], "linkedTo": [], "expressionLanguage": "", "defaultExpression": "", "commonExpressions": [], "order": 0, "isVisible": true, "conditionalDisplay": null, "isValid": true, "validationErrors": [], "lastUpdated": "2025-08-08T00:37:40.062Z", "rawData": {}, "sourceElement": null }, { "id": null, "name": "X", "label": "X", "group": "General", "page": "", "type": "float", "dataType": "number", "style": "", "defaultValue": null, "minValue": null, "maxValue": null, "step": null, "menuItems": [], "menuLabels": [], "allowCustom": false, "maxLength": null, "pattern": null, "isArray": false, "arraySize": 1, "dimensions": 1, "description": "rx - ry - rz -", "tooltip": "", "help": "", "units": "", "examples": [], "isReadOnly": false, "isAdvanced": false, "isHidden": false, "isAnimatable": true, "isExpression": false, "isPython": false, "dependsOn": [], "affects": [], "linkedTo": [], "expressionLanguage": "", "defaultExpression": "", "commonExpressions": [], "order": 0, "isVisible": true, "conditionalDisplay": null, "isValid": true, "validationErrors": [], "lastUpdated": "2025-08-08T00:37:40.062Z", "rawData": {}, "sourceElement": null }, { "id": null, "name": "Scale", "label": "Scale", "group": "General", "page": "", "type": "float", "dataType": "number", "style": "", "defaultValue": null, "minValue": null, "maxValue": null, "step": null, "menuItems": [], "menuLabels": [], "allowCustom": false, "maxLength": null, "pattern": null, "isArray": false, "arraySize": 1, "dimensions": 1, "description": "s - Adjusts the uniform scale of the box.", "tooltip": "", "help": "", "units": "", "examples": [], "isReadOnly": false, "isAdvanced": false, "isHidden": false, "isAnimatable": true, "isExpression": false, "isPython": false, "dependsOn": [], "affects": [], "linkedTo": [], "expressionLanguage": "", "defaultExpression": "", "commonExpressions": [], "order": 0, "isVisible": true, "conditionalDisplay": null, "isValid": true, "validationErrors": [], "lastUpdated": "2025-08-08T00:37:40.062Z", "rawData": {}, "sourceElement": null }, { "id": null, "name": "Reverse Anchors", "label": "Reverse Anchors", "group": "General", "page": "", "type": "float", "dataType": "number", "style": "", "defaultValue": null, "minValue": null, "maxValue": null, "step": null, "menuItems": [], "menuLabels": [], "allowCustom": false, "maxLength": null, "pattern": null, "isArray": false, "arraySize": 1, "dimensions": 1, "description": "reverseanchors - Invert the direction of anchors.", "tooltip": "", "help": "", "units": "", "examples": [], "isReadOnly": false, "isAdvanced": false, "isHidden": false, "isAnimatable": true, "isExpression": false, "isPython": false, "dependsOn": [], "affects": [], "linkedTo": [], "expressionLanguage": "", "defaultExpression": "", "commonExpressions": [], "order": 0, "isVisible": true, "conditionalDisplay": null, "isValid": true, "validationErrors": [], "lastUpdated": "2025-08-08T00:37:40.062Z", "rawData": {}, "sourceElement": null }, { "id": null, "name": "Anchor U", "label": "Anchor U", "group": "General", "page": "", "type": "float", "dataType": "number", "style": "", "defaultValue": null, "minValue": null, "maxValue": null, "step": null, "menuItems": [], "menuLabels": [], "allowCustom": false, "maxLength": null, "pattern": null, "isArray": false, "arraySize": 1, "dimensions": 1, "description": "anchoru - Set the point in X about which the geometry is positioned, scaled and rotated.", "tooltip": "", "help": "", "units": "", "examples": [], "isReadOnly": false, "isAdvanced": false, "isHidden": false, "isAnimatable": true, "isExpression": false, "isPython": false, "dependsOn": [], "affects": [], "linkedTo": [], "expressionLanguage": "", "defaultExpression": "", "commonExpressions": [], "order": 0, "isVisible": true, "conditionalDisplay": null, "isValid": true, "validationErrors": [], "lastUpdated": "2025-08-08T00:37:40.062Z", "rawData": {}, "sourceElement": null }, { "id": null, "name": "Anchor V", "label": "Anchor V", "group": "General", "page": "", "type": "float", "dataType": "number", "style": "", "defaultValue": null, "minValue": null, "maxValue": null, "step": null, "menuItems": [], "menuLabels": [], "allowCustom": false, "maxLength": null, "pattern": null, "isArray": false, "arraySize": 1, "dimensions": 1, "description": "anchorv - Set the point in Y about which the geometry is positioned, scaled and rotated.", "tooltip": "", "help": "", "units": "", "examples": [], "isReadOnly": false, "isAdvanced": false, "isHidden": false, "isAnimatable": true, "isExpression": false, "isPython": false, "dependsOn": [], "affects": [], "linkedTo": [], "expressionLanguage": "", "defaultExpression": "", "commonExpressions": [], "order": 0, "isVisible": true, "conditionalDisplay": null, "isValid": true, "validationErrors": [], "lastUpdated": "2025-08-08T00:37:40.062Z", "rawData": {}, "sourceElement": null }, { "id": null, "name": "Anchor W", "label": "Anchor W", "group": "General", "page": "", "type": "float", "dataType": "number", "style": "", "defaultValue": null, "minValue": null, "maxValue": null, "step": null, "menuItems": [], "menuLabels": [], "allowCustom": false, "maxLength": null, "pattern": null, "isArray": false, "arraySize": 1, "dimensions": 1, "description": "anchorw - Set the point in Z about which the geometry is positioned, scaled and rotated.", "tooltip": "", "help": "", "units": "", "examples": [], "isReadOnly": false, "isAdvanced": false, "isHidden": false, "isAnimatable": true, "isExpression": false, "isPython": false, "dependsOn": [], "affects": [], "linkedTo": [], "expressionLanguage": "", "defaultExpression": "", "commonExpressions": [], "order": 0, "isVisible": true, "conditionalDisplay": null, "isValid": true, "validationErrors": [], "lastUpdated": "2025-08-08T00:37:40.062Z", "rawData": {}, "sourceElement": null }, { "id": null, "name": "Use Divisions", "label": "Use Divisions", "group": "General", "page": "", "type": "float", "dataType": "number", "style": "", "defaultValue": null, "minValue": null, "maxValue": null, "step": null, "menuItems": [], "menuLabels": [], "allowCustom": false, "maxLength": null, "pattern": null, "isArray": false, "arraySize": 1, "dimensions": 1, "description": "dodivs - If checked, it divides the box into the number of Divisions specified below. Boxes divided in this way do not appear when rendered because the Divisions consist of open polygons.", "tooltip": "", "help": "", "units": "", "examples": [], "isReadOnly": false, "isAdvanced": false, "isHidden": false, "isAnimatable": true, "isExpression": false, "isPython": false, "dependsOn": [], "affects": [], "linkedTo": [], "expressionLanguage": "", "defaultExpression": "", "commonExpressions": [], "order": 0, "isVisible": true, "conditionalDisplay": null, "isValid": true, "validationErrors": [], "lastUpdated": "2025-08-08T00:37:40.062Z", "rawData": {}, "sourceElement": null }, { "id": null, "name": "Divisions", "label": "Divisions", "group": "General", "page": "", "type": "float", "dataType": "number", "style": "", "defaultValue": null, "minValue": null, "maxValue": null, "step": null, "menuItems": [], "menuLabels": [], "allowCustom": false, "maxLength": null, "pattern": null, "isArray": false, "arraySize": 1, "dimensions": 1, "description": "divs - - The number of divisions in X, Y, and Z to split this Box into.\n\n divsx - divsy - divsz -", "tooltip": "", "help": "", "units": "", "examples": [], "isReadOnly": false, "isAdvanced": false, "isHidden": false, "isAnimatable": true, "isExpression": false, "isPython": false, "dependsOn": [], "affects": [], "linkedTo": [], "expressionLanguage": "", "defaultExpression": "", "commonExpressions": [], "order": 0, "isVisible": true, "conditionalDisplay": null, "isValid": true, "validationErrors": [], "lastUpdated": "2025-08-08T00:37:40.062Z", "rawData": {}, "sourceElement": null }, { "id": null, "name": "X", "label": "X", "group": "General", "page": "", "type": "float", "dataType": "number", "style": "", "defaultValue": null, "minValue": null, "maxValue": null, "step": null, "menuItems": [], "menuLabels": [], "allowCustom": false, "maxLength": null, "pattern": null, "isArray": false, "arraySize": 1, "dimensions": 1, "description": "divsx - divsy - divsz -", "tooltip": "", "help": "", "units": "", "examples": [], "isReadOnly": false, "isAdvanced": false, "isHidden": false, "isAnimatable": true, "isExpression": false, "isPython": false, "dependsOn": [], "affects": [], "linkedTo": [], "expressionLanguage": "", "defaultExpression": "", "commonExpressions": [], "order": 0, "isVisible": true, "conditionalDisplay": null, "isValid": true, "validationErrors": [], "lastUpdated": "2025-08-08T00:37:40.062Z", "rawData": {}, "sourceElement": null }, { "id": null, "name": "Enforcement Bars", "label": "Enforcement Bars", "group": "General", "page": "", "type": "float", "dataType": "number", "style": "", "defaultValue": null, "minValue": null, "maxValue": null, "step": null, "menuItems": [], "menuLabels": [], "allowCustom": false, "maxLength": null, "pattern": null, "isArray": false, "arraySize": 1, "dimensions": 1, "description": "rebar - Places four diagonal crossbars in each division of the Box.", "tooltip": "", "help": "", "units": "", "examples": [], "isReadOnly": false, "isAdvanced": false, "isHidden": false, "isAnimatable": true, "isExpression": false, "isPython": false, "dependsOn": [], "affects": [], "linkedTo": [], "expressionLanguage": "", "defaultExpression": "", "commonExpressions": [], "order": 0, "isVisible": true, "conditionalDisplay": null, "isValid": true, "validationErrors": [], "lastUpdated": "2025-08-08T00:37:40.062Z", "rawData": {}, "sourceElement": null }, { "id": null, "name": "Consolidate Corner Points", "label": "Consolidate Corner Points", "group": "General", "page": "", "type": "float", "dataType": "number", "style": "", "defaultValue": null, "minValue": null, "maxValue": null, "step": null, "menuItems": [], "menuLabels": [], "allowCustom": false, "maxLength": null, "pattern": null, "isArray": false, "arraySize": 1, "dimensions": 1, "description": "consolidatepts - Merges the corner points together. Instead of the box being composed of 6 separate faces (resulting in 4 points per corner and a total of 24 points), the corner points are merged together and the box is composed of 8 points.", "tooltip": "", "help": "", "units": "", "examples": [], "isReadOnly": false, "isAdvanced": false, "isHidden": false, "isAnimatable": true, "isExpression": false, "isPython": false, "dependsOn": [], "affects": [], "linkedTo": [], "expressionLanguage": "", "defaultExpression": "", "commonExpressions": [], "order": 0, "isVisible": true, "conditionalDisplay": null, "isValid": true, "validationErrors": [], "lastUpdated": "2025-08-08T00:37:40.062Z", "rawData": {}, "sourceElement": null }, { "id": null, "name": "Texture Coordinates", "label": "Texture Coordinates", "group": "General", "page": "", "type": "float", "dataType": "number", "style": "", "defaultValue": null, "minValue": null, "maxValue": null, "step": null, "menuItems": [], "menuLabels": [], "allowCustom": false, "maxLength": null, "pattern": null, "isArray": false, "arraySize": 1, "dimensions": 1, "description": "texture - - Determines how the texture coordinates are applied to the box.\n\n off - boxinside - faceinside - cubemapinside - boxoutside - faceoutside - cubemapoutside -", "tooltip": "", "help": "", "units": "", "examples": [], "isReadOnly": false, "isAdvanced": false, "isHidden": false, "isAnimatable": true, "isExpression": false, "isPython": false, "dependsOn": [], "affects": [], "linkedTo": [], "expressionLanguage": "", "defaultExpression": "", "commonExpressions": [], "order": 0, "isVisible": true, "conditionalDisplay": null, "isValid": true, "validationErrors": [], "lastUpdated": "2025-08-08T00:37:40.063Z", "rawData": {}, "sourceElement": null }, { "id": null, "name": "Off", "label": "Off", "group": "General", "page": "", "type": "float", "dataType": "number", "style": "", "defaultValue": null, "minValue": null, "maxValue": null, "step": null, "menuItems": [], "menuLabels": [], "allowCustom": false, "maxLength": null, "pattern": null, "isArray": false, "arraySize": 1, "dimensions": 1, "description": "off - boxinside - faceinside - cubemapinside - boxoutside - faceoutside - cubemapoutside -", "tooltip": "", "help": "", "units": "", "examples": [], "isReadOnly": false, "isAdvanced": false, "isHidden": false, "isAnimatable": true, "isExpression": false, "isPython": false, "dependsOn": [], "affects": [], "linkedTo": [], "expressionLanguage": "", "defaultExpression": "", "commonExpressions": [], "order": 0, "isVisible": true, "conditionalDisplay": null, "isValid": true, "validationErrors": [], "lastUpdated": "2025-08-08T00:37:40.063Z", "rawData": {}, "sourceElement": null }, { "id": null, "name": "Compute Normals", "label": "Compute Normals", "group": "General", "page": "", "type": "float", "dataType": "number", "style": "", "defaultValue": null, "minValue": null, "maxValue": null, "step": null, "menuItems": [], "menuLabels": [], "allowCustom": false, "maxLength": null, "pattern": null, "isArray": false, "arraySize": 1, "dimensions": 1, "description": "normals - Checking this option on will compute surface normals.", "tooltip": "", "help": "", "units": "", "examples": [], "isReadOnly": false, "isAdvanced": false, "isHidden": false, "isAnimatable": true, "isExpression": false, "isPython": false, "dependsOn": [], "affects": [], "linkedTo": [], "expressionLanguage": "", "defaultExpression": "", "commonExpressions": [], "order": 0, "isVisible": true, "conditionalDisplay": null, "isValid": true, "validationErrors": [], "lastUpdated": "2025-08-08T00:37:40.063Z", "rawData": {}, "sourceElement": null } ], "parameterGroups": {}, "codeExamples": [], "pythonExamples": [], "expressions": [], "commonInputs": [], "commonOutputs": [], "relatedOperators": [], "workflowPatterns": [], "images": [], "videos": [], "assets": [], "keywords": [ "box", "creates", "cuboids.", "used", "geometries", "themselves,", "they", "sub-divided", "lattice", "sop." ], "tags": [ "SOP", "TouchDesigner", "Box" ], "searchWeight": 1, "contentHash": "", "processingDate": "2025-08-08T00:37:40.063Z", "processingVersion": "1.0.0", "isValid": true, "validationErrors": [] }