Interface ITransformationDef
Chain of named ProgramXyz → MachineCoordinate transformation entries.
Stored as a JsonArray of entries, each with
“Source”, “Kind”, 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].
Kind contour-validity classification. Each entry is either:
"Static"— the Mat4d is valid for any point along the contour. Tilt, coord-offset, and the kinematic pivot in non-RTCP / rotary-stable blocks are all Static."Dynamic"— the Mat4d is a block-endpoint snapshot of a rotary-state-dependent transform (RTCP rotary-dynamic). Composition still yields a correct endpoint MC, but the matrix is not contour-valid: intermediate CL-point positions cannot be derived by applying it to an interpolated ProgramXyz. The semantic layer (ClLinearMotionSemantic) handles per-step IK separately.
public interface ITransformationDef
- Extension Methods
Examples
"ProgramToMcTransform": [
{"Source": "TiltTransform", "Kind": "Static", "Mat4d": [1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,0,1]},
{"Source": "ToolHeightCompensation", "Kind": "Static", "Mat4d": [1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,99.98,1]},
{"Source": "CoordinateOffset", "Kind": "Static", "Mat4d": [1,0,0,0, 0,1,0,0, 0,0,1,0, 10,20,-100,1]},
{"Source": "PivotTransform", "Kind": "Dynamic", "Mat4d": [cosC,sinC,0,0, -sinC,cosC,0,0, 0,0,1,0, px,py,pz,1]}
]
Properties
ProgramToMcTransform
Ordered chain of named ProgramXyz → MachineCoordinate transformation entries. See the type-level remarks for the entry schema and composition rule.
JsonArray ProgramToMcTransform { get; set; }