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
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 unresolvedatan2angle 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.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.
- 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.