Reference Manual

Turbo PMAC/PMAC2 Software Reference
Turbo PMAC Program Command Specification 456
where:
{vector} is one of the letters I, J, and K, representing components of the total vector parallel to the
X, Y, and Z axes, respectively
{data} is a constant or expression representing the magnitude of the particular vector component.
This statement defines the orientation of the plane in XYZ-space in which circular interpolation and cutter
radius compensation will take place by setting the normal (perpendicular) vector to that plane.
The vector components that can be specified are I (X-axis direction), J (Y-axis direction), and K (Z-axis
direction). The ratio of the component magnitudes determines the orientation of the normal vector, and
therefore, of the plane. The length of this vector does not matter it does not have to be a unit vector.
The direction sense of the vector does matter, because it defines the clockwise sense of an arc move, and
the sense of cutter-compensation offset. Turbo PMAC uses a right-hand rule; that is, in a right-handed
coordinate system (I x J = K), if a right thumb points in the direction of the normal vector specified here,
the right fingers will curl in the direction of a clockwise arc in the circular plane, and in the direction of
offset-right from direction of movement in the compensation plane. In general, the negative normal
vector produces the clockwise/counterclockwise sense expected.
Examples:
The standard settings to produce circles in the principal planes will therefore be:
NORMAL K-1 ; XY plane -- equivalent to G17
NORMAL J-1 ; ZX plane -- equivalent to G18
NORMAL I-1 ; YZ plane -- equivalent to G19
By using more than one vector component, a circular plane skewed from the principal planes can be defined:
NORMAL I0.866 J0.500
NORMAL J25 K-25
NORMAL J(-SIN(Q1)) K(-COS(Q1))
NORMAL I(P101) J(P201) K(301)
See Also:
Circular Blended Moves, Cutter Radius Compensation (Writing and Executing Motion Programs)
Cartesian Axes (Setting Up a Coordinate System)
Program Commands CIRCLE1, CIRCLE2, CC0, CC1, CC2
NX{data}
Function: Set 3D-comp surface-normal vector X-component
Type: Motion program (PROG and ROT)
Syntax: NX{data}
where:
{data} is a signed floating-point constant or expression representing the X-component of the
surface-normal vector
This statement specifies the X-component of the surface-normal vector used for three-dimensional cutter-
radius compensation. This value is used along with the Y and Z-components specified by the NY{data}
and NZ{data} statements, respectively, to compute the orientation of the vector.
The total magnitude of the surface-normal vector specified with these three components does not matter,
although a unit-magnitude vector is typically specified. The relative magnitudes (including signs) of the
three components are what determine the orientation of the vector. The vector must be defined from the
surface toward the tool. Generally, all three components be declared together on one line; if only one or
two components are declared, the others are left at their old values, possibly leading to unpredictable
results.