{
  "id": "arm",
  "name": "Arm",
  "displayName": "Arm",
  "category": "SOP",
  "subcategory": "Generators",
  "version": "",
  "lastUpdated": "2025-08-08T00:37:38.927Z",
  "sourceFile": "C:\\Program Files\\Derivative\\TouchDesigner\\Samples\\Learn\\OfflineHelp\\https.docs.derivative.ca\\Arm_SOP.htm",
  "url": "",
  "description": "The Arm SOP creates all the necessary geometry for an arm, and provides a smooth, untwisted skin that connects the arm to the body. It is controlled through inverse kinematics linked to a handprint.",
  "summary": "The Arm SOP creates all the necessary geometry for an arm, and provides a smooth, untwisted skin that connects the arm to the body. It is controlled through inverse kinematics linked to a handprint.",
  "details": "",
  "usage": "",
  "tips": [],
  "warnings": [],
  "parameters": [
    {
      "id": null,
      "name": "Capture Type",
      "label": "Capture 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": "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 Arm  creates all the necessary geometry for an arm, and provides a smooth, untwisted skin that connects the arm to the body. It is controlled through inverse kinematics linked to a handprint.\narmSOP_Class\n\nContents\n \n \n \n \n \n \n \n \n\n\n\n\n\n  capttype -  - You can use either Ellipses or Capture Regions as deformation geometry. Ellipses are for use with the Skeleton . Capture Regions are for use with the Capture .\n\n ellipses - cregions -\n\t\t\n  axis -  - Position the model along the +X or -X axis.\n\n posx - negx -\n\t\t\n  bonerad - Controls the scale of the circle radii.\n\n\n\t\t\n  rotatehand - This parameter rotates the hand and the wrist joint to match the orientation of the hand-print object. In order to operate correctly, the end-affector (hand print) scale transformations must remain at 1.\t\nNote: If the channel is set to 0, then the hand rotations are relative to the forearm. If the channel is set to 1, the hand rotations are the same orientation as the end affector.\n\n\n\t\t\n  autoelbow - This parameter affects the default twist of the elbow joint to a more natural position.\n\n\n\t\t\n  elbowtwist - Specifies the rotation angle of the elbow joint.\n\n\n\t\t\n  flipelbow - This toggle positions the arm using an alternative elbow position solution.\n\n\n\n\n\n\n  clavlength - Control bone lengths, as illustrated above.\n\n\n\t\t\n  humlength - Control bone lengths, as illustrated above.\n\n\n\t\t\n  ulnalength - Control bone lengths, as illustrated above.\n\n\n\t\t\n  handlength - Control bone lengths, as illustrated above.\n\n\n\t\t\n  shoulder - Control the joint lengths, as illustrated above.\n\n\n\t\t\n  elbow - Control the joint lengths, as illustrated above.\n\n\n\t\t\n  wrist - Control the joint lengths, as illustrated above.\n\n\n\n\n\nWhen the arm is positioned to reach the end affector (hand print), the shoulder, elbow and wrist joints may produce unnatural looking bends. The transform fields allow manual adjustment of each controlling circle of each joint to fix this.\t\t\nEach joint circle (e.g. Shoulder 1) is given three transform fields (two translates and one scale). These values are scaled by the amount of bend applied to the particular joint. In other words, when the arm is fully extended, the transforms have no effect. When the arm joint angles are at 90, they have maximum effect. Thus, set the joints to 90 before adjusting these values.\n\n  shoulder1t -  - The X, Z position of the first shoulder circle, as well as its overall scale.\n\n shoulder1tx - The X position of the first shoulder circle. shoulder1ty - The Z position of the first shoulder circle. (Note: the parameter is labelled Y). shoulder1tz - The overall scale of the first shoulder circle. (Note: the parameter is labelled Z).\n\t\t\n  shoulder2t -  - The X, Z position of the second shoulder circle, as well as its overall scale.\n\n shoulder2tx - The X position of the second shoulder circle. shoulder2ty - The Z position of the second shoulder circle. (Note: the parameter is labelled Y). shoulder2tz - The overall scale of the second shoulder circle. (Note: the parameter is labelled Z).\n\t\t\n  shoulder3t -  - The X, Z position of the third shoulder circle, as well as its overall scale.\n\n shoulder3tx - The X position of the third shoulder circle. shoulder3ty - The Z position of the third shoulder circle. (Note: the parameter is labelled Y). shoulder3tz - The overall scale of the third shoulder circle. (Note: the parameter is labelled Z).\n\t\t\n  shoulder4t -  - The X, Z position of the fourth shoulder circle, as well as its overall scale.\n\n shoulder4tx - The X position of the fourth shoulder circle. shoulder4ty - The Z position of the fourth shoulder circle. (Note: the parameter is labelled Y). shoulder4tz - The overall scale of the fourth shoulder circle. (Note: the parameter is labelled Z).\n\t\t\n  shoulder5t -  - The X, Z position of the fifth shoulder circle, as well as its overall scale.\n\n shoulder5tx - The X position of the fifth shoulder circle. shoulder5ty - The Z position of the fifth shoulder circle. (Note: the parameter is labelled Y). shoulder5tz - The overall scale of the fifth shoulder circle. (Note: the parameter is labelled Z).\n\t\t\n  elbow1t -  - The X, Z position of the first elbow circle, as well as its overall scale.\n\n elbow1tx - The X position of the first elbow circle. elbow1ty - The Z position of the first elbow circle. (Note: the parameter is labelled Y). elbow1tz - The overall scale of the first elbow circle. (Note: the parameter is labelled Z).\n\t\t\n  elbow2t -  - The X, Z position of the second elbow circle, as well as its overall scale.\n\n elbow2tx - The X position of the second elbow circle. elbow2ty - The Z position of the second elbow circle. (Note: the parameter is labelled Y). elbow2tz - The overall scale of the second elbow circle. (Note: the parameter is labelled Z).\n\t\t\n  elbow3t -  - The X, Z position of the third elbow circle, as well as its overall scale.\n\n elbow3tx - The X position of the third elbow circle. elbow3ty - The Z position of the third elbow circle. (Note: the parameter is labelled Y). elbow3tz - The overall scale of the third elbow circle. (Note: the parameter is labelled Z).\n\t\t\n  elbow4t -  - The X, Z position of the fourth elbow circle, as well as its overall scale.\n\n elbow4tx - The X position of the fourth elbow circle. elbow4ty - The overall scale of the fourth elbow circle. (Note: the parameter is labelled Z). elbow4tz - The overall scale of the fourth elbow circle. (Note: the parameter is labelled Z).\n\t\t\n  elbow5t -  - The X, Z position of the fifth elbow circle, as well as its overall scale.\n\n elbow5tx - The X position of the fifth elbow circle. elbow5ty - The overall scale of the fifth elbow circle. (Note: the parameter is labelled Z). elbow5tz - The overall scale of the fifth elbow circle. (Note: the parameter is labelled Z).\n\t\t\n  wrist1t -  - The X, Z position of the first wrist circle, as well as its overall scale.\n\n wrist1tx - The X position of the first wrist circle. wrist1ty - The overall scale of the first wrist circle. (Note: the parameter is labelled Z). wrist1tz - The overall scale of the first wrist circle. (Note: the parameter is labelled Z).\n\t\t\n  wrist2t -  - The X, Z position of the second wrist circle, as well as its overall scale.\n\n wrist2tx - The X position of the second wrist circle. wrist2ty - The overall scale of the second wrist circle. (Note: the parameter is labelled Z). wrist2tz - The overall scale of the second wrist circle. (Note: the parameter is labelled Z).\n\t\t\n  wrist3t -  - The X, Z position of the third wrist circle, as well as its overall scale.\n\n wrist3tx - The X position of the third wrist circle. wrist3ty - The overall scale of the third wrist circle. (Note: the parameter is labelled Z). wrist3tz - The overall scale of the third wrist circle. (Note: the parameter is labelled Z).\n\t\t\n  wrist4t -  - The X, Z position of the fourth wrist circle, as well as its overall scale.\n\n wrist4tx - The X position of the fourth wrist circle. wrist4ty - The overall scale of the fourth wrist circle. (Note: the parameter is labelled Z). wrist4tz - The overall scale of the fourth wrist circle. (Note: the parameter is labelled Z).\n\t\t\n  wrist5t -  - The X, Z position of the fifth wrist circle, as well as its overall scale.\n\n wrist5tx - The X position of the fifth wrist circle. wrist5ty - The overall scale of the fifth wrist circle. (Note: the parameter is labelled Z). wrist5tz - The overall scale of the fifth wrist circle. (Note: the parameter is labelled Z).\n\n\n\n  affector - Allows the end affector to be another object, or simply defined by a default box, which is controlled by the transformations below.\n\n\n\t\t\n  t -  - End Affector Translation. For a full explanation of transforms, see the Transform SOP.\n\n tx - End Affector X Translate. ty - End Affector Y Translate. tz - End Affector Z Translate.\n\t\t\n  r -  - End Affector Rotation. For a full explanation of transforms, see the Transform SOP.\n\n rx - End Affector X Rotate. ry - End Affector Y Rotate. rz - End Affector Z Rotate.\n\t\t\n  s -  - End Affector Scale. For a full explanation of transforms, see the Transform SOP.\n\n sx - End Affector X Scale. sy - End Affector Y Scale. sz - End Affector Z Scale.\n\n\n\nExtra Information for the Arm  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\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\nThe sub-Family of Component types that are used to define and render 3D scenes. A Geometry Component is an Object that contains the 3D shapes to render. A Camera COMP and Light COMP are other Object types. Separately, \"Objects\" also refers to Python objects.\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=Arm_SOP&oldid=24254\"\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:38.920Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Capture Type",
      "label": "Capture 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": "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 Arm  creates all the necessary geometry for an arm, and provides a smooth, untwisted skin that connects the arm to the body. It is controlled through inverse kinematics linked to a handprint.\narmSOP_Class\n\nContents\n \n \n \n \n \n \n \n \n\n\n\n\n\n  capttype -  - You can use either Ellipses or Capture Regions as deformation geometry. Ellipses are for use with the Skeleton . Capture Regions are for use with the Capture .\n\n ellipses - cregions -\n\t\t\n  axis -  - Position the model along the +X or -X axis.\n\n posx - negx -\n\t\t\n  bonerad - Controls the scale of the circle radii.\n\n\n\t\t\n  rotatehand - This parameter rotates the hand and the wrist joint to match the orientation of the hand-print object. In order to operate correctly, the end-affector (hand print) scale transformations must remain at 1.\t\nNote: If the channel is set to 0, then the hand rotations are relative to the forearm. If the channel is set to 1, the hand rotations are the same orientation as the end affector.\n\n\n\t\t\n  autoelbow - This parameter affects the default twist of the elbow joint to a more natural position.\n\n\n\t\t\n  elbowtwist - Specifies the rotation angle of the elbow joint.\n\n\n\t\t\n  flipelbow - This toggle positions the arm using an alternative elbow position solution.\n\n\n\n\n\n\n  clavlength - Control bone lengths, as illustrated above.\n\n\n\t\t\n  humlength - Control bone lengths, as illustrated above.\n\n\n\t\t\n  ulnalength - Control bone lengths, as illustrated above.\n\n\n\t\t\n  handlength - Control bone lengths, as illustrated above.\n\n\n\t\t\n  shoulder - Control the joint lengths, as illustrated above.\n\n\n\t\t\n  elbow - Control the joint lengths, as illustrated above.\n\n\n\t\t\n  wrist - Control the joint lengths, as illustrated above.\n\n\n\n\n\nWhen the arm is positioned to reach the end affector (hand print), the shoulder, elbow and wrist joints may produce unnatural looking bends. The transform fields allow manual adjustment of each controlling circle of each joint to fix this.\t\t\nEach joint circle (e.g. Shoulder 1) is given three transform fields (two translates and one scale). These values are scaled by the amount of bend applied to the particular joint. In other words, when the arm is fully extended, the transforms have no effect. When the arm joint angles are at 90, they have maximum effect. Thus, set the joints to 90 before adjusting these values.\n\n  shoulder1t -  - The X, Z position of the first shoulder circle, as well as its overall scale.\n\n shoulder1tx - The X position of the first shoulder circle. shoulder1ty - The Z position of the first shoulder circle. (Note: the parameter is labelled Y). shoulder1tz - The overall scale of the first shoulder circle. (Note: the parameter is labelled Z).\n\t\t\n  shoulder2t -  - The X, Z position of the second shoulder circle, as well as its overall scale.\n\n shoulder2tx - The X position of the second shoulder circle. shoulder2ty - The Z position of the second shoulder circle. (Note: the parameter is labelled Y). shoulder2tz - The overall scale of the second shoulder circle. (Note: the parameter is labelled Z).\n\t\t\n  shoulder3t -  - The X, Z position of the third shoulder circle, as well as its overall scale.\n\n shoulder3tx - The X position of the third shoulder circle. shoulder3ty - The Z position of the third shoulder circle. (Note: the parameter is labelled Y). shoulder3tz - The overall scale of the third shoulder circle. (Note: the parameter is labelled Z).\n\t\t\n  shoulder4t -  - The X, Z position of the fourth shoulder circle, as well as its overall scale.\n\n shoulder4tx - The X position of the fourth shoulder circle. shoulder4ty - The Z position of the fourth shoulder circle. (Note: the parameter is labelled Y). shoulder4tz - The overall scale of the fourth shoulder circle. (Note: the parameter is labelled Z).\n\t\t\n  shoulder5t -  - The X, Z position of the fifth shoulder circle, as well as its overall scale.\n\n shoulder5tx - The X position of the fifth shoulder circle. shoulder5ty - The Z position of the fifth shoulder circle. (Note: the parameter is labelled Y). shoulder5tz - The overall scale of the fifth shoulder circle. (Note: the parameter is labelled Z).\n\t\t\n  elbow1t -  - The X, Z position of the first elbow circle, as well as its overall scale.\n\n elbow1tx - The X position of the first elbow circle. elbow1ty - The Z position of the first elbow circle. (Note: the parameter is labelled Y). elbow1tz - The overall scale of the first elbow circle. (Note: the parameter is labelled Z).\n\t\t\n  elbow2t -  - The X, Z position of the second elbow circle, as well as its overall scale.\n\n elbow2tx - The X position of the second elbow circle. elbow2ty - The Z position of the second elbow circle. (Note: the parameter is labelled Y). elbow2tz - The overall scale of the second elbow circle. (Note: the parameter is labelled Z).\n\t\t\n  elbow3t -  - The X, Z position of the third elbow circle, as well as its overall scale.\n\n elbow3tx - The X position of the third elbow circle. elbow3ty - The Z position of the third elbow circle. (Note: the parameter is labelled Y). elbow3tz - The overall scale of the third elbow circle. (Note: the parameter is labelled Z).\n\t\t\n  elbow4t -  - The X, Z position of the fourth elbow circle, as well as its overall scale.\n\n elbow4tx - The X position of the fourth elbow circle. elbow4ty - The overall scale of the fourth elbow circle. (Note: the parameter is labelled Z). elbow4tz - The overall scale of the fourth elbow circle. (Note: the parameter is labelled Z).\n\t\t\n  elbow5t -  - The X, Z position of the fifth elbow circle, as well as its overall scale.\n\n elbow5tx - The X position of the fifth elbow circle. elbow5ty - The overall scale of the fifth elbow circle. (Note: the parameter is labelled Z). elbow5tz - The overall scale of the fifth elbow circle. (Note: the parameter is labelled Z).\n\t\t\n  wrist1t -  - The X, Z position of the first wrist circle, as well as its overall scale.\n\n wrist1tx - The X position of the first wrist circle. wrist1ty - The overall scale of the first wrist circle. (Note: the parameter is labelled Z). wrist1tz - The overall scale of the first wrist circle. (Note: the parameter is labelled Z).\n\t\t\n  wrist2t -  - The X, Z position of the second wrist circle, as well as its overall scale.\n\n wrist2tx - The X position of the second wrist circle. wrist2ty - The overall scale of the second wrist circle. (Note: the parameter is labelled Z). wrist2tz - The overall scale of the second wrist circle. (Note: the parameter is labelled Z).\n\t\t\n  wrist3t -  - The X, Z position of the third wrist circle, as well as its overall scale.\n\n wrist3tx - The X position of the third wrist circle. wrist3ty - The overall scale of the third wrist circle. (Note: the parameter is labelled Z). wrist3tz - The overall scale of the third wrist circle. (Note: the parameter is labelled Z).\n\t\t\n  wrist4t -  - The X, Z position of the fourth wrist circle, as well as its overall scale.\n\n wrist4tx - The X position of the fourth wrist circle. wrist4ty - The overall scale of the fourth wrist circle. (Note: the parameter is labelled Z). wrist4tz - The overall scale of the fourth wrist circle. (Note: the parameter is labelled Z).\n\t\t\n  wrist5t -  - The X, Z position of the fifth wrist circle, as well as its overall scale.\n\n wrist5tx - The X position of the fifth wrist circle. wrist5ty - The overall scale of the fifth wrist circle. (Note: the parameter is labelled Z). wrist5tz - The overall scale of the fifth wrist circle. (Note: the parameter is labelled Z).\n\n\n\n  affector - Allows the end affector to be another object, or simply defined by a default box, which is controlled by the transformations below.\n\n\n\t\t\n  t -  - End Affector Translation. For a full explanation of transforms, see the Transform SOP.\n\n tx - End Affector X Translate. ty - End Affector Y Translate. tz - End Affector Z Translate.\n\t\t\n  r -  - End Affector Rotation. For a full explanation of transforms, see the Transform SOP.\n\n rx - End Affector X Rotate. ry - End Affector Y Rotate. rz - End Affector Z Rotate.\n\t\t\n  s -  - End Affector Scale. For a full explanation of transforms, see the Transform SOP.\n\n sx - End Affector X Scale. sy - End Affector Y Scale. sz - End Affector Z Scale.\n\n\n\nExtra Information for the Arm  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\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\nThe sub-Family of Component types that are used to define and render 3D scenes. A Geometry Component is an Object that contains the 3D shapes to render. A Camera COMP and Light COMP are other Object types. Separately, \"Objects\" also refers to Python objects.\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=Arm_SOP&oldid=24254\"\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:38.922Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Capture Type",
      "label": "Capture 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": "The Arm  creates all the necessary geometry for an arm, and provides a smooth, untwisted skin that connects the arm to the body. It is controlled through inverse kinematics linked to a handprint.\narmSOP_Class\n\nContents\n \n \n \n \n \n \n \n \n\n\n\n\n\n  capttype -  - You can use either Ellipses or Capture Regions as deformation geometry. Ellipses are for use with the Skeleton . Capture Regions are for use with the Capture .\n\n ellipses - cregions -\n\t\t\n  axis -  - Position the model along the +X or -X axis.\n\n posx - negx -\n\t\t\n  bonerad - Controls the scale of the circle radii.\n\n\n\t\t\n  rotatehand - This parameter rotates the hand and the wrist joint to match the orientation of the hand-print object. In order to operate correctly, the end-affector (hand print) scale transformations must remain at 1.\t\nNote: If the channel is set to 0, then the hand rotations are relative to the forearm. If the channel is set to 1, the hand rotations are the same orientation as the end affector.\n\n\n\t\t\n  autoelbow - This parameter affects the default twist of the elbow joint to a more natural position.\n\n\n\t\t\n  elbowtwist - Specifies the rotation angle of the elbow joint.\n\n\n\t\t\n  flipelbow - This toggle positions the arm using an alternative elbow position solution.\n\n\n\n\n\n\n  clavlength - Control bone lengths, as illustrated above.\n\n\n\t\t\n  humlength - Control bone lengths, as illustrated above.\n\n\n\t\t\n  ulnalength - Control bone lengths, as illustrated above.\n\n\n\t\t\n  handlength - Control bone lengths, as illustrated above.\n\n\n\t\t\n  shoulder - Control the joint lengths, as illustrated above.\n\n\n\t\t\n  elbow - Control the joint lengths, as illustrated above.\n\n\n\t\t\n  wrist - Control the joint lengths, as illustrated above.\n\n\n\n\n\nWhen the arm is positioned to reach the end affector (hand print), the shoulder, elbow and wrist joints may produce unnatural looking bends. The transform fields allow manual adjustment of each controlling circle of each joint to fix this.\t\t\nEach joint circle (e.g. Shoulder 1) is given three transform fields (two translates and one scale). These values are scaled by the amount of bend applied to the particular joint. In other words, when the arm is fully extended, the transforms have no effect. When the arm joint angles are at 90, they have maximum effect. Thus, set the joints to 90 before adjusting these values.\n\n  shoulder1t -  - The X, Z position of the first shoulder circle, as well as its overall scale.\n\n shoulder1tx - The X position of the first shoulder circle. shoulder1ty - The Z position of the first shoulder circle. (Note: the parameter is labelled Y). shoulder1tz - The overall scale of the first shoulder circle. (Note: the parameter is labelled Z).\n\t\t\n  shoulder2t -  - The X, Z position of the second shoulder circle, as well as its overall scale.\n\n shoulder2tx - The X position of the second shoulder circle. shoulder2ty - The Z position of the second shoulder circle. (Note: the parameter is labelled Y). shoulder2tz - The overall scale of the second shoulder circle. (Note: the parameter is labelled Z).\n\t\t\n  shoulder3t -  - The X, Z position of the third shoulder circle, as well as its overall scale.\n\n shoulder3tx - The X position of the third shoulder circle. shoulder3ty - The Z position of the third shoulder circle. (Note: the parameter is labelled Y). shoulder3tz - The overall scale of the third shoulder circle. (Note: the parameter is labelled Z).\n\t\t\n  shoulder4t -  - The X, Z position of the fourth shoulder circle, as well as its overall scale.\n\n shoulder4tx - The X position of the fourth shoulder circle. shoulder4ty - The Z position of the fourth shoulder circle. (Note: the parameter is labelled Y). shoulder4tz - The overall scale of the fourth shoulder circle. (Note: the parameter is labelled Z).\n\t\t\n  shoulder5t -  - The X, Z position of the fifth shoulder circle, as well as its overall scale.\n\n shoulder5tx - The X position of the fifth shoulder circle. shoulder5ty - The Z position of the fifth shoulder circle. (Note: the parameter is labelled Y). shoulder5tz - The overall scale of the fifth shoulder circle. (Note: the parameter is labelled Z).\n\t\t\n  elbow1t -  - The X, Z position of the first elbow circle, as well as its overall scale.\n\n elbow1tx - The X position of the first elbow circle. elbow1ty - The Z position of the first elbow circle. (Note: the parameter is labelled Y). elbow1tz - The overall scale of the first elbow circle. (Note: the parameter is labelled Z).\n\t\t\n  elbow2t -  - The X, Z position of the second elbow circle, as well as its overall scale.\n\n elbow2tx - The X position of the second elbow circle. elbow2ty - The Z position of the second elbow circle. (Note: the parameter is labelled Y). elbow2tz - The overall scale of the second elbow circle. (Note: the parameter is labelled Z).\n\t\t\n  elbow3t -  - The X, Z position of the third elbow circle, as well as its overall scale.\n\n elbow3tx - The X position of the third elbow circle. elbow3ty - The Z position of the third elbow circle. (Note: the parameter is labelled Y). elbow3tz - The overall scale of the third elbow circle. (Note: the parameter is labelled Z).\n\t\t\n  elbow4t -  - The X, Z position of the fourth elbow circle, as well as its overall scale.\n\n elbow4tx - The X position of the fourth elbow circle. elbow4ty - The overall scale of the fourth elbow circle. (Note: the parameter is labelled Z). elbow4tz - The overall scale of the fourth elbow circle. (Note: the parameter is labelled Z).\n\t\t\n  elbow5t -  - The X, Z position of the fifth elbow circle, as well as its overall scale.\n\n elbow5tx - The X position of the fifth elbow circle. elbow5ty - The overall scale of the fifth elbow circle. (Note: the parameter is labelled Z). elbow5tz - The overall scale of the fifth elbow circle. (Note: the parameter is labelled Z).\n\t\t\n  wrist1t -  - The X, Z position of the first wrist circle, as well as its overall scale.\n\n wrist1tx - The X position of the first wrist circle. wrist1ty - The overall scale of the first wrist circle. (Note: the parameter is labelled Z). wrist1tz - The overall scale of the first wrist circle. (Note: the parameter is labelled Z).\n\t\t\n  wrist2t -  - The X, Z position of the second wrist circle, as well as its overall scale.\n\n wrist2tx - The X position of the second wrist circle. wrist2ty - The overall scale of the second wrist circle. (Note: the parameter is labelled Z). wrist2tz - The overall scale of the second wrist circle. (Note: the parameter is labelled Z).\n\t\t\n  wrist3t -  - The X, Z position of the third wrist circle, as well as its overall scale.\n\n wrist3tx - The X position of the third wrist circle. wrist3ty - The overall scale of the third wrist circle. (Note: the parameter is labelled Z). wrist3tz - The overall scale of the third wrist circle. (Note: the parameter is labelled Z).\n\t\t\n  wrist4t -  - The X, Z position of the fourth wrist circle, as well as its overall scale.\n\n wrist4tx - The X position of the fourth wrist circle. wrist4ty - The overall scale of the fourth wrist circle. (Note: the parameter is labelled Z). wrist4tz - The overall scale of the fourth wrist circle. (Note: the parameter is labelled Z).\n\t\t\n  wrist5t -  - The X, Z position of the fifth wrist circle, as well as its overall scale.\n\n wrist5tx - The X position of the fifth wrist circle. wrist5ty - The overall scale of the fifth wrist circle. (Note: the parameter is labelled Z). wrist5tz - The overall scale of the fifth wrist circle. (Note: the parameter is labelled Z).\n\n\n\n  affector - Allows the end affector to be another object, or simply defined by a default box, which is controlled by the transformations below.\n\n\n\t\t\n  t -  - End Affector Translation. For a full explanation of transforms, see the Transform SOP.\n\n tx - End Affector X Translate. ty - End Affector Y Translate. tz - End Affector Z Translate.\n\t\t\n  r -  - End Affector Rotation. For a full explanation of transforms, see the Transform SOP.\n\n rx - End Affector X Rotate. ry - End Affector Y Rotate. rz - End Affector Z Rotate.\n\t\t\n  s -  - End Affector Scale. For a full explanation of transforms, see the Transform SOP.\n\n sx - End Affector X Scale. sy - End Affector Y Scale. sz - End Affector Z Scale.\n\n\n\nExtra Information for the Arm  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\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\nThe sub-Family of Component types that are used to define and render 3D scenes. A Geometry Component is an Object that contains the 3D shapes to render. A Camera COMP and Light COMP are other Object types. Separately, \"Objects\" also refers to Python objects.\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=Arm_SOP&oldid=24254\"",
      "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:38.924Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Capture Type",
      "label": "Capture 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": "capttype -  - You can use either Ellipses or Capture Regions as deformation geometry. Ellipses are for use with the Skeleton . Capture Regions are for use with the Capture .\n\n ellipses - cregions -",
      "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:38.924Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Ellipses",
      "label": "Ellipses",
      "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": "ellipses - cregions -",
      "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:38.924Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Arm Axis",
      "label": "Arm Axis",
      "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": "axis -  - Position the model along the +X or -X axis.\n\n posx - negx -",
      "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:38.924Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "+ X",
      "label": "+ X",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "posx - negx -",
      "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:38.924Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Radius",
      "label": "Radius",
      "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": "bonerad - Controls the scale of the circle radii.",
      "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:38.924Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Rotate Hand",
      "label": "Rotate Hand",
      "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": "rotatehand - This parameter rotates the hand and the wrist joint to match the orientation of the hand-print object. In order to operate correctly, the end-affector (hand print) scale transformations must remain at 1.\t\nNote: If the channel is set to 0, then the hand rotations are relative to the forearm. If the channel is set to 1, the hand rotations are the same orientation as the end affector.",
      "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:38.924Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Auto Elbow Twist",
      "label": "Auto Elbow Twist",
      "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": "autoelbow - This parameter affects the default twist of the elbow joint to a more natural position.",
      "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:38.925Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Elbow Twist",
      "label": "Elbow Twist",
      "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": "elbowtwist - Specifies the rotation angle of the elbow joint.",
      "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:38.925Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Flip Elbow",
      "label": "Flip Elbow",
      "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": "flipelbow - This toggle positions the arm using an alternative elbow position solution.",
      "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:38.925Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Clavicle",
      "label": "Clavicle",
      "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": "clavlength - Control bone lengths, as illustrated above.",
      "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:38.925Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Humerous",
      "label": "Humerous",
      "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": "humlength - Control bone lengths, as illustrated above.",
      "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:38.925Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Ulna",
      "label": "Ulna",
      "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": "ulnalength - Control bone lengths, as illustrated above.",
      "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:38.925Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Hand",
      "label": "Hand",
      "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": "handlength - Control bone lengths, as illustrated above.",
      "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:38.925Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Shoulder Joint",
      "label": "Shoulder Joint",
      "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": "shoulder - Control the joint lengths, as illustrated above.",
      "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:38.925Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Elbow Joint",
      "label": "Elbow Joint",
      "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": "elbow - Control the joint lengths, as illustrated above.",
      "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:38.925Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Wrist Joint",
      "label": "Wrist Joint",
      "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": "wrist - Control the joint lengths, as illustrated above.",
      "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:38.925Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Shoulder 1",
      "label": "Shoulder 1",
      "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": "shoulder1t -  - The X, Z position of the first shoulder circle, as well as its overall scale.\n\n shoulder1tx - The X position of the first shoulder circle. shoulder1ty - The Z position of the first shoulder circle. (Note: the parameter is labelled Y). shoulder1tz - The overall scale of the first shoulder circle. (Note: the parameter is labelled Z).",
      "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:38.925Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "X",
      "label": "X",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "shoulder1tx - The X position of the first shoulder circle. shoulder1ty - The Z position of the first shoulder circle. (Note: the parameter is labelled Y). shoulder1tz - The overall scale of the first shoulder circle. (Note: the parameter is labelled Z).",
      "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:38.925Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Shoulder 2",
      "label": "Shoulder 2",
      "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": "shoulder2t -  - The X, Z position of the second shoulder circle, as well as its overall scale.\n\n shoulder2tx - The X position of the second shoulder circle. shoulder2ty - The Z position of the second shoulder circle. (Note: the parameter is labelled Y). shoulder2tz - The overall scale of the second shoulder circle. (Note: the parameter is labelled Z).",
      "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:38.925Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "X",
      "label": "X",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "shoulder2tx - The X position of the second shoulder circle. shoulder2ty - The Z position of the second shoulder circle. (Note: the parameter is labelled Y). shoulder2tz - The overall scale of the second shoulder circle. (Note: the parameter is labelled Z).",
      "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:38.925Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Shoulder 3",
      "label": "Shoulder 3",
      "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": "shoulder3t -  - The X, Z position of the third shoulder circle, as well as its overall scale.\n\n shoulder3tx - The X position of the third shoulder circle. shoulder3ty - The Z position of the third shoulder circle. (Note: the parameter is labelled Y). shoulder3tz - The overall scale of the third shoulder circle. (Note: the parameter is labelled Z).",
      "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:38.925Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "X",
      "label": "X",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "shoulder3tx - The X position of the third shoulder circle. shoulder3ty - The Z position of the third shoulder circle. (Note: the parameter is labelled Y). shoulder3tz - The overall scale of the third shoulder circle. (Note: the parameter is labelled Z).",
      "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:38.925Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Shoulder 4",
      "label": "Shoulder 4",
      "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": "shoulder4t -  - The X, Z position of the fourth shoulder circle, as well as its overall scale.\n\n shoulder4tx - The X position of the fourth shoulder circle. shoulder4ty - The Z position of the fourth shoulder circle. (Note: the parameter is labelled Y). shoulder4tz - The overall scale of the fourth shoulder circle. (Note: the parameter is labelled Z).",
      "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:38.925Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "X",
      "label": "X",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "shoulder4tx - The X position of the fourth shoulder circle. shoulder4ty - The Z position of the fourth shoulder circle. (Note: the parameter is labelled Y). shoulder4tz - The overall scale of the fourth shoulder circle. (Note: the parameter is labelled Z).",
      "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:38.925Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Shoulder 5",
      "label": "Shoulder 5",
      "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": "shoulder5t -  - The X, Z position of the fifth shoulder circle, as well as its overall scale.\n\n shoulder5tx - The X position of the fifth shoulder circle. shoulder5ty - The Z position of the fifth shoulder circle. (Note: the parameter is labelled Y). shoulder5tz - The overall scale of the fifth shoulder circle. (Note: the parameter is labelled Z).",
      "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:38.925Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "X",
      "label": "X",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "shoulder5tx - The X position of the fifth shoulder circle. shoulder5ty - The Z position of the fifth shoulder circle. (Note: the parameter is labelled Y). shoulder5tz - The overall scale of the fifth shoulder circle. (Note: the parameter is labelled Z).",
      "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:38.925Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Elbow 1",
      "label": "Elbow 1",
      "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": "elbow1t -  - The X, Z position of the first elbow circle, as well as its overall scale.\n\n elbow1tx - The X position of the first elbow circle. elbow1ty - The Z position of the first elbow circle. (Note: the parameter is labelled Y). elbow1tz - The overall scale of the first elbow circle. (Note: the parameter is labelled Z).",
      "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:38.926Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "X",
      "label": "X",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "elbow1tx - The X position of the first elbow circle. elbow1ty - The Z position of the first elbow circle. (Note: the parameter is labelled Y). elbow1tz - The overall scale of the first elbow circle. (Note: the parameter is labelled Z).",
      "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:38.926Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Elbow 2",
      "label": "Elbow 2",
      "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": "elbow2t -  - The X, Z position of the second elbow circle, as well as its overall scale.\n\n elbow2tx - The X position of the second elbow circle. elbow2ty - The Z position of the second elbow circle. (Note: the parameter is labelled Y). elbow2tz - The overall scale of the second elbow circle. (Note: the parameter is labelled Z).",
      "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:38.926Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "X",
      "label": "X",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "elbow2tx - The X position of the second elbow circle. elbow2ty - The Z position of the second elbow circle. (Note: the parameter is labelled Y). elbow2tz - The overall scale of the second elbow circle. (Note: the parameter is labelled Z).",
      "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:38.926Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Elbow 3",
      "label": "Elbow 3",
      "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": "elbow3t -  - The X, Z position of the third elbow circle, as well as its overall scale.\n\n elbow3tx - The X position of the third elbow circle. elbow3ty - The Z position of the third elbow circle. (Note: the parameter is labelled Y). elbow3tz - The overall scale of the third elbow circle. (Note: the parameter is labelled Z).",
      "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:38.926Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "X",
      "label": "X",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "elbow3tx - The X position of the third elbow circle. elbow3ty - The Z position of the third elbow circle. (Note: the parameter is labelled Y). elbow3tz - The overall scale of the third elbow circle. (Note: the parameter is labelled Z).",
      "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:38.926Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Elbow 4",
      "label": "Elbow 4",
      "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": "elbow4t -  - The X, Z position of the fourth elbow circle, as well as its overall scale.\n\n elbow4tx - The X position of the fourth elbow circle. elbow4ty - The overall scale of the fourth elbow circle. (Note: the parameter is labelled Z). elbow4tz - The overall scale of the fourth elbow circle. (Note: the parameter is labelled Z).",
      "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:38.926Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "X",
      "label": "X",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "elbow4tx - The X position of the fourth elbow circle. elbow4ty - The overall scale of the fourth elbow circle. (Note: the parameter is labelled Z). elbow4tz - The overall scale of the fourth elbow circle. (Note: the parameter is labelled Z).",
      "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:38.926Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Elbow 5",
      "label": "Elbow 5",
      "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": "elbow5t -  - The X, Z position of the fifth elbow circle, as well as its overall scale.\n\n elbow5tx - The X position of the fifth elbow circle. elbow5ty - The overall scale of the fifth elbow circle. (Note: the parameter is labelled Z). elbow5tz - The overall scale of the fifth elbow circle. (Note: the parameter is labelled Z).",
      "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:38.926Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "X",
      "label": "X",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "elbow5tx - The X position of the fifth elbow circle. elbow5ty - The overall scale of the fifth elbow circle. (Note: the parameter is labelled Z). elbow5tz - The overall scale of the fifth elbow circle. (Note: the parameter is labelled Z).",
      "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:38.926Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Wrist 1",
      "label": "Wrist 1",
      "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": "wrist1t -  - The X, Z position of the first wrist circle, as well as its overall scale.\n\n wrist1tx - The X position of the first wrist circle. wrist1ty - The overall scale of the first wrist circle. (Note: the parameter is labelled Z). wrist1tz - The overall scale of the first wrist circle. (Note: the parameter is labelled Z).",
      "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:38.926Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "X",
      "label": "X",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "wrist1tx - The X position of the first wrist circle. wrist1ty - The overall scale of the first wrist circle. (Note: the parameter is labelled Z). wrist1tz - The overall scale of the first wrist circle. (Note: the parameter is labelled Z).",
      "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:38.926Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Wrist 2",
      "label": "Wrist 2",
      "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": "wrist2t -  - The X, Z position of the second wrist circle, as well as its overall scale.\n\n wrist2tx - The X position of the second wrist circle. wrist2ty - The overall scale of the second wrist circle. (Note: the parameter is labelled Z). wrist2tz - The overall scale of the second wrist circle. (Note: the parameter is labelled Z).",
      "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:38.926Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "X",
      "label": "X",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "wrist2tx - The X position of the second wrist circle. wrist2ty - The overall scale of the second wrist circle. (Note: the parameter is labelled Z). wrist2tz - The overall scale of the second wrist circle. (Note: the parameter is labelled Z).",
      "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:38.926Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Wrist 3",
      "label": "Wrist 3",
      "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": "wrist3t -  - The X, Z position of the third wrist circle, as well as its overall scale.\n\n wrist3tx - The X position of the third wrist circle. wrist3ty - The overall scale of the third wrist circle. (Note: the parameter is labelled Z). wrist3tz - The overall scale of the third wrist circle. (Note: the parameter is labelled Z).",
      "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:38.926Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "X",
      "label": "X",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "wrist3tx - The X position of the third wrist circle. wrist3ty - The overall scale of the third wrist circle. (Note: the parameter is labelled Z). wrist3tz - The overall scale of the third wrist circle. (Note: the parameter is labelled Z).",
      "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:38.926Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Wrist 4",
      "label": "Wrist 4",
      "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": "wrist4t -  - The X, Z position of the fourth wrist circle, as well as its overall scale.\n\n wrist4tx - The X position of the fourth wrist circle. wrist4ty - The overall scale of the fourth wrist circle. (Note: the parameter is labelled Z). wrist4tz - The overall scale of the fourth wrist circle. (Note: the parameter is labelled Z).",
      "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:38.926Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "X",
      "label": "X",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "wrist4tx - The X position of the fourth wrist circle. wrist4ty - The overall scale of the fourth wrist circle. (Note: the parameter is labelled Z). wrist4tz - The overall scale of the fourth wrist circle. (Note: the parameter is labelled Z).",
      "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:38.927Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Wrist 5",
      "label": "Wrist 5",
      "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": "wrist5t -  - The X, Z position of the fifth wrist circle, as well as its overall scale.\n\n wrist5tx - The X position of the fifth wrist circle. wrist5ty - The overall scale of the fifth wrist circle. (Note: the parameter is labelled Z). wrist5tz - The overall scale of the fifth wrist circle. (Note: the parameter is labelled Z).",
      "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:38.927Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "X",
      "label": "X",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "wrist5tx - The X position of the fifth wrist circle. wrist5ty - The overall scale of the fifth wrist circle. (Note: the parameter is labelled Z). wrist5tz - The overall scale of the fifth wrist circle. (Note: the parameter is labelled Z).",
      "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:38.927Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Affector Object",
      "label": "Affector Object",
      "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": "affector - Allows the end affector to be another object, or simply defined by a default box, which is controlled by the transformations below.",
      "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:38.927Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Translate",
      "label": "Translate",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "t -  - End Affector Translation. For a full explanation of transforms, see the Transform SOP.\n\n tx - End Affector X Translate. ty - End Affector Y Translate. tz - End Affector Z Translate.",
      "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:38.927Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "X",
      "label": "X",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "tx - End Affector X Translate. ty - End Affector Y Translate. tz - End Affector Z Translate.",
      "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:38.927Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Rotate",
      "label": "Rotate",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "r -  - End Affector Rotation. For a full explanation of transforms, see the Transform SOP.\n\n rx - End Affector X Rotate. ry - End Affector Y Rotate. rz - End Affector Z Rotate.",
      "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:38.927Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "X",
      "label": "X",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "rx - End Affector X Rotate. ry - End Affector Y Rotate. rz - End Affector Z Rotate.",
      "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:38.927Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "Scale",
      "label": "Scale",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "s -  - End Affector Scale. For a full explanation of transforms, see the Transform SOP.\n\n sx - End Affector X Scale. sy - End Affector Y Scale. sz - End Affector Z Scale.",
      "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:38.927Z",
      "rawData": {},
      "sourceElement": null
    },
    {
      "id": null,
      "name": "X",
      "label": "X",
      "group": "General",
      "page": "",
      "type": "float",
      "dataType": "number",
      "style": "",
      "defaultValue": null,
      "minValue": null,
      "maxValue": null,
      "step": null,
      "menuItems": [],
      "menuLabels": [],
      "allowCustom": false,
      "maxLength": null,
      "pattern": null,
      "isArray": false,
      "arraySize": 1,
      "dimensions": 1,
      "description": "sx - End Affector X Scale. sy - End Affector Y Scale. sz - End Affector Z Scale.",
      "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:38.927Z",
      "rawData": {},
      "sourceElement": null
    }
  ],
  "parameterGroups": {},
  "codeExamples": [],
  "pythonExamples": [],
  "expressions": [],
  "commonInputs": [],
  "commonOutputs": [],
  "relatedOperators": [],
  "workflowPatterns": [],
  "images": [],
  "videos": [],
  "assets": [],
  "keywords": [
    "arm",
    "creates",
    "necessary",
    "geometry",
    "arm,",
    "provides",
    "smooth,",
    "untwisted",
    "skin",
    "connects",
    "body."
  ],
  "tags": [
    "SOP",
    "TouchDesigner",
    "Arm"
  ],
  "searchWeight": 1,
  "contentHash": "",
  "processingDate": "2025-08-08T00:37:38.927Z",
  "processingVersion": "1.0.0",
  "isValid": true,
  "validationErrors": []
}