Fusion Manufacture

Talk shop with the Fusion (formerly Fusion 360) Manufacture Community. Share tool strategies, tips, get advice and solve problems together with the best minds in the industry.

- Forums Home
- >
- Fusion Community
- >
- Manufacture Forum
- >
- Probing routine not updating offset correctly

Fusion Manufacture

Talk shop with the Fusion (formerly Fusion 360) Manufacture Community. Share tool strategies, tips, get advice and solve problems together with the best minds in the industry.

Turn on suggestions

Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.

This page has been translated for your convenience with an automatic translation service. This is not an official translation and may contain errors and inaccurate translations. Autodesk does not warrant, either expressly or implied, the accuracy, reliability or completeness of the information translated by the machine translation service and will not be liable for damages or losses caused by the trust placed in the translation service.
Translate

Topic Options

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page

Message 1 of 12

02-14-2022
09:46 AM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report

02-14-2022
09:46 AM

This one has really got me puzzled......

I have several parts on the bed, each a set distance away from one and other and i have manually probed G54 and used this as the reference for each of the other parts. The probing sequence moves to the next part, probes the Z,X & Y and then updates the correct offset number (G55,G56,G57etc).

The problem is that it appears the below routine is putting the difference from the actual start position after each move as opposed to the distance between G54 and the new probing position.

So i am expecting the first (S2=G55) probe to return the same location as G54. I am then expecting the second (S3=G56) to return a co ordinate that is at least 65.4mm away (for X anyway) from the co-ordinate stored in G55. Instead it gives me the distance from the move which is obviously nearly identical to that of G55.

I can't understand why? The correct offset is being changed but with a value that seems to be linked to the previous G1 move on the machine as opposed to just picking up the position within the machine without reference to this previous move.

```
(Z)
G54
G1 X0. Y0. F5000.
G65 P9832
G0 Z91.7
G65 P9810 Z41.7 F1000.
G65 P9810 Z12.
G65 P9811 Z0. Q10. S2.
G65 P9810 Z41.7
G0 Z91.7
G65 P9833
(Y)
G54
G1 X0. Y0. F5000.
G65 P9832
G0 Z91.7
G65 P9810 Z41.7 F1000.
G65 P9812 Y49.8 Z22.7 Q10. R-12. S2.
G65 P9810 Z41.7
G0 Z91.7
G65 P9833
(X)
G54
G1 X0. Y0. F5000.
G65 P9832
G0 Z91.7
G65 P9810 Z41.7 F1000.
G65 P9812 X25.4 Z-5. Q10. R12. S2.
G65 P9810 Z41.7
G0 Z91.7
G65 P9833
(Z)
G54
G1 X65.4 Y0. F5000.
G65 P9832
G0 Z91.7
G65 P9810 Z41.7 F1000.
G65 P9810 Z12.
G65 P9811 Z0. Q10. S3.
G65 P9810 Z41.7
G0 Z91.7
G65 P9833
(Y)
G54
G1 X65.4 Y0. F5000.
G65 P9832
G0 Z91.7
G65 P9810 Z41.7 F1000.
G65 P9812 Y49.8 Z22.7 Q10. R-12. S3.
G65 P9810 Z41.7
G0 Z91.7
G65 P9833
(X)
G54
G1 X65.4 Y0. F5000.
G65 P9832
G0 Z91.7
G65 P9810 Z41.7 F1000.
G65 P9812 X25.4 Z-5. Q10. R12. S3.
G65 P9810 Z41.7
G0 Z91.7
G65 P9833
(Z)
G54
G1 X130.8 Y0. F5000.
G65 P9832
G0 Z91.7
G65 P9810 Z41.7 F1000.
G65 P9810 Z12.
G65 P9811 Z0. Q10. S4.
G65 P9810 Z41.7
G0 Z91.7
G65 P9833
(Y)
G54
G1 X130.8 Y0. F5000.
G65 P9832
G0 Z91.7
G65 P9810 Z41.7 F1000.
G65 P9812 Y49.8 Z22.7 Q10. R-12. S4.
G65 P9810 Z41.7
G0 Z91.7
G65 P9833
(X)
G54
G1 X130.8 Y0. F5000.
G65 P9832
G0 Z91.7
G65 P9810 Z41.7 F1000.
G65 P9812 X25.4 Z-5. Q10. R12. S4.
G65 P9810 Z41.7
G0 Z91.7
G65 P9833
```

Actual output as an example would be

X Y Z

G54 100 100 10

G55 100 100 10

G56 100 100 10

Expected output would be:

X Y Z

G54 100 100 10

G55 165.4 100 10

G56 230.8 100 10

I hope that makes some sense.

Running on a HAAS Super mini mill 2

Solved! Go to Solution.

Solved by Richard.stubley. Go to Solution.

11 REPLIES 11

Message 2 of 12

02-14-2022
10:02 AM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report

02-14-2022
10:02 AM

Could we see the Fusion file that is creating these moves?

File > Export > Save to local folder, return to thread and attach the .f3d file in your reply

Seth Madore

Customer Advocacy Manager - Manufacturing

Message 3 of 12

02-15-2022
02:33 AM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report

02-15-2022
02:33 AM

I have attached the file for you. I post process this and update the S reference to S1, S2, S3 etc.

Message 4 of 12

02-16-2022
05:00 AM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report

02-16-2022
05:00 AM

Okay, picking this thread back up.

Your parts are positioned 65.4mm from each other. Your positions for probing reflect that, with the first at X0, Y0, the second at X65.4, Y0, the third at X130.8,Y0. What is it that you expect to be seeing?

Seth Madore

Customer Advocacy Manager - Manufacturing

Message 5 of 12

02-16-2022
05:18 AM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report

02-16-2022
05:18 AM

I understand that the probing routine looks to be correct and it moves the probe to the correct position and updated the correct offset. The issue is that it updates the offsets with exactly the same co-ordinates as if it is probing G54 everytime even though the actual physical position moves everytime. EG G55 you would expect X to report as 0, then G56 X to report as 65.4, G57 X to report as 130.8, but it's actually reporting G55, G56 and G57 X values all as 0. I'm generalising a little to keep my explanation simple

Message 6 of 12

02-16-2022
06:54 AM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report

02-16-2022
06:54 AM

Hi @joshua.baileyJCBN2,

I think I understand the issue but apologies if not.

The way the cycles work is when you probe a x surface for example, that surface does not become 0. The cycle looks at the nominal value the surface should have been at, then looks at the actual probed value of that surface and then adjusts the Work Offset accordingly.

In your program all the parts are running off G54 is this correct? Are you going to Probe then mill each part individually? With the current way its set up in the project part 2 would override the G54 setting of part 1.

If you had 2 parts one on each side of your jig. But they both were being driven from the same datum point (G54) I would only expect to see minor differences in the offset on the machine even though the parts are 100mm apart. It is then the positions in the NC code that accommodate the 100mm separation, not the WCS (G54).

The cycles work in this way so you could for instance probe a hole that is not at X0 Y0.

So I could have a hole that is at X40 Y5, I probe this and the measurement is X45 Y6. My WCS isn't updated to make this hole X0 Y0, but the original values are updated by X+5 Y+1.

Richard Stubley

Manager - Manufacturing Specialist Team

Message 7 of 12

02-16-2022
07:05 AM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report

02-16-2022
07:05 AM

@Richard.stubley thanks for picking this up. I was thinking the same thing, but didn't have a machine free to prove that idea out.

Since each part has it's own offset, it would be better to use the Multiple WCS option in the Setup, which would get you:

```
(Z)
G54
G1 X0. Y0. F5000.
G65 P9832
G0 Z91.7
G65 P9810 Z41.7 F1000.
G65 P9810 Z12.
G65 P9811 Z0. Q10. S1.
G65 P9810 Z41.7
G0 Z91.7
G65 P9833
(Y)
G54
G1 X0. Y0. F5000.
G65 P9832
G0 Z91.7
G65 P9810 Z41.7 F1000.
G65 P9812 Y49.8 Z22.7 Q10. R-12. S1.
G65 P9810 Z41.7
G0 Z91.7
G65 P9833
(X)
G54
G1 X0. Y0. F5000.
G65 P9832
G0 Z91.7
G65 P9810 Z41.7 F1000.
G65 P9812 X25.4 Z-5. Q10. R12. S1.
G65 P9810 Z41.7
G0 Z91.7
G65 P9833
(Z)
G55
G1 X0. Y0. F5000.
G65 P9832
G0 Z91.7
G65 P9810 Z41.7 F1000.
G65 P9810 Z12.
G65 P9811 Z0. Q10. S2.
G65 P9810 Z41.7
G0 Z91.7
G65 P9833
(Y)
G55
G1 X0. Y0. F5000.
G65 P9832
G0 Z91.7
G65 P9810 Z41.7 F1000.
G65 P9812 Y49.8 Z22.7 Q10. R-12. S2.
G65 P9810 Z41.7
G0 Z91.7
G65 P9833
(X)
G55
G1 X0. Y0. F5000.
G65 P9832
G0 Z91.7
G65 P9810 Z41.7 F1000.
G65 P9812 X25.4 Z-5. Q10. R12. S2.
G65 P9810 Z41.7
G0 Z91.7
G65 P9833
(Z)
G56
G1 X0 Y0. F5000.
G65 P9832
G0 Z91.7
G65 P9810 Z41.7 F1000.
G65 P9810 Z12.
G65 P9811 Z0. Q10. S3.
G65 P9810 Z41.7
G0 Z91.7
G65 P9833
(Y)
G56
G1 X0 Y0. F5000.
G65 P9832
G0 Z91.7
G65 P9810 Z41.7 F1000.
G65 P9812 Y49.8 Z22.7 Q10. R-12. S3.
G65 P9810 Z41.7
G0 Z91.7
G65 P9833
(X)
G56
G1 X0 Y0. F5000.
G65 P9832
G0 Z91.7
G65 P9810 Z41.7 F1000.
G65 P9812 X25.4 Z-5. Q10. R12. S3.
G65 P9810 Z41.7
G0 Z91.7
G65 P9833
```

Seth Madore

Customer Advocacy Manager - Manufacturing

Message 8 of 12

02-16-2022
07:26 AM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report

02-16-2022
07:26 AM

Thank you both, @Richard.stubley i understand your explanation and i think what i am expecting vs what is being generated is actually two different things.

@seth.madore this does work as i expect and i did try this. But for this to work i would have to manually probe G55, G56 etc before i then reprobed it with your code, as the machine wouldn't know where the second component is until G55 has been set? This is why i based all of the moves from G54. The idea was to probe the first component as G54 and use this to move the probe to then probe the other components and store the co-ordinates under G55,G56 etc.

I have a fix that combines the probing sequence generated by fusion and then manually changed the actually probing macro to use the same as the HAAS VPS and this worked as expected, so i probe G54 on the first components and everything runs from here and updates the coordinates on the machine as i expected. I have put the code below just in case this helps to explain exactly what i was after, as there is still an outstanding question as to why using a HAAS VPS macro works and the fusion 360 macro doesn't.

```
%
O01001 (P1)
(Using high feed G1 F5000. instead of G0.)
(T10 D=6. CR=3. - ZMIN=-5. - probe)
G90 G94 G17
G21
G53 G0 Z0.
(Z)
G54
G1 X0. Y0. F5000.
G65 P9832
G0 Z91.7
G65 P9810 Z41.7 F1000.
G65 P9810 Z12.
G65 P9995 W56. A20. H-15.;
G0 Z91.7
G65 P9833
(Y)
G54
G1 X0. Y0. F5000.
G65 P9832
G0 Z91.7
G65 P9810 Z26.0 F1000.
G65 P9995 W56. A17.D51. E0.;
G0 Z91.7
G65 P9833
(X)
G54
G1 X0. Y0. F5000.
G65 P9832
G0 Z91.7
G65 P9810 Z12. F1000.
G65 P9995 W56. A14. D25.4 E0. H-14.;
G0 Z91.7
G65 P9833
(Z)
G54
G1 X65.4 Y0. F5000.
G65 P9832
G0 Z91.7
G65 P9810 Z41.7 F1000.
G65 P9810 Z12.
G65 P9995 W57. A20. H-15.;
G0 Z91.7
G65 P9833
(Y)
G54
G1 X65.4 Y0. F5000.
G65 P9832
G0 Z91.7
G65 P9810 Z26.0 F1000.
G65 P9995 W57. A17.D51. E0.;
G0 Z91.7
G65 P9833
(X)
G54
G1 X65.4 Y0. F5000.
G65 P9832
G0 Z91.7
G65 P9810 Z12. F1000.
G65 P9995 W57. A14. D25.4 E0. H-14.;
G0 Z91.7
G65 P9833
(Z)
G54
G1 X130.8 Y0. F5000.
G65 P9832
G0 Z91.7
G65 P9810 Z41.7 F1000.
G65 P9810 Z12.
G65 P9995 W58. A20. H-15.;
G0 Z91.7
G65 P9833
(Y)
G54
G1 X130.8 Y0. F5000.
G65 P9832
G0 Z91.7
G65 P9810 Z26.0 F1000.
G65 P9995 W58. A17.D51. E0.;
G0 Z91.7
G65 P9833
(X)
G54
G1 X130.8 Y0. F5000.
G65 P9832
G0 Z91.7
G65 P9810 Z12. F1000.
G65 P9995 W58. A14. D25.4 E0. H-14.;
G0 Z91.7
G65 P9833
(Z)
G54
G1 X196.2 Y0. F5000.
G65 P9832
G0 Z91.7
G65 P9810 Z41.7 F1000.
G65 P9810 Z12.
G65 P9995 W59. A20. H-15.;
G0 Z91.7
G65 P9833
(Y)
G54
G1 X196.2 Y0. F5000.
G65 P9832
G0 Z91.7
G65 P9810 Z26.0 F1000.
G65 P9995 W59. A17.D51. E0.;
G0 Z91.7
G65 P9833
(X)
G54
G1 X196.2 Y0. F5000.
G65 P9832
G0 Z91.7
G65 P9810 Z12. F1000.
G65 P9995 W59. A14. D25.4 E0. H-14.;
G0 Z91.7
G65 P9833
(Z)
G54
G1 X261.6 Y0. F5000.
G65 P9832
G0 Z91.7
G65 P9810 Z41.7 F1000.
G65 P9810 Z12.
G65 P9995 W154.01 A20. H-15.;
G0 Z91.7
G65 P9833
(Y)
G54
G1 X261.6 Y0. F5000.
G65 P9832
G0 Z91.7
G65 P9810 Z26.0 F1000.
G65 P9995 W154.01 A17.D51. E0.;
G0 Z91.7
G65 P9833
(X)
G54
G1 X261.6 Y0. F5000.
G65 P9832
G0 Z91.7
G65 P9810 Z12. F1000.
G65 P9995 W154.01 A14. D25.4 E0. H-14.;
G0 Z91.7
G65 P9833
(Z)
G54
G1 X327. Y0. F5000.
G65 P9832
G0 Z91.7
G65 P9810 Z41.7 F1000.
G65 P9810 Z12.
G65 P9995 W154.02 A20. H-15.;
G0 Z91.7
G65 P9833
(Y)
G54
G1 X327. Y0. F5000.
G65 P9832
G0 Z91.7
G65 P9810 Z26.0 F1000.
G65 P9995 W154.02 A17.D51. E0.;
G0 Z91.7
G65 P9833
(X)
G54
G1 X327. Y0. F5000.
G65 P9832
G0 Z91.7
G65 P9810 Z12. F1000.
G65 P9995 W154.02 A14. D25.4 E0. H-14.;
G0 Z91.7
G65 P9833
(Z)
G54
G1 X0. Y172.5 F5000.
G65 P9832
G0 Z91.7
G65 P9810 Z41.7 F1000.
G65 P9810 Z12.
G65 P9995 W154.03 A20. H-15.;
G0 Z91.7
G65 P9833
(Y)
G54
G1 X0. Y172.5 F5000.
G65 P9832
G0 Z91.7
G65 P9810 Z26.0 F1000.
G65 P9995 W154.03 A17.D51. E0.;
G0 Z91.7
G65 P9833
(X)
G54
G1 X0. Y172.5 F5000.
G65 P9832
G0 Z91.7
G65 P9810 Z12. F1000.
G65 P9995 W154.03 A14. D25.4 E0. H-14.;
G0 Z91.7
G65 P9833
(Z)
G54
G1 X65.4 Y172.5 F5000.
G65 P9832
G0 Z91.7
G65 P9810 Z41.7 F1000.
G65 P9810 Z12.
G65 P9995 W154.04 A20. H-15.;
G0 Z91.7
G65 P9833
(Y)
G54
G1 X65.4 Y172.5 F5000.
G65 P9832
G0 Z91.7
G65 P9810 Z26.0 F1000.
G65 P9995 W154.04 A17.D51. E0.;
G0 Z91.7
G65 P9833
(X)
G54
G1 X65.4 Y172.5 F5000.
G65 P9832
G0 Z91.7
G65 P9810 Z12. F1000.
G65 P9995 W154.04 A14. D25.4 E0. H-14.;
G0 Z91.7
G65 P9833
(Z)
G54
G1 X130.8 Y172.5 F5000.
G65 P9832
G0 Z91.7
G65 P9810 Z41.7 F1000.
G65 P9810 Z12.
G65 P9995 W154.05 A20. H-15.;
G0 Z91.7
G65 P9833
(Y)
G54
G1 X130.8 Y172.5 F5000.
G65 P9832
G0 Z91.7
G65 P9810 Z26.0 F1000.
G65 P9995 W154.05 A17.D51. E0.;
G0 Z91.7
G65 P9833
(X)
G54
G1 X130.8 Y172.5 F5000.
G65 P9832
G0 Z91.7
G65 P9810 Z12. F1000.
G65 P9995 W154.05 A14. D25.4 E0. H-14.;
G0 Z91.7
G65 P9833
(Z)
G54
G1 X196.2 Y172.5 F5000.
G65 P9832
G0 Z91.7
G65 P9810 Z41.7 F1000.
G65 P9810 Z12.
G65 P9995 W154.06 A20. H-15.;
G0 Z91.7
G65 P9833
(Y)
G54
G1 X196.2 Y172.5 F5000.
G65 P9832
G0 Z91.7
G65 P9810 Z26.0 F1000.
G65 P9995 W154.06 A17.D51. E0.;
G0 Z91.7
G65 P9833
(X)
G54
G1 X196.2 Y172.5 F5000.
G65 P9832
G0 Z91.7
G65 P9810 Z12. F1000.
G65 P9995 W154.06 A14. D25.4 E0. H-14.;
G0 Z91.7
G65 P9833
(Z)
G54
G1 X261.6 Y172.5 F5000.
G65 P9832
G0 Z91.7
G65 P9810 Z41.7 F1000.
G65 P9810 Z12.
G65 P9995 W154.07 A20. H-15.;
G0 Z91.7
G65 P9833
(Y)
G54
G1 X261.6 Y172.5 F5000.
G65 P9832
G0 Z91.7
G65 P9810 Z26.0 F1000.
G65 P9995 W154.07 A17.D51. E0.;
G0 Z91.7
G65 P9833
(X)
G54
G1 X261.6 Y172.5 F5000.
G65 P9832
G0 Z91.7
G65 P9810 Z12. F1000.
G65 P9995 W154.07 A14. D25.4 E0. H-14.;
G0 Z91.7
G65 P9833
(Z)
G54
G1 X327. Y172.5 F5000.
G65 P9832
G0 Z91.7
G65 P9810 Z41.7 F1000.
G65 P9810 Z12.
G65 P9995 W154.08 A20. H-15.;
G0 Z91.7
G65 P9833
(Y)
G54
G1 X327. Y172.5 F5000.
G65 P9832
G0 Z91.7
G65 P9810 Z26.0 F1000.
G65 P9995 W154.08 A17.D51. E0.;
G0 Z91.7
G65 P9833
(X)
G54
G1 X327. Y172.5 F5000.
G65 P9832
G0 Z91.7
G65 P9810 Z12. F1000.
G65 P9995 W154.08 A14. D25.4 E0. H-14.;
G0 Z91.7
G65 P9833
M5
G53 G0 Z0.
G53 G0 X0. Y0.
M30
%
```

Message 9 of 12

02-16-2022
07:34 AM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report

02-16-2022
07:34 AM

Hi @joshua.baileyJCBN2,

The difference is Fusion 360 is using "absolute probing" (I made that up but hopefully explains it), and VPS is using "Incremental Probing"

The VPS cycles will make that feature 0.

Fusion will adjust the WCS by the deviation found.

What you could do is use Override Driving WCS to make the probe be driven from G54, however it can then update G55-G56-G57,

That way you only need to manually set up G54 and represent that back in Fusion as your setup origin, and then the moves can come from there.

Richard Stubley

Manager - Manufacturing Specialist Team

Message 10 of 12

02-16-2022
07:41 AM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report

02-16-2022
07:41 AM

@Richard.stubley That makes absolute sense! I can't tell you how many people have been stumped by this problem, including another autodesk rep and HAAS post guys.

I don't think the override will work, i need the accuracy because the raw material has such large tolerances, we would see a large build up by the time we machined the 8th part in that row, so i would need fusion to use the probed offset rather than working from G54, or am i miss understanding?

I guess what i am really after is a way to use "absolute" probing in fusion?

Message 11 of 12

02-16-2022
07:51 AM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report

02-16-2022
07:51 AM

@joshua.baileyJCBN2

Don't you mean incremental probing in Fusion 😉

Using the override will still probe each part individually. The issue would be if the deviation is so large that the probe wouldn't be able to find the 8th part.

The override is just giving a point that the probe can be driven from, it then updates a datum specific to that part.

Richard Stubley

Manager - Manufacturing Specialist Team

Message 12 of 12

02-16-2022
07:55 AM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report

02-16-2022
07:55 AM

I will give this a whirl tomorrow and see how i get on. Thanks again for the support.

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page

Can't find what you're looking for? Ask the community or share your knowledge.