Rounding error on Circular Milling Operation

Rounding error on Circular Milling Operation

LibertyMachine
Mentor Mentor
2,945 Views
33 Replies
Message 1 of 34

Rounding error on Circular Milling Operation

LibertyMachine
Mentor
Mentor

There is no option (on Fusion side) to dictate a tolerance in the Circular milling operation. I have 2 holes in a fixture, they both measure .1875".

 

Here is the code for hole #1:

G0 G54 X-3.4619 Y-.8356 S5000 M3
G43 Z-.9 H5 M8 T4
G0 Z-1.355
G1 Z-1.405 F5.
G41 X-3.4514 Y-.9188 D5
G3 X-3.3681 Y-.8356 J.0832
I-.0937
X-3.4514 Y-.7523 I-.0832
G1 G40 X-3.4619 Y-.8356
G0 Z-.9

Here is the code for hole #2

X-.8732 Y-.6384
Z-1.305
G1 Z-1.355 F5.
G41 X-.8627 Y-.7216 D5
G3 X-.7795 Y-.6384 J.0832
I-.0938
X-.8627 Y-.5551 I-.0832
G1 G40 X-.8732 Y-.6384
G0 Z-.9

Why the difference? I measured the features down to 5 places, and they are identical. This isn't the first time I've encountered this, but the first time I've bothered to mention it.

 

Yes, it's only .0001" difference.

Yes, my machine can hold that tolerance, all day long.

Yes, I could ream/boremill the feature, all this I know.

Class X pins show the difference in size as well.


Seth Madore
Owner, Liberty Machine, Inc.
Good. Fast. Cheap. Pick two.
0 Likes
2,946 Views
33 Replies
Replies (33)
Message 2 of 34

HughesTooling
Consultant
Consultant

What do you get if you post using dump.cps, just curious.

 

Mark

Mark Hughes
Owner, Hughes Tooling
Did you find this post helpful? Feel free to Like this post.
Did your question get successfully answered? Then click on the ACCEPT SOLUTION button.

EESignature


0 Likes
Message 3 of 34

Steinwerks
Mentor
Mentor

Post?

 

Best guess on my part is since it's cutting your hole diameter+tool diameter in half to .09375" the post is rounding it in tenths since that's all the machine will take for code. Could be location tolerance.

 

Can you share the part? Have you looked at the toolpath (expand toolpath, right click on the size and select View Toolpath)?

 

View Toolpath.png

Neal Stein

New to Fusion 360 CAM? Click here for an introduction to 2D Milling, here for 2D Turning.

Find me on:
Instagram and YouTube
0 Likes
Message 4 of 34

HughesTooling
Consultant
Consultant

 

I'd guess this is partly down to using incremental arc centres, not sure if there's any way to work around that in the post.

 

Mark

Mark Hughes
Owner, Hughes Tooling
Did you find this post helpful? Feel free to Like this post.
Did your question get successfully answered? Then click on the ACCEPT SOLUTION button.

EESignature


0 Likes
Message 5 of 34

LibertyMachine
Mentor
Mentor

never having used Dump.cps before, not sure where I'm looking. I think I found it, but I've attached the file for your opinion

259: onCircular(false, -3.4618648018423968, -0.8355995238296628, -1.4050000108133152, -3.368114861916369, -0.8355995238296628, -1.4050000108133152, 5)
  sweep: 360deg
  radius: 0.09375
260: onMovement(MOVEMENT_LEAD_OUT /*lead out*/)
260: onCircular(false, -3.451364772526298, -0.8355995238296628, -1.4050000108133152, -3.451364772526298, -0.7523495381272683, -1.4050000108133152, 5)
  sweep: 90deg
  radius: 0.08325
261: onRadiusCompensation()
  radiusCompensation=RADIUS_COMPENSATION_OFF // off


276: onMovement(MOVEMENT_CUTTING /*cutting*/)
276: onCircular(false, -0.8732161183995525, -0.6383743436317744, -1.3549999927911232, -0.7794661033810593, -0.6383743436317744, -1.3549999927911232, 5)
  sweep: 360deg
  radius: 0.09375
277: onMovement(MOVEMENT_LEAD_OUT /*lead out*/)
277: onCircular(false, -0.8627160890834538, -0.6383743436317744, -1.3549999927911232, -0.8627160890834538, -0.5551243579293799, -1.3549999927911232, 5)
  sweep: 90deg
  radius: 0.08325
278: onRadiusCompensation()
  radiusCompensation=RADIUS_COMPENSATION_OFF // off

Seth Madore
Owner, Liberty Machine, Inc.
Good. Fast. Cheap. Pick two.
0 Likes
Message 6 of 34

LibertyMachine
Mentor
Mentor

Eh, here's the part


Seth Madore
Owner, Liberty Machine, Inc.
Good. Fast. Cheap. Pick two.
0 Likes
Message 7 of 34

Steinwerks
Mentor
Mentor

I'd also like to point out that if you go into Compare and Edit you will find a chaining tolerance. Most likely not the issue, but you can tighten that up and see if the posted output changes.

 

Edit: it sure didn't change the View Toolpath numbers.

Neal Stein

New to Fusion 360 CAM? Click here for an introduction to 2D Milling, here for 2D Turning.

Find me on:
Instagram and YouTube
0 Likes
Message 8 of 34

LibertyMachine
Mentor
Mentor

The chaining tolerance was set to .0004"

I changed it to .0001", same results. I then changed it to .00005", same results

 

The last time I encountered this, I was interpolating a hole that was .2505"

I think it don't like 5's...


Seth Madore
Owner, Liberty Machine, Inc.
Good. Fast. Cheap. Pick two.
0 Likes
Message 9 of 34

Steinwerks
Mentor
Mentor

One thing I noticed was the locations and I wonder if that's something in the rounding issue.

 

Location.JPG

 

What happens if you make a duplicate and post it in metric? The higher resolution may yield a closer to nominal result.

 

Edit: you could also try making another setup and aligning the holes along an axis and see if the post changes to see if the center position has an effect.

Neal Stein

New to Fusion 360 CAM? Click here for an introduction to 2D Milling, here for 2D Turning.

Find me on:
Instagram and YouTube
0 Likes
Message 10 of 34

HughesTooling
Consultant
Consultant

I think this is a rounding error in the post.

This is what I get with a post set to absolute arc centres.

Clipboard02.png

 

Clipboard01.png

 

I think the problem is incremental position are calculated in the post with  jOutput.format(cy - start.y, 0) so there's more room for a rounding error to creep in.

 

Mark

Mark Hughes
Owner, Hughes Tooling
Did you find this post helpful? Feel free to Like this post.
Did your question get successfully answered? Then click on the ACCEPT SOLUTION button.

EESignature


0 Likes
Message 11 of 34

LibertyMachine
Mentor
Mentor

@Steinwerks taking your second idea, I made a line between the centerpoints of the 2 holes. Made that my "X" axis and posted it out. Code looks good, however, it's no longer entering the cut at the 3 o'clock position, more like the 4 o'clock. 

G1 Z-.405 F5.
G41 X.0041 Y-.0838 D5
G3 X.0935 Y-.0071 I.0063 J.083
I-.0935 J.0071
X.0168 Y.0822 I-.083 J.0063
G1 G40 X0. Y0.
G0 Z.1
Z-.355
G1 Z-.405 F5.
G41 X.0041 Y-.0838 D5
G3 X.0935 Y-.0071 I.0063 J.083
I-.0935 J.0071
X.0168 Y.0822 I-.083 J.0063
G1 G40 X0. Y0.
..
...
G41 X2.6003 Y-.0838 D5
G3 X2.6896 Y-.0071 I.0063 J.083
I-.0935 J.0071
X2.6129 Y.0822 I-.083 J.0063
G1 G40 X2.5962 Y0.

Seth Madore
Owner, Liberty Machine, Inc.
Good. Fast. Cheap. Pick two.
0 Likes
Message 12 of 34

LibertyMachine
Mentor
Mentor

@HughesTooling so I can I get around this and still maintain this method of programming? (I and J's for radii and "lead to center" for circular)


Seth Madore
Owner, Liberty Machine, Inc.
Good. Fast. Cheap. Pick two.
0 Likes
Message 13 of 34

HughesTooling
Consultant
Consultant

Does your control have a code for ABS arc centres, Mach3 has G90.1?

 

Mark

Mark Hughes
Owner, Hughes Tooling
Did you find this post helpful? Feel free to Like this post.
Did your question get successfully answered? Then click on the ACCEPT SOLUTION button.

EESignature


0 Likes
Message 14 of 34

LibertyMachine
Mentor
Mentor

I'll have to look into that. It's a 2015 Mori Seiki DuraVertical 5100 with a Fanuc 0M control.


Seth Madore
Owner, Liberty Machine, Inc.
Good. Fast. Cheap. Pick two.
0 Likes
Message 15 of 34

LibertyMachine
Mentor
Mentor

Negative.

granted, I have not read the Fanuc manual front to back, but keyword searches of every term I could come up with that MIGHT apply produced nothing


Seth Madore
Owner, Liberty Machine, Inc.
Good. Fast. Cheap. Pick two.
0 Likes
Message 16 of 34

Steinwerks
Mentor
Mentor
Workaround idea: does your control have the option to use R words instead of IJK? I can't imagine it wouldn't, but then again it's Fanuc, so who knows.
Neal Stein

New to Fusion 360 CAM? Click here for an introduction to 2D Milling, here for 2D Turning.

Find me on:
Instagram and YouTube
0 Likes
Message 17 of 34

LibertyMachine
Mentor
Mentor

Smiley Very Happy @ the Fanuc comment

 

Yes, it does support R words. I just hate departing from uniformity. My day job shop uses Esprit and I've never seen this occurrence. Not to say it doesn't happen, but I've never seen it in the 8 years I've been there. I can ask the programmer on Monday if he ever had to do anything about it.


Seth Madore
Owner, Liberty Machine, Inc.
Good. Fast. Cheap. Pick two.
0 Likes
Message 18 of 34

Steinwerks
Mentor
Mentor

To be fair, if you actually need to hold that .0001" tolerance (well, more like ±.0001"), it should probably be done on a Yasda 

 

I understand trying to keep code the same as what you're used to, but sometimes we are forced into situations that are less than optimal. Another workaround idea: change the hole diameter to .1876 and see if the arc changes in the post. Comp it with Stock to Leave and see if it still shows up. Just trying to find out what it's rounding and where.

Neal Stein

New to Fusion 360 CAM? Click here for an introduction to 2D Milling, here for 2D Turning.

Find me on:
Instagram and YouTube
0 Likes
Message 19 of 34

Laurens-3DTechDraw
Mentor
Mentor

Pretty sure this is indeed a post rounding issue.

In most posts there is a line like this at the top:

tolerance = spatial(0.002, MM);

0.0001 inch is 0.00254 mm so if your post processor tolerance is left at it's default it's allowed to be off by that much.

Haven't tested your file with a tighter tolerance though so it might not help. Worth a try I think.

Laurens Wijnschenk
3DTechDraw

AutoDesk CAM user & Post editor.
Found out the hard way is the best way to win.


0 Likes
Message 20 of 34

HughesTooling
Consultant
Consultant

Looking at the dump file these are the numbers being used onCircular, format seems to be IJZ XYZ

 

For the first hole the difference is 0.093749939926027 and the second 0.0937500150184932, you'd think they should round to the same number. I'll have to experiment with the post and see if I can get it to output as comments before any rounding.

Clipboard01.png

250: onCircular(false, -3.4488647941529282, -0.8355995238296628, -1.4050000108133152, -3.368114861916369, -0.8355995238296628, -1.4050000108133152, 5)
sweep: 90deg
radius: 0.08075
251: onMovement(MOVEMENT_CUTTING /*cutting*/)
251: onCircular(false, -3.4618648018423968, -0.8355995238296628, -1.4050000108133152, -3.368114861916369, -0.8355995238296628, -1.4050000108133152, 5)
sweep: 360deg
radius: 0.09375


275: onCircular(false, -0.860216110710084, -0.6383743436317744, -1.3549999927911232, -0.7794661033810593, -0.6383743436317744, -1.3549999927911232, 5)
sweep: 90deg
radius: 0.08075
276: onMovement(MOVEMENT_CUTTING /*cutting*/)
276: onCircular(false, -0.8732161183995525, -0.6383743436317744, -1.3549999927911232, -0.7794661033810593, -0.6383743436317744, -1.3549999927911232, 5)
sweep: 360deg
radius: 0.09375

Mark

Mark Hughes
Owner, Hughes Tooling
Did you find this post helpful? Feel free to Like this post.
Did your question get successfully answered? Then click on the ACCEPT SOLUTION button.

EESignature


0 Likes