Namespace Hi.NcParsers.PostLogicSyntaxs
Classes
- ModalCarrySyntax
Per-block modal-section carry. For each key in TrackedKeys, if the current block has no section for that key, deep-clone the same section from the immediately previous block (which is itself guaranteed to carry it because every block is processed by this syntax) and set AddedByKey = AddedByValue inside the cloned section. Lets every block stand alone with its full modal context, so downstream readers (cache-file dumps, semantics, UI jumping to a single block) do not need EnumerateBack() to resolve modal state.
This replaces the earlier
CacheSyntaxdesign (which sampled everyPaceblocks). The legacyCacheSyntaxXName is still recognised on load for backward compatibility with previously-saved project files.
- RadiusCompensationSyntax
Resolves cutter radius compensation (G41/G42/G40) by offsetting the tool path perpendicular to the programmed direction.
Must be placed after motion syntaxes (CircularMotionSyntax, LinearMotionSyntax) because it reads the Hi.Motion section. Must NOT be placed inside BundleSyntax because it requires look-forward (Next).
For simple cases (line-line, no transient), the syntax overwrites
MachineCoordinatewith the offset position. For arc blocks that need transient bridging segments, theMotionsection is replaced with a CompoundMotion containing sub-items.