# Settings for circle centre point correction and radius compensation

A circle that is determined in the NC program by starting point, end point and middle point is geometrically overdetermined. With imprecisely programmed circle coordinates, the radius starting and end points of the circle are different. This problem is solved by correcting the centre point and radius coordinates of the circle. The algorithm for circle centre point correction is described in greater detail in [PROG]. The correction algorithm provides a usable result even for geometrically meaningless programmed circle coordinates. In some cases the deviations between programmed and corrected centre point coordinates may be correspondingly large. Therefore, the new calculated centre point coordinates are subjected to a plausibility check.

It is verified whether the centre point offset Δm is greater than the maximum centre point offset 'mittelpkt_diff' defined as the absolute value in the channel parameters

Δm > sda_mds.mittelpkt_diff ?

and whether the centre point offset Äm is greater than the product of 'mittelpkt_faktor/1000' and the corrected radius 'radius'.

Δm > sda_mds.mittelpkt_faktor/1000 * radius ?

If this is the case, an error message is output. Otherwise the corrected centre point coordinates are taken over. Here, 'mittelpkt_diff' must defines as the absolute value and 'mittelpkt_faktor' as the factor (unit 0.1%).

The programmed centre point coordinates must therefore lie in a circumcircle around the corrected centre point of the circle. The radius of this circumcircle corresponds to the permissible centre point offset Äm which can be set using the two parameters 'mittelpkt_diff' and 'mittelpkt_faktor':