Interface ICannedCycleDef
Canned cycle modal state (Group 09). Captures which cycle is currently active, its return mode (G98/G99), and the resolved absolute parameter set used for modal lookback.
Written by CannedCycleResolveSyntax on every block that belongs to the canned-cycle group: cycle code present (G81/G82/G83/G73/G84/G74/G85/G86/G89/G76/G87), modal repeat (cycle still active, only coordinates given), or explicit cancel (G80).
Term = "G80" is the explicit-cancel sentinel
used by FindPreviousActiveCycle(LazyLinkedListNode<SyntaxPiece>, string[])
to terminate modal lookback without ambiguity; regular blocks
(e.g. G00 X.. Y..) simply omit the section entirely.
public interface ICannedCycleDef
- Extension Methods
Examples
// Active G81 block
"CannedCycle": {
"Term": "G81",
"ReturnMode": "G98",
"Params": { "X": 20, "Y": 52, "Z": -31, "R": 3, "F": 600 }
}
// Explicit cancel block (G80 alone)
"CannedCycle": { "Term": "G80" }
Properties
Params
Resolved absolute cycle parameters: X, Y, Z, R, Q, F, P, K.
Used for modal lookback so the next repeat block can merge its
own overrides with the previously-resolved values. Absent on
G80 blocks.
JsonObject Params { get; set; }
Property Value
ReturnMode
Return level mode: “G98” (initial Z) or “G99”
(R-point). Only meaningful when Term is an active
cycle code; absent on G80 blocks.
string ReturnMode { get; set; }
Property Value
Term
NC term of the canned-cycle-group code on this block
(“G81”, “G82”, ..., “G89”, or “G80”
for explicit cancel). Modal-repeat blocks carry the same term
as the most recent active cycle.
string Term { get; set; }