What is NURBS recognition? What can it be used for?

What is NURBS recognition? What can it be used for?

NURBS recognition is an algorithm in CAD Exchanger SDK that is aimed at converting NURBS (Non-Uniform Rational B-Spline) curves and surfaces that correspond to geometries in analytical form. Examples include circles and ellipses which are represented with NURBS curves, or cylindrical, conical or spherical surfaces which are represented as NURBS surfaces.

Analytical representation is significantly more efficient compared to NURBS in terms of reduced memory footprint, faster and more precise computations. Some CAD systems tend to convert (and approximate) originally analytical forms into NURBS when saving in external file formats thereby losing that efficiency. Thus downstream algorithms reading such converted NURBS-based geometries will suffer from using thise approximated representations, some may even refuse to work. Examples where analytical form is much more preferred (or required) include CAM (such as tool path generations), various visualization related workflows (raytracing), CAE and FEM related ones (mesh generations) and more.