# Special function: circle radius compensation in combination with G164

In certain situations, circle centre point compensation (G165) can lead to an unfavourable offset in the programmed circle centre point and therefore the circle's position. Such unfavourable situations may occur when the circle starting and target points are close together and the circle is almost equivalent to a programmed full circle.

This type of circle with specified target point with and without circle centre point compensation (G165/G164) is programmed in the example below. To simulate the resolution error in the post-processor and when circle centre point compensation is active, the circle's target point is shifted by 0.1μm in each case in the x and y directions relative to the starting point. The circle with G165 is rotated about the starting point and the position of the compensated circle centre point M_{K} shifts very considerably relative to the programmed centre point M.

## Programing Example

Special function: circle radius compensation in combination with G164

N10 G00 G90 X0 Y0 Z0

N20 G01 X-50 Y0 F20000

N30 G01 X0

N40 **G165** G02 X0.0001 Y0.0001 J200

N50 G01 Y50

M30

N10 G00 X0 Y0 Z0

N20 G01 X-50 Y0 F20000

N30 G01 X0

N40 **G164** G02 X0.0 Y0.0 J200

N50 G01 Y50

N60 M30

In such cases a better result can generally be obtained when circle centre point compensation (G164) is disabled and when max_radius_diff_circle > 0 (P-CHAN-00171) and max_proz_radius_diff_circle (P-CHAN-00172) are set. The programmed circle centre point is not changed by the function and the circle radius difference is transferred linearly by the circle’s angle from the starting radius to the target radius.

If the circle radius deviations lie in the order of magnitude of the resolution accuracy, the circle distortions and dynamic effects are generally negligible.

## Notice

For a full circle, the circle starting and target points must be identical in this case.