Original point <FROM>


<FROM> command defines original point coordinates. Usually <FROM> command is called only once at the beginning of machining, the first transition coordinates commonly equal the <FROM> command coordinates. If is necessary to avoid output of original point into the NC-program use the <FROM> command to initialize register values without printing them out into the NC-program code. This prevents the output of movement commands if the travel coordinates equal those of the <FROM> command.

Command:

FROM COUNT 5, MACHINE, X 0, Y 0, Z 254, A 0, C 0, GEOM X 10, Y 0, Z 194, NX 0, NY 0, NZ 1, NW 0, MSF 0, Time 0

Parameters:


Parameter

CLD array

Description

X

CLD[1]

Original tooltip point spatial coordinates, relative to the active workpiece CS

Y

CLD[2]

Z

CLD[3]

NX

CLD[4]

Original tool frame orientation, relative to the active workpiece CS. The way of orientation definition depend on setting inside Machine schema. It can be Euler angles in different conventions, Tool normal vector, quaternion or rotated vector.

NY

CLD[5]

NZ

CLD[6]

NW

CLD[7]

MSF

CLD[8]

Machine state flags (flips). Actual for the robots and machines that can have multiple configurations of physical axes for same spatial position. See description in the next table.

Time

CLD[9]

The time of movement.

AxesCount

CLD[10]

Number of physical machine coordinates affected in this command.

r1

CLD[11]

Index of axis named Axis1Pos in the coordinates list.

Val1

CLD[12]

Value of the machine coordinate Axis1Pos.

r2

CLD[13]

Index of axis named Axis2Pos in the coordinates list..

Val2

CLD[14]

Value of the machine coordinate Axis2Pos.

rN

CLD[2*N+9]

Index of axis named AxisNPos in the coordinates list.

ValN

CLD[2*N+10]

Value of the machine coordinate AxisNPos.


Parameters available through the Cmd operator


TCLDFrom: ComplexType

Original point coordinates command

Axes: Array, Key="AxisID"

Cmd.Ptr["Axes"] - An array of structures such as Axis. One command may include movement along several axes, the position of each is stored in this array.

Axis: ComplexType

Cmd.Ptr["Axes"].Item[Index] or Cmd.Ptr["Axes(<AxisName>)"] - Separate element of the Axes array. Contains information about moving on one machine axis. Access to the array elements can either by index or by key field. Here <AxisName> - the key field value, which must match the AxisID field value.

AxisID: String

Cmd.Str["Axes(<AxisName>).AxisID"] - The identifier of the machine axis, for which the specified new position. Determined by the machine schema.

Value: Double

Cmd.Flt["Axes(<AxisName>).Value"] - The new position of the machine axis, in which it moves.

Pos5D: ComplexType

Cmd.Ptr["Pos5D"] - structure containing the coordinates that define the final position of the tool in space. Determines not only the position of the tuning point of the tool (the fields X, Y and Z - cartesian coordinates), but also the orientation of the tool relative to the current coordinate system (fields NX, NY, NZ and NW). Depending on the configuration of the system (defined in the scheme of machine), the tool orientation can be specified by:

  • Normal vector n = (NX, NY, NZ),

  • Spatial angles of rotation around the coordinate axes - the Euler angles (notation of Euler angles, ie the sequence of rotations is also specified in the settings) A = NX, B = NY, C = NZ.

  • Quaternion q = (NX, NY, NZ, NW).

X: Double

Cmd.Flt["Pos5D.X"] - X cartesian coordinate of the tool tip position.

Y: Double

Cmd.Flt["Pos5D.Y"] - Y cartesian coordinate of the tool tip position.

Z: Double

Cmd.Flt["Pos5D.Z"] - Z cartesian coordinate of the tool tip position.

NX: Double

Cmd.Flt["Pos5D.NX"] - depending on the system configuration may be the NX component of the tool normal vector, the rotation angle around one of the coordinate axis, or the coefficient of the quaternion.

NY: Double

Cmd.Flt["Pos5D.NY"] - depending on the system configuration may be the NY component of the tool normal vector, the rotation angle around one of the coordinate axis, or the coefficient of the quaternion.

NZ: Double

Cmd.Flt["Pos5D.NZ"] - depending on the system configuration may be the NZ component of the tool normal vector, the rotation angle around one of the coordinate axis, or the coefficient of the quaternion.

NW: Double

Cmd.Flt["Pos5D.NW"] - if you have chosen a method of orientation tool in the form of a quaternion is a fourth coefficient of quaternion.

MachineStateFlags: Integer

Cmd.Ptr["MachineStateFlags"].Bit[i], i=(0..31). Integer number which is a bit field of 32 bits from 0 to 31. If there are several variants for the location of the machine axes, providing a specified position of the tool in space, every bit of this field determines the selection of one of the possible solutions. For example, a five-axis machine with A and C axes for most of the positions of the tool has two possible solutions - with a positive A-axis and with negative value of the A axis. Zero bit of this field will choose one of these solutions. For a standard six-axis articulated robot many of the tool positions in space can be provided with different combinations of three of its key joints positions (the base, elbow and wrist joints) giving a total of 8 possible solutions. In this case, the zero bit in this field will determine the position of the base, the first bit - the position of the elbow, and the third bit will be set the position of the robot's wrist. Thus, the meaning of each of this bits is determined entirely by the used machine schema. When using machines that do not need to use these flags, it is possible to disable the output of this parameter to CLData in the machine scheme.

Time: Double

The time of the movement in minutes.


The list of coordinates passed through CLData of <FROM> command is defined by the SprutCAM machine scheme.

Use the <GMA> array to process the <FROM> command. The properties of the <GMA> array are automatically assigned precalculated values of coordinate movement parameters. The command parameters are also available through the Cmd operator.

See also:

Technology commands description