Table of Contents

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

IReadOnlyDictionary<string, MCodeEffects>

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

mCode string
effects MCodeEffects

RemoveMCodeDeclaration(string)

Removes the declaration for an M-code.

void RemoveMCodeDeclaration(string mCode)

Parameters

mCode string

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

mCode string
effects MCodeEffects

Returns

bool