{
  "id": "dat_to_sop",
  "name": "SOP to",
  "displayName": "SOP to",
  "category": "DAT",
  "subcategory": "Utilities",
  "version": "",
  "lastUpdated": "2025-08-08T00:37:42.031Z",
  "sourceFile": "C:\\Program Files\\Derivative\\TouchDesigner\\Samples\\Learn\\OfflineHelp\\https.docs.derivative.ca\\DAT_to_SOP.htm",
  "url": "",
  "description": "The DAT to SOP can be used to create geometry from DAT tables, or if a SOP input is specified, to modify attributes on existing geometry. See also the Add SOP.",
  "summary": "The DAT to SOP can be used to create geometry from DAT tables, or if a SOP input is specified, to modify attributes on existing geometry. See also the Add SOP.",
  "details": "",
  "usage": "",
  "tips": [],
  "warnings": [],
  "parameters": [
    {
      "id": null,
      "name": "Points DAT",
      "label": "Points 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  to  can be used to create geometry from  tables, or if a  input is specified, to modify attributes on existing geometry. See also the Add SOP.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\nWithout a  input, the output is created entirely from the , one  point per row of the , except for an optional top row with column headings. The common columns headings include the point number index, point position P(0) P(1) P(2), point weight Pw, the color and alpha Cd(0) Cd(1) Cd(2) Cd(3), texture coordinates uv(0) uv(1) uv(2), and point normal N(0) N(1) N(2). If no index column is specified, row number is used as the point number. If there is no heading for the  , the list of attributes is assumed to be in order P(0) P(1) P(2) Pw Cd(0) Cd(1) Cd(2) Cd(3) N(0) N(1) N(2) uv(0) uv(1) uv(2) for the first 14 columns.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\nIf an input is used, attributes are read in and replace the ones in the existing geometry. The  parameter will be enabled when an input is connected. Depending on the Merge menu setting, either the   or   parameter used for the merge data. If an input is used, the Points or Primitives  must have a column named index. This column is used to match the point or primitive to the incoming geometry by point or primitive number.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n in the columns headings should have column name attrib if it is a single value attribute, or have multiple columns named attrib(0), attrib(1), attrib(2) etc if it is a multiple-value attribute.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\nData can also be converted into a form that can be rendered as particles.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\nExample File : File:SOPtoDATtoSOP.tox\ndattoSOP_Class\n\nContents\n \n \n \n \n \n \n\n\n\n\n\n  pointsdat -  with point data. The optional index indicates the point number, if none is specified, row number will be used.  can be specified in attribute_name(attribute_index). If there are no named column headings for the  , the index column should be removed and the list of attributes is assumed to be in order P(0) P(1) P(2) Pw Cd(0) Cd(1) Cd(2) Cd(3) N(0) N(1) N(2) uv(0) uv(1) uv(2) for the first 14 columns. Sample point data:\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n   index\tP(0)\tP(1)\tP(2)\tPw\tN(0)\tN(1)\tN(2)\t\t\t\t\t\t\t\t\t\n   0\t\t-0.5\t-0.5\t-0.5\t1\t0\t0\t-1\t\t\t\t\t\t\t\t\n   1\t\t-0.5\t0.5\t-0.5\t1\t0\t0\t-1\t\t\t\t\t\t\t\t\n   2\t\t0.5\t0.5\t-0.5\t1\t0\t0\t-1\t\t\t\t\t\t\t\t\n   3\t\t0.5\t-0.5\t-0.5\t1\t0\t0\t-1\t\t\t\t\t\t\t\t\n   ...\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\nThe common columns attributes include point position P(0) P(1) P(2), point weight Pw, the color and alpha Cd(0) Cd(1) Cd(2) Cd(3), texture coordinates uv(0) uv(1) uv(2), and point normal N(0) N(1) N(2).   See Point Attributes for a list of attributes.\n\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n  verticesdat -  with vertex data.  index indicates the primitive number and vindex the vertex number in that primitive.   are specified in the same manner as for points.  ample vertex data:\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n   index\tvindex\tuv(0)\tuv(1)\tuv(2)\t\t\t\t\t\t\t\t\t\t\t\t\n   0\t\t0\t0\t0\t0\t\t\t\t\t\t\t\t\t\t\t\n   0\t\t1\t0\t1\t0\t\t\t\t\t\t\t\t\t\t\t\n   0\t\t2\t1\t1\t0\t\t\t\t\t\t\t\t\t\t\t\n   0\t\t3\t1\t0\t0\t\t\t\t\t\t\t\t\t\t\t\n   1\t\t0\t1\t0\t0\t\t\t\t\t\t\t\t\t\t\t\n   1\t\t1\t1\t1\t0\t\t\t\t\t\t\t\t\t\t\t\n   1\t\t2\t1\t1\t1\t\t\t\t\t\t\t\t\t\t\t\n   1\t\t3\t1\t0\t1\t\t\t\t\t\t\t\t\t\t\t\n   ...\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\nCommon attributes include the color and alpha Cd(0) Cd(1) Cd(2) Cd(3), texture coordinates uv(0) uv(1) uv(2), and vertex normal N(0) N(1) N(2).  See Vertex Attributes for a list of attributes.\n\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n  primsdat -  with primitive data. The optional index indicates the primitive number, if none is specified, row number will be used. Column headings are required; vertices list the point numbers in order, close indicates whether the primitive is a closed or open curve.  are specified in the same manner as for points.  Sample primitive data:\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n   index\tvertices\tclose\tCd(0)\tCd(1)\tCd(2)\tCd(3)\t\t\t\t\t\t\t\t\t\t\n   0\t\t0 1 2 3\t\t1\t0.2\t1\t1\t1\t\t\t\t\t\t\t\t\n   1\t\t4 5 6 7\t\t1\t0.2\t0.2\t0.5\t1\t\t\t\t\t\t\t\t\n   2\t\t8 9 10 11\t1\t0.2\t0.2\t0.2\t1\t\t\t\t\t\t\t\t\t\n\nCommon attributes include the color and alpha Cd(0) Cd(1) Cd(2) Cd(3). See Primitive Attributes for a list of attributes.\n\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n  detaildat -  with detail data. Attribute names are specified on the first row and attribute data on the second row. Sample detail data:\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n   pCaptPath\t\tpCaptData(0)\tpCaptData(1)\tpCaptData(2)\t...\t\t\t\t\t\t\t\t\t\t\t\n   /bone1/cregion \t0\t\t3.33333\t\t0\t\t...\n\n\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n  merge -  - Specify whether to merge point data or primitive data. This parameter is only enabled when there is an input connected to the .\n\n points - Merge point data. vertices - primitives - Merge primitive data. detail -\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n  float - Add a non-standard attribute specified in the point or primitive  as a float.\n\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n  int - Add a non-standard attribute specified in the point or primitive  as an int. It will not be added if it has already been specified in the Float attributes.\n\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n  string - Add a non-standard attribute specified in the point or primitive  as a string. It will not be added if it has already been specified in the Float or Int attributes.\n\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n  build -  - Specifies how to build geometry.\n\n dat - Build geometry using data from the  . all - Connect all points. pts2 - Connect points in pairs. pts3 - Connect points in triples. pts4 - Connect every 4 points together. ptsn - Connect every N points together. polyrow - Create a polygon grid with N rows. polycol - Create a polygon grid with N columns. meshrow - Create a mesh grid with N rows. meshcol - Create a mesh grid with N columns. particleall - Creates a particle system of points.\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n  n - Number of points used for building primitives.\n\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n  closed - Closed curves in U.\n\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n  closedv - Closed curves in V.\n\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n  connect -  - Connectivity of polygons.\n\n rows - Creates horizontal lines. cols - Creates vertical lines. rowcol - Both Rows and Columns. Looks like Quads in wireframe display, but all polygons are open (if the primitive type is polygon). Compare them in the Model Editor. triangles - Build the grid with Triangles. quads - Generates sides composed of quadrilaterals (default). alttriangles - Generates triangles that are opposed; similar to the Triangles option.\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n  prtype -  - When creating a particle system, specify to render the particles as lines or point sprites.\n\n lines - pointprites -\n\n\n\n -\n\nExtra Information for the  to  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\\n2022.241402021.100002018.28070before 2018.28070\nSOPs\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 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\nEach SOP has a list of Points. Each point has an XYZ 3D position value plus other optional attributes. Each polygon Primitive is defined by a vertex list, which is list of point numbers.\n\n\n\nA surface type in SOPs that includes polygon, curve (NURBS and Bezier), patch (NURBS and Bezier) and other basic shapes like sphere, tube and metaball. Points and Primitives are part of the Geometry Detail, which is a part of a SOP.\n\n\n\nInformation associated with SOP geometry. Points and primitives (polygons, NURBS, etc.) can have any number of attributes - position (P) is standard, and built-in optional attributes are normals (N), texture coordinates (uv), color (Cd), etc.\n\n\n\nA sequence of vertices form a Polygon in a SOP. Each vertex is an integer index into the Point List, and each Point holds an XYZ position and attributes like Normals and Texture Coordinates.\n\n\n\nA polygon is a type of Primitive that is formed from a set of Vertices in 3D that are implicitly connected together to form a multi-edge shape.\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=DAT_to_SOP&oldid=24257\"\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:42.026Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Points DAT",
      "label": "Points 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  to  can be used to create geometry from  tables, or if a  input is specified, to modify attributes on existing geometry. See also the Add SOP.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\nWithout a  input, the output is created entirely from the , one  point per row of the , except for an optional top row with column headings. The common columns headings include the point number index, point position P(0) P(1) P(2), point weight Pw, the color and alpha Cd(0) Cd(1) Cd(2) Cd(3), texture coordinates uv(0) uv(1) uv(2), and point normal N(0) N(1) N(2). If no index column is specified, row number is used as the point number. If there is no heading for the  , the list of attributes is assumed to be in order P(0) P(1) P(2) Pw Cd(0) Cd(1) Cd(2) Cd(3) N(0) N(1) N(2) uv(0) uv(1) uv(2) for the first 14 columns.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\nIf an input is used, attributes are read in and replace the ones in the existing geometry. The  parameter will be enabled when an input is connected. Depending on the Merge menu setting, either the   or   parameter used for the merge data. If an input is used, the Points or Primitives  must have a column named index. This column is used to match the point or primitive to the incoming geometry by point or primitive number.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n in the columns headings should have column name attrib if it is a single value attribute, or have multiple columns named attrib(0), attrib(1), attrib(2) etc if it is a multiple-value attribute.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\nData can also be converted into a form that can be rendered as particles.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\nExample File : File:SOPtoDATtoSOP.tox\ndattoSOP_Class\n\nContents\n \n \n \n \n \n \n\n\n\n\n\n  pointsdat -  with point data. The optional index indicates the point number, if none is specified, row number will be used.  can be specified in attribute_name(attribute_index). If there are no named column headings for the  , the index column should be removed and the list of attributes is assumed to be in order P(0) P(1) P(2) Pw Cd(0) Cd(1) Cd(2) Cd(3) N(0) N(1) N(2) uv(0) uv(1) uv(2) for the first 14 columns. Sample point data:\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n   index\tP(0)\tP(1)\tP(2)\tPw\tN(0)\tN(1)\tN(2)\t\t\t\t\t\t\t\t\t\n   0\t\t-0.5\t-0.5\t-0.5\t1\t0\t0\t-1\t\t\t\t\t\t\t\t\n   1\t\t-0.5\t0.5\t-0.5\t1\t0\t0\t-1\t\t\t\t\t\t\t\t\n   2\t\t0.5\t0.5\t-0.5\t1\t0\t0\t-1\t\t\t\t\t\t\t\t\n   3\t\t0.5\t-0.5\t-0.5\t1\t0\t0\t-1\t\t\t\t\t\t\t\t\n   ...\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\nThe common columns attributes include point position P(0) P(1) P(2), point weight Pw, the color and alpha Cd(0) Cd(1) Cd(2) Cd(3), texture coordinates uv(0) uv(1) uv(2), and point normal N(0) N(1) N(2).   See Point Attributes for a list of attributes.\n\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n  verticesdat -  with vertex data.  index indicates the primitive number and vindex the vertex number in that primitive.   are specified in the same manner as for points.  ample vertex data:\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n   index\tvindex\tuv(0)\tuv(1)\tuv(2)\t\t\t\t\t\t\t\t\t\t\t\t\n   0\t\t0\t0\t0\t0\t\t\t\t\t\t\t\t\t\t\t\n   0\t\t1\t0\t1\t0\t\t\t\t\t\t\t\t\t\t\t\n   0\t\t2\t1\t1\t0\t\t\t\t\t\t\t\t\t\t\t\n   0\t\t3\t1\t0\t0\t\t\t\t\t\t\t\t\t\t\t\n   1\t\t0\t1\t0\t0\t\t\t\t\t\t\t\t\t\t\t\n   1\t\t1\t1\t1\t0\t\t\t\t\t\t\t\t\t\t\t\n   1\t\t2\t1\t1\t1\t\t\t\t\t\t\t\t\t\t\t\n   1\t\t3\t1\t0\t1\t\t\t\t\t\t\t\t\t\t\t\n   ...\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\nCommon attributes include the color and alpha Cd(0) Cd(1) Cd(2) Cd(3), texture coordinates uv(0) uv(1) uv(2), and vertex normal N(0) N(1) N(2).  See Vertex Attributes for a list of attributes.\n\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n  primsdat -  with primitive data. The optional index indicates the primitive number, if none is specified, row number will be used. Column headings are required; vertices list the point numbers in order, close indicates whether the primitive is a closed or open curve.  are specified in the same manner as for points.  Sample primitive data:\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n   index\tvertices\tclose\tCd(0)\tCd(1)\tCd(2)\tCd(3)\t\t\t\t\t\t\t\t\t\t\n   0\t\t0 1 2 3\t\t1\t0.2\t1\t1\t1\t\t\t\t\t\t\t\t\n   1\t\t4 5 6 7\t\t1\t0.2\t0.2\t0.5\t1\t\t\t\t\t\t\t\t\n   2\t\t8 9 10 11\t1\t0.2\t0.2\t0.2\t1\t\t\t\t\t\t\t\t\t\n\nCommon attributes include the color and alpha Cd(0) Cd(1) Cd(2) Cd(3). See Primitive Attributes for a list of attributes.\n\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n  detaildat -  with detail data. Attribute names are specified on the first row and attribute data on the second row. Sample detail data:\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n   pCaptPath\t\tpCaptData(0)\tpCaptData(1)\tpCaptData(2)\t...\t\t\t\t\t\t\t\t\t\t\t\n   /bone1/cregion \t0\t\t3.33333\t\t0\t\t...\n\n\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n  merge -  - Specify whether to merge point data or primitive data. This parameter is only enabled when there is an input connected to the .\n\n points - Merge point data. vertices - primitives - Merge primitive data. detail -\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n  float - Add a non-standard attribute specified in the point or primitive  as a float.\n\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n  int - Add a non-standard attribute specified in the point or primitive  as an int. It will not be added if it has already been specified in the Float attributes.\n\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n  string - Add a non-standard attribute specified in the point or primitive  as a string. It will not be added if it has already been specified in the Float or Int attributes.\n\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n  build -  - Specifies how to build geometry.\n\n dat - Build geometry using data from the  . all - Connect all points. pts2 - Connect points in pairs. pts3 - Connect points in triples. pts4 - Connect every 4 points together. ptsn - Connect every N points together. polyrow - Create a polygon grid with N rows. polycol - Create a polygon grid with N columns. meshrow - Create a mesh grid with N rows. meshcol - Create a mesh grid with N columns. particleall - Creates a particle system of points.\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n  n - Number of points used for building primitives.\n\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n  closed - Closed curves in U.\n\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n  closedv - Closed curves in V.\n\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n  connect -  - Connectivity of polygons.\n\n rows - Creates horizontal lines. cols - Creates vertical lines. rowcol - Both Rows and Columns. Looks like Quads in wireframe display, but all polygons are open (if the primitive type is polygon). Compare them in the Model Editor. triangles - Build the grid with Triangles. quads - Generates sides composed of quadrilaterals (default). alttriangles - Generates triangles that are opposed; similar to the Triangles option.\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n  prtype -  - When creating a particle system, specify to render the particles as lines or point sprites.\n\n lines - pointprites -\n\n\n\n -\n\nExtra Information for the  to  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\\n2022.241402021.100002018.28070before 2018.28070\nSOPs\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 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\nEach SOP has a list of Points. Each point has an XYZ 3D position value plus other optional attributes. Each polygon Primitive is defined by a vertex list, which is list of point numbers.\n\n\n\nA surface type in SOPs that includes polygon, curve (NURBS and Bezier), patch (NURBS and Bezier) and other basic shapes like sphere, tube and metaball. Points and Primitives are part of the Geometry Detail, which is a part of a SOP.\n\n\n\nInformation associated with SOP geometry. Points and primitives (polygons, NURBS, etc.) can have any number of attributes - position (P) is standard, and built-in optional attributes are normals (N), texture coordinates (uv), color (Cd), etc.\n\n\n\nA sequence of vertices form a Polygon in a SOP. Each vertex is an integer index into the Point List, and each Point holds an XYZ position and attributes like Normals and Texture Coordinates.\n\n\n\nA polygon is a type of Primitive that is formed from a set of Vertices in 3D that are implicitly connected together to form a multi-edge shape.\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=DAT_to_SOP&oldid=24257\"\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:42.028Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Points DAT",
      "label": "Points 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  to  can be used to create geometry from  tables, or if a  input is specified, to modify attributes on existing geometry. See also the Add SOP.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\nWithout a  input, the output is created entirely from the , one  point per row of the , except for an optional top row with column headings. The common columns headings include the point number index, point position P(0) P(1) P(2), point weight Pw, the color and alpha Cd(0) Cd(1) Cd(2) Cd(3), texture coordinates uv(0) uv(1) uv(2), and point normal N(0) N(1) N(2). If no index column is specified, row number is used as the point number. If there is no heading for the  , the list of attributes is assumed to be in order P(0) P(1) P(2) Pw Cd(0) Cd(1) Cd(2) Cd(3) N(0) N(1) N(2) uv(0) uv(1) uv(2) for the first 14 columns.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\nIf an input is used, attributes are read in and replace the ones in the existing geometry. The  parameter will be enabled when an input is connected. Depending on the Merge menu setting, either the   or   parameter used for the merge data. If an input is used, the Points or Primitives  must have a column named index. This column is used to match the point or primitive to the incoming geometry by point or primitive number.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n in the columns headings should have column name attrib if it is a single value attribute, or have multiple columns named attrib(0), attrib(1), attrib(2) etc if it is a multiple-value attribute.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\nData can also be converted into a form that can be rendered as particles.\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\nExample File : File:SOPtoDATtoSOP.tox\ndattoSOP_Class\n\nContents\n \n \n \n \n \n \n\n\n\n\n\n  pointsdat -  with point data. The optional index indicates the point number, if none is specified, row number will be used.  can be specified in attribute_name(attribute_index). If there are no named column headings for the  , the index column should be removed and the list of attributes is assumed to be in order P(0) P(1) P(2) Pw Cd(0) Cd(1) Cd(2) Cd(3) N(0) N(1) N(2) uv(0) uv(1) uv(2) for the first 14 columns. Sample point data:\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n   index\tP(0)\tP(1)\tP(2)\tPw\tN(0)\tN(1)\tN(2)\t\t\t\t\t\t\t\t\t\n   0\t\t-0.5\t-0.5\t-0.5\t1\t0\t0\t-1\t\t\t\t\t\t\t\t\n   1\t\t-0.5\t0.5\t-0.5\t1\t0\t0\t-1\t\t\t\t\t\t\t\t\n   2\t\t0.5\t0.5\t-0.5\t1\t0\t0\t-1\t\t\t\t\t\t\t\t\n   3\t\t0.5\t-0.5\t-0.5\t1\t0\t0\t-1\t\t\t\t\t\t\t\t\n   ...\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\nThe common columns attributes include point position P(0) P(1) P(2), point weight Pw, the color and alpha Cd(0) Cd(1) Cd(2) Cd(3), texture coordinates uv(0) uv(1) uv(2), and point normal N(0) N(1) N(2).   See Point Attributes for a list of attributes.\n\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n  verticesdat -  with vertex data.  index indicates the primitive number and vindex the vertex number in that primitive.   are specified in the same manner as for points.  ample vertex data:\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n   index\tvindex\tuv(0)\tuv(1)\tuv(2)\t\t\t\t\t\t\t\t\t\t\t\t\n   0\t\t0\t0\t0\t0\t\t\t\t\t\t\t\t\t\t\t\n   0\t\t1\t0\t1\t0\t\t\t\t\t\t\t\t\t\t\t\n   0\t\t2\t1\t1\t0\t\t\t\t\t\t\t\t\t\t\t\n   0\t\t3\t1\t0\t0\t\t\t\t\t\t\t\t\t\t\t\n   1\t\t0\t1\t0\t0\t\t\t\t\t\t\t\t\t\t\t\n   1\t\t1\t1\t1\t0\t\t\t\t\t\t\t\t\t\t\t\n   1\t\t2\t1\t1\t1\t\t\t\t\t\t\t\t\t\t\t\n   1\t\t3\t1\t0\t1\t\t\t\t\t\t\t\t\t\t\t\n   ...\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\nCommon attributes include the color and alpha Cd(0) Cd(1) Cd(2) Cd(3), texture coordinates uv(0) uv(1) uv(2), and vertex normal N(0) N(1) N(2).  See Vertex Attributes for a list of attributes.\n\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n  primsdat -  with primitive data. The optional index indicates the primitive number, if none is specified, row number will be used. Column headings are required; vertices list the point numbers in order, close indicates whether the primitive is a closed or open curve.  are specified in the same manner as for points.  Sample primitive data:\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n   index\tvertices\tclose\tCd(0)\tCd(1)\tCd(2)\tCd(3)\t\t\t\t\t\t\t\t\t\t\n   0\t\t0 1 2 3\t\t1\t0.2\t1\t1\t1\t\t\t\t\t\t\t\t\n   1\t\t4 5 6 7\t\t1\t0.2\t0.2\t0.5\t1\t\t\t\t\t\t\t\t\n   2\t\t8 9 10 11\t1\t0.2\t0.2\t0.2\t1\t\t\t\t\t\t\t\t\t\n\nCommon attributes include the color and alpha Cd(0) Cd(1) Cd(2) Cd(3). See Primitive Attributes for a list of attributes.\n\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n  detaildat -  with detail data. Attribute names are specified on the first row and attribute data on the second row. Sample detail data:\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n   pCaptPath\t\tpCaptData(0)\tpCaptData(1)\tpCaptData(2)\t...\t\t\t\t\t\t\t\t\t\t\t\n   /bone1/cregion \t0\t\t3.33333\t\t0\t\t...\n\n\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n  merge -  - Specify whether to merge point data or primitive data. This parameter is only enabled when there is an input connected to the .\n\n points - Merge point data. vertices - primitives - Merge primitive data. detail -\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n  float - Add a non-standard attribute specified in the point or primitive  as a float.\n\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n  int - Add a non-standard attribute specified in the point or primitive  as an int. It will not be added if it has already been specified in the Float attributes.\n\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n  string - Add a non-standard attribute specified in the point or primitive  as a string. It will not be added if it has already been specified in the Float or Int attributes.\n\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n  build -  - Specifies how to build geometry.\n\n dat - Build geometry using data from the  . all - Connect all points. pts2 - Connect points in pairs. pts3 - Connect points in triples. pts4 - Connect every 4 points together. ptsn - Connect every N points together. polyrow - Create a polygon grid with N rows. polycol - Create a polygon grid with N columns. meshrow - Create a mesh grid with N rows. meshcol - Create a mesh grid with N columns. particleall - Creates a particle system of points.\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n  n - Number of points used for building primitives.\n\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n  closed - Closed curves in U.\n\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n  closedv - Closed curves in V.\n\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n  connect -  - Connectivity of polygons.\n\n rows - Creates horizontal lines. cols - Creates vertical lines. rowcol - Both Rows and Columns. Looks like Quads in wireframe display, but all polygons are open (if the primitive type is polygon). Compare them in the Model Editor. triangles - Build the grid with Triangles. quads - Generates sides composed of quadrilaterals (default). alttriangles - Generates triangles that are opposed; similar to the Triangles option.\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n  prtype -  - When creating a particle system, specify to render the particles as lines or point sprites.\n\n lines - pointprites -\n\n\n\n -\n\nExtra Information for the  to  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\\n2022.241402021.100002018.28070before 2018.28070\nSOPs\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 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\nEach SOP has a list of Points. Each point has an XYZ 3D position value plus other optional attributes. Each polygon Primitive is defined by a vertex list, which is list of point numbers.\n\n\n\nA surface type in SOPs that includes polygon, curve (NURBS and Bezier), patch (NURBS and Bezier) and other basic shapes like sphere, tube and metaball. Points and Primitives are part of the Geometry Detail, which is a part of a SOP.\n\n\n\nInformation associated with SOP geometry. Points and primitives (polygons, NURBS, etc.) can have any number of attributes - position (P) is standard, and built-in optional attributes are normals (N), texture coordinates (uv), color (Cd), etc.\n\n\n\nA sequence of vertices form a Polygon in a SOP. Each vertex is an integer index into the Point List, and each Point holds an XYZ position and attributes like Normals and Texture Coordinates.\n\n\n\nA polygon is a type of Primitive that is formed from a set of Vertices in 3D that are implicitly connected together to form a multi-edge shape.\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=DAT_to_SOP&oldid=24257\"",
      "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.029Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Points DAT",
      "label": "Points 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": "pointsdat -  with point data. The optional index indicates the point number, if none is specified, row number will be used.  can be specified in attribute_name(attribute_index). If there are no named column headings for the  , the index column should be removed and the list of attributes is assumed to be in order P(0) P(1) P(2) Pw Cd(0) Cd(1) Cd(2) Cd(3) N(0) N(1) N(2) uv(0) uv(1) uv(2) for the first 14 columns. Sample point data:\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n   index\tP(0)\tP(1)\tP(2)\tPw\tN(0)\tN(1)\tN(2)\t\t\t\t\t\t\t\t\t\n   0\t\t-0.5\t-0.5\t-0.5\t1\t0\t0\t-1\t\t\t\t\t\t\t\t\n   1\t\t-0.5\t0.5\t-0.5\t1\t0\t0\t-1\t\t\t\t\t\t\t\t\n   2\t\t0.5\t0.5\t-0.5\t1\t0\t0\t-1\t\t\t\t\t\t\t\t\n   3\t\t0.5\t-0.5\t-0.5\t1\t0\t0\t-1\t\t\t\t\t\t\t\t\n   ...\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\nThe common columns attributes include point position P(0) P(1) P(2), point weight Pw, the color and alpha Cd(0) Cd(1) Cd(2) Cd(3), texture coordinates uv(0) uv(1) uv(2), and point normal N(0) N(1) N(2).   See Point Attributes for a list of attributes.",
      "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.029Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Vertices DAT",
      "label": "Vertices 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": "verticesdat -  with vertex data.  index indicates the primitive number and vindex the vertex number in that primitive.   are specified in the same manner as for points.  ample vertex data:\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n   index\tvindex\tuv(0)\tuv(1)\tuv(2)\t\t\t\t\t\t\t\t\t\t\t\t\n   0\t\t0\t0\t0\t0\t\t\t\t\t\t\t\t\t\t\t\n   0\t\t1\t0\t1\t0\t\t\t\t\t\t\t\t\t\t\t\n   0\t\t2\t1\t1\t0\t\t\t\t\t\t\t\t\t\t\t\n   0\t\t3\t1\t0\t0\t\t\t\t\t\t\t\t\t\t\t\n   1\t\t0\t1\t0\t0\t\t\t\t\t\t\t\t\t\t\t\n   1\t\t1\t1\t1\t0\t\t\t\t\t\t\t\t\t\t\t\n   1\t\t2\t1\t1\t1\t\t\t\t\t\t\t\t\t\t\t\n   1\t\t3\t1\t0\t1\t\t\t\t\t\t\t\t\t\t\t\n   ...\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\nCommon attributes include the color and alpha Cd(0) Cd(1) Cd(2) Cd(3), texture coordinates uv(0) uv(1) uv(2), and vertex normal N(0) N(1) N(2).  See Vertex Attributes for a list of attributes.",
      "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.029Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Primitives DAT",
      "label": "Primitives 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": "primsdat -  with primitive data. The optional index indicates the primitive number, if none is specified, row number will be used. Column headings are required; vertices list the point numbers in order, close indicates whether the primitive is a closed or open curve.  are specified in the same manner as for points.  Sample primitive data:\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n   index\tvertices\tclose\tCd(0)\tCd(1)\tCd(2)\tCd(3)\t\t\t\t\t\t\t\t\t\t\n   0\t\t0 1 2 3\t\t1\t0.2\t1\t1\t1\t\t\t\t\t\t\t\t\n   1\t\t4 5 6 7\t\t1\t0.2\t0.2\t0.5\t1\t\t\t\t\t\t\t\t\n   2\t\t8 9 10 11\t1\t0.2\t0.2\t0.2\t1\t\t\t\t\t\t\t\t\t\n\nCommon attributes include the color and alpha Cd(0) Cd(1) Cd(2) Cd(3). See Primitive Attributes for a list of attributes.",
      "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.029Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Detail DAT",
      "label": "Detail 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": "detaildat -  with detail data. Attribute names are specified on the first row and attribute data on the second row. Sample detail data:\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n   pCaptPath\t\tpCaptData(0)\tpCaptData(1)\tpCaptData(2)\t...\t\t\t\t\t\t\t\t\t\t\t\n   /bone1/cregion \t0\t\t3.33333\t\t0\t\t...",
      "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.030Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Merge",
      "label": "Merge",
      "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": "merge -  - Specify whether to merge point data or primitive data. This parameter is only enabled when there is an input connected to the .\n\n points - Merge point data. vertices - primitives - Merge primitive data. detail -",
      "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.030Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Points",
      "label": "Points",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "points - Merge point data. vertices - primitives - Merge primitive data. detail -",
      "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.030Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Add Float Attributes",
      "label": "Add Float Attributes",
      "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": "float - Add a non-standard attribute specified in the point or primitive  as a float.",
      "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.030Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Add Int Attributes",
      "label": "Add Int Attributes",
      "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": "int - Add a non-standard attribute specified in the point or primitive  as an int. It will not be added if it has already been specified in the Float attributes.",
      "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.030Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Add String Attributes",
      "label": "Add String Attributes",
      "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": "string - Add a non-standard attribute specified in the point or primitive  as a string. It will not be added if it has already been specified in the Float or Int attributes.",
      "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.030Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Build",
      "label": "Build",
      "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": "build -  - Specifies how to build geometry.\n\n dat - Build geometry using data from the  . all - Connect all points. pts2 - Connect points in pairs. pts3 - Connect points in triples. pts4 - Connect every 4 points together. ptsn - Connect every N points together. polyrow - Create a polygon grid with N rows. polycol - Create a polygon grid with N columns. meshrow - Create a mesh grid with N rows. meshcol - Create a mesh grid with N columns. particleall - Creates a particle system of points.",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:42.030Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Use Primitive DAT",
      "label": "Use Primitive 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 - Build geometry using data from the  . all - Connect all points. pts2 - Connect points in pairs. pts3 - Connect points in triples. pts4 - Connect every 4 points together. ptsn - Connect every N points together. polyrow - Create a polygon grid with N rows. polycol - Create a polygon grid with N columns. meshrow - Create a mesh grid with N rows. meshcol - Create a mesh grid with N columns. particleall - Creates a particle system of points.",
      "tooltip": "",
      "help": "",
      "units": "",
      "examples": [],
      "isReadOnly": false,
      "isAdvanced": false,
      "isHidden": false,
      "isAnimatable": true,
      "isExpression": false,
      "isPython": false,
      "dependsOn": [],
      "affects": [],
      "linkedTo": [],
      "expressionLanguage": "",
      "defaultExpression": "",
      "commonExpressions": [],
      "order": 0,
      "isVisible": true,
      "conditionalDisplay": null,
      "isValid": true,
      "validationErrors": [],
      "lastUpdated": "2025-08-08T00:37:42.030Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "N",
      "label": "N",
      "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": "n - Number of points used for building primitives.",
      "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.030Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Closed U",
      "label": "Closed U",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "closed - Closed curves in U.",
      "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.030Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Closed V",
      "label": "Closed V",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "closedv - Closed curves in V.",
      "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.030Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Connectivity",
      "label": "Connectivity",
      "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": "connect -  - Connectivity of polygons.\n\n rows - Creates horizontal lines. cols - Creates vertical lines. rowcol - Both Rows and Columns. Looks like Quads in wireframe display, but all polygons are open (if the primitive type is polygon). Compare them in the Model Editor. triangles - Build the grid with Triangles. quads - Generates sides composed of quadrilaterals (default). alttriangles - Generates triangles that are opposed; similar to the Triangles option.",
      "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.030Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Rows",
      "label": "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": "rows - Creates horizontal lines. cols - Creates vertical lines. rowcol - Both Rows and Columns. Looks like Quads in wireframe display, but all polygons are open (if the primitive type is polygon). Compare them in the Model Editor. triangles - Build the grid with Triangles. quads - Generates sides composed of quadrilaterals (default). alttriangles - Generates triangles that are opposed; similar to the Triangles option.",
      "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.030Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Particle Type",
      "label": "Particle Type",
      "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": "prtype -  - When creating a particle system, specify to render the particles as lines or point sprites.\n\n lines - pointprites -",
      "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.030Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Render as Lines",
      "label": "Render as Lines",
      "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": "lines - pointprites -",
      "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.030Z",
      "rawData": {},
      "sourceElement": null
    }
  ],
  "parameterGroups": {},
  "codeExamples": [],
  "pythonExamples": [],
  "expressions": [],
  "commonInputs": [],
  "commonOutputs": [],
  "relatedOperators": [],
  "workflowPatterns": [],
  "images": [],
  "videos": [],
  "assets": [],
  "keywords": [
    "dat",
    "to",
    "sop",
    "used",
    "create",
    "geometry",
    "tables,",
    "input",
    "specified,",
    "modify",
    "attributes",
    "existing",
    "geometry."
  ],
  "tags": [
    "DAT",
    "TouchDesigner",
    "DAT to SOP"
  ],
  "searchWeight": 1,
  "contentHash": "",
  "processingDate": "2025-08-08T00:37:42.031Z",
  "processingVersion": "1.0.0",
  "isValid": true,
  "validationErrors": []
}