Skip to content

3D Curved Surface Profile

Operator Function

Calculate geometric tolerance - Curved Surface Profile
As shown in the figure below, for the input theoretical cylinder points, connect them with the perpendicular foot on the axis, extend the reverse line to find the intersection with the actual cylinder, and take the distance from the intersection to the corresponding theoretical cylinder point as 𝑑1, 𝑑2, ..., 𝑑n. The surface profile is:
2 × 𝑚𝑎𝑥(𝑑1, 𝑑2, ..., 𝑑n)

Parameter Introduction

Input Parameters

ParameterRangeDefault ValueDescriptionIllustration
Input Image0-310The IM number for image input
3D ReferenceYou can select a reference via binding
XX-coordinate value of the 3D reference parameter; can be set via binding to X
YY-coordinate value of the 3D reference parameter; can be set via binding to Y
ZZ-coordinate value of the 3D reference parameter; can be set via binding to Z
X-Axis Angle-10000000000.000-10000000000.000X-axis angle value of the 3D reference parameter; can be set via binding for X-Axis Angle
Y-axis angle-10000000000.000-10000000000.0003D reference parameter Y-axis angle value; can be set via binding Y-axis angle
Z-axis angle-10000000000.000-10000000000.0003D reference parameter Z-axis angle value; can be set via the Z-axis angle binding

Calculation Parameters

ParameterRangeDefault ValueDescriptionIllustration
Actual CylinderCylinder-Actual cylinder bottom face, top face center and radius
Theoretical Cylinder Surfacejson file-Sampling points on the theoretical cylinder surface
Fit Point Cloudtrue/falsefalseWhen enabled, the point cloud fitting function is used. The theoretical cylinder surface fits the selected point cloud as closely as possible
Use Region Parameterstrue/falsefalseEnable when fitting point cloud. When enabled, point cloud selection is activated; when disabled, the entire IM point cloud is selected
Region2D Window/2D Circular Window/2D Polygon Window/Box/Cylindrical Box/Rotated Box/Point Set (binding only)BoxManually select the point cloud to be fitted
Theoretical Cylinder Fitting MethodLeast Squares/RANSACLeast SquaresFit the cylinder according to the selected method
K-Nearest Neighbors3-50020The number of surrounding points searched when calculating the normal of a point on the point cloud. If the search point count is too large, it will introduce other points far from the current point, leading to inaccurate estimation; if the value is too small, some neighboring points will be ignored, also affecting the accuracy of normal estimation.
Distance Threshold0-100000.15When the distance between a data point and the fitted model is less than this threshold, the data point is considered an inlier (i.e., a point that conforms to the model); otherwise, it is considered an outlier (i.e., a point that does not conform to the model)
Max Iterations100-10000500Set the maximum number of iterations

Result Display

ParameterRangeDefault ValueDescriptionIllustration
Actual Fitted Cylindertrue/falsefalseThe input actual fitted cylinder. If enabled, displayed on IM
Theoretical Cylindertrue/falsefalseThe input theoretical cylinder. If enabled, displayed on IM
Theoretical Cylinder Surface Points and Intersectionstrue/falsefalseDisplays two sets of points: the input theoretical cylinder surface points and the intersections of the reverse extension of the line connecting the theoretical cylinder surface points with the perpendicular foot on the theoretical cylinder central axis and the actual cylinder surface. If enabled, displayed on IM
Central Axis Points and Theoretical Cylinder Surface Intersectionstrue/falsefalseThe intersections of the points on the central axis with the theoretical cylinder surface. If enabled, displayed on IM
Surface Profiletrue/falsefalseThe output surface profile. If enabled, displayed on IM

Output Parameters

NameTypeRangeDescription
Resultbooltrue/falsetrue for success
false for failure
Warningbooltrue/falsetrue indicates a warning
false indicates no warning
MessagestringOutput success, error, or warning messages. Empty if no error or warning.
TimefloatOperator execution time, unit: ms
theoretical_cylindercylinderTheoretical cylinder parameters
intersectionspoint3d[]Intersections
profile_of_surfacefloatSurface profile
resultstringOK/NGWhether the surface profile is within range

Tip

For more detailed parameter type descriptions, please refer to Type Definition

Exception Troubleshooting

No.Exception InformationCorresponding ParameterSolution
1Input point cloud has fewer than 6 pointsConfirm whether the IM contains 6 valid points. If not, load a point cloud or switch to a compliant IM
2Actual cylinder type is {0}, invalid input typeCylinder TypeCheck if the cylinder type is Cylinder
3Parameter {0} cannot be emptyPathCheck if the path is empty
4File {0} does not exist or cannot be accessedPathCheck if the path is valid
5Input theoretical cylinder fitting method is {0}, invalid fitting methodFitting MethodCheck if the fitting method is one of Least Squares/RANSAC
6Input theoretical cylinder point cloud is emptyCheck if the theoretical cylinder surface file is empty
7Input profile range minimum is greater than maximum, invalid profile rangeSet the profile range minimum to be less than or equal to the maximum
8Input region type is {0}, invalid region typeRegion TypeCheck if the region type is one of 2D Window/2D Circular Window/2D Polygon Window/Box/Cylindrical Box/Rotated Box/Point Set
9Input polygon has fewer than 3 vertices, cannot form a polygonAdd 2D polygon window vertices to make the number of vertices at least 3
10Input region is empty1. Check if the selection is empty
2. Check if the point set is empty

Example Introduction

Engineering Design

  1. Select the Load Point Cloud tool to load the 3D point cloud to be processed into IM0;

  2. Select the 3D Cylinder Fitting tool to fit the actual plane.

  3. Select the 3D Curved Surface Profile tool.

Tool Usage

  1. Select the input image to be operated on. The image number must match the IM number of the image in the project.

  2. Do not enable region parameters, or enable region and select the region type as Box. Move the box to the position to be tested, surrounding the point cloud to be tested.

Usage Tips

1. Drag or scale the box through the ROI controller on the image window;
2. Directly modify the start or end coordinates of the box in the calculation parameters to adjust the box position and size
  1. Set parameters

  2. Check the desired display content in the result display section

  3. Click Test to check if the image window and parameters meet expectations

  4. If there are no issues, click Save. Run the operator in the run list to view the running results in the corresponding IM.

Local ImageLocal Image

Vision Studio