Start » Filter Reference » Path » Path Global Transforms » SegmentPath

SegmentPath


Module: FoundationPro

Splits a path into parts that can be approximated as segments or arcs.

Applications

Usually used to recognize a particular structure of an object contour or to guide a CNC machine.
Name Type Range Description
Input value
inPath Path Path to be segmented
Input value
inSmoothingStdDev Real 0.0 - Standard deviation used for initial gaussian smoothing of the segmented path
Input value
inMaxDeviation Real 0.0 - Maximal distance between any point of a classified segment to the abstract shape
Input value
inSegmentationMode PathSegmentationMode Whether to use arcs for segmentation
Input value
inMaxArcRadius Real* 0.0 - Maximal radius of an arc fitted to segment
Output value
outStraight PathArray Parts classified as straight segments
Output value
outArciform PathArray Parts classified as arciform segments
Output value
outSegments Segment2DArray Segments corresponding to sections of path from outStraight
Output value
outArcs Arc2DArray Arcs corresponding to sections of path from outArciform

Description

The operation segments the inPath into parts of preferably simple shape. Each of the resulting parts is classified as one of the following:

  • Straight section - in which case it is returned in outStraight output array
  • Arciform section - in which case it is returned in outArciform output array

The operation guarantees that the maximal distance from any of the resulting path section to the corresponding abstract shape (line segment or circular arc) is less than inMaxDeviation.

Examples

The resulting outStraight array (some of the paths in the picture have common ends but in fact each straight part is a separate path).

The resulting outArciform array.

Errors

This filter can throw an exception to report error. Read how to deal with errors in Error Handling.

List of possible exceptions:

Error type Description
DomainError Empty path on input in SegmentPath.

Complexity Level

This filter is available on Advanced Complexity Level.

See Also

  • JoinAdjacentPaths – Joins those paths of an array which endpoints lie near enough.