1 smc_rotatequeue2d, 2 smc_translatequeue3d, 3 smc_scalequeue3d – Lenze PLC Designer PLC-Designer (R2-x) SoftMotion User Manual
Page 200: Scalings, Smc_rotatequeue2d, Smc_translatequeue3d, Smc_scalequeue3d, L-force | plc designer - softmotion

DMS 5.2 EN 03/2011 TD17
L
200
L-force | PLC Designer - SoftMotion
The SM_CNC.lib library
Auxiliary functions and function blocks for path rotations, translations and scalings
7.14
Auxiliary functions and function blocks for path rotations, translations and scalings
The function blocks SMC_RotateQueue2D and SMC_TranslateQueue3D contained in SM-
CNC lib rotate or shift the path stored in an SMC_OutQueue.
The path to be rotated or shifted is handed over in the form of a pointer to the
SMC_OUTQUEUE structure object by means of the DataIn input variable.
The bEnable input which has been initialised with FALSE prevents the path from being
rotated or shifted until it is set to TRUE. All GEOINFOR elements are then processed by
poqDataIn. As soon as bEnable becomes FALSE, the blocks do not carry out any more
changes.
The bReset input, which has also been initialised with FALSE, causes the GEOINFO objects
currently located in poqDataIn not to be processed but only causes those arriving from
now onwards to be rotated or shifted.
7.14.1
SMC_ROTATEQUEUE2D
The path contained in poqDataIn will be rotated around the Z axis by the angle in degrees
given in dPhi. A positive angle effects a positive rotation in the mathematical sense
(counterclockwise).
7.14.2
SMC_TRANSLATEQUEUE3D
The path contained in poqDataIn is shifted by the vector transferred in vec of the structure
type SMC_VECTOR3D (see
7.14.3
SMC_SCALEQUEUE3D
The path contained in poqDataIn will be stretched by the fScaleFaktor factor.
As a sudden modification of the characteristic variables of the rotation/translation (dPhi,
vec) during processing might cause a jump in the path, any changes to the inputs of these
variables will not be taken into account until the SMC_OUTQUEUE for poqDataIn is empty
or a bReset is carried out.
In order to effect a rotation in the (XY) plane around a point other than (00), i.e. to reach
point (XpYp), use the following sequence: a translation according to the vector (-Xa-Yp°0),
a rotation about the desired angle dPhi and another translation according to the vector
(XyYp°0).