Class 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_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.
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
clArcOnPnClCircleArcCircular CL path in the kinematic Pn frame
mcSeqSeqPair<dvec3d_t>Machine coordinate endpoint pair (rotary in radians)
controllerToolOffsetdoubleThe tool's attacher→tip length
durationTimeSpanDuration of the contour movement
coordinateConverterIMachineKinematicsCoordinate converter for transformation
Properties
ActDuration
Gets or sets the duration of the action.
public TimeSpan ActDuration { get; set; }
Property Value
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
ControllerToolOffset
The active tool's attacher→tip length; reconstructs the attacher position from a CL tip point.
public double ControllerToolOffset { get; set; }
Property Value
CoordinateConverter
Coordinate converter.
public IMachineKinematics CoordinateConverter { get; set; }
Property Value
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
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
ncResolutionIMachiningMotionResolutionThe machining motion resolution to use for step generation.
spindleMountToToolTipLengthdoubleThe length from spindle mount to tool tip, used for computing step numbers.
coordinateConversionFailedActionAction<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.