mach3 Post Processor with G93 Inverse Time Feed Rate in Fusion 360

mach3 Post Processor with G93 Inverse Time Feed Rate in Fusion 360

alessiol
Enthusiast Enthusiast
7,863 Views
21 Replies
Message 1 of 22

mach3 Post Processor with G93 Inverse Time Feed Rate in Fusion 360

alessiol
Enthusiast
Enthusiast

Hi guys! 

Question. I am playing with teh 4th axis and the only option I see in the mach3 mill post porcessor is to locate the axis of rotation. The problem is that i also need the inverse time feed rate when multiple axis are on the same line of the gcode or the A axis will move too slow. I tried with the in built FANUC -Inverse Time and A-axis post processor and seems to work. I was wondering if someone knows or can share a Mach3 mill customized post processor with the inverse time activated. I see that if you open conf. you can edit the post porcess whihc seems to have the inverse time already in but I do noy know how to set it up correctly.

Thanks for the help! IF someone has the modfied post processor for mach3 please let me know!

 

Ciao ciao,

Alessio

 

 

Capture.PNG

 

 

0 Likes
Accepted solutions (1)
7,864 Views
21 Replies
Replies (21)
Message 2 of 22

bob.schultz
Alumni
Alumni

Hello Alessio,

 

The Mach3 post processor already defaults to inverse time feedrates for multi-axis moves.  You will notice this line in the post processor.

var useInverseTimeFeed = true; // use 1/T feeds

And when you generate output, you should notice that any blocks where the rotary moves are output in inverse time (G93) mode.

G93 A180. F12.8351


Bob Schultz
Sr. Post Processor Developer

0 Likes
Message 3 of 22

alessiol
Enthusiast
Enthusiast

Hi!

You are totally right. In my case I found that the problem is in how Mach3 reads the F value  in the g-code. The inverse time G93 works on my mach 3 when I create the toolpath from Siemens NX but not from Fusion360. In case of Fusion the Feed rate (F) is like 1/1000 of what the gcode report when G93 is engaged (picture attached). No idea why. With the other software it works just fine. On that XP pc, linked to the CNC, I have Mach3 3.041 version, which is not the latest one, so I thought that could be the issue and maybe the problem was solved in further updates. So I dowloaded the 3.043 (last version) on another pc and indeed there the same G-code from Fusion is working just fine. Of course I proceded to download the mach3 3.043 on the XP pc linked to the milling machine, but I do not know why I can not get out of the demo mode. I have an origin license, I see on top left License to: (The name) but then in the help windows is still in demo mode 😅 I am stocked in both of the way.

0 Likes
Message 4 of 22

bob.schultz
Alumni
Alumni

It is strange that the feed rate listed in the control panel matches the G93 value / 1000.  It's as if this version of the control is not recognizing the G93.  It sounds like the latest version does support G93 correctly.

 

Do you have sample output from NX that you can provide.  This might give a clue on what the older version of the Mach control wants to see.



Bob Schultz
Sr. Post Processor Developer

0 Likes
Message 5 of 22

alessiol
Enthusiast
Enthusiast

Hi!

Do not ask me why but by trying to upload Mach3 to a newer version I had to reinstal the older version too and now als othe Fusion gcode with G93 is working. Does not make any sense since the profile is the same. Anyhow here the 2 gcodes from NX and Fusion. Now they both works for not clearly reason. The gcodes look similar to me, but I am not an expert.

 

Thanks!

 

 

0 Likes
Message 6 of 22

bob.schultz
Alumni
Alumni
Accepted solution

First of all, glad to hear you got it working.  The main difference between the posts is that the NX post limits the inverse time feed rate numbers to 1000 and the Fusion post limits them to 999999.9999.  Since the post is working with the updated controller, you do not need to make any changes to it, but just FYI, you can easily change the maximum G93 feed rate value.

var maxInverseTime = 1000; // maximum value to output for Inverse Time feeds


Bob Schultz
Sr. Post Processor Developer

Message 7 of 22

bob.schultz
Alumni
Alumni

Seems to have posted my response twice

 



Bob Schultz
Sr. Post Processor Developer

0 Likes
Message 8 of 22

alessiol
Enthusiast
Enthusiast

Thanks a lot! You ar ethe only one that was able to gave me an explanation. I will keep it in mind for the future.

0 Likes
Message 9 of 22

alessiol
Enthusiast
Enthusiast

Hello Bob, 

Sorry if I bother you again. I have been working with G93 in mach3 using the dedicated post processor in Fusion. I notice that the feedrate is not predictable from what I set in the toolpath and I find myself to manually adjust it all the time. I have found this posy explaining how mach3 does a distinction between G01 and G02, G03, where it use 1/min or 1/sec to calculate the feedrate in G93.

https://support.machmotion.com/books/knowledge-base/page/inverse-feed-rate-g93-in-mach3

 

I tried to check in the post processor in Fusion, but only found a raw telling that inverse time is calculated both as 1/min or 1/sec but I don't see where it happens and anything referring to G01, G02 and G03.

I was wondering if you could explain me whether is possible to anticipate the resulting feedrate based on the one given during the toolpath generation. 

Many thanks, 

Alessio

0 Likes
Message 10 of 22

bob.schultz
Alumni
Alumni

Hello Alessio,

 

This document shows standard inverse time calculations, which are what the Mach3 post uses.  The Mach3 post will only output inverse time feed rates when a rotary axis moves, otherwise it outputs standard FPM (G94) feed rates.  It does not output inverse time for circular interpolation blocks either.

 

In a nutshell, the post calculates the move distance of the tool tip based on the radius of the cut compared to the rotary table and the angle moved, which should give an accurate distance calculation.  It then calculates the inverse time value using the equation "feed / length", which you can see in the getInverseTime function. It is a pretty straight forward calculation.

 

Thanks,

 

Bob



Bob Schultz
Sr. Post Processor Developer

Message 11 of 22

alessiol
Enthusiast
Enthusiast

Hi Bob,


Thanks for the reply. Really appreciate it.

That's interesting. Because I always get a way lower real working feedrate in mach3. Actually even different Feed rate for the same G93 Axx F value in the g code. Attached a clear example of what I mean. Sometimes a F600 results in 1.6 or 400 real feedrate and the part is circular so always basically the same.

 

BTW adjusting manually I got some nice herringbone gears out of it 🙂

 

 

0 Likes
Message 12 of 22

bob.schultz
Alumni
Alumni

You should notice that the A-axis is moving at a different rate on each of the blocks where the feed rate is different, which is why you are getting different feed rate values, i.e. each block moves the tool a different distance along the part causing the machining time to differ.

 

You can easily test the validity of the feed rate numbers by calculating the radius of the part at each location and then calculating the move length as a percentage of the circumference at this radius ...

 

Distance = (delta_angle / 360) * (2 * PI * Radius).

Time = Distance / Feed

InverseTime = 1. / Time

 

Please note that these values will be slightly off the post calculated feed rate values, since the post takes into account the XYZ machine slide movement and uses the greater radius of the starting point compared to the ending point.

 

If you want to create a simple test case, you can drive around a fixed radius cylinder, in which case the feed rate numbers should match exactly to the calculation provided above.



Bob Schultz
Sr. Post Processor Developer

Message 13 of 22

alessiol
Enthusiast
Enthusiast

Thank you very much for the explanation. Really clear, as usual.

 

0 Likes
Message 14 of 22

alessiol
Enthusiast
Enthusiast

Hi Bob,

 

If you do not mind I took a video from yesterday tests because I was getting crazy and still could't get a smooth toolpath. I know it's only depending on the gcode and would be a pity to use it as it is.

Here a video of what the issue looks like

https://youtu.be/BWATaHGEd7g

 

If we divided the different movements, in lead-in,plunge ecc... the main problem is along this short yellow line, which should be linear movements (pictures attached). Do you know how can I speed them up without increase the feedrate while cutting. Up to know I could only get an overall faster movements, with the downside that the endmill will jump into the material and I broke 2 yesterday.

 

AS you can see in the video the main problem along the gcode are the first line after a G94. The first time it calls a G93 nad the A difference of some degrees compare to where it stops before the resulting feedrate is like 1.3 to 10.6 (in reality)...so slow. To speed it up I tried to set the lead-in,lead,out,plunge anda ramp to crazy value and it does work but then also the blue part of the toolpath (the actual cutting) is faster and that is not good.

 

example Gcode section:

Z13.429 A209.475 F1838.1771
Z13.486 A210.041 F2098.0154
Z13.541 A211.16 F1255.7119
Z13.534 A214.435 F512.5989
G94 Y0.105 Z13.58 F2500.
Y0.147 Z13.687
G0
Z14.141
Y-0.117 A217.165
G1 Z13.696 F2500.
Y-0.095 Z13.584 F25000.
Y0. Z13.519
G93 Z13.488 A217.842 F2091.5936
Z13.35 A218.955 F999.7168
Z13.227 A219.513 F1581.5079
Z12.63 A221.742 F359.9659
Z12.144 A223.474 F461.088
Z11.666 A225.102 F486.0117
Z11.151 A226.675 F478.5251

 

from the A~214 to A~217 is where I have the issue

 

I hope you help me with that. Thank you very much in advance.

 

Ciao,

Alessio

 

0 Likes
Message 15 of 22

bob.schultz
Alumni
Alumni

Hello Alessio,

 

It is strange that the G94 moves would run at such a slow speed when a high FPM feed rate is programmed in the block.  I cannot see a logical reason for the machine to do this.

 

I can only recommend that you disable Inverse Time feed rates and use DPM/FPM feed rates for multi-axis moves.  It is possible that the machine will not behave in this manner if you stay with one feed rate mode.  You can accomplish this by modifying the following line in the post.

 

var useInverseTimeFeed = false; // use 1/T feeds

Please give this a try and see if it solves your problem.

 

Thanks,

Bob



Bob Schultz
Sr. Post Processor Developer

Message 16 of 22

alessiol
Enthusiast
Enthusiast

Thanks, I will try and let you report back.

Yes it is wierd indeed. I tried to change all the possible paramenter to see if it could be solved and the only thing that can speed up that part is increasing the feedrate. Problem is that also the cutting part will be wy faster and I will break the end mills.

I will let you know.

 

0 Likes
Message 17 of 22

prettygoodnotbad
Advocate
Advocate

@alessiol I am running into what I think is a similar issue as you stated in your original post. I am using the Mach3mill post processor and my a axis is running at a snail's pace.

 

I've run into the concept of inverse time and g93 a few times but can't say I fully understand the concept. I'm attempting to turn a 12" rectangular stock into a 1.5" diameter cylindrical rod with the rotary toolpath. The resulting code has crazy feedrates, like in the 15000s and then sometimes jumps to F999999.9999. I tried what @bob.schultz suggested regarding limiting the feedrate to 1000 in the post processor but now every line reads f1000. So first off it seems counter intuitive to me if the machine is running too slow to limit the speed to a lower rate, and also it seems like I'm probably still doing something wrong if all the feedrates are maxed out at 1000. It also makes me wonder what feed rate I should be setting within the operation in fusion.

0 Likes
Message 18 of 22

alessiol
Enthusiast
Enthusiast

Hi! At the end for me the problem was that I was using an older version of Mach3.  Got the latest (well it's old as well, but I mean the last version) and now it moves ok. I still find the converting feedrate a bit wierd but what I do it set it to a slow pace and then adjust the feedrate while machining. That works pretty well for me and could make the herringbone gears I needed. Still the tolpath allowed in Fusion are limited for the 4th axis. I would like a toolpath capable of cuttign the teeth along their main axis as should be. I tried to use other software like Siemen NX and it does it right but it's a mess to set it up :-(, so I sticked with Fusion. Maybe one day Fusion team will invest more on 4th axis machining, since most of the stuff can be then used in 5 axis as well, which is where everyone is going.

So for you I would suggest to set feedrate at 150-200mm/min, same for lead in and lead out and then override it in Mach3. Works pretty well for me without change anything in the postprocessor 🙂

0 Likes
Message 19 of 22

prettygoodnotbad
Advocate
Advocate

Interesting, these rates seem extremely slow to me (I'm working in wood though), with a half inch cutter I can run my machine spindle at 18000rpm with a 200 ipm feedrate so i guess 5,080mm/mm when using the 3 axis bed. At 200 mm/min I'm looking at 7ipm, is this a typical adjustment for using the rotary axis?

 

At 7ipm I get much more reasonable numbers in the gcode (no more F15457.8324 and F999999.9999 and such):

 

X11.9737 A-487.913 F340.2741
X11.9721 A-490.151 F255.221
X11.9715 Z0.7498 A-491.069 F621.1231

 

What I'm wondering now, but can't test at the moment, is if my feedrate was way too high maybe the machine just didn't know what to do with those numbers and ran it slow. I'll check my mach version but its a custom thing that came with the machine, so I'm not sure what I can do about that.

 

Anyway thanks

0 Likes
Message 20 of 22

alessiol
Enthusiast
Enthusiast

No indeed I should have specified that I used a small ball nose in aluminum and with 3k rpm spindle.In wood you can go faster. My 4th axis is an harmonic drive and can not work as a lathe. Its really precise but can not spin 1k rpm a minutes. Well at least never tried. So those fed rates have me a constant fat movement that worked pretty well, but I always adjusted while working. 

One thing you have to be sure is that you have activated, next to the A circumstances in the DRO, the radius compensation. Then in the last tab of the software, don't remember if it's called diagnostic or something else, you can enter the stock radius. That is important for mach to calculate the increase time based on the diameter of the stock. One trick is to set it at 0.000001 in order to don't change it anymore. Then you have to give the Z0 stock in the middle of the stock and the inverse time will be adjusted based on piece diameter from Mach3.

I would suggest to try with a feed rate and overdrive in the softer. The inverse time is the time to accomplish the movement so it's not what we are used to see.

Regarding the Mach3 version. If you think it's custom is proverbi just a Macro created for the machine. As far as I know there is only 1 Mach3 software and then people are free to create macros that changes the layout and graphics but the software at the based is the same. On YouTube you can see how to load macro or exit them. In the info tab you can find software version. The lasts one should be 3.46.xx something. Back you can download or from the website. The you only have to transfer your license inside the folder and your machine profile. That only in case you need to update it. 

0 Likes