{
  "id": "evaluate",
  "name": "Evaluate",
  "displayName": "Evaluate",
  "category": "DAT",
  "subcategory": "Utilities",
  "version": "",
  "lastUpdated": "2025-08-08T00:37:42.705Z",
  "sourceFile": "C:\\Program Files\\Derivative\\TouchDesigner\\Samples\\Learn\\OfflineHelp\\https.docs.derivative.ca\\Evaluate_DAT.htm",
  "url": "",
  "description": "The Evaluate DAT changes the cells of the incoming DAT using string-editing and math expressions.",
  "summary": "The Evaluate DAT changes the cells of the incoming DAT using string-editing and math expressions.",
  "details": "",
  "usage": "",
  "tips": [],
  "warnings": [],
  "parameters": [
    {
      "id": null,
      "name": "Input Data DAT",
      "label": "Input Data DAT",
      "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 Evaluate  changes the cells of the incoming  using string-editing and math expressions. \t\t\nIn its simplest form, without an input  attached, you can put any python expression in the  parameter of an Evaluate . To evaluate the expression every frame you may need to put the parameter into  Parameter Mode.\t\t\t\nWith a  attached, it outputs a table with the same number of rows and columns as the input. \t\t\t\nThe  page can be used to restrict which rows and columns of cells are affected.\t\t\t\n\nWhen the  menu is set to Expressions, it causes the input cells to be evaluated as Pythong expressions. me.inputCell.val is the value of the input cell.The optional second input  is an array of expressions which are matched to the cells of the input, then evaluated and output. If there are fewer rows in the second  than the first, the expressions in the last row of the second input are repeated. If there are fewer columns in the second  than the first, the last column is repeated.Expressions are optimized by storing a compiled internal version, which runs much faster.  Use this where possible.  If you are reusing expressions by repeating them in a table, having an input table with the few expressions you will cycle through separate from the data will also improve performance.If the second  is one cell, like the  parameter, it applies its expression to all the input cells. A one-cell second  with me.inputCell.val+1 adds 1 to all the first input's cells.\t\t\t\nIf the second  is\n\n\n\n\n\nthen the first row and first column are left intact and the rest of the cells get their sin() computed.\t\t\t\n\t\t\t\nThe Evaluate  maintains the format of the first input  (table or text) unless the Output Table Size parameter is used.\t\t\t\nSee also the Substitute DAT, Expression CHOP.\nevaluateDAT_Class\n\nContents\n \n \n \n \n \n \n \n \n \n\n\n\n\n\nThe Evaluate  can be used to (1) build strings or (2) do math operations.\n refers to the corresponding input cell that is used to evaluate the current cell. evaluateDAT_Class has a list of members that refer to incoming data. You can use Python to fetch data, like  to access  data and  to access  data.  A few examples:\n\n\n\n\n\n\n\n\n\n\n\n\n    \n\n\n    \n\n\n    \n\nSee Working with DATs in Python and Working with CHOPs in Python for more examples of accessing data in other operators.  \nYou can also use any Tscript Expressions to fetch data, like `tab(\"tabpath\",row,col)` and `chop(\"choppath\")`.  A list of local variables, such as $V for the value of the corresponding input cell, is available, and you can use other  Variables like $F and $SYS_XRES.\nA few  expressions v() and vs() are special to the Evaluate  and can access all cells in the input. vs() differs from v() as it always output strings, not floats. \nThe expressions v(row,col) and vs(row,col) can use the local variables R (the cell's row) and C (the cell's column).  \n\nv($R,$C) is the same as $V.\nv($C,$R) transposes the cells.\nYou could address relative rows/columns with $C, $C-1, $C+1, and address the cell at the first column with v($R,0).  v will return the cell contents as floats.  vs will return cell contents as strings.The expressions that let you get at cells by row/column names are:\n\nvr(rowname,colnum)\nvc(rownum,colname)\nvrc(rowname,colname)and the string versions of the above:\n\nvsr(rowname,colnum)\nvsc(rownum,colname)\nvsrc(rowname,colname)Example: vrc(\"john\",\"august\")\nThe local variables NR and NC give the number of rows and columns of the input table.\n\n\n  dat - An alternative  table to be used in place of an input table.\n\n\n\t\t\n  datexpr - An alternative  table to be used in place of a formula table.\n\n\n\t\t\n  output -  - Determines what format will be used for output from the .\n\n evaluate - Evaluates input data as python expressions. Compiled.\n data - Passes through data from first input without manipulation.\n expression - Passes through first input if there is no second input. Otherwise passes through second input. If the first input has more rows or columns than the second one, then the last row or column of the second is repeated to fill out the extra cells.\n\t\t\n  expr -  used to evaluate each cell if an  input or  is not supplied.\n\n\n\t\t\n  outputsize -  - If the Output Table Size parameter is Strings, Expressions, or Commands, and there is a second input, you can choose the output table size to be either Input  or the Formula .  If the Formula  is chosen and its table size is greater than the input data table, then the last cell in each row or column will be used when evaluating the remaining formulas.\n\n in1 - in2 -\n\t\t\n  dependency - If the Output parameter is set to Strings or Expressions, the  will monitor any nodes used by the data, as well as check for time dependencies, and cook accordingly. This toggle is on by default. If you only want the  to cook based on input changes, you can turn this off to avoid unnecessary updates.\n\n\n\t\t\n  backslash - Will convert things like \\n to newlines, \\t to tabs etc. Note that \\n, \\t will be converted to spaces if the input  is a table.\n\n\n\n\n\n  xfirstrow - Forces the first row to be selected even if it is not specified by the Select Rows settings.\n\n\n\t\t\n  xfirstcol - Forces the first column to be selected even if it is not specified by the Select Cols settings.\n\n\n\t\t\n  extractrows -  - This parameter allows you to pick different ways of specifying the rows selected.\n\n all - All rows selected. byname - Rows selected using Start Row Name and End Row Name parameters. byindex - Rows selected using Start Row Index and End Row Index parameters. bynameindex - Rows selected using Start Row Name and End Row Index parameters. byindexname - Rows selected using Start Row Index and End Row Name parameters. bynames - Rows selected by specifying the row values explicitly. byexpr - Rows selected by an expression to be evaluated for the from column.\n\t\t\n  rownamestart - Specify the row name to start the selection range from.\n\n\n\t\t\n  rowindexstart - Specify the row index to start the selection range from.\n\n\n\t\t\n  rownameend - Specify the row name to end the selection range.\n\n\n\t\t\n  rowindexend - Specify the row index to end the selection range.\n\n\n\t\t\n  rownames - Specify actual row names that you want to select. You can use pattern matching, for example row[1-4] will select all the rows names row1 thru row4.\n\n\n\t\t\n  rowexpr - Specify an expression that will be evaluated.  If the expression evaluates to true, the row will be selected.  \t\nExpand the parameter and you will see that it is in expression mode.\t\t\t\n\t\t\t\nBy default, the Python expression is re.match('.*',me.inputCell.val) != None.  '.*' means match any character multiple times, so this expression matches all values.  If you want to match the parent's operator name followed by any numeric number you can use parent().name+'[0-9]*', where '[0-9]*' matches any numerical string.  '.*'+parent().name+'.*' will match any cell that contains the operator's parent name.  You can check  Regular Expression Operations for additional information on how to use the Python Regular  module.\t\t\t\nIn , you can access the cell value with the local variable $V, and the row and column with $R and $C\n\n\n\t\t\n  fromcol - When selecting rows by values, this parameter selects which column to use when matching cell values to Selected Row Values to determine which rows are selected.\n\n\n\t\t\n  extractcols -  - This parameter allows you to pick different ways of specifying the columns selected.\n\n all - All columns selected. byname - Columns selected using Start Col Name and End Col Name parameters. byindex - Columns selected using Start Col Index and End Col Index parameters. bynameindex - Columns selected using Start Col Name and End Col Index parameters. byindexname - Columns selected using Start Col Index and End Col Name parameters. bynames - Columns selected by specifying the column values explicitly. byexpr - Rows selected by an expression to be evaluated for the from row.\n\t\t\n  colnamestart - Specify the column name to start the selection range from.\n\n\n\t\t\n  colindexstart - Specify the column index to start the selection range from.\n\n\n\t\t\n  colnameend - Specify the column name to end the selection range.\n\n\n\t\t\n  colindexend - Specify the column index to end the selection range.\n\n\n\t\t\n  colnames - Specify actual column names that you want to select. You can use pattern matching, for example colvalue[1-4] will select all the columns named colvalue1 thru colvalue4.\n\n\n\t\t\n  colexpr - Specify an expression that will be evaluated. If the expression evaluates to true, the column will be selected. See Row Select Condition for more details.\n\n\n\t\t\n  fromrow - When extracting columns by Specified Names, this parameter selects which row to use when matching cell values to Selected Col Values to determine which columns are selected.\n\n\n\n\n\n  language -  - Select how the  decides which script language to operate on.\n\n input - The  uses the inputs script language. node - The  uses it's own script language.\n\n  extension -  - Select the file extension this  should expose to external editors.\n\n dat - various common file extensions. language - pick extension from DATs script language. custom - Specify a custom extension.\n\n  customext - Specifiy the custom extension.\n\n\n\n  wordwrap -  - Enable Word Wrap for Node Display.\n\n input - The  uses the inputs setting. on - Turn on Word Wrap. off - Turn off Word Wrap.\n\n\n\n -\n -\n\nExtra Information for the Evaluate  can be accessed via an Info CHOP.\n\n\n\n - Number of rows in this . - Number of columns in this .\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\\n2022.241402021.100002018.28070before 2018.28070\nDATs\n• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • \n\nAn Operator Family that manipulates text strings: multi-line text or tables. Multi-line text is often a python Script or GLSL Shader, but can be any multi-line text. Tables are rows and columns of cells, each containing a text string.\n\n\n\nA text string that contains data (string, float, list, boolean, etc.) and operators (+ * < etc) that are evaluated by the node's language (python or Tscript) and returns a string, float list or boolean, etc. Expressions are used in parameters, DATs and in scripts.\n\n\n\nA parameter in most CHOPs that restricts which channels of that CHOP will be affected. Normally all channels of a CHOP are affected by the operator. TOPs have Channel Mask, a similar feature.\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\nTouchDesigner's original built-in Command scripting language prior to Python.\n\n\n\nThe generic thing that holds an Operator, and includes Flags (display, bypass, lock, render, immune) and its position/size in the network. Whether you \"lay down an Operator\" or \"lay down an Node\", you're doing the same thing.\n\n\n\n\n\n\n\n\nRetrieved from \"https://docs.derivative.ca/index.php?title=Evaluate_DAT&oldid=24292\"\n\t\tCategory: DATs",
      "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:42.698Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Input Data DAT",
      "label": "Input Data DAT",
      "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 Evaluate  changes the cells of the incoming  using string-editing and math expressions. \t\t\nIn its simplest form, without an input  attached, you can put any python expression in the  parameter of an Evaluate . To evaluate the expression every frame you may need to put the parameter into  Parameter Mode.\t\t\t\nWith a  attached, it outputs a table with the same number of rows and columns as the input. \t\t\t\nThe  page can be used to restrict which rows and columns of cells are affected.\t\t\t\n\nWhen the  menu is set to Expressions, it causes the input cells to be evaluated as Pythong expressions. me.inputCell.val is the value of the input cell.The optional second input  is an array of expressions which are matched to the cells of the input, then evaluated and output. If there are fewer rows in the second  than the first, the expressions in the last row of the second input are repeated. If there are fewer columns in the second  than the first, the last column is repeated.Expressions are optimized by storing a compiled internal version, which runs much faster.  Use this where possible.  If you are reusing expressions by repeating them in a table, having an input table with the few expressions you will cycle through separate from the data will also improve performance.If the second  is one cell, like the  parameter, it applies its expression to all the input cells. A one-cell second  with me.inputCell.val+1 adds 1 to all the first input's cells.\t\t\t\nIf the second  is\n\n\n\n\n\nthen the first row and first column are left intact and the rest of the cells get their sin() computed.\t\t\t\n\t\t\t\nThe Evaluate  maintains the format of the first input  (table or text) unless the Output Table Size parameter is used.\t\t\t\nSee also the Substitute DAT, Expression CHOP.\nevaluateDAT_Class\n\nContents\n \n \n \n \n \n \n \n \n \n\n\n\n\n\nThe Evaluate  can be used to (1) build strings or (2) do math operations.\n refers to the corresponding input cell that is used to evaluate the current cell. evaluateDAT_Class has a list of members that refer to incoming data. You can use Python to fetch data, like  to access  data and  to access  data.  A few examples:\n\n\n\n\n\n\n\n\n\n\n\n\n    \n\n\n    \n\n\n    \n\nSee Working with DATs in Python and Working with CHOPs in Python for more examples of accessing data in other operators.  \nYou can also use any Tscript Expressions to fetch data, like `tab(\"tabpath\",row,col)` and `chop(\"choppath\")`.  A list of local variables, such as $V for the value of the corresponding input cell, is available, and you can use other  Variables like $F and $SYS_XRES.\nA few  expressions v() and vs() are special to the Evaluate  and can access all cells in the input. vs() differs from v() as it always output strings, not floats. \nThe expressions v(row,col) and vs(row,col) can use the local variables R (the cell's row) and C (the cell's column).  \n\nv($R,$C) is the same as $V.\nv($C,$R) transposes the cells.\nYou could address relative rows/columns with $C, $C-1, $C+1, and address the cell at the first column with v($R,0).  v will return the cell contents as floats.  vs will return cell contents as strings.The expressions that let you get at cells by row/column names are:\n\nvr(rowname,colnum)\nvc(rownum,colname)\nvrc(rowname,colname)and the string versions of the above:\n\nvsr(rowname,colnum)\nvsc(rownum,colname)\nvsrc(rowname,colname)Example: vrc(\"john\",\"august\")\nThe local variables NR and NC give the number of rows and columns of the input table.\n\n\n  dat - An alternative  table to be used in place of an input table.\n\n\n\t\t\n  datexpr - An alternative  table to be used in place of a formula table.\n\n\n\t\t\n  output -  - Determines what format will be used for output from the .\n\n evaluate - Evaluates input data as python expressions. Compiled.\n data - Passes through data from first input without manipulation.\n expression - Passes through first input if there is no second input. Otherwise passes through second input. If the first input has more rows or columns than the second one, then the last row or column of the second is repeated to fill out the extra cells.\n\t\t\n  expr -  used to evaluate each cell if an  input or  is not supplied.\n\n\n\t\t\n  outputsize -  - If the Output Table Size parameter is Strings, Expressions, or Commands, and there is a second input, you can choose the output table size to be either Input  or the Formula .  If the Formula  is chosen and its table size is greater than the input data table, then the last cell in each row or column will be used when evaluating the remaining formulas.\n\n in1 - in2 -\n\t\t\n  dependency - If the Output parameter is set to Strings or Expressions, the  will monitor any nodes used by the data, as well as check for time dependencies, and cook accordingly. This toggle is on by default. If you only want the  to cook based on input changes, you can turn this off to avoid unnecessary updates.\n\n\n\t\t\n  backslash - Will convert things like \\n to newlines, \\t to tabs etc. Note that \\n, \\t will be converted to spaces if the input  is a table.\n\n\n\n\n\n  xfirstrow - Forces the first row to be selected even if it is not specified by the Select Rows settings.\n\n\n\t\t\n  xfirstcol - Forces the first column to be selected even if it is not specified by the Select Cols settings.\n\n\n\t\t\n  extractrows -  - This parameter allows you to pick different ways of specifying the rows selected.\n\n all - All rows selected. byname - Rows selected using Start Row Name and End Row Name parameters. byindex - Rows selected using Start Row Index and End Row Index parameters. bynameindex - Rows selected using Start Row Name and End Row Index parameters. byindexname - Rows selected using Start Row Index and End Row Name parameters. bynames - Rows selected by specifying the row values explicitly. byexpr - Rows selected by an expression to be evaluated for the from column.\n\t\t\n  rownamestart - Specify the row name to start the selection range from.\n\n\n\t\t\n  rowindexstart - Specify the row index to start the selection range from.\n\n\n\t\t\n  rownameend - Specify the row name to end the selection range.\n\n\n\t\t\n  rowindexend - Specify the row index to end the selection range.\n\n\n\t\t\n  rownames - Specify actual row names that you want to select. You can use pattern matching, for example row[1-4] will select all the rows names row1 thru row4.\n\n\n\t\t\n  rowexpr - Specify an expression that will be evaluated.  If the expression evaluates to true, the row will be selected.  \t\nExpand the parameter and you will see that it is in expression mode.\t\t\t\n\t\t\t\nBy default, the Python expression is re.match('.*',me.inputCell.val) != None.  '.*' means match any character multiple times, so this expression matches all values.  If you want to match the parent's operator name followed by any numeric number you can use parent().name+'[0-9]*', where '[0-9]*' matches any numerical string.  '.*'+parent().name+'.*' will match any cell that contains the operator's parent name.  You can check  Regular Expression Operations for additional information on how to use the Python Regular  module.\t\t\t\nIn , you can access the cell value with the local variable $V, and the row and column with $R and $C\n\n\n\t\t\n  fromcol - When selecting rows by values, this parameter selects which column to use when matching cell values to Selected Row Values to determine which rows are selected.\n\n\n\t\t\n  extractcols -  - This parameter allows you to pick different ways of specifying the columns selected.\n\n all - All columns selected. byname - Columns selected using Start Col Name and End Col Name parameters. byindex - Columns selected using Start Col Index and End Col Index parameters. bynameindex - Columns selected using Start Col Name and End Col Index parameters. byindexname - Columns selected using Start Col Index and End Col Name parameters. bynames - Columns selected by specifying the column values explicitly. byexpr - Rows selected by an expression to be evaluated for the from row.\n\t\t\n  colnamestart - Specify the column name to start the selection range from.\n\n\n\t\t\n  colindexstart - Specify the column index to start the selection range from.\n\n\n\t\t\n  colnameend - Specify the column name to end the selection range.\n\n\n\t\t\n  colindexend - Specify the column index to end the selection range.\n\n\n\t\t\n  colnames - Specify actual column names that you want to select. You can use pattern matching, for example colvalue[1-4] will select all the columns named colvalue1 thru colvalue4.\n\n\n\t\t\n  colexpr - Specify an expression that will be evaluated. If the expression evaluates to true, the column will be selected. See Row Select Condition for more details.\n\n\n\t\t\n  fromrow - When extracting columns by Specified Names, this parameter selects which row to use when matching cell values to Selected Col Values to determine which columns are selected.\n\n\n\n\n\n  language -  - Select how the  decides which script language to operate on.\n\n input - The  uses the inputs script language. node - The  uses it's own script language.\n\n  extension -  - Select the file extension this  should expose to external editors.\n\n dat - various common file extensions. language - pick extension from DATs script language. custom - Specify a custom extension.\n\n  customext - Specifiy the custom extension.\n\n\n\n  wordwrap -  - Enable Word Wrap for Node Display.\n\n input - The  uses the inputs setting. on - Turn on Word Wrap. off - Turn off Word Wrap.\n\n\n\n -\n -\n\nExtra Information for the Evaluate  can be accessed via an Info CHOP.\n\n\n\n - Number of rows in this . - Number of columns in this .\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\\n2022.241402021.100002018.28070before 2018.28070\nDATs\n• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • \n\nAn Operator Family that manipulates text strings: multi-line text or tables. Multi-line text is often a python Script or GLSL Shader, but can be any multi-line text. Tables are rows and columns of cells, each containing a text string.\n\n\n\nA text string that contains data (string, float, list, boolean, etc.) and operators (+ * < etc) that are evaluated by the node's language (python or Tscript) and returns a string, float list or boolean, etc. Expressions are used in parameters, DATs and in scripts.\n\n\n\nA parameter in most CHOPs that restricts which channels of that CHOP will be affected. Normally all channels of a CHOP are affected by the operator. TOPs have Channel Mask, a similar feature.\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\nTouchDesigner's original built-in Command scripting language prior to Python.\n\n\n\nThe generic thing that holds an Operator, and includes Flags (display, bypass, lock, render, immune) and its position/size in the network. Whether you \"lay down an Operator\" or \"lay down an Node\", you're doing the same thing.\n\n\n\n\n\n\n\n\nRetrieved from \"https://docs.derivative.ca/index.php?title=Evaluate_DAT&oldid=24292\"\n\t\tCategory: DATs",
      "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:42.700Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Input Data DAT",
      "label": "Input Data DAT",
      "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 Evaluate  changes the cells of the incoming  using string-editing and math expressions. \t\t\nIn its simplest form, without an input  attached, you can put any python expression in the  parameter of an Evaluate . To evaluate the expression every frame you may need to put the parameter into  Parameter Mode.\t\t\t\nWith a  attached, it outputs a table with the same number of rows and columns as the input. \t\t\t\nThe  page can be used to restrict which rows and columns of cells are affected.\t\t\t\n\nWhen the  menu is set to Expressions, it causes the input cells to be evaluated as Pythong expressions. me.inputCell.val is the value of the input cell.The optional second input  is an array of expressions which are matched to the cells of the input, then evaluated and output. If there are fewer rows in the second  than the first, the expressions in the last row of the second input are repeated. If there are fewer columns in the second  than the first, the last column is repeated.Expressions are optimized by storing a compiled internal version, which runs much faster.  Use this where possible.  If you are reusing expressions by repeating them in a table, having an input table with the few expressions you will cycle through separate from the data will also improve performance.If the second  is one cell, like the  parameter, it applies its expression to all the input cells. A one-cell second  with me.inputCell.val+1 adds 1 to all the first input's cells.\t\t\t\nIf the second  is\n\n\n\n\n\nthen the first row and first column are left intact and the rest of the cells get their sin() computed.\t\t\t\n\t\t\t\nThe Evaluate  maintains the format of the first input  (table or text) unless the Output Table Size parameter is used.\t\t\t\nSee also the Substitute DAT, Expression CHOP.\nevaluateDAT_Class\n\nContents\n \n \n \n \n \n \n \n \n \n\n\n\n\n\nThe Evaluate  can be used to (1) build strings or (2) do math operations.\n refers to the corresponding input cell that is used to evaluate the current cell. evaluateDAT_Class has a list of members that refer to incoming data. You can use Python to fetch data, like  to access  data and  to access  data.  A few examples:\n\n\n\n\n\n\n\n\n\n\n\n\n    \n\n\n    \n\n\n    \n\nSee Working with DATs in Python and Working with CHOPs in Python for more examples of accessing data in other operators.  \nYou can also use any Tscript Expressions to fetch data, like `tab(\"tabpath\",row,col)` and `chop(\"choppath\")`.  A list of local variables, such as $V for the value of the corresponding input cell, is available, and you can use other  Variables like $F and $SYS_XRES.\nA few  expressions v() and vs() are special to the Evaluate  and can access all cells in the input. vs() differs from v() as it always output strings, not floats. \nThe expressions v(row,col) and vs(row,col) can use the local variables R (the cell's row) and C (the cell's column).  \n\nv($R,$C) is the same as $V.\nv($C,$R) transposes the cells.\nYou could address relative rows/columns with $C, $C-1, $C+1, and address the cell at the first column with v($R,0).  v will return the cell contents as floats.  vs will return cell contents as strings.The expressions that let you get at cells by row/column names are:\n\nvr(rowname,colnum)\nvc(rownum,colname)\nvrc(rowname,colname)and the string versions of the above:\n\nvsr(rowname,colnum)\nvsc(rownum,colname)\nvsrc(rowname,colname)Example: vrc(\"john\",\"august\")\nThe local variables NR and NC give the number of rows and columns of the input table.\n\n\n  dat - An alternative  table to be used in place of an input table.\n\n\n\t\t\n  datexpr - An alternative  table to be used in place of a formula table.\n\n\n\t\t\n  output -  - Determines what format will be used for output from the .\n\n evaluate - Evaluates input data as python expressions. Compiled.\n data - Passes through data from first input without manipulation.\n expression - Passes through first input if there is no second input. Otherwise passes through second input. If the first input has more rows or columns than the second one, then the last row or column of the second is repeated to fill out the extra cells.\n\t\t\n  expr -  used to evaluate each cell if an  input or  is not supplied.\n\n\n\t\t\n  outputsize -  - If the Output Table Size parameter is Strings, Expressions, or Commands, and there is a second input, you can choose the output table size to be either Input  or the Formula .  If the Formula  is chosen and its table size is greater than the input data table, then the last cell in each row or column will be used when evaluating the remaining formulas.\n\n in1 - in2 -\n\t\t\n  dependency - If the Output parameter is set to Strings or Expressions, the  will monitor any nodes used by the data, as well as check for time dependencies, and cook accordingly. This toggle is on by default. If you only want the  to cook based on input changes, you can turn this off to avoid unnecessary updates.\n\n\n\t\t\n  backslash - Will convert things like \\n to newlines, \\t to tabs etc. Note that \\n, \\t will be converted to spaces if the input  is a table.\n\n\n\n\n\n  xfirstrow - Forces the first row to be selected even if it is not specified by the Select Rows settings.\n\n\n\t\t\n  xfirstcol - Forces the first column to be selected even if it is not specified by the Select Cols settings.\n\n\n\t\t\n  extractrows -  - This parameter allows you to pick different ways of specifying the rows selected.\n\n all - All rows selected. byname - Rows selected using Start Row Name and End Row Name parameters. byindex - Rows selected using Start Row Index and End Row Index parameters. bynameindex - Rows selected using Start Row Name and End Row Index parameters. byindexname - Rows selected using Start Row Index and End Row Name parameters. bynames - Rows selected by specifying the row values explicitly. byexpr - Rows selected by an expression to be evaluated for the from column.\n\t\t\n  rownamestart - Specify the row name to start the selection range from.\n\n\n\t\t\n  rowindexstart - Specify the row index to start the selection range from.\n\n\n\t\t\n  rownameend - Specify the row name to end the selection range.\n\n\n\t\t\n  rowindexend - Specify the row index to end the selection range.\n\n\n\t\t\n  rownames - Specify actual row names that you want to select. You can use pattern matching, for example row[1-4] will select all the rows names row1 thru row4.\n\n\n\t\t\n  rowexpr - Specify an expression that will be evaluated.  If the expression evaluates to true, the row will be selected.  \t\nExpand the parameter and you will see that it is in expression mode.\t\t\t\n\t\t\t\nBy default, the Python expression is re.match('.*',me.inputCell.val) != None.  '.*' means match any character multiple times, so this expression matches all values.  If you want to match the parent's operator name followed by any numeric number you can use parent().name+'[0-9]*', where '[0-9]*' matches any numerical string.  '.*'+parent().name+'.*' will match any cell that contains the operator's parent name.  You can check  Regular Expression Operations for additional information on how to use the Python Regular  module.\t\t\t\nIn , you can access the cell value with the local variable $V, and the row and column with $R and $C\n\n\n\t\t\n  fromcol - When selecting rows by values, this parameter selects which column to use when matching cell values to Selected Row Values to determine which rows are selected.\n\n\n\t\t\n  extractcols -  - This parameter allows you to pick different ways of specifying the columns selected.\n\n all - All columns selected. byname - Columns selected using Start Col Name and End Col Name parameters. byindex - Columns selected using Start Col Index and End Col Index parameters. bynameindex - Columns selected using Start Col Name and End Col Index parameters. byindexname - Columns selected using Start Col Index and End Col Name parameters. bynames - Columns selected by specifying the column values explicitly. byexpr - Rows selected by an expression to be evaluated for the from row.\n\t\t\n  colnamestart - Specify the column name to start the selection range from.\n\n\n\t\t\n  colindexstart - Specify the column index to start the selection range from.\n\n\n\t\t\n  colnameend - Specify the column name to end the selection range.\n\n\n\t\t\n  colindexend - Specify the column index to end the selection range.\n\n\n\t\t\n  colnames - Specify actual column names that you want to select. You can use pattern matching, for example colvalue[1-4] will select all the columns named colvalue1 thru colvalue4.\n\n\n\t\t\n  colexpr - Specify an expression that will be evaluated. If the expression evaluates to true, the column will be selected. See Row Select Condition for more details.\n\n\n\t\t\n  fromrow - When extracting columns by Specified Names, this parameter selects which row to use when matching cell values to Selected Col Values to determine which columns are selected.\n\n\n\n\n\n  language -  - Select how the  decides which script language to operate on.\n\n input - The  uses the inputs script language. node - The  uses it's own script language.\n\n  extension -  - Select the file extension this  should expose to external editors.\n\n dat - various common file extensions. language - pick extension from DATs script language. custom - Specify a custom extension.\n\n  customext - Specifiy the custom extension.\n\n\n\n  wordwrap -  - Enable Word Wrap for Node Display.\n\n input - The  uses the inputs setting. on - Turn on Word Wrap. off - Turn off Word Wrap.\n\n\n\n -\n -\n\nExtra Information for the Evaluate  can be accessed via an Info CHOP.\n\n\n\n - Number of rows in this . - Number of columns in this .\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\\n2022.241402021.100002018.28070before 2018.28070\nDATs\n• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • \n\nAn Operator Family that manipulates text strings: multi-line text or tables. Multi-line text is often a python Script or GLSL Shader, but can be any multi-line text. Tables are rows and columns of cells, each containing a text string.\n\n\n\nA text string that contains data (string, float, list, boolean, etc.) and operators (+ * < etc) that are evaluated by the node's language (python or Tscript) and returns a string, float list or boolean, etc. Expressions are used in parameters, DATs and in scripts.\n\n\n\nA parameter in most CHOPs that restricts which channels of that CHOP will be affected. Normally all channels of a CHOP are affected by the operator. TOPs have Channel Mask, a similar feature.\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\nTouchDesigner's original built-in Command scripting language prior to Python.\n\n\n\nThe generic thing that holds an Operator, and includes Flags (display, bypass, lock, render, immune) and its position/size in the network. Whether you \"lay down an Operator\" or \"lay down an Node\", you're doing the same thing.\n\n\n\n\n\n\n\n\nRetrieved from \"https://docs.derivative.ca/index.php?title=Evaluate_DAT&oldid=24292\"",
      "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:42.702Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Input Data DAT",
      "label": "Input Data DAT",
      "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": "dat - An alternative  table to be used in place of an input table.",
      "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:42.702Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Expressions DAT",
      "label": "Expressions DAT",
      "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": "datexpr - An alternative  table to be used in place of a formula table.",
      "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:42.702Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Output",
      "label": "Output",
      "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": "output -  - Determines what format will be used for output from the .\n\n evaluate - Evaluates input data as python expressions. Compiled.\n data - Passes through data from first input without manipulation.\n expression - Passes through first input if there is no second input. Otherwise passes through second input. If the first input has more rows or columns than the second one, then the last row or column of the second is repeated to fill out the extra cells.",
      "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:42.702Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Evaluate",
      "label": "Evaluate",
      "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": "evaluate - Evaluates input data as python expressions. Compiled.\n data - Passes through data from first input without manipulation.\n expression - Passes through first input if there is no second input. Otherwise passes through second input. If the first input has more rows or columns than the second one, then the last row or column of the second is repeated to fill out the extra cells.",
      "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:42.702Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Expression",
      "label": "Expression",
      "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": "expr -  used to evaluate each cell if an  input or  is not supplied.",
      "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:42.702Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Output Table Size",
      "label": "Output Table 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": "outputsize -  - If the Output Table Size parameter is Strings, Expressions, or Commands, and there is a second input, you can choose the output table size to be either Input  or the Formula .  If the Formula  is chosen and its table size is greater than the input data table, then the last cell in each row or column will be used when evaluating the remaining formulas.\n\n in1 - in2 -",
      "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:42.703Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Input 1 (Data)",
      "label": "Input 1 (Data)",
      "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": "in1 - in2 -",
      "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:42.703Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Monitor Data Dependencies",
      "label": "Monitor Data Dependencies",
      "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": "dependency - If the Output parameter is set to Strings or Expressions, the  will monitor any nodes used by the data, as well as check for time dependencies, and cook accordingly. This toggle is on by default. If you only want the  to cook based on input changes, you can turn this off to avoid unnecessary updates.",
      "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:42.703Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Convert Backslash Characters",
      "label": "Convert Backslash Characters",
      "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": "backslash - Will convert things like \\n to newlines, \\t to tabs etc. Note that \\n, \\t will be converted to spaces if the input  is a table.",
      "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:42.703Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Exclude First Row",
      "label": "Exclude First Row",
      "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": "xfirstrow - Forces the first row to be selected even if it is not specified by the Select Rows settings.",
      "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:42.703Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Exclude First Col",
      "label": "Exclude First Col",
      "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": "xfirstcol - Forces the first column to be selected even if it is not specified by the Select Cols settings.",
      "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:42.703Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Select Rows",
      "label": "Select Rows",
      "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": "extractrows -  - This parameter allows you to pick different ways of specifying the rows selected.\n\n all - All rows selected. byname - Rows selected using Start Row Name and End Row Name parameters. byindex - Rows selected using Start Row Index and End Row Index parameters. bynameindex - Rows selected using Start Row Name and End Row Index parameters. byindexname - Rows selected using Start Row Index and End Row Name parameters. bynames - Rows selected by specifying the row values explicitly. byexpr - Rows selected by an expression to be evaluated for the from column.",
      "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:42.703Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "All",
      "label": "All",
      "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": "all - All rows selected. byname - Rows selected using Start Row Name and End Row Name parameters. byindex - Rows selected using Start Row Index and End Row Index parameters. bynameindex - Rows selected using Start Row Name and End Row Index parameters. byindexname - Rows selected using Start Row Index and End Row Name parameters. bynames - Rows selected by specifying the row values explicitly. byexpr - Rows selected by an expression to be evaluated for the from column.",
      "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:42.703Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Start Row Name",
      "label": "Start Row Name",
      "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": "rownamestart - Specify the row name to start the selection range from.",
      "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:42.703Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Start Row Index",
      "label": "Start Row Index",
      "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": "rowindexstart - Specify the row index to start the selection range from.",
      "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:42.703Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "End Row  Name",
      "label": "End Row  Name",
      "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": "rownameend - Specify the row name to end the selection range.",
      "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:42.703Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "End Row Index",
      "label": "End Row Index",
      "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": "rowindexend - Specify the row index to end the selection range.",
      "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:42.703Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Row Select Values",
      "label": "Row Select Values",
      "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": "rownames - Specify actual row names that you want to select. You can use pattern matching, for example row[1-4] will select all the rows names row1 thru row4.",
      "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:42.703Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Row Select Condition",
      "label": "Row Select Condition",
      "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": "rowexpr - Specify an expression that will be evaluated.  If the expression evaluates to true, the row will be selected.  \t\nExpand the parameter and you will see that it is in expression mode.\t\t\t\n\t\t\t\nBy default, the Python expression is re.match('.*',me.inputCell.val) != None.  '.*' means match any character multiple times, so this expression matches all values.  If you want to match the parent's operator name followed by any numeric number you can use parent().name+'[0-9]*', where '[0-9]*' matches any numerical string.  '.*'+parent().name+'.*' will match any cell that contains the operator's parent name.  You can check  Regular Expression Operations for additional information on how to use the Python Regular  module.\t\t\t\nIn , you can access the cell value with the local variable $V, and the row and column with $R and $C",
      "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:42.703Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "From Column",
      "label": "From Column",
      "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": "fromcol - When selecting rows by values, this parameter selects which column to use when matching cell values to Selected Row Values to determine which rows are selected.",
      "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:42.703Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Select Cols",
      "label": "Select Cols",
      "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": "extractcols -  - This parameter allows you to pick different ways of specifying the columns selected.\n\n all - All columns selected. byname - Columns selected using Start Col Name and End Col Name parameters. byindex - Columns selected using Start Col Index and End Col Index parameters. bynameindex - Columns selected using Start Col Name and End Col Index parameters. byindexname - Columns selected using Start Col Index and End Col Name parameters. bynames - Columns selected by specifying the column values explicitly. byexpr - Rows selected by an expression to be evaluated for the from row.",
      "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:42.703Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "All",
      "label": "All",
      "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": "all - All columns selected. byname - Columns selected using Start Col Name and End Col Name parameters. byindex - Columns selected using Start Col Index and End Col Index parameters. bynameindex - Columns selected using Start Col Name and End Col Index parameters. byindexname - Columns selected using Start Col Index and End Col Name parameters. bynames - Columns selected by specifying the column values explicitly. byexpr - Rows selected by an expression to be evaluated for the from row.",
      "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:42.703Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Start Col Name",
      "label": "Start Col Name",
      "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": "colnamestart - Specify the column name to start the selection range from.",
      "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:42.703Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Start Col Index",
      "label": "Start Col Index",
      "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": "colindexstart - Specify the column index to start the selection range from.",
      "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:42.703Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "End Col Name",
      "label": "End Col Name",
      "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": "colnameend - Specify the column name to end the selection range.",
      "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:42.704Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "End Col Index",
      "label": "End Col Index",
      "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": "colindexend - Specify the column index to end the selection range.",
      "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:42.704Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Col Select Values",
      "label": "Col Select Values",
      "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": "colnames - Specify actual column names that you want to select. You can use pattern matching, for example colvalue[1-4] will select all the columns named colvalue1 thru colvalue4.",
      "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:42.704Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Col Select Condition",
      "label": "Col Select Condition",
      "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": "colexpr - Specify an expression that will be evaluated. If the expression evaluates to true, the column will be selected. See Row Select Condition for more details.",
      "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:42.704Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "From Row",
      "label": "From Row",
      "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": "fromrow - When extracting columns by Specified Names, this parameter selects which row to use when matching cell values to Selected Col Values to determine which columns are selected.",
      "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:42.704Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Language",
      "label": "Language",
      "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": "language -  - Select how the  decides which script language to operate on.\n\n input - The  uses the inputs script language. node - The  uses it's own script language.",
      "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:42.704Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Input",
      "label": "Input",
      "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": "input - The  uses the inputs script language. node - The  uses it's own script language.",
      "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:42.704Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Edit/View Extension",
      "label": "Edit/View Extension",
      "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": "extension -  - Select the file extension this  should expose to external editors.\n\n dat - various common file extensions. language - pick extension from DATs script language. custom - Specify a custom extension.",
      "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:42.704Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "dat",
      "label": "dat",
      "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": "dat - various common file extensions. language - pick extension from DATs script language. custom - Specify a custom extension.",
      "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:42.704Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Custom Extension",
      "label": "Custom Extension",
      "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": "customext - Specifiy the custom extension.",
      "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:42.704Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Word Wrap",
      "label": "Word Wrap",
      "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": "wordwrap -  - Enable Word Wrap for Node Display.\n\n input - The  uses the inputs setting. on - Turn on Word Wrap. off - Turn off Word Wrap.",
      "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:42.704Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Input",
      "label": "Input",
      "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": "input - The  uses the inputs setting. on - Turn on Word Wrap. off - Turn off Word Wrap.",
      "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:42.704Z",
      "rawData": {},
      "sourceElement": null
    }
  ],
  "parameterGroups": {},
  "codeExamples": [],
  "pythonExamples": [],
  "expressions": [],
  "commonInputs": [],
  "commonOutputs": [],
  "relatedOperators": [],
  "workflowPatterns": [],
  "images": [],
  "videos": [],
  "assets": [],
  "keywords": [
    "evaluate",
    "changes",
    "cells",
    "incoming",
    "using",
    "string-editing",
    "math",
    "expressions."
  ],
  "tags": [
    "DAT",
    "TouchDesigner",
    "Evaluate"
  ],
  "searchWeight": 1,
  "contentHash": "",
  "processingDate": "2025-08-08T00:37:42.705Z",
  "processingVersion": "1.0.0",
  "isValid": true,
  "validationErrors": []
}