# ComposeFixtures3D

The ComposeFixtures3D tool allows you to integrate the fixturing coordinates of the robot and the vision system, in other words the tool is for calculating robot hand-eye coordination.

It returns a ComposeFixtures3D structure containing the configured fixture coordinates.

ComposeFixtures3D Inputs

The ComposeFixtures3D function has the following syntax:

ComposeFixtures3D(FixtureFromPointsToPoints3D,Fixture3D)

Parameter | Description
FixtureFromPointsToPoints3D | Performs the correlation between the vision system and the robot. The FixtureFromPointsToPoints3D tool requires as inputs at least three points from the vision system and three points from the robot. The format is the following: FixtureFromPointsToPoints3D(vision system_Point1, vision system_Point2, vision system_Point3, ..., vision system_PointN, Robot_Point1, Robot_Point2, Robot_Point3, ..., Robot_PointN)
Fixture3D | Specifies the point cloud coordinate system in which the 3D fixture is defined. It is offset from the PointCloud origin in the following format with the following arguments: {X, Y, Z, Rotation, Tilt, TiltDirection}
X | Offset on the X-axis from the PointCloud origin.
Y | Offset on the Y-axis from the PointCloud origin.
Z | Offset on the Z-axis from the PointCloud origin.
Rotation | Specifies the in-plane rotation in degrees around the PointCloud Z-axis. The value range is -180 to 180. The tool normalizes external references with values outside the allowed range to the allowed range.
Tilt | Specifies the tilt angle in degrees from the PointCloud Z-axis after rotation. The value range is 0-180. External references with values outside the allowed range result in an error.
Tilt Direction | Specifies the direction of tilt in degrees from the rotated PointCloud X-axis of the tool, around the PointCloud Z-axis of the tool. The value range is -180 to 180. The tool normalizes external references with values outside the allowed range to the allowed range.
Note: The Fixture3D parameter is only available if you set External Fixture to 0.

ComposeFixtures3D Outputs

Returns | A Fixture3D structure containing the parameters of the configured fixture coordinates, or #ERR if any parameter has been configured incorrectly.
Results | When initially inserted into a cell, the following functions are automatically inserted into the spreadsheet to create a result table.
| X | Y | Z | Rotation | Tilt | TiltDirection | EulerXYZ Fixed Convention
❒Fixture3D | GetX(Fixture3D) | GetY(Fixture3D) | GetZ(Fixture3D) | GetRotation(Fixture3D) | GetTilt(Fixture3D) | GetTiltDirection(Fixture3D) | GetAngleX(Fixture3D, Index) GetAngleY(Fixture3D, Index) GetAngleZ(Fixture3D, Index)

Note: The pickup point for the robot is the point defined by the user, along with the three angles obtained from the EulerXYZ Fixed Convention.
ComposeFixtures3D Vision Data Access functions

Function | Description
GetRotation(Fixture3D) | Returns the rotation of the Z-axis in degrees, also known as the in-plane rotation.
GetTilt(Fixture3D) | Returns the tilt angle of the Fixture3D structure in degrees on the Z-axis.
GetTiltDirection(Fixture3D) | Returns the tilt direction angle of the specified Fixture3D structure in degrees. The angle is measured in the X-Y plane of the original reference coordinate system, and specifies the direction for the projection of the tilted Z-axis onto that plane.
GetX(Fixture3D) | Returns the X-axis coordinate of the fixture's center point.
GetY(Fixture3D) | Returns the Y-axis coordinate of the fixture's center point.
GetZ(Fixture3D) | Returns the Z-axis coordinate of the fixture's center point.
GetAngleX(Fixture3D, Index) | Returns the X-axis coordinate of the Euler fixed convention's center point.
GetAngleY(Fixture3D, Index) | Returns the Y-axis coordinate of the Euler fixed convention's center point.
GetAngleZ(Fixture3D, Index) | Returns the Z-axis coordinate of the Euler fixed convention's center point.