Table of Contents

Class StepPresentCatalog

Namespace
Hi.MachiningSteps
Assembly
HiMech.dll

Internal Use Only. Expands the PresentAttribute-annotated properties of MachiningStep into the stable presentation-key dictionary (vector properties fan out to .X/.Y/.Z, the cutter location to .X/.Y/.Z/.I/.J/.K).

public static class StepPresentCatalog
Inheritance
StepPresentCatalog
Inherited Members

Fields

MachineCoordinateKeyPrefix

Internal Use Only. The prefix of the machine-coordinate keys (MC.X, MC.B, …) the step-property registry adds for the axes of the current chain.

public const string MachineCoordinateKeyPrefix = "MC."

Field Value

string

MachiningStateGeometryKey

Internal Use Only. The key of HiNc's built-in color tree “Machining State (No Physics)” (step coloring p10): registered by the HiNc host whenever a project is loaded, read-only, never written into the project file.

public const string MachiningStateGeometryKey = "MachiningStateGeometry"

Field Value

string

MachiningStateKey

Internal Use Only. The key of HiNc's full built-in color tree “Machining State” (step coloring p11): the geometry, the motion and the load read off the physics, registered by the HiNc host whenever a project is loaded, read-only, never written into the project file; no script, project or CSV column takes it.

public const string MachiningStateKey = "MachiningState"

Field Value

string

Properties

BuiltInStepColorTreeKeys

Internal Use Only. The keys of the built-in color trees (MachiningStateKey, MachiningStateGeometryKey): no step variable, mapped or CSV column, project tree or session tree takes them (IsBuiltInKey(string)).

public static IReadOnlySet<string> BuiltInStepColorTreeKeys { get; }

Property Value

IReadOnlySet<string>

CategoricalKeys

Internal Use Only. The stable presentation keys whose IsCategorical is set: the value is an identity, colored one color per value.

public static IReadOnlyCollection<string> CategoricalKeys { get; }

Property Value

IReadOnlyCollection<string>

NativeKeys

Internal Use Only. The keys of BuildNativeAccessDictionary(): the built-in presentation properties of MachiningStep, vector fan-outs included.

public static IReadOnlySet<string> NativeKeys { get; }

Property Value

IReadOnlySet<string>

RenamedKeys

Internal Use Only. The keys of built-in step properties an earlier HiNC wrote under another name, to the name this one has: the stress ratio and its family lost their Yielding, and the thermal yield ratio became the thermal stress ratio with it. The ratio's line is the yield strength where the material gives one and the tensile strength where it does not, so one key divided by a yield strength here and a tensile strength there is neither a yielding nor a tensile ratio. Only readers look here: a project's inspecting key, color guides, strip chart entries and color tree terms, and a user configuration's displayed keys that an earlier HiNC saved under an old name are read under the new name (CurrentKey(string), MachiningProject.RenameStepPropertyKeys); a step file's or a CSV's column under an old name is skipped as a built-in's column is (IsBuiltInKey(string), IsSkipped(string): the step's own value is read under the new name, never the column's); the writers write the new name alone, and the registry, the catalog and a step file's head carry no entry for an old name. An old name is still a built-in key: no script, step variable, mapped column or tree takes it.

public static IReadOnlyDictionary<string, string> RenamedKeys { get; }

Property Value

IReadOnlyDictionary<string, string>

RetiredKeys

Internal Use Only. The keys of built-in step properties an earlier HiNC wrote and this one no longer has: MaxBreakageRatio (the largest of the stress ratio and the two spindle ratios), SpindleOverloadRevolutions and SpindleOverloadPeakRatio (the spindle's runs with the torque and the power folded into one; they are read by cause now, the torque's and the power's apart), and FractureStressRatio (the section stress over the material's fracture strength, which no release presented: a ratio whose 100 % is a median break is not one a user watches). A step file of that version carries them as simulated values, which a mapping skips as it skips a built-in's column (IsSkipped(string)), so they do not come back as step variables; a color tree or an inspecting key that names one reads no value, as any key the registry does not hold.

public static IReadOnlySet<string> RetiredKeys { get; }

Property Value

IReadOnlySet<string>

Methods

BuildNativeAccessDictionary()

Internal Use Only. Builds the key-to-access dictionary for the native (machine-independent) MachiningStep presentation properties.

public static Dictionary<string, PropertyAccess<MachiningStep>> BuildNativeAccessDictionary()

Returns

Dictionary<string, PropertyAccess<MachiningStep>>

The dictionary mapping stable presentation keys to their property access.

CurrentKey(string)

Internal Use Only. The key under its current name: the new name of a key an earlier HiNC wrote under an old one (RenamedKeys), else key itself (null stays null). What a reader of a saved key passes it through before the registry is asked.

public static string CurrentKey(string key)

Parameters

key string

A key as saved; may be null.

Returns

string

IsBuiltInKey(string)

Internal Use Only. Whether key names a built-in step property: one of NativeKeys, the old name of one (RenamedKeys: reserved, so that no saved file reads a step variable where it saved a built-in), any key under MachineCoordinateKeyPrefix (the prefix is reserved whatever axes the current chain has), or a built-in color tree's key (BuiltInStepColorTreeKeys). A built-in's getter reads the step's own value, never one written onto the step under its key, so the registry would never read a step variable or a mapped column of that name.

public static bool IsBuiltInKey(string key)

Parameters

key string

The key to test; null is not built-in.

Returns

bool