Class 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.
atan2, whose machine C
jumps by one cycle at the branch cut (same physical pose).
public class ActMcPolarSpiralContour : IActDuration, IActMcXyzabcContour, IAct
- Inheritance
-
ActMcPolarSpiralContour
- Implements
- Inherited Members
- Extension Methods
Constructors
ActMcPolarSpiralContour(DVec3d, Vec3d, Vec3d, Vec3d, Vec3d, int, TimeSpan, double)
Initializes a new instance of the ActMcPolarSpiralContour class.
public ActMcPolarSpiralContour(DVec3d preMcXyzabc_rad, Vec3d programPolarBegin, Vec3d programPolarEnd, Vec3d programPolarCenterOnBeginPlane, Vec3d centerNormal, int additionalCircleNum, TimeSpan duration, double zCoordinateOffset)
Parameters
preMcXyzabc_radDVec3dPrevious machine XYZ-ABC coordinates in radians
programPolarBeginVec3dArc begin in central polar Rxcz (mm)
programPolarEndVec3dArc end in central polar Rxcz (mm)
programPolarCenterOnBeginPlaneVec3dArc center on the begin plane, central polar Rxcz (mm)
centerNormalVec3dPlane normal with rotation sign
additionalCircleNumintNumber of additional full circles
durationTimeSpanDuration of the contour movement
zCoordinateOffsetdoubleZ-coordinate offset
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
AdditionalCircleNum
Number of additional full circles (helix).
public int AdditionalCircleNum { get; set; }
Property Value
CenterNormal
Plane normal with rotation sign (XC pair → (0,0,±1)).
public Vec3d CenterNormal { get; set; }
Property Value
ProgramPolarBegin
Arc begin in central polar Rxcz coordinates (mm).
public Vec3d ProgramPolarBegin { get; set; }
Property Value
ProgramPolarCenterOnBeginPlane
Arc center on the begin plane, central polar Rxcz (mm).
public Vec3d ProgramPolarCenterOnBeginPlane { get; set; }
Property Value
ProgramPolarEnd
Arc end in central polar Rxcz coordinates (mm).
public Vec3d ProgramPolarEnd { 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 spindleBuckleToToolTipLength, Action<object> coordinateConversionFailedAction)
Parameters
ncResolutionIMachiningMotionResolutionThe machining motion resolution to use for step generation.
spindleBuckleToToolTipLengthdoubleThe length from spindle buckle to tool tip, used for computing step numbers.
coordinateConversionFailedActionAction<object>Called when attacher NP to MC conversion fails; the argument is the failed DVec3d (attacher NP).
Returns
- IEnumerable<ActMcXyzabcStep>
A collection of machine XYZABC steps.
ToString()
Returns a string that represents the current object.
public override string ToString()
Returns
- string
A string that represents the current object.