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 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 the documentation accompanying the module.

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