Canonical Recognition


The Open CASCADE Canonical Recognition SDK provides Open CASCADE Technology-based applications with the capability of converting NURBS geometries of shapes (B-Spline / Bezier curves and surfaces) to their analytical form (primitive curves and surfaces), if possible with given accuracy.

The component is crucial for algorithms implemented or best fitted to work on canonical geometry. This is especially important in CAM domain for CMM (Coordinate Measuring Machines) and other tooling applications.

Within applications Canonical Recognition can be optimally used after importing neutral (IGES, STEP) or proprietary (DXF, ACIS, Parasolid) files or in other preparatory modules before using special algorithms.


  • Conversion of NURBS geometry in edges and faces to analytical form

The Canonical Recognition SDK allows for surfaces and curves simplification for a better usability in downstream applications. The NURBS conversion depends on the original geometry definition.

NURBS 3D curve can be translated to:

  • Line,
  • Circle or arc of circle,
  • Ellipse or arc of ellipse.

NURBS surface can be translated to:

  • Plane,
  • Sphere,
  • Cylinder,
  • Cone,
  • Torus.

The process is controlled by the user-defined tolerance value applied for recognition and approximation with canonical geometry.

The conversion preserves topological structure of original shape and thereby retains connectivity of adjacent faces, edges with help of memorizing the history of modifications.

  • Merging of edges and faces based on similar geometry

This component provides the capability to merge several adjacent topological objects (edges or faces) built on NURBS geometry into one single object based on an analytical geometry. This lowers complexity of the topological model and makes it more usable for other algorithms.


The Canonical Recognition component brings added-value to Open CASCADE Technology-based applications dealing mainly with analytical geometry, such as CAM or Metrology applications.

  • It improves performance and robustness of numeric algorithms (intersection, projection, etc.).
  • All information specific to canonical geometry (radii, focuses, centers, equations, etc.) can be used in applications for display, quick search, statistics and so on.
  • The easy-to-use API provides seamless integration into Open CASCADE Technology-based applications as a part of CAD data import / export process or as a separate function accessible via GUI.
  • This component requires no third-party license.
  • Its source code can be licensed.

This component was successfully applied in a variety of projects, including MarCAD (by Mahr Multisensor) and MIDAS/FX+ (by MIDAS IT).


The Canonical Recognition SDK is based on the latest version of Open CASCADE Technology, and requires no other external software.

It is available on all platforms supported by the corresponding version of Open CASCADE Technology.

Operational mode and possible limitations are described in delivery documents accompanying the module.

Please, contact us if you wish to evaluate this component or need more information.

Contact us

Attention: DO NOT use this form for all kind of request for the removal of your personal data. Please follow this link for such cases.