Table of Contents

Class RadiusCompPlaneChange

Namespace
Hi.NcParsers
Assembly
HiMech.dll

Classifies a plane selection (G17/G18/G19) that arrives while cutter radius compensation is still active — the case a real control refuses. Fanuc stops with alarm PS0037 CAN NOT CHANGE PLANE IN CRC, which covers both a plane code inside the compensation mode and a plane code sharing its block with the G40 that cancels it; Siemens and Heidenhain have equivalents. Neither engine can honour such a change: the corner between the two blocks is built from one block's running axis on the old plane and the other's on the new one, so the path around the change mixes two planes — and the block after it is offset on a plane the block before it never saw. The diagnostics built from this class exist to name that; they never change the path.

The check is on the plane actually resolving differently from the previous block's, so a plane code that re-selects the plane already in force stays silent, as does the plane code on the block that starts the region (a control accepts that one — compensation is not active yet).

public static class RadiusCompPlaneChange
Inheritance
RadiusCompPlaneChange
Inherited Members

Fields

DiagnosticId

Diagnostic id shared by the SoftNc and HardNc compensation paths.

public const string DiagnosticId = "RadiusComp--PlaneChangeInRegion"

Field Value

string

Methods

TryDescribe(string, string, string, out string, out Dictionary<string, object>)

Describes a plane change inside a compensation region: returns the constant notification text and a value-carrying detail when fromPlane and toPlane differ, and false when they agree (a re-select of the plane already in force) or either is unknown.

public static bool TryDescribe(string fromPlane, string toPlane, string compensationTerm, out string text, out Dictionary<string, object> detail)

Parameters

fromPlane string

Plane code in force on the previous block (G17/G18/G19).

toPlane string

Plane code this block resolves to.

compensationTerm string

The G code the region runs under (G41/G42).

text string

Constant notification text (fold-stable), or null.

detail Dictionary<string, object>

The two planes and the compensation mode, or null.

Returns

bool