# ProjectionLineOnPlane3D

The ProjectionLineOnPlane3D function constructs a 3D line segment from the projection of the specified input 3D line segment structure onto the specified input plane. The constructed line segment is returned as a Line3D structure.

## ProjectionLineOnPlane3D Inputs

The ProjectionLineOnPlane3D function has the following syntax:

ProjectionLineOnPlane3D(PointCloud,Line3D,ExternalLine,Plane3D,ExternalPlane,Show)

See the table for a description of the available parameters.

Parameter | Description
PointCloud | Reference to a cell containing a point cloud. The default value is $A$0.
Line3D | Specifies the offsets of the 3D line structure to use. It is offset from the PointCloud origin in the following format with the following arguments: {X0, Y0, Z0, X1, Y1, Z1}
X0 | Offset of the 3D line's starting point on the X-axis from the PointCloud origin.
Y0 | Offset of the 3D line's starting point on the Y-axis from the PointCloud origin.
Z0 | Offset of the 3D line's starting point on the Z-axis from the PointCloud origin.
X1 | Offset of the 3D line's ending point on the X-axis from the PointCloud origin.
Y1 | Offset of the 3D line's ending point on the Y-axis from the PointCloud origin.
Z1 | Offset of the 3D line's ending point on the Z-axis from the PointCloud origin.
Note: This parameter is available only if External Line is set to 0.
External Line | Specifies a reference to the Line3D structure defined in another cell to be used by the function. Set to 0 (OFF) to use the function's internal Line3D structure instead.
Plane3D | Specifies the offset and the angle of the plane to use. It is offset from the PointCloud origin in the following format with the following arguments: {X, Y, Z, 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.
Tilt | Specifies the tilt angle (in degrees) from the PointCloud Z-axis. The value range is 0-180. External references with values outside the allowed range will result in an error.
Tilt Direction | Specifies the direction of tilt (in degrees) from the plane's rotated PointCloud X-axis, about the tool's PointCloud Z-axis. The value range is -360 - 360. External references with values outside the allowed range will be normalized to the allowed range.
Note: This parameter is available only if External Plane is set to 0.
External Plane | Specifies a reference to a Rectangle3D or Circle3D structure defined in another cell to be used by the function. Set to 0 (OFF) to use the function's internal Plane3D structure instead.
Show | Selects the type of graphics to overlay on the image.
0 = hide all (default) | All graphics will be hidden, except when the cell containing the function is highlighted in the spreadsheet.
1 = result graphics only | The constructed line will be displayed at all times.
2 = input graphics only | The input point cloud, the region of interest, and the constructed line will be displayed at all times.

## ProjectionLineOnPlane3D Outputs

Returns | A Line3D data structure as the projected 3D line, or #ERR if any of the input parameters are invalid.
Results | When initially inserted into a cell, the following functions are automatically inserted into the spreadsheet to create a result table.
| X0 | Y0 | Z0 | X1 | Y1 | Z1
❒Line3D | GetX(Line3D, 0) | GetY(Line3D, 0) | GetZ(Line3D, 0) | GetX(Line3D, 1) | GetY(Line3D, 1) | GetZ(Line3D, 1)

## ProjectionLineOnPlane3D Vision Data Access functions

The following Structures 3D Vision Data Access functions are automatically inserted into the spreadsheet to create the result table:

Function | Description
GetX(Line3D, index) | Returns the X-axis coordinate of the 3D line point specified with the index. An index value of 0 indicates the first endpoint of the line, while a value of 1 indicates its second endpoint.
GetY(Line3D, index) | Returns the Y-axis coordinate of the 3D line point specified with the index. An index value of 0 indicates the first endpoint of the line, while a value of 1 indicates its second endpoint.
GetZ(Line3D, index) | Returns the Z-axis coordinate of the 3D line point specified with the index. An index value of 0 indicates the first endpoint of the line, while a value of 1 indicates its second endpoint.