Interface IArcMotionDef
Arc motion data written by CircularMotionSyntax. Stored under the MotionEvent JSON section alongside IMotionEventDef properties. The arc plane is read from the modal PlaneSelect section via GetPlaneNormalDir(JsonObject) rather than cached on the event — same source of truth as IsoG68RotationSyntax.
public interface IArcMotionDef
- Extension Methods
Examples
"MotionEvent": {
"Form": "McArc",
"ArcCenter": { "X": 10.0, "Y": 5.0, "Z": 0.0 },
"IsCcw": false,
"AdditionalCircleNum": 0
}
Properties
AdditionalCircleNum
Number of additional full circles (for helix with L parameter).
int AdditionalCircleNum { get; }
Property Value
ArcCenter
Arc center in program coordinates (absolute).
object ArcCenter { get; }
Property Value
CenterSource
Where the center came from when it is NOT stated by this block's own
words — a ArcCenterSource value
(ModalCircleCenter: the modal
klartext CC section; StartPoint:
the arc's own start point, the missing- or partial-CC
degrade). Absent for a
block that states its center (I/J/K offsets, absolute I/J/K — see
IsIjkAbsolute — or R). Read by the NcOpt splition
write-back: a modal-center arc splits into fragments that keep the
block's words (nothing to rebuild) around the unchanged CC
line; a start-point center cannot be shared by fragments at all.
string CenterSource { get; }
Property Value
IsCcw
True for G03 (CCW), false for G02 (CW).
bool IsCcw { get; }
Property Value
IsIjkAbsolute
True when the source block's I/J/K words addressed the center as absolute program coordinates (Heidenhain DIN/ISO, G90 in effect). Stamped only when true — absent means the ordinary start-to-center offsets. Read by the NcOpt splition write-back, which must emit the same absolute center on every fragment instead of per-fragment offsets.
bool IsIjkAbsolute { get; }