Table of Contents

Namespace Hi.Numerical.Acts

Classes

ActActualDateTime

Represents an action that records the absolute controller timestamp (wall-clock DateTime) for a machine step. Parallel to ActActualTimecode: that act carries the run-relative timecode (a TimeSpan), this one preserves the raw calendar instant so the date is not lost — converting between the two is the mapping anchor's job, done once at the boundary.

ActActualTimecode

Represents an action that sets the actual time for a machine step.

ActClArc

Represents an arc movement action for cutter location.

ActClArcMcXyzabcContour

Arc twin of ActClLinearMcXyzabcContour: a circular cutter location path realized on machine coordinates. The arc is interpolated in CL space (true arc via At(double), including tilting normals) and every resampled step is inverse-solved through PnToMc(DVec3d, out DVec3d).

ActClLinear

Represents a linear cutter location movement action.

ActClLinearMcXyzabcContour

Represents a combined linear movement in both cutter location and machine coordinates. This class handles synchronized linear interpolation of tool position and orientation.

ActClStep

Represents a single cutter-location step with optional duration.

ActClTeleport

Represents a teleport action for cutter location, allowing instant position change without movement.

ActCooling

Represents a coolant state transition — the cutting-fluid delivery mode changes on the machine (from e.g. Off to Flood). Emitted by CoolantSemantic when the NC program executes M07/M08/M09.

ActData

Action that add data to the step. The data is maybe from the sensor or computed, etc..

ActDelay

Represents a delay action in machining operations. This class implements a simple time delay in the machining process.

ActFeedrate

Represents a feedrate action for controlling the speed of machining operations.

ActHiddenStateChanged

Represents an action that indicates a change in the hidden state of an object. This action is typically skipped during normal processing.

ActIntentionalSkip

Represents an action that is intentionally skipped during processing. Used to explicitly mark operations that should be bypassed.

ActLineBegin

Represents the beginning of a line act in numerical control operations.

ActLineCsScript

Cs Script on one Line.

ActLineEnd

Represents the end of a line act in numerical control operations.

ActMcPolarLinearContour

Polar MCZ linear contour.

ActMcPolarSpiralContour

Circular (arc/helix) contour on the polar hypothetical plane while Polar Coordinate Interpolation (Fanuc G12.1) is active.

The arc geometry lives entirely in central polar Rxcz coordinates (X = radius-direction linear axis mm, Y = hypothetical rotary-substitute axis mm, Z = real Z mm, origin on the rotary center) — the same spiral math as ActMcXyzSpiralContour. Each sampled point is then converted to machine coordinates the way ActMcPolarLinearContour does: radius drives machine X, the atan2 angle drives the machine C axis with the branch chained from the previous step (GetNoInterpolationOrdinaryProgramXcz_rad(Vec3d, double, Vec3d)), machine Y/A/B stay frozen at the previous position, and Z carries the coordinate/tool-height offset.

The chaining state is local to each enumeration, so the act can be re-enumerated safely and arcs crossing the ±180° branch (or spanning multiple turns via AdditionalCircleNum) stay continuous — unlike the HardNc per-point unresolved atan2, whose machine C jumps by one cycle at the branch cut (same physical pose). Known divergence: per-step machine X is the raw polar radius and machine Y stays frozen — coordinate-offset X/Y components are NOT applied (only Z carries an offset), consistent with ActMcPolarLinearContour and the turn-mill assumption that machine X ≡ radius. HardNc is internally inconsistent here: its polar arc steps run the full transform chain (G5x X/Y included) while its polar linear steps use the raw radius like this act.
ActMcXyzLinearContour

Action of Machine Coordinate XYZ contour by Machine Coordinate linear interpolation.

ActMcXyzSpiralContour

Represents a spiral contour movement in machine XYZ coordinates.

ActMcXyzStep

Action representing a machine coordinate XYZ step movement. This class handles linear positioning in machine coordinates.

ActMcXyzabcLinearContour

Action of Machine Coordinate XYZABC contour by Machine Coordinate orientable linear interpolation. This class handles complex tool movements with both position and orientation control.

ActMcXyzabcStep

Action of Machine coordinate XYCABC Step.

ActMcXyzabcTeleport

Instant machine-coordinate reposition — the MC counterpart of ActClTeleport: the chain pose is set without a machining step, so no time accumulates and no material-removal step is recorded. Emitted for CLSF FROM / first-motion blocks when the runner drives an MC machine.

ActRapid

Rapid feedrate.

ActSpindleDirection

Represents an action that sets the spindle rotation direction.

ActSpindleOrientation

Oriented spindle stop — commands the spindle to stop at a specific angular position. Used by G76 (fine boring) and G87 (back boring) to orient the tool before lateral shift.

ActSpindleSpeed

Represents an act that controls the spindle speed in numerical control operations.

ActToolingStep

Action of equiping the tool with machining step operation such as collision detection and volume removal.

ActToolingTeleport

Action of Equiping the tool without machining step operation such as collision detection and volume removal.

ActUnknownSkip

Represents an act that skips unknown operations in numerical control.

ActUtil

Provides utility methods for numerical control actions.

StateActRunner

Manages the state of numerical control operations during runtime.

Interfaces

IAct

Action parsing from NC, CL, NC Steps and etc., for controlling the mechanism and the mechanism simulation process.

IActClMove

Interface for actions that involve cutter location movement. This interface defines the contract for tool path movements in machining operations.

IActDuration

Interface for actions that have a specific duration. This interface is used to define actions that take a measurable amount of time to complete.

IActMachineStep
IActMcXyzContour

Interface for actions that represent machine XYZ contours.

IActMcXyzabcContour

Interface for actions that represent machine XYZABC contours.

IActSkip

Interface for actions that should be skipped during normal processing. Acts as a marker interface to identify actions that should not be executed.

IActTooling

Represents a tooling action that changes or selects a tool.

IWorkTimeAttrib

Interface for objects that provide both read and write access to work time. Combines the functionality of IWorkTimeGetter and IWorkTimeSetter.

IWorkTimeGetter

Interface for objects that provide read-only access to work time. This interface is part of the work time tracking system for machining operations.

IWorkTimeSetter

Interface for objects that provide write-only access to work time. This interface is used for components that need to update work time without reading it.