Table of Contents

Enum ThermalStepOutcome

Namespace
Hi.Physics
Assembly
HiMech.dll

What BuildCuttingTemperatureAndWear(SeqPhysicsState, MachineMotionStep, MachineMotionStep, double, SpindleCapability, IMachiningTool, Workpiece, int, Substraction, LayerMillingEngagement, MillingForceBrief, CoolantHeatCondition, CoolantMode, bool, MillingToolPhysicsPack, Action<string>) did with the thermal step, as data: the state has no message channel, so the caller that owns one says what needs saying at its own site – the play says ModelUnavailable once per tool, until a runtime reset, as Physics-Thermal–ModelUnavailable (MachiningActRunner.ReportThermalModelUnavailable), the step-physics recompute says its own StepPhysics-Recompute–ThermalSkipped ahead of its chain – and the quiet outcomes were named where they arose (the tool change, the session begin). The loop's warning callback carries the tooth-cycle cap alone. Until 2026-10-15 the state announced the unavailable model itself through that callback, once per tool and process, and the play labelled it with the cap's id.

public enum ThermalStepOutcome
Extension Methods

Fields

ModelUnavailable = 4

Skipped: the native thermal session refuses the tool as it is configured – a cutter material without a hardness or wear curve, a thermal layer whose material is not a cutter material (the uncoated insert cutter was one until 2026-10-15) – no managed reference chain serves it either, and nothing else has said so: the caller announces it, once per tool. The thermal and wear values of the chain stay where the tool change, or the last step the model ran on, left them. A chain carrying another node layout than the tool has now (the tool edited with the session alive) is refused by the native step as well; the play and the recompute re-seed such a chain before they ask (ThermalLayoutMatches(IMachiningTool)), so the answer does not reach them for it. A chain that was never seeded is not answered at all: the method throws on it (the pipelines re-arm their tool-change gate so that it does not happen).

NoThermalChain = 1

No thermal chain for the tool: a cutter that is not a milling cutter, or a milling cutter whose APT refuses its geometry (no flute envelope). The play and the step-physics recompute both gate their call on the flute envelope and never see this; a caller that does not, such as the NC optimization's thermal-yield probes, receives it.

PhysicsInputsMissing = 3

Skipped without a word: a physics input the step needs is missing – no flute, no flute or shank material, no workpiece material, no coolant condition, or no cutting parameter on a step whose tool has no physics pack of its own (no pack, no native step) – named at the session begin, or at the first play start with the physics on, and at the tool change (MissingPhysicsInputs–*, Tool-FluteMaterial–Missing / –Unreadable, Tool-ShankMaterial–Missing / –Unreadable, Tool-FluteCount–Zero); the native step refuses such a step as well.

Served = 0

A kernel ran the step: the native thermal session, or the managed reference chain of a dev / test host (whatever it made of the step: a material it refuses leaves the temperatures where they were).

ThermalConstantsNotGiven = 2

Skipped without a word: a material the model reads is present with a thermal constant not given (HasThermalConstants), named at the tool change, the session begin, the start of the play and the recompute (Material-ThermalConstants–NotGiven).