For a Mazak Variaxis with Dual-rotary-Table 5Axis post, I set the "Rotary axis distance" (4th axis to 5th axis offset) to be 0.0, and we use the G54.4 Px to compensate the distance on the machine. So in NX programming, we can set the MCS at anywhere (To be simple, at any height above the table rotary center.
In NX ISV, it will automaticallyy update the postprocessor with the rotary distance, and output the code after recalculating the distance. (PB_CMD_revise_iks, PB_CMD_reload_iks_parameter). So, if the machine is loaded, your output code is different from the code posted when there is no machine loaded.
So NX ISV simulation seems to be correct, but that code is actually not usable. On the machine, our MCS is not set at the 4th axis rotation center, the machine will compensate it with G54.4 Px.
If I disable the revise_iks function in the postprocessor (PB_cmd_revise_iks, uncomment ...), and the code generated is good now, but the simulation is not correct. It will use G54, but G54 is not at the 4th axis rotation center.
So my question is -- How to set the G54.4 Px in NX ISV, to do the dynamic offset compensation if the MCS is not at the rotation center of the 4th axis?
In the FanucFamily.CCF file from OOTB Sim08 in NX 11.0.2 you will find the G54.4 Px default implementation.
I hope it helps.
I finally got around to testing this 11.02 version of G54.4 and am not seeing what I expect.
I used the sample: sim08_mill_5ax_cam_fanuc_in.prt
posted replaced all "G54" with "G54.4 P1"
set a G10 to set WSEC
replay still showing same position
G17 G20 G94 G90 (FACE_TOP , TOOL : UGT0202_001) G10 L23 P1 X0 Y0 Z2.0 A0 B0 C0 I0 J0 N1 G0 G53 Z0. N2 T01 M6 N3 G54.4 P1 N4 G68.2 X0. Y0. Z0. I0. J0. K0. N5 G53.1 N6 G17 G43 G0 G90 X-3.1338 Y1.6535 Z1.9685 S2228 H1 M3 N7 Z0.1181 N8 G94 G1 Z0. F47.4 N9 X-2.2047