Does anyone know how to:Make 5 axis output at start of operation always be B0, C0 with IJK 001?

Valued Contributor
Valued Contributor

One of the things UG post does is take the shortest rotary distance.  Example.

Initial operation moves at IJK 0,0,1 Post outputs B0C0 Good.

Now the program has operations that move to another orientation that outputs B90.C-90.

Then succeeding operations again move to IJK 0,0,1 again, but now the post Outputs B0C-90. Bad even though XY is output correct for this rotation.  The problem is the Static fixture comp used is designed for B0C0.  As far as the programmer sees, the orientation is the same.  Programmer assigns G54 to IJK 0,0,1 orientations.   G54  configured for B0C0 will scrap parts or worse when used at B0C-90. orientation.  This is a problem for most every 5 axis rotary configuration with tables.


In the post we can read the IJK only after MOM has processed the position and orientation.   Too late to change the rotary output at that point with the equivalent of using the ROTATE UDE code.


What we need is a way to always force B0C0 in the above example only when IJK 001 at the start of the operation.   Operation start moves only.  


We know the workaround of using the ROTATE UDE to force C back to 0, that works if the workaround is remembered by the programmer, before parts are scrapped on the floor.  We have built in warnings in the post when a static fixture comp is used at 2 different rotations, but warnings are not always good enough. 


Also we don't want to always use the Rotate UDE equivalent of C0 at the start of every operation.  That could cause flip-flop from B-90.C270. to B90.C-90. or similar, from one operation to the next. 


PR turned in to Development came back with "no solution".    Now an ER.