Recognize analytical shapes
One of the often occurring design problems is the presence of non-analytical geometries in your CAD model. The analytical (or canonical) representation of shape has many vital advantages over the conventional NURBS representation, even though the latter one gives a genuinely universal way to represent a shape. Although NURBS can define the canonical shapes precisely, it remains a kind of lossy way of communicating the design intent. For instance, a NURBSy cylinder cannot be asked for such fundamental properties as the radius or axis. At the same time, the modeling algorithms, such as sheet metal unfolding or defeaturing often rely on such properties. That is not to mention other advantages of the analytical representation, such as compactness and efficiency of computation (just think of the complexity of projecting a point to a NURBS surface and to a plane).
To understand whether your shape is of analytical or freeform type, you could take advantage of the basic inspection tools in Analysis Situs. One thing to keep in mind is that the actual conversion is not really necessary in the feature recognition scenarios. As long as you're not editing your shape, it is perfectly enough to convert freeform entities to their analytical counterparts on-fly. Therefore, we can save some efforts by avoiding recomposing the B-rep structures.
To convert the active part to a canonical representation, use convert-to-canonical command. The optional tolerance is used to control the recognition accuracy. Make sure to pass reasonable tolerance values as otherwise your B-rep model is at risk of loosing watertightness property.