Interface ITransformationDef
Chain of named ProgramXyz → MachineCoordinate transformation entries,
evaluated at the block endpoint.
Stored as a JsonArray of entries, each with “Source” and “Mat4d” keys.
Each contributing INcSyntax adds or replaces its own entry by source name.
GetComposedTransform(JsonObject)
composes entries in order: McXyz = ProgramXyz * T[0] * T[1] * ... * T[n].
"EndPoint" semantic — each Mat4d is a snapshot valid only for this block's endpoint state (endpoint ABC, endpoint tool orientation, etc.). For RTCP blocks where rotary axes change across the block, intermediate CL-point positions cannot be derived by applying this matrix to an interpolated ProgramXyz — the semantic layer (ClLinearMotionSemantic) handles per-step IK separately. Consumers must not treat the composed matrix as globally applicable across a rotary contour.
public interface ITransformationDef
- Extension Methods
Examples
"EndPointProgramToMcTransform": [
{"Source": "TiltTransform", "Mat4d": [1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,0,1]},
{"Source": "ToolHeightCompensation", "Mat4d": [1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,99.98,1]},
{"Source": "CoordinateOffset", "Mat4d": [1,0,0,0, 0,1,0,0, 0,0,1,0, 10,20,-100,1]},
{"Source": "PivotTransform", "Mat4d": [cosC,sinC,0,0, -sinC,cosC,0,0, 0,0,1,0, px,py,pz,1]}
]
Properties
EndPointProgramToMcTransform
JsonArray EndPointProgramToMcTransform { get; set; }