Canonical Recognition


Canonical Recognition is a non open-source Open CASCADE component to convert, if possible, a NURBS geometry (B-Spline / Bezier curve or surface) to its analytical form (primitive curve or surface).

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.

The Canonical Recognition component is based on the Open CASCADE Shape Healing module and thereby takes advantage of its powerful capabilities.


The Canonical Recognition component includes :

1. Surfaces and curves simplification for a better reusability 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.

2. 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 and, moreover, decreases usage of memory.

3. Tolerance management of the algorithms. The process of Canonical Recognition is handled by user-defined tolerance which is 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.

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


  • Canonical Recognition brings added-value to:
    • Open CASCADE based applications dealing mainly with analytical geometry such as CAM or Metrology applications.
    • Performance and robustness of numeric algorithms (intersection, projection, etc.).
  • All information appropriate for 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 easy integration into existing or new Open CASCADE based applications as a part of CAD data import process or as a new functionality, which can be easily accessible via GUI.
  • The demo application visually demonstrating the power of the component is available for Windows NT users.
  • No third-party license is required to use this component.

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

Demo version

You can evaluate the Canonical Recognition component using a free demo application.

Please contact us for your free demo, as well as for more information and pricing.