{
  "id": "iso_surface",
  "name": "Iso Surface",
  "displayName": "Iso Surface",
  "category": "SOP",
  "subcategory": "Generators",
  "version": "",
  "lastUpdated": "2025-08-08T00:37:45.367Z",
  "sourceFile": "C:\\Program Files\\Derivative\\TouchDesigner\\Samples\\Learn\\OfflineHelp\\https.docs.derivative.ca\\Iso_Surface_SOP.htm",
  "url": "",
  "description": "The Iso Surface SOP uses implicit functions to create 3D visualizations of isometric surfaces found in Grade 12 Functions and Relations textbooks.",
  "summary": "The Iso Surface SOP uses implicit functions to create 3D visualizations of isometric surfaces found in Grade 12 Functions and Relations textbooks.",
  "details": "",
  "usage": "",
  "tips": [],
  "warnings": [],
  "parameters": [
    {
      "id": null,
      "name": "Implicit Function",
      "label": "Implicit Function",
      "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 Iso Surface  uses implicit functions to create 3D visualizations of isometric surfaces found in Grade 12 Functions and Relations textbooks.\t\nAn implicit function is defined so that it = 0. For example with:\t\t\n\n    \n\t\nthe implicit function is:\t\t\n\n         \n\nisosurfaceSOP_Class\n\nContents\n \n \n \n \n \n \n\n\n\n\n\n  func - Enter the function for implicit surface building here.\t\nExample 1:         \t\nThis formula creates a hyperbolic paraboloid, or saddle shape.\t\t\nExample 2:             \t\t\nThis formula creates an ellipsoid.\t\t\nTry loading some of the sample functions in $TFS/touch/presets.\n\n\n\t\t\n  min -  - Determines the minimum clipping plane boundary for display of iso surface.\n\n minx - miny - minz -\n\t\t\n  max -  - Determines maximum clipping plane boundary for display of iso surfaces.\n\n maxx - maxy - maxz -\n\t\t\n  divs -  - The density, or resolution of the iso surface polygons in X, Y and Z.\n\n divsx - divsy - divsz -\n\t\t\n  normals - Adds normals to the surface.\n\n\n\n\n\nThe action of the Iso Surface sop is conceptually simple - it takes a user specified expression in R3 (a mathematical term meaning, \"having three dimensions, each taking a Real value), and creates a surface where the function goes from being positive to being negative. In the case of the default expression ( $X2 + $Y2 + $Z2 ), the expression is less than zero within a unit sphere, and greater than zero outside. As the sop cooks, it marches through the bounding volume specified (by default from -1 to +1 in X, Y and Z), and creates geometry where the expression equals zero.\nThis may seem like a difficult way to define a sphere, but there's much potential beyond this simple example using the rich array of mathematical functions (see the Expressions section). A simple illustration is with the noise() function. Try inputing the following expression. \n\n\nExtra Information for the Iso Surface  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\\n2021.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=Iso_Surface_SOP&oldid=24197\"\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:45.363Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Implicit Function",
      "label": "Implicit Function",
      "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 Iso Surface  uses implicit functions to create 3D visualizations of isometric surfaces found in Grade 12 Functions and Relations textbooks.\t\nAn implicit function is defined so that it = 0. For example with:\t\t\n\n    \n\t\nthe implicit function is:\t\t\n\n         \n\nisosurfaceSOP_Class\n\nContents\n \n \n \n \n \n \n\n\n\n\n\n  func - Enter the function for implicit surface building here.\t\nExample 1:         \t\nThis formula creates a hyperbolic paraboloid, or saddle shape.\t\t\nExample 2:             \t\t\nThis formula creates an ellipsoid.\t\t\nTry loading some of the sample functions in $TFS/touch/presets.\n\n\n\t\t\n  min -  - Determines the minimum clipping plane boundary for display of iso surface.\n\n minx - miny - minz -\n\t\t\n  max -  - Determines maximum clipping plane boundary for display of iso surfaces.\n\n maxx - maxy - maxz -\n\t\t\n  divs -  - The density, or resolution of the iso surface polygons in X, Y and Z.\n\n divsx - divsy - divsz -\n\t\t\n  normals - Adds normals to the surface.\n\n\n\n\n\nThe action of the Iso Surface sop is conceptually simple - it takes a user specified expression in R3 (a mathematical term meaning, \"having three dimensions, each taking a Real value), and creates a surface where the function goes from being positive to being negative. In the case of the default expression ( $X2 + $Y2 + $Z2 ), the expression is less than zero within a unit sphere, and greater than zero outside. As the sop cooks, it marches through the bounding volume specified (by default from -1 to +1 in X, Y and Z), and creates geometry where the expression equals zero.\nThis may seem like a difficult way to define a sphere, but there's much potential beyond this simple example using the rich array of mathematical functions (see the Expressions section). A simple illustration is with the noise() function. Try inputing the following expression. \n\n\nExtra Information for the Iso Surface  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\\n2021.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=Iso_Surface_SOP&oldid=24197\"\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:45.365Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Implicit Function",
      "label": "Implicit Function",
      "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 Iso Surface  uses implicit functions to create 3D visualizations of isometric surfaces found in Grade 12 Functions and Relations textbooks.\t\nAn implicit function is defined so that it = 0. For example with:\t\t\n\n    \n\t\nthe implicit function is:\t\t\n\n         \n\nisosurfaceSOP_Class\n\nContents\n \n \n \n \n \n \n\n\n\n\n\n  func - Enter the function for implicit surface building here.\t\nExample 1:         \t\nThis formula creates a hyperbolic paraboloid, or saddle shape.\t\t\nExample 2:             \t\t\nThis formula creates an ellipsoid.\t\t\nTry loading some of the sample functions in $TFS/touch/presets.\n\n\n\t\t\n  min -  - Determines the minimum clipping plane boundary for display of iso surface.\n\n minx - miny - minz -\n\t\t\n  max -  - Determines maximum clipping plane boundary for display of iso surfaces.\n\n maxx - maxy - maxz -\n\t\t\n  divs -  - The density, or resolution of the iso surface polygons in X, Y and Z.\n\n divsx - divsy - divsz -\n\t\t\n  normals - Adds normals to the surface.\n\n\n\n\n\nThe action of the Iso Surface sop is conceptually simple - it takes a user specified expression in R3 (a mathematical term meaning, \"having three dimensions, each taking a Real value), and creates a surface where the function goes from being positive to being negative. In the case of the default expression ( $X2 + $Y2 + $Z2 ), the expression is less than zero within a unit sphere, and greater than zero outside. As the sop cooks, it marches through the bounding volume specified (by default from -1 to +1 in X, Y and Z), and creates geometry where the expression equals zero.\nThis may seem like a difficult way to define a sphere, but there's much potential beyond this simple example using the rich array of mathematical functions (see the Expressions section). A simple illustration is with the noise() function. Try inputing the following expression. \n\n\nExtra Information for the Iso Surface  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\\n2021.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=Iso_Surface_SOP&oldid=24197\"",
      "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:45.366Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Implicit Function",
      "label": "Implicit Function",
      "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": "func - Enter the function for implicit surface building here.\t\nExample 1:         \t\nThis formula creates a hyperbolic paraboloid, or saddle shape.\t\t\nExample 2:             \t\t\nThis formula creates an ellipsoid.\t\t\nTry loading some of the sample functions in $TFS/touch/presets.",
      "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:45.366Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Minimum Bound",
      "label": "Minimum Bound",
      "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": "min -  - Determines the minimum clipping plane boundary for display of iso surface.\n\n minx - miny - minz -",
      "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:45.366Z",
      "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": "minx - miny - minz -",
      "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:45.366Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Maximum Bound",
      "label": "Maximum Bound",
      "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": "max -  - Determines maximum clipping plane boundary for display of iso surfaces.\n\n maxx - maxy - maxz -",
      "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:45.366Z",
      "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": "maxx - maxy - maxz -",
      "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:45.366Z",
      "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 density, or resolution of the iso surface polygons in X, Y and Z.\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:45.367Z",
      "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:45.367Z",
      "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 - Adds normals to the surface.",
      "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:45.367Z",
      "rawData": {},
      "sourceElement": null
    }
  ],
  "parameterGroups": {},
  "codeExamples": [],
  "pythonExamples": [],
  "expressions": [],
  "commonInputs": [],
  "commonOutputs": [],
  "relatedOperators": [],
  "workflowPatterns": [],
  "images": [],
  "videos": [],
  "assets": [],
  "keywords": [
    "iso",
    "surface",
    "uses",
    "implicit",
    "functions",
    "create",
    "visualizations",
    "isometric",
    "surfaces",
    "found",
    "grade"
  ],
  "tags": [
    "SOP",
    "TouchDesigner",
    "Iso Surface"
  ],
  "searchWeight": 1,
  "contentHash": "",
  "processingDate": "2025-08-08T00:37:45.367Z",
  "processingVersion": "1.0.0",
  "isValid": true,
  "validationErrors": []
}