Results 1 to 14 of 14
Thread: Inverse time, Fusion 360

02152017, 01:10 PM #1
Inverse time, Fusion 360
Looking for a post processor for 4th axis on a Centroid control since the supplied generic Centroid post doesn't do multiaxis work.
Trying the supplied Fanuc Aaxis inverse time post it gave a feedrate of "F128". Doing the same thing with a Haas Aaxis inverse time post the feedrate was "F611.".
Using the Centroid calculation method I came up with "F625". Considering rounding errors in my quick calculations Haas and Centroid use the same method.
What's with Fanuc and do other controls use even different methods to calculate inverse time?


02152017, 01:29 PM #2
If you do find one that produces the correct Aaxis results, it would be super easy for Autodesk to copy that feature into a modified Centroid post for ya, I would suspect. They have been helpful with our post modifications.

02152017, 01:58 PM #3

02172017, 09:19 AM #4
I got a reply from Autodesk, apparently they don't do custom posts, only generic type. They did give me a list of resellers who could customize a post. I guess you can't expect too much for nothing.

02192017, 08:09 AM #5
Did contact the Fusion forum or the HSM forum?


02192017, 11:54 AM #6
I followed a link that seems to have taken me to the HSM forum in the Autodesk Community. Maybe the wrong place, huh?
At any rate I did find a post that (sort of) works. It's the Haas inverse time A axis post supplied with the Fusion download. I haven't run the code yet, but it seems to be correct format for Centroid.
What's strange about the Haas post is the output when a circular contour is wrapped onto a 2" diameter round. The A axis rotation spans about 70 to 70 degrees in this case. All the feedrates are the same from 0 to 30 degrees (and 0 to 30) then the feed abruptly doubles from 30 to 70 degrees (and 70). Code is shown below, note it's inverse time so higher number is slower. I checked in CAD to verify and it appear after 30 degrees the increment length from N59 to N60 is doubled from N61 to N62 reflecting more time needed to feed that distance.
N57 X1.2871 A25.574 F820.649
N58 X1.2805 A26.549 F820.648
N59 X1.2733 A27.512 F820.647
N60 X1.2661 A28.475 F820.646
N61 X1.2507 A30.375 F410.335 ; feed change here
N62 X1.2344 A32.248 F410.334
N63 X1.2171 A34.093 F410.333
N64 X1.1988 A35.907 F410.332
N65 X1.1796 A37.688 F410.332

02192017, 12:02 PM #7
Not to deride from your intent, but are you actually able to get real 4 axis simultaneous tool paths, or are these for something else? I ask, because I dropped fusion for its lack of 4 axis ability that contradicted what the advertising said. So I would be interested in hearing if you are actually using some.

02192017, 01:19 PM #8
I don't know what math is used in the post, but it has to calculate the length of every vector and the circumference of every arc, in order to deduce the time duration of the move. When I see a sudden doubling like that, at 30 or 60 degrees, I think of the effect of sine or cosine. So I think the formula being used is off track.

02192017, 02:34 PM #9
If you multiply the move length by the inverse time feedrate you will get the linear feedrate. Based on the code you posted your programmed rate was 15 ipm. Is that right?
I'm not sure why the move lengths double, but the feed stays fairly consistent.


02192017, 03:12 PM #10

02192017, 03:40 PM #11
You're right the feed rate was supposed to be 15 ipm, and I also noticed it calculated backward to come to that rate.
Where there could be a problem is by increasing the segment length the output may not be in within their accuracy tolerance. That little popup box in the lower right of the post process operation it says "(built in) tolerance .002". If that's changed to .001, the code is the same.
Another puzzle.....when I tried the supplied Fanuc inverse time post the results were more what you would expect. Each line has a slightly different calculated feedrate, all within a range of about F170 to F190 up to 30 degrees. It does the same change of the feedrate at 30 degrees though. Fanuc must calculate inverse time in different units because where Haas is in the F820 range Fanuc is in the F180 range.

02202017, 10:19 AM #12
Just popping in, and haven't done my due diligence reading here.. A quick glance shows the haas post is dividing the toolpath into equalized segments; the segments @ 410 ipm are roughly twice as long as the 820dpm segments. Most likely, the fanuc post is just segmenting differently, or not at all. In other words, both are probably correct.
The response you got on the CAM forum was from an Expert Elite, not from Autodesk themselves.. but it is still rather accurate. OTOH, if you're using an existing out of the box post, and it's lacking functionality that the MTB/control offer, it's entirely possible they'd gladly implement it into the out of the box post. The tricky part is usually finding someone who can reliably define the work that needs to be done, and test it to verify they're not pushing out garbage to a ton of customers.

02202017, 10:56 AM #13
Thanks for making the point. Yes, you're correct, I forgot to mention this. From memory, the Fanuc post is segmenting a bit shorter increments, taking that into account I still didn't see any correlation between the feedrates.
Makes you wonder for the same model why the segmentation is different, huh? Different individuals writing the posts maybe?
When I get time I'll check into this a little deeper.
I'm not depending on Fusion for anything other than personal interest, other software handles my needs.

03192017, 05:59 PM #14
Never used Autodesk's so I'm not sure how much of the kinematic of the machine/software you have access too through post, but here goes the compute 4ax procedure in TCL for multiaxis output (up to 5ax, if you need it later)
Could be wrong but believe Autodesk is post processing using jscript. Which would then make it easy(er) for a programmer to convert that TCL proc and apply it to your jscript PP.
Code:set dist $mom_motion_distance if { [string match "3_axis_mill" $mom_kin_machine_type] } { if { $dist < .0001 } { set dist .0001 } set frn [expr $mom_feed_rate / $dist] } else { # Rotary angles global mom_rotary_delta_4th mom_rotary_delta_5th DEG2RAD # Recompute rotary delta for XZC mill post global mom_sys_coordinate_output_mode set a4 [expr abs($mom_rotary_delta_4th)] set a5 [expr abs($mom_rotary_delta_5th)] global mom_pos mom_prev_pos set delta(0) [expr $mom_pos(0)  $mom_prev_pos(0)] set delta(1) [expr $mom_pos(1)  $mom_prev_pos(1)] set delta(2) [expr $mom_pos(2)  $mom_prev_pos(2)] } #++++++++++++++++++++ # According to Fanuc #++++++++++++++++++++ set dist_max [expr sqrt( $delta(0)*$delta(0) + $delta(1)*$delta(1) + $delta(2)*$delta(2) + $a4*$a4 + $a5*$a5 )] if { $dist_max < .0001 } { set dist_max .0001 } set frn [expr $mom_feed_rate / $dist_max] # output or store feedrate here, you get the idea...
Bookmarks