Table of Contents

Class ActClArcMcXyzabcContour

Namespace
Hi.Numerical.Acts
Assembly
HiMech.dll

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_t, out dvec3d_t).

public class ActClArcMcXyzabcContour : IActDuration, IActMcXyzabcContour, IAct
Inheritance
ActClArcMcXyzabcContour
Implements
Inherited Members
Extension Methods

Remarks

Differences from the linear twin:

  • The step normal comes from the arc geometry itself (At(double)), not from a forward-kinematic probe of interpolated ABC — the CL source is the truth for tool orientation.
  • Rotary unwrap anchoring chains step-to-step (each solved ABC is anchored to the previous step's) because the ABC path of an arc is not linear; the first step anchors to McSeq.pre.
The arc geometry must already be expressed in the kinematic Pn frame (workpiece→Pn transform applied by the emitting semantic).

Constructors

ActClArcMcXyzabcContour(ClCircleArc, SeqPair<dvec3d_t>, double, TimeSpan, IMachineKinematics)

Initializes a new instance of the ActClArcMcXyzabcContour class.

public ActClArcMcXyzabcContour(ClCircleArc clArcOnPn, SeqPair<dvec3d_t> mcSeq, double controllerToolOffset, TimeSpan duration, IMachineKinematics coordinateConverter)

Parameters

clArcOnPn ClCircleArc

Circular CL path in the kinematic Pn frame

mcSeq SeqPair<dvec3d_t>

Machine coordinate endpoint pair (rotary in radians)

controllerToolOffset double

The tool's attacher→tip length

duration TimeSpan

Duration of the contour movement

coordinateConverter IMachineKinematics

Coordinate converter for transformation

Properties

ActDuration

Gets or sets the duration of the action.

public TimeSpan ActDuration { get; set; }

Property Value

TimeSpan

Remarks

The duration represents:

  • The time required to complete the action
  • Should be positive and finite
  • Zero duration indicates an instantaneous action
  • Used for scheduling and timing calculations

ClArcOnPn

The circular CL path in the kinematic Pn frame; its points are tool tip positions and its normals tool axis directions.

public ClCircleArc ClArcOnPn { get; set; }

Property Value

ClCircleArc

ControllerToolOffset

The active tool's attacher→tip length; reconstructs the attacher position from a CL tip point.

public double ControllerToolOffset { get; set; }

Property Value

double

CoordinateConverter

Coordinate converter.

public IMachineKinematics CoordinateConverter { get; set; }

Property Value

IMachineKinematics

McSeq

Machine-coordinate endpoints (begin/end); rotary components in radians. Used for the step count estimate and as the unwrap anchor of the first resampled step.

public SeqPair<dvec3d_t> McSeq { get; set; }

Property Value

SeqPair<dvec3d_t>

Methods

GetActMcXyzabcSteps(IMachiningMotionResolution, double, Action<object>)

Gets the machine XYZABC steps for this contour.

public IEnumerable<ActMcXyzabcStep> GetActMcXyzabcSteps(IMachiningMotionResolution ncResolution, double spindleMountToToolTipLength, Action<object> coordinateConversionFailedAction)

Parameters

ncResolution IMachiningMotionResolution

The machining motion resolution to use for step generation.

spindleMountToToolTipLength double

The length from spindle mount to tool tip, used for computing step numbers.

coordinateConversionFailedAction Action<object>

Called when attacher NP to MC conversion fails; the argument is the failed dvec3d_t (attacher NP).

Returns

IEnumerable<ActMcXyzabcStep>

A collection of machine XYZABC steps.

Remarks

Lazy (play-core migration P11): CoordinateConverter, the path and the resolution are read at the first MoveNext – the record before the zero-duration early-out, so a null path throws there where the earlier enumerator yielded nothing (parser-built acts always carry one); the steps come from core.dll when the resolution is exactly one of the three resolution classes and the converter is exactly an XyzabcSolver whose last rebuild was ok (directly or through an NcKinematicsDependency), from the managed enumerator otherwise (a null or unusable converter then throws where the earlier enumerator did), bit for bit the same; a refused conversion fires coordinateConversionFailedAction at the position it always did.

ToString()

Returns a string that represents the current object.

public override string ToString()

Returns

string

A string that represents the current object.