Class MachiningStepRecord
- Namespace
- Hi.MachiningSteps
- Assembly
- HiMech.dll
Internal Use Only. The record of one published MachiningStep as the result
recording takes it: the step index, the snapshot of the step's source sentence, a copy of
the motion step, the removal scalars, a copy of the collided pairs and a copy of the
measured time – values and copies only, nothing that keeps the play alive: not the step's
host, not its live source command, not its motion step. Of(MachiningStep) takes it the
moment the step pipeline publishes the step, and the record is the step's values of that
moment: what is written onto a step after it was published is not in it – the CSV mapping
embedded after a play sets the steps' ActualTime, and the
step-physics recompute replaces the force brief's tag in the step's
SubstractionBrief (MachiningStep.ReplaceMillingForceBriefTag);
the recorder of the plan's P3 decides how those two are recorded. ActualTime
has a value for the CSV-driven play alone, whose step-built action stamps the step before
it is published.
public sealed class MachiningStepRecord
- Inheritance
-
MachiningStepRecord
- Inherited Members
- Extension Methods
Constructors
MachiningStepRecord(int, SentenceSnapshot, MachineMotionStep, in SubstractionBrief, CollidedKeyPair[], StepActualTime)
Initializes a record from its parts, which it keeps as they are given: the copying is Of(MachiningStep)'s.
public MachiningStepRecord(int stepIndex, SentenceSnapshot sentence, MachineMotionStep motion, in SubstractionBrief substractionBrief, MachiningStep.CollidedKeyPair[] collidedKeyPairs, StepActualTime actualTime)
Parameters
stepIndexintThe step's index.
sentenceSentenceSnapshotThe snapshot of the step's source sentence; null for none.
motionMachineMotionStepThe motion step; not null.
substractionBriefSubstractionBriefThe removal scalars.
collidedKeyPairsCollidedKeyPair[]The collided pairs; null for none.
actualTimeStepActualTimeThe measured time; null for none.
Exceptions
- ArgumentNullException
motionis null.
Properties
ActualTime
A copy of the step's ActualTime; null when the step had no stamp when it was published.
public StepActualTime ActualTime { get; }
Property Value
CollidedKeyPairs
A copy of the step's CollidedKeyPairs array, its immutable pairs shared; null when the step has none.
public MachiningStep.CollidedKeyPair[] CollidedKeyPairs { get; }
Property Value
Motion
A copy of the step's MachineMotionStep with values of its own – its own McValues array, its own pair on the workpiece geometry coordinate; the holder of the two program-zero legs is shared, it is never written – so a write to the step after the record was taken does not reach the record. Never null. Read it; it is data, not a step of the play: do not call GetMachiningTool(MachiningToolHouse) on it, which would memoise a tool of the play on the copy. The four matrices of the record's shell are read off it (SeqOnWorkpieceGeomCoordinate, ProgramToWorkpieceGeomMat4d, WorkpieceGeomToProgramMat4d), beside the blob WriteBin(BinaryWriter) writes without them.
public MachineMotionStep Motion { get; }
Property Value
Sentence
The snapshot of the step's source sentence, the one interned for the step's SourceCommand (Of(ISentenceCarrier)): every record of the same sentence carries this same object, the key under which the recorder hands the sentence its piece id. Null for a step without a source command.
public SentenceSnapshot Sentence { get; }
Property Value
SentenceIndex
The sentence's execution-order index, SentenceIndex; -1 without a sentence. A diagnostic column: the key is Sentence.
public int SentenceIndex { get; }
Property Value
StepIndex
The step's index, StepIndex: the record's key.
public int StepIndex { get; }
Property Value
SubstractionBrief
The step's removal scalars as they were when the step was published: a value, copied.
public SubstractionBrief SubstractionBrief { get; }
Property Value
Methods
Of(MachiningStep)
Internal Use Only. The record of step as it is now: the motion step
copied (the copy constructor, then its own McValues array
and its own pair, null staying null), the removal scalars by value, the collided pairs
array copied, the measured time copied into a new object, and the sentence as the
snapshot interned for the step's source command. Taken by the recorder the moment the
step pipeline publishes the step.
public static MachiningStepRecord Of(MachiningStep step)
Parameters
stepMachiningStepThe step; not null.
Returns
- MachiningStepRecord
The record.
Exceptions
- ArgumentNullException
stepis null.- ArgumentException
stepcarries no motion step, or one of its collided pairs is null.