Class ArcRadialClosure
Classifies the radial closure of an arc motion — how far the arc's endpoint sits off the circle its center defines, measured as the gap between the begin radius and the end radius on the arc plane. A genuine arc closes (gap 0). The simulation accepts any gap and runs the block as a spiral whose radius blends linearly (ActMcXyzSpiralContour), but real controls check this closure and refuse the block once the gap passes their arc tolerance (e.g. Heidenhain error 5824 once MP7431 — typically around 0.016 mm — is exceeded). A program can therefore simulate cleanly and still stop on the machine; the diagnostics built from this class exist to close that gap.
public static class ArcRadialClosure
- Inheritance
-
ArcRadialClosure
- Inherited Members
Fields
AdviceThreshold_mm
Advice threshold: half of TypicalControllerTolerance_mm. A gap past this consumes a substantial share of the tolerance budget and deserves attention even though a control still accepts it.
public const double AdviceThreshold_mm = 0.008
Field Value
DiagnosticId
Diagnostic id shared by the SoftNc and HardNc arc gates.
public const string DiagnosticId = "Arc-EndpointOffRadius"
Field Value
TypicalControllerTolerance_mm
The arc tolerance a typical control enforces before refusing the block (e.g. the Heidenhain MP7431 family default).
public const double TypicalControllerTolerance_mm = 0.016
Field Value
Methods
TryDescribe(double, double, out string, out Dictionary<string, object>)
Classifies the begin/end radius pair of an arc. Returns false for a
closing arc (gap within AdviceThreshold_mm) and for
degenerate radii; returns true with a constant notification
text and a value-carrying detail
when the gap deserves a validation warning.
public static bool TryDescribe(double beginRadius_mm, double endRadius_mm, out string text, out Dictionary<string, object> detail)
Parameters
beginRadius_mmdoubleBegin-point radius about the center, on the arc plane.
endRadius_mmdoubleEnd-point radius about the center, on the arc plane.
textstringConstant notification text (fold-stable), or null.
detailDictionary<string, object>Measured radii and gap, or null.