The Best Fit Algorithm is used to solve the problem of finding the proper position of a cloud of points relative to a 3D CAD model in order to globally minimize the distances between an input data set (a cloud of points, e.g. obtained by measurement of the real part) and its corresponding nominal model (CAD model of the real part).

The output of this algorithm is a transformation matrix – translation & rotation – that should be applied to the cloud of points in order to put them into the best-fit position regarding the CAD model.

There are three steps the Best Fit Algorithm takes for finding the best-fit position:

1. Calculates the deviation of each input point from the nominal shape.

2. Computes the error function evaluating the deviation of the initial set of points from the nominal shape, basing on calculated deviation at each point and its known dependency on transformation parameters.

3. Solves the optimization problem to find the best-fit transformation.


  • Convenient C++ API
  • Projection on surface and / or wire-frame is possible
  • Accurate and fast deviation computation


The BestFit module is based on a certified version of Open CASCADE Technology. This module is stand-alone and requires no other external software.

It is available on all platforms supported for Open CASCADE Technology.

It is packaged as a separate module.

Demo version

You can evaluate the Best Fit component using a free demo application.

Please contact us for further information and pricing.