Interface IMCodeDeclarationConfig
- Namespace
- Hi.NcParsers.Dependencys
- Assembly
- HiMech.dll
Machine-declared M-code map: what each machine-specific (OEM/PLC) M-code does, as MCodeEffects — possibly several effects per code (tool change, spindle direction, coolant) plus a note for behavior this simulation does not model. Consumed by MCodeExpansionSyntax, which expands declared codes into the canonical ISO flags ahead of the regular consumers. Machine-level (per-case parameter table) rather than brand vocabulary — implemented by ControllerParameterTableBase, alongside the narrower ISpindleControlConfig face over the same storage.
public interface IMCodeDeclarationConfig : INcDependency, IMakeXmlSource
- Inherited Members
- Extension Methods
Properties
MCodeDeclarations
Declared machine M-codes. Key = M-code as parsed (e.g.
“M13”), matched case-insensitively; value = the effects the
code performs. Enumerable for UI/serialization.
IReadOnlyDictionary<string, MCodeEffects> MCodeDeclarations { get; }
Property Value
Methods
DeclareMCode(string, MCodeEffects)
Adds or replaces the declaration for an M-code. The effects are copied on store, so the caller may reuse or further mutate its instance without coupling declarations to each other.
void DeclareMCode(string mCode, MCodeEffects effects)
Parameters
mCodestringeffectsMCodeEffects
RemoveMCodeDeclaration(string)
Removes the declaration for an M-code.
void RemoveMCodeDeclaration(string mCode)
Parameters
mCodestring
TryGetMCodeEffects(string, out MCodeEffects)
Resolves a parsed flag to its declared effects. Returns false for undeclared codes — ISO defaults are the consumers' concern, not this config's. The returned instance is the live declaration: treat it as read-only and reconfigure through DeclareMCode(string, MCodeEffects) instead of mutating it.
bool TryGetMCodeEffects(string mCode, out MCodeEffects effects)
Parameters
mCodestringeffectsMCodeEffects