# ExtractRadialCrossSections3D

The ExtractRadialCrossSections3D function allows you to extract profiles from a 3D point cloud by defining planes to use as slicing objects.

The extracted profiles use the points where the Region of Interest intersects with the 3D point cloud, flattening the points to two dimensions. The tool creates multiple radial cross sections along the Region3D based on the Step Distance parameter. The extracted profiles allow you to perform height analysis, measurements, and other inspection tasks on cross-sections of the acquired 3D point cloud using additional vision tools on the output Profile3D structure.

The ExtractRadialCrossSections3D function also allows you to use an External Region3D as input, which ensures that the function extracts the same profile for each acquisition. You can add a finding tool such as PatMax3D or Lines3D to create a fixture, and use the Fixture3D output of the finding tool as an External Fixture for the ExtractRadialCrossSections3D function. Once the finding tool locates the trained feature for a new acquisition, the ExtractRadialCrossSections3D function can use the located feature to align the Region of Interest in the 3D point cloud, and produce consistent profiles regardless of positioning inconsistencies in the acquisition.

You can use the Profile3D output of the ExtractRadialCrossSectiosn3D function as input for profile feature extraction tools. Profile feature extraction tools allow you to extract Circle3D, Point3D, and Line3D structures from the profiles.

To use the ExtractRadialCrossSections3D function:

1. Drag and drop the ExtractRadialCrossSections3D function into the Spreadsheet.

2. In the property sheet that pops up, either define the Region3D parameter manually or double-click the parameter to select a cell containing the Region structure you want the function to use.

3. Define the Step Distance between the adjacent slicing planes.

4. Define the Step Offset distance of the first slicing plane from the origin of the box in the Y direction.

5. Click OK to finalize the settings.

Inputs

The ExtractRadialCrossSections3D function has the following syntax:

ExtractRadialCrossSections3D(PointCloud,Fixture3D,ExternalFixture,ExternalRegion3D,StepDistance,StepOffset,Thickness,SampleDistance,ProfileContinuity,CliffParameters,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.
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.
External Fixture | Specifies a reference to a Fixture3D structure defined in another cell. The function uses the referenced cell as the fixture of the function. Set to 0 (OFF) to use the internal fixture of the function instead.
Region3D | Specifies the dimensions, offset and angle for 3D region of interest (ROI) of the function. It is offset from the Fixture3D origin in the following format with the following arguments: {SizeX, SizeY, SizeZ, Curve, X, Y, Z, Rotation, Tilt, TiltDirection}
SizeX | The size of the ROI along the Fixture3D X-axis.
SizeY | The size of the ROI along the Fixture3D Y-axis.
SizeZ | The size of the ROI along the Fixture3D Z-axis.
Curve | The angle between the sides.
X | Offset on the X-axis from the Fixture3D origin.
Y | Offset on the Y-axis from the Fixture3D origin.
Z | Offset on the Z-axis from the Fixture3D origin.
Rotation | Specifies the in-plane rotation in degrees around the Fixture3D Z-axis of the tool. The value range is -360 to 360. The tool normalizes external references with values outside the allowed range to the allowed range.
Tilt | Specifies the tilt angle in degrees from the Fixture3D Z-axis of the tool 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 Fixture3D X-axis of the tool, around the Fixture3D Z-axis of the tool . The value range is -360 to 360. The tool normalizes external references with values outside the allowed range to the allowed range.
Note: This setting is only available if you set External Region to 0.
External Region3D | Specifies a reference to a 3D region defined in another cell. The function uses the referenced cell as the Region of Interest of the function. Set to 0 (OFF) to use the internal Box3D structure of the function as the ROI.
Step Distance | Specifies the distance between the adjacent slicing planes generated by the function. The number of profiles generated depends on the number of steps that the tool can complete along the profile.
Step Offset | Specifies the offset of the first slicing plane from the start of the profile.
Thickness | Specifies the thickness of the slicing planes that the function uses to search for points. Thickness defines the size of the Region of Interest on the axis perpendicular to the plane. When you define a thickness greater than 0, the function picks up points that deviate from the slicing plane on the perpendicular axis by a distance up to half the defined thickness in both directions, creating a flattened composite profile from the registered points.
Sample Distance | Specifies the distance within a slicing plane for the profile creation. A small sample distance creates a profile that highlights surface imperfections and sudden peaks or valleys. A large sample distance creates a profile that can smooth over imperfections.
Profile Continuity |
Gap Fill Size | Specifies the minimum distance on the X-axis of the slicing plane between adjacent points for identifying a gap in the profile. For adjacent points with an X-axis distance below the Gap Fill Size, the function creates a continuous profile. For adjacent points with an X-axis distance above the Gap Fill Size, the function displays a gap between the two points.
Vertical Discontinuity Mode | Specifies the method of compensating for discontinuity on the Z-axis of the slicing plane between adjacent points: 0 = Interpolate: draws a direct line between the two points. 1 = Z Aligned: draws a vertical line aligned with the Z-axis from the point with a larger Z value.
Z Discontinuity Threshold | Specifies the minimum distance on the Z-axis between adjacent points for which the function considers the profiles to be discontinuous. For adjacent points with a Z-axis distance below the Z Discontinuity Threshold, the function creates a continuous profile. For adjacent points with a Z-axis distance above the Z Discontinuity Threshold, the function creates a gap between the two points.
Cliff Parameters |
Insert Cliffs | Specifies whether the function inserts cliffs into the profiles. The function inserts cliffs on either side of a gap, dropping the Z-axis to a negative value. Inserting cliffs allows you to extract corner points from gaps.
Cliff Length | Specifies the length of the inserted cliffs.
Cliff X Threshold | Specifies the distance on the X-axis between adjacent points across a gap above which the function inserts cliffs.
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.

Outputs

Returns | A Profile3D data structure containing the extracted profiles, 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:
| Num Found | Index | Profile
❒Profile3D | GetNFound(Profile3D) | 0 | GetProfile(Profile3D,0)

Vision Data Access functions

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

Function | Description
GetNFound(Profile3D, index) | Returns the number of extracted profiles.
GetProfile(Profile3D, index) | Returns the extracted profile with the specified index.
GetNPoints(Profile3D) | Returns the number of points in the extracted profile.