Class NcArgCycle800
Represents parameters for Siemens CYCLE800 (Plane Tilting / Swivel).
public class NcArgCycle800 : ITiltPlaneNcArg
- Inheritance
-
NcArgCycle800
- Implements
- Inherited Members
- Extension Methods
Remarks
CYCLE800 is used for 5-axis machining to define tilted working planes. The MODE parameter controls how angles A, B, C are interpreted.
Properties
A
First rotation angle in degrees. Interpretation depends on MODE:
- Solid angle mode: Rotation about Z axis in XY plane
- Axial mode: Rotation of first rotary axis (typically A)
public double A { get; set; }
Property Value
AxisForA
Gets the rotation axis for parameter A from bits 1-0. 01=X, 10=Y, 11=Z (00 is invalid/not used)
public int AxisForA { get; }
Property Value
AxisForB
Gets the rotation axis for parameter B from bits 3-2. 01=X, 10=Y, 11=Z (00 is invalid/not used)
public int AxisForB { get; }
Property Value
AxisForC
Gets the rotation axis for parameter C from bits 5-4. 01=X, 10=Y, 11=Z (00 is invalid/not used)
public int AxisForC { get; }
Property Value
B
Second rotation angle in degrees. Interpretation depends on MODE:
- Solid angle mode: Rotation about Y axis in space
- Axial mode: Rotation of second rotary axis (typically B)
public double B { get; set; }
Property Value
C
Third rotation angle in degrees. Interpretation depends on MODE:
- Axial mode: Rotation of third rotary axis (typically C)
public double C { get; set; }
Property Value
DIR
Direction of rotation for positioning the rotary axes.
public int DIR { get; set; }
Property Value
FR
Retract mode. Values: 0: No retraction 1: Retract Z axis (default) 2: Retract Z, X, Y axes 4: Maximum retraction in tool direction 5: Incremental retraction in tool direction
public int FR { get; set; }
Property Value
FR_I
Value of incremental retraction in tool direction.
public double FR_I { get; set; }
Property Value
IsAxisByAxisMode
Gets whether this is Axis by Axis mode (bits 7-6 = 00).
public bool IsAxisByAxisMode { get; }
Property Value
IsDirectRotaryAxisMode
Gets whether this is Direct Rotary Axis mode (bits 7-6 = 11).
public bool IsDirectRotaryAxisMode { get; }
Property Value
IsProjectionAngleMode
Gets whether this is Projection Angle mode (bits 7-6 = 10).
public bool IsProjectionAngleMode { get; }
Property Value
IsSolidAngleMode
Gets whether this is Solid Angle mode (bits 7-6 = 01).
public bool IsSolidAngleMode { get; }
Property Value
MODE
Swivel mode - controls angle interpretation.
Binary coded decimal parameter:
Bit 0 (1): 0=new, 1=additive
Bit 1 (2): Reserved
Bit 2 (4): Reserved
Bit 3 (8): 0=solid angles (Euler), 1=RPY angles
Bit 4 (16): 0=direct, 1=indirect
Bit 5 (32): 0=XYZ rotation sequence, 1=ZYX rotation sequence
Bit 6 (64): 0=angle refers to rotary axis, 1=angle refers to workpiece
public int MODE { get; set; }
Property Value
ST
Swivel plane mode. UNITS DIGIT: 0: New (absolute) 1: Additive (relative to current)
public int ST { get; set; }
Property Value
SwivelModeType
Gets the swivel mode type from bits 7-6. 00 = Axis by Axis, 01 = Solid Angle, 10 = Projection Angle, 11 = Direct Rotary Axis
public int SwivelModeType { get; }
Property Value
TC
Name of swivel data record. “0” = Deselection of data record (cancels swivel)
public string TC { get; set; }
Property Value
XYZ0
Reference point prior to rotation (absolute coordinates).
public Vec3d XYZ0 { get; set; }
Property Value
XYZ1
Zero point offset after rotation.
public Vec3d XYZ1 { get; set; }
Property Value
Methods
GetTableToFeatureMat4d()
Gets the transformation matrix for this CYCLE800 swivel.
public Mat4d GetTableToFeatureMat4d()
Returns
- Mat4d
The 4x4 transformation matrix from base to tilted coordinate system.
ToString()
Returns a string representation of this CYCLE800 argument.
public override string ToString()