Table of Contents

Namespace Hi.SessionCommands

Classes

CollisionDetectionCommand

Command that turns collision detection on or off for the session. One of the single-setting successors of the legacy PreSettingCommand bundle.

CommandCatalogAttribute

Marks an ISessionCommand as user-addable: GUIs build their “Add Command” catalog from the commands carrying this attribute, grouped by Category. A command WITHOUT this attribute stays loadable from project files (its Reg registration is unaffected) but is not offered for creation.

CommandFieldAttribute

Marks a session-command property as a directly editable scalar field, so generic editors (e.g. the web UI's fallback command panel) can render and update it without a hand-written per-command editor. Supported property types: bool, int, double, string and enums. An enum renders as a pick list of its members, each labeled by the member's vocabulary key (its name with PascalCase words spaced) — declare the members' texts with CultureTextAttribute in this assembly.

EnablingWrapper

Wrapper for session commands that provides enable/disable functionality.

ExportMeshedGeomToStlCommand

Command to call ExportMeshedGeomToStl(string, double).

GeomDiffCommand

Command for calculating geometric differences between workpieces.

Lang

Language package class for command flow.

ListCommand

A command that contains and executes a list of other commands.

MachiningMotionResolutionCommand

Command for setting machining motion resolution for the milling process.

MachiningResolutionCommand

Command that sets the session's machining resolution — the meshing resolution of material removal. One of the single-setting successors of the legacy PreSettingCommand bundle.

ManualToolingCommand

Command that puts a tool of the tool house in the spindle the way the operator loads one by hand: no tool-change travel, no machining step, no program played and no file number taken. The mission-list form of PlayToolingTeleport(int), for a program written for a hand-changed tool (no T… M06): placed before the program's NcFileCommand, which then keeps its lines and its file number (an NcCodeCommand holding the change would play as a file of its own and take a number). It applies no tool length — the program's G43 H or the work offset's Z carries it, as on the machine; a length left out puts the tip a whole tool length below every programmed Z, so the play either touches nothing (Play-Touch–None on the shell) or plunges that far into the stock, and where another tool of the play did touch, the tool that did not is named by Tool-Touch–None on the step sink. A ToolId below 1 (the fresh command's 0) mounts nothing and says ManualTooling-Command–NoToolId on the shell; an id the house lacks says Tooling–NotFound and leaves the spindle empty, a tool without a cutter Tooling–NoCutter. The spindle keeps the tool until the next tooling act or the reset.

MapSeriesByCsvFileCommand

Command to call MapSeriesByCsvFile(string, CycleSamplingMode, MapSeriesCsvConfig): pairs each step that carries an actual time with its window of a time-series (sensor) CSV file (one-to-many mapping). Carries the column titles of its file (CsvConfig), so a sensor recording maps without renaming its columns first.

MapSingleByCsvFileCommand

Command to call MapSingleByCsvFile(string, MapSingleCsvConfig): embeds one CSV row per step (one-to-one mapping) onto the steps played so far. Carries the column titles of its file (CsvConfig), so a controller log maps without renaming its columns first.

NcCodeCommand

Command for executing NC code directly.

NcFileCommand

Command for executing an NC program file (Nc is the umbrella term: brand controller code, NX-CL or CSV). The runner is picked by NcKind — Auto (the default) detects by file extension: .cl/.cls/.clsf play as NX-CL, .csv as CSV, anything else as brand NC code. The GUI labels it “Program File”.

NcOptOptionCommand

Command for NC optimization options.

OptimizeToFilesCommand

Command to call OptimizeToFiles(string).

PauseOnFailureCommand

Command that turns pause-on-failure on or off for the session. One of the single-setting successors of the legacy PreSettingCommand bundle.

PhysicsCommand

Command that turns physics simulation on or off for the session. One of the single-setting successors of the legacy PreSettingCommand bundle.

PostExecutionCommand

Runs the outputs of a play – the step and shot files, the optimized and the converted programs, the geometry difference – on what the commands above it in the mission have played, at the moment it runs. It is not a hook at the end of the mission: a program below it is not covered, so place it after the program commands it is to cover. A session played again without a reset still holds the earlier play's steps, and the step and shot writers walk them too: a program whose steps run on unbroken from the earlier play's keeps both plays in its file, while a file whose program resumes after another program's steps is opened afresh there and keeps only the later play's (see StepFileTemplate). The outputs run one after another as the command is enumerated, with no pace point between them, so they come from one state of the session: a Pause, or a job queued for the run's next pace point (a step-physics recompute), waits past the last of them for the run's next pace point – after the first action a later row hands the player, or inside a later script's play. With no pace point after them – the mission's last row, where a new project puts this command – a Pause holds nothing and the run finishes, and a queued job runs at the run's end. A Stop during one output ends the run before the next, the player seeing it at the null the command yields after each output.

PreSettingCommand

Legacy bundle of pre-settings applied before NC command running, superseded by the single-setting commands (machining resolution, motion resolution, collision detection, pause on failure, physics). Loading a project expands a saved instance into those commands via ExpandToEntries(bool); saving never writes the bundle back. The class stays functional for API callers that construct it directly.

RecordMeshedGeomCommand

Command for recording meshed geometry to/from file.

RecordNcResultCommand

Records the play's result – every step, every toolpath position, every program block the programs below it play – into a result folder (Output/results/[NcName]-[timestamp] by default: the first recorded program's name and the recording's time), with the finished stock beside it. Place it above the program commands it is to cover: a BeginRecording records from where it stands to the end of the mission, a stop of the player, or an EndRecording command below it. A mission without this command records nothing, and so does a Begin placed below every program (the add dialog puts a new command after the selected one, or at the end: move it up). A runtime reset inside the recording ends the folder and begins the next one for the programs after it. Recording never stops the play: what it cannot do is said on the messages.

ReviewNcResultCommand

Reviews a recorded play result (RecordNcResultCommand) in the mission: the strip, the steps and the physics charts are rebuilt from the result file, the finished stock is loaded as the workpiece, without a play. The result folder is named relative to the project folder; left empty, the newest completed result under Output/results is reviewed. Place it last in the mission: the review stays open until the next reset (the player's Reset, a CloseReview command, ResetRuntime(), a project switch) and a program command below it is refused while the review is open. A recording open when the review begins is ended first, and with the folder left empty its result is the one reviewed (a mission of Record, the programs, Review).

ScriptCommand

Command for executing C# scripts in the milling process.

SetupAngleEstimationCommand

Command that estimates a cutter's setup angle — how far it is turned in the holder, SetupAngle_deg — from the smart holder's recording of the tool's first seconds of contact, and (unless the gate refuses) applies it to the tool and recomputes the finished steps. The mission-list form of ArmSetupAngleEstimation(int, double, string, bool, string, double, string, SampleFlag) (Timing = DuringThePlay, before the program) and of EstimateSetupAngleByFirstContact(int, double, string, bool, string, double, string, int, SampleFlag) (Now, after it). The channels the estimate reads are the command's own selection (UseMx, UseMy, UseMz — the sampleFlags of the script forms); a selection the tool's holder does not declare is refused by the engine (Sample-Channel–NotObserved), never guessed.

WriteShotFilesCommand

Command to call WriteShotFiles(string, double).

WriteStepFilesCommand

Command to call WriteStepFiles(string).

Interfaces

ISessionCommand

Interface for commands that can be executed in a machining session.

ITitleCommand

ISessionCommand with title.

Enums

CommandCategory

Category of a session command in user-facing command catalogs (the GUI “Add Command” listings). Declaration order is the display order; values are appended, never moved (the wire uses the lower-cased name).

RecordMeshedGeomActionEnum

Action of the RecordMeshedGeomCommand.

RecordNcResultActionEnum

What a RecordNcResultCommand does where it stands in the mission.

ReviewNcResultActionEnum

What a ReviewNcResultCommand does where it stands in the mission.

SetupAngleEstimationTiming

When a SetupAngleEstimationCommand estimates.