Showing results for 
Search instead for 
Did you mean: 

Forcing G43.4 (TCP) for 3+2 axis operation

Hello, brothers !

I am excited to be part of this community !

This is my first post here, but I have more than 10 years experience with NX CAM and self learning postprocessing.

I hope I am going to be helpful for you too !


Is there a way a 5 axis UG postprocessor (for example one of those in installed machines folder)
to output G43.4 instead of G68/G68.2 format ??
I know that 3+2 should be preferred (arcs, rad. comp, canned cycles) but I need the TCP output for a particular case. I would like to have this choice/opportunity for operations like multiaxis holemaking/drilling for rivet holes.
I have tried with choosing "G1-Feed Mode" for Rapid. Did not work.

Thank you !


Re: Forcing G43.4 (TCP) for 3+2 axis operation

Gears Phenom Gears Phenom
Gears Phenom



I think any template you use it cant output multiaxis holemaking and multiaxis old drilling. (It can but it dont respect paths as we know).

(Better way is made own postprocessor from generic template.

Ive never used instaled machine PP or some library template PP but doesnt matter.)


You want G43.4:

If there is holemaking operation - output G43.4 and/or switch some mode in instaled machine PP.......

But if you will do it - output is only single moves (must be of course without cycles,circular, helical output).

Best output you get with switching this modes during operation Smiley Happy - and than cycles,circular, helical, cycle output is usable.

There is looong way of testing, lots of problems you have to handle in postprocessor and you should know how machine works and what it want.

But it is possible for holemaking and old-drill too , without workaround Smiley Wink


G1 feed mode for rapid has nothing with this case.



#♫ PB, 5ax, itnc, nx, vericut ♫ #

Re: Forcing G43.4 (TCP) for 3+2 axis operation

Gears Esteemed Contributor Gears Esteemed Contributor
Gears Esteemed Contributor

Yes, it can be done.

I would suggest a UDE to change post behavior, add to a METHOD view method object (so behavior can be changed at an event before initial/first move), and add the ops to that method.

(you could also add the same UDE with the "revert to normal behavior" option to the end events of the method object, to automatically restore G68/etc. functionality)

You could then change the machine kinematics (from table-table to head-table or head-head), etc. as needed.


The problem (as I see it) is *if you have a "head" rotary axis* on the actual machine, and don't use G68 to rotate the coordinate system...

1) you cannot get arc output in random planes

2) you cannot use normal "G8x" drill cycles (G81, G82, G83, G73, etc.) as the Z axis no longer is pointing along the hole axis (except for the one direction that it really is).

(Unless you do a lot of work on your own...)

As all those motions would (I think) have to be output as G1 motions



Ken Akerboom Sr CAx Systems Engr, Moog, Inc.
Production: NX10.0.3.5 MP16/TC11.2
I'd rather be e-steamed than e-diseaseled

Re: Forcing G43.4 (TCP) for 3+2 axis operation


It is possible (on a Fanuc machine) to use G43.4 and G68.2 at the same time. Fanuc recommends to do so (in fact) for all prismatic motion. Then there is WSEC (G54.4) which will allow a dynamic offset for the part on top of that (translation and rotation.) I am not aware of any out of the box posts demonstrating this. G43.4 output can be achieved no matter what kinematic by putting mom_mcs_goto values in the mom_pos (I would think in PB_CMD_before_motion.) In the zone that the machining is happening - a translation should be set (to put zero there) then a rotation can be applied to set Z along the tool. Sim15 has some math functions that can help for transformation.

Windows 10 Pro

Re: Forcing G43.4 (TCP) for 3+2 axis operation

Hello Juraj,

Thank you !

I have done this before - creating a separate postprocessor responsible only for the simultaneous 5 axis ( because I did not know how to combine them). They were for Heidenhain, Fanuc and Okuma. I had success when I have chosen dual rotary head (no matter of machine kinematic) and replacing G43 with G43.4. But now I am using one of those "sim" postprocessors, I have created a new 5 axis machine ( we have the model from the manufacturer). I have joined the new modified postprocessor to it and it is working fine for both 3+2 and 5 axis milling. I would like to avoid changing the kinematic because the NX CAM file with a ISV machine attached require the PP to have the same kinematic (axis structure). Otherwise it just skip the postprocessing for the different parts.

The idea is to force TCP control (G43.4) for a index operation without giving up from the working PP and G- code simulation packet.

Re: Forcing G43.4 (TCP) for 3+2 axis operation

Hello Ken,

Thank you !


I think your suggestions for placing the operation into a different method group and a new UDE is the key for that. I do not need rad. comp. and canned cycles for that application. The goal is speed and better movement control in almost full 180 deg machining. I understand that everything will be G1.

I am working on  NX10.0.3.5

When I said holemaking I meant "Hole_making (Type)-Drilling(Sub Type)", not "Hole-milling".

The PP swithcing very well between both (G68.2 and G43.4) - no problem with that.

I would be very grateful for a sample of "If " statement turning on G43.4 over G68.2.


Re: Forcing G43.4 (TCP) for 3+2 axis operation

Gears Phenom Gears Phenom
Gears Phenom

I have not separete postprocessors.

3+2 and simult. 5ax - how to combine them:

 some cmd that returns you type of operation - continous  5ax or 3+2 - and just look at this status further. Done


Ive never deal with kinematic. I use everytime dual rotary tables. In every case.

For simult. 5ax operation type just switch off circular output in PP ( or in operation in NX).


To handle holemaking in 5axis:

You have to switch simult.5ax motions and 3+2 motions to keep circ. output, cutter compensation, helical move, cycles(!). (No G43.4 workaround, UDEs, methods, etc....)


The logic in sim or library postprocessors is different , you can help with them ofcourse,  but they wont be so good as you can build from base (generic pp).



#♫ PB, 5ax, itnc, nx, vericut ♫ #

Learn online

Solution Information