# ProfileExtractTangentLine3D

The ProfileExtractTangentLine3D function allows you to extract a tangential Line3D structure from a profile that is either above or below the profile.

The ProfileExtractTangentLine3D function requires an existing Profile3D structure as input.

3D Point Cloud with ProfileExtractTangent3D | Profile View

The ProfileExtractTangentLine3D function also allows you to use an external ProfileFixture3D input, which ensures that the function extracts the same profile feature for each acquisition. The ProfileExtractTangentLine3D function can use the profile fixture to align the intersecting line in the profile, and produce consistent results regardless of positioning inconsistencies in the acquisition.

The ProfileExtractTangentLine3D function produces a Line3D structure that you can use as input for other functions.

## ProfileExtractTangentLine3D Inputs

The ProfileExtractTangentLine3D function has the following syntax:

ProfileExtractTangentLine3D(Profile3D, ProfileFixture3D, ExternalProfileFixture3D, Region3D, ExtractMode, UseDatumPoint, ProfilePoint, Show)

Parameter | Description
External Profile | Specifies the Profile3D structure to use.
Profile Fixture | Specifies the coordinates defining the profile fixture. It is offset from the profile origin in the following format with the following arguments: {Xp, Zp, Angle}
X | Offset on the X-axis from the profile origin.
Z | Offset on the Z-axis from the profile origin.
Angle | Specifies the in-plane rotation in degrees around the Y-axis of the profile origin. The value range is 0 to 180.
Note: This parameter is only available if you set External Profile Fixture to 0.
External Profile Fixture | Specifies a reference to a ProfileFixture3D structure defined in another cell. The function uses the ProfileFixture3D cell as the profile fixture of the function. Set to 0 (OFF) to use the internal profile fixture of the function instead.
Profile Region | Specifies the dimensions, offset and angle for the Profile Region of the function. The Profile Region is offset from the profile origin or the external fixture in the following format with the following arguments: {SizeXp, SizeZp, Xp, Zp, Angle}
SizeXp | The size of the Profile Region along the profile X-axis.
SizeZp | The size of the Profile Region along the profile Z-axis.
Xp | Offset on the X-axis from the profile origin.
Zp | Offset on the Z-axis from the profile origin.
Angle | Specifies the in-plane rotation in degrees around the profile Z-axis. The value range is 0 to 180.
Extract Mode | Specifies the mode of extraction: Above (0) Below (1)
Use Datum Point | Enables or disables specifying a mandatory point for the tangent.
Profile Point | Specifies a mandatory datum point for the tangent:
Xp | X-axis coordinate value for the datum point.
Zp | Z-axis coordinate value for the datum point.
Note: This parameter is only available if you enable Use Datum Point.
External Point | Specifies a reference to a Point3D structure defined in another cell as a mandatory datum point for the tangent. Note: This parameter is only available if you enable Use Datum Point.
Show | Selects the type of graphics to overlay on the image.
0 = hide all (default) | All graphics are hidden, except when the cell containing the function is highlighted in the spreadsheet.
1 = result graphics only | The result graphics of the function are displayed at all times.
2 = input and result graphics | The region of interest, the input data and the results are displayed at all times.

## ProfileExtractTangentLine3D Outputs

Returns | A Line3D data structure containing the extracted 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:
| Near Point | Far Point | Line | Midpoint | ...
❒ProfileTangent3D | GetNearPoint(ProfileTangent3D) | GetFarPoint(ProfileTangent3D) | ❒Line3D | ❒Point3D | ...
... | X0 | Y0 | Z0 | X1 | Y1 | Z1
... | GetX(Line3D,0) | GetY(Line3D,0) | GetZ(Line3D,0) | GetX(Line3D,1) | GetY(Line3D,1) | GetZ(Line3D,1)

## ProfileExtractTangentLine3D Vision Data Access Functions

The following Vision Data Access Functions are automatically inserted into the spreadsheet to create the result table:

Function | Description
GetNearPoint(ProfileTangent3D) | Returns the nearest point of the profile to the extracted tangent.
GetFarPoint(ProfileTangent3D) | Returns the farthest point of the profile from the extracted tangent.
GetLine(ProfileLines3D) | Returns a Line3D structure for the extracted line.
GetMidpoint(Line3D) | Returns a Point3D structure for the midpoint of the extracted line.
GetX0(Line3D) | Returns the X coordinate in the 3D point cloud for the starting point of the extracted line.
GetY0(Line3D) | Returns the Y coordinate in the 3D point cloud for the starting point of the extracted line.
GetZ0(Line3D) | Returns the Z coordinate in the 3D point cloud for the starting point of the extracted line.
GetX1(Line3D) | Returns the X coordinate in the 3D point cloud for the ending point of the extracted line.
GetY1(Line3D) | Returns the Y coordinate in the 3D point cloud for the ending point of the extracted line.
GetZ1(Line3D) | Returns the Z coordinate in the 3D point cloud for the ending point of the extracted line.