./features/canonical conversion
Download Features Source code Forum Ask for support

Convert to canonical form

Generalized surface representations in NURBS are sometimes employed to communicate CAD designs, even though simpler (canonical) forms of geometry could have been used.

In many ways, the presence of freeform geometry representing canonical shapes is problematic. For instance, in feature recognition scenarios, it would be impossible to locate a cylindrical hole or shaft due to the absence of formal cylinders in the analyzed model. The same holds true for planes, cones, spheres, toroidal surfaces, surfaces of linear extrusions, and other geometries that possess their own distinctive characteristics.

Analysis Situs is capable of converting freeform geometries to analytical form with a prescribed tolerance. To perform conversion, use the convert-to-canonical Tcl command for the active part.

Canonical conversion has no effect on a part's topology. This operator only replaces freeform curves and surfaces with analytical curves and surfaces if such conversion does not change the input shape too much (i.e., it can be done within the specified tolerance). The following example shows a flat hem on a sheet metal part designed as a spline surface:

In the example above, a plain cylinder would be a better surface type. Otherwise, such a part may exhibit inconsistent or incorrect behavior in later workflows, such as not being unfolded and having a limited scope of possible shape editing API.

The canonical conversion operator can substitute freetype surfaces with simple types of geometry (spheres, cylinders, cones, etc.) as well as with composite types, such as linear extrusion surfaces.

Read more about canonical conversion and similar algorithms in the Manifold Geometry blog.