SA can be used to extract features from a point cloud without CAD or any nominal references of any kind. This is done by detecting geometry within proximity to a seed point (or click-point). Press the Geometry button in the Extract Geometry section of the Features tab to bring up the following control.
To use this extraction dialog, simply open the dialog so that it is visible, select the geometry button of interest, and then click on a cloud point to define the start of the search region.
Extract Plane. Click on the cloud in a planar region. SA will then grow a plane from that starting point including cloud data as long as it remains within the specified tolerance.
Extract Single Circle from Plane (Left-Click). Click on the cloud in a planar region. SA will then fit a plane to that data set and search within proximity to that click point for a single circle or hole in the planar region selected.
Extract Multiple Circles from Plane (Right-Click). Click on the cloud in a planar region. SA will then fit a plane to that data set and search throughout the plane for circles or holes that are within the specified tolerance.
Extract Circle from Cylinder (Alt+Left-Click). Click on the cloud in a cylindrical region. SA will then fit a cylinder to that data set and build a circle at the end of the fit cylinder closest to the click point.
Extract Single Slot from Plane (Left-Click). Click on the cloud in a planar region. SA will then fit a plane to that data set and search within proximity to that click point for a single slot.
Extract Multiple Slots from Plane (Right-Click). Click on the cloud in a planar region. SA will then fit a plane to that data set and search throughout the plane for slots that are within the specified tolerance.
Cylinder. Click on the cloud in a cylindrical region. SA will then grow a cylinder from that starting point including cloud data as long as it remains within the specified tolerance.
Sphere. Click on the cloud in a Spherical region. SA will then grow a sphere from that starting point including cloud data as long as it remains within the specified tolerance.
Without a nominal reference, geometry has no directional reference. Predefining a reference object allows all the resulting objects to be correctly oriented. This is important if additional point measurements are going to be taken and the correct offsets need to be accounted for. Object direction can also be reversed individually by selecting the newly built object in the Extract Geometry from Cloud dialog, or in the fit settings of the resulting geometry relationship.
When enabled, this option will prompt the user to select the subset of the cloud to consider after selecting the starting point. This can be very helpful for detecting individual features and accelerating the search process by reducing the amount of data to consider.
A single tolerance parameter is presented.
Relative to the seed point, the “ExtractPlane” function tries to grow a plane (or other geometry) and as it grows, it filters out points that are not within this plane tolerance. If data is fairly planar then there is a good chance that the correct set of planar cloud points will be harvested with a tight tolerance. However, if you pick a seed point in a region with adjacent points that are not clearly planar then the plane may start off in a bad orientation. Larger tolerances will increase the likelihood of getting the correct orientation but include more outlier points in the fit. Therefore an optimal balance must be found.
Acceptance criteria for a “good” circle (currently hard coded values included here only as a reference) :
RMS <= 0.1 * radius
MAX Pt Dev<= 4 * tolerance
Number of points >= 10
Radius / (max cloud dimension) < 4
Tolerance <= 0.1 * Radius (not used when filtering to nominal geometry)