I am confused with G54 to G59. Look at the following code and run it on a
simulation setup with Axis C rotation added:

G10 L2 P1 x0  y0  C0
G10 L2 P2 x10 y10 C0
G10 L2 P3 x0  y0  C-45

o100 sub
G0 x25 y0
G1 x30 f200
G1 y5
G1 x25
G1 y0
o100 endsub

g54 G0 x0 y0 C0
o100 call
g55 G0 x0 y0 C0
o100 call
g56 G0 x0 y0 C0
o100 call

G54 x0 y0 C0
m30

In trivial kinematics it does three squares, the first one in untransformed
coordinates, the second one with a shift of origin to x10 y10, and the 3rd
one with a rotational shift of -45 degrees. All seems as expected.

In world mode of a 4-axis system, with the inverse kinematics:

  joints[0] = cos(C)*x - sin(C)*y;   joints[1] = sin(C)*x + cos(C)*y

and forward kinematics:

  x = cos(C)*joints[0] + sin(C)*joints[1];  y = -sin(C)*joints[0] +
cos[C]*joints[1]

it does the first and second squares in the same way as with trivialkins,
but the 3rd square is placed in the original world coordinate position, even
though the C-axis has been turned -45 degrees.

My question is: why does the G55 shift work the same but not the G56?

Rudy

**************


------------------------------------------------------------------------------
Write once. Port to many.
Get the SDK and tools to simplify cross-platform app development. Create 
new or port existing apps to sell to consumers worldwide. Explore the 
Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join
http://p.sf.net/sfu/intel-appdev
_______________________________________________
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users

Reply via email to