Table of Contents

Class GeneralCsvRunner

Namespace
Hi.Numerical.CsvParsers
Assembly
HiMech.dll

Factory for a SoftNcRunner that replays CSV telemetry through the general-semantics architecture: a chain of small RowTo*Syntax classes maps each decoded CsvRow into the same standardized JSON sections the brand-NC pipeline writes (SpindleSpeed, Feedrate, Coolant, CsScript, ToolChange, MachineCoordinateState, MotionEvent), and a mostly-general semantic list resolves them into acts. A handful of CSV extension semantics cover telemetry the general list does not (CsvActualTimeSemantic, CsvToolingTeleportSemantic, CsvMotionSemantic, CsvActDataSemantic).

This is the flagship CSV runner — it superseded an earlier single-syntax / single-semantic pipeline.

Recorded vs. computed timing. CSV is replayed telemetry, so CsvMotionSemantic uses the recorded sample duration (StepDuration / ActualTime delta) rather than feedrate × distance. Because RowToMotionEventSyntax still writes the full general motion-section contract, swapping CsvMotionSemantic for the general McLinearMotionSemantic in NcSemanticList flips the runner to feedrate-derived timing with no other change.

public static class GeneralCsvRunner
Inheritance
GeneralCsvRunner
Inherited Members

Methods

Create()

Builds a fresh SoftNcRunner pre-configured to replay CSV input through the general-semantics pipeline. Call once per machining session so the runner's per-session state starts clean.

public static SoftNcRunner Create()

Returns

SoftNcRunner

Reg(XFactory)

Registers the CSV-module components Create() instantiates — the shared decoder (CsvRunnerConfig, CsvSegmenter, CsvRowSyntax), the RowTo* syntax chain, and the CSV extension semantics — with the given XFactory. The general components it reuses (BundleSyntax, SpindleSpeedSemantic, CoolantSemantic, CsScriptBeginSemantic, CsScriptEndSemantic) are registered by Reg(XFactory). Idempotent.

public static void Reg(XFactory factory = null)

Parameters

factory XFactory