Fusion 360 Mill Post Processor for Acorn with additional Features (New Version 5)

All things related to the Centroid Acorn CNC Controller

Moderator: cnckeith

slodat
Posts: 793
Joined: Thu Apr 12, 2018 11:16 pm
Acorn CNC Controller: Yes
Allin1DC CNC Controller: No
Oak CNC controller: No
CNC Control System Serial Number: none
DC3IOB: No
CNC11: No
CPU10 or CPU7: No

Re: Fusion 360 Mill Post Processor for Acorn with additional Features

Post by slodat »

Figured it out.. the M30 is turning everything off. Vectric does an M5, too. I thought it was needed. Everything works as you wrote it. Only problem was me ;)
swissi
Posts: 573
Joined: Wed Aug 29, 2018 11:15 am
Acorn CNC Controller: Yes
Allin1DC CNC Controller: No
Oak CNC controller: No
CNC Control System Serial Number: 985DADEB24D5-0309180716
DC3IOB: No
CNC11: No
CPU10 or CPU7: No

Re: Fusion 360 Mill Post Processor for Acorn with additional Features

Post by swissi »

A new version of the Fusion 360 Post Processor has been posted.

These new features have been added:

* Select Safe Retract Position for Z-Axis
* Support for Smoothing Profiles
* Inverse Time Feedrates (G93) now used for moves involving a Rotary Axis

Check the first post of this thread for the download link and a link to the updated user manual.

Please report here if you find any issues with the new version.

-swissi
If you are using Fusion 360, check out my CNC12 specific Post Processor
If you are using a Touch Probe, Tool Touch Off Device or a Triple Corner Finder Plate, check out my ProbeApp

Contact me at swissi2000@gmail.com
qjones
Posts: 23
Joined: Tue Dec 11, 2018 11:11 am
Acorn CNC Controller: Yes
Allin1DC CNC Controller: No
Oak CNC controller: No
CNC Control System Serial Number: none
DC3IOB: No
CNC11: Yes
CPU10 or CPU7: No

Re: Fusion 360 Mill Post Processor for Acorn with additional Features

Post by qjones »

Hi swissi this is really good work. I see you have made a lot of progress on your post processor. I just recently acquired an electronic probe. I am curious if you have put any thought into supporting the probing routines from F360? This is something I may just tackle myself as well just curious if you had run into any gotchas that made the implementation not worth it.

Thanks,
swissi
Posts: 573
Joined: Wed Aug 29, 2018 11:15 am
Acorn CNC Controller: Yes
Allin1DC CNC Controller: No
Oak CNC controller: No
CNC Control System Serial Number: 985DADEB24D5-0309180716
DC3IOB: No
CNC11: No
CPU10 or CPU7: No

Re: Fusion 360 Mill Post Processor for Acorn with additional Features

Post by swissi »

qjones,

Fusion 360 currently supports WCS, Geometry and Surface Inspection Probing. Supported probing moves are:

- Single Axis XYZ Surface
- Circular and rectangular Boss
- Circular and rectangular Hole with and without an island
- XY Channel/Slot with and without an island
- XY Wall/Web
- XY Surface Angle

There are also many options you can select like showing a message when measurements are out of tolerance, adjust tool wear based on measurements and printing results to a log file etc.

Now the easy part is modifying the post processor to output all the codes for these probing routines but when you look at the code lines that are generated, you will notice that subprograms like P9810, P9832 etc are called that do not exist for Acorn (at least as far as I know).

I took it as a challenge to write the probing routines for all these probing moves supporting all the options for WCS and Geometry probing and I’m at a point were these routines are very solid. I created this Probing Model below in Fusion 360 with these probing moves

Fusion-360-Probing-Model.png

I created a 3D-print of the model and used the great new KP-3 Touch Probe from Centroid to check the Geometry of the print. I just created a video last weekend showing my machine running through these probing cycles:





The log file of the probing results looks like this:

Probing-Log.png

I spent over 1’000 hours writing all the Fusion 360 probing routines to support all the functionality and I don’t want to give all that work away for free but I plan to make it available for a small donation to the “Keep my Grand Son happy and busy” Fund. I still have to write some documentation but if somebody is interested in these Fusion 360 Probing moves, contact me via PM.

-swissi
If you are using Fusion 360, check out my CNC12 specific Post Processor
If you are using a Touch Probe, Tool Touch Off Device or a Triple Corner Finder Plate, check out my ProbeApp

Contact me at swissi2000@gmail.com
cbb1962
Posts: 349
Joined: Wed Jan 03, 2018 10:04 pm
Acorn CNC Controller: Yes
Allin1DC CNC Controller: No
Oak CNC controller: No
CNC Control System Serial Number: 38D2695C8301-0122180576
DC3IOB: No
CNC11: No
CPU10 or CPU7: No
Location: NW Arkansas

Re: Fusion 360 Mill Post Processor for Acorn with additional Features

Post by cbb1962 »

So am I understanding the process?
1. You created a 3D part,
2. The part was loaded on your machine,
3. You initiated the probing routine in CNC12 using the new probe
4. The output from CNC12 was imported into Fusion360
5. Your programming voodoo interpreted the output from CNC12 and created a model in Fusion360?

Is that correct?
Clint in NW Arkansas

The more I learn, the more I realize I don't know...
slodat
Posts: 793
Joined: Thu Apr 12, 2018 11:16 pm
Acorn CNC Controller: Yes
Allin1DC CNC Controller: No
Oak CNC controller: No
CNC Control System Serial Number: none
DC3IOB: No
CNC11: No
CPU10 or CPU7: No

Re: Fusion 360 Mill Post Processor for Acorn with additional Features

Post by slodat »

PM sent!!
swissi
Posts: 573
Joined: Wed Aug 29, 2018 11:15 am
Acorn CNC Controller: Yes
Allin1DC CNC Controller: No
Oak CNC controller: No
CNC Control System Serial Number: 985DADEB24D5-0309180716
DC3IOB: No
CNC11: No
CPU10 or CPU7: No

Re: Fusion 360 Mill Post Processor for Acorn with additional Features

Post by swissi »

cbb1962,

not quiet correct! You setup the probing cycles in Fusion 360 the same way you setup the milling and drilling operations. The post processor will then generate the code for your machine to mill the part and then run the probing routines to measure if the geometric features are within tolerance.

So in a real live scenario you would start with the WCS probing routines to find Part 0 of your stock, then mill a feature, probe that feature for accuracy and the probing routine could automatically adjust the tool diameter based on the measurements if that function was requested in the probing options in Fusion 360. You could also finish your part first and then have the probing routines measure your part for tolerance at the end.

Here's a YouTube video from Autodesk showing the use of the WCS probing functions to setup part 0



So to be more specific of what I did in the scenario I described above, these are the steps:

- I designed the probing model in Fusion 360
- I configured the probing moves to verify the geometry of the part
- Instead of milling the part I just 3-D printed it
- I mounted the 3-D printed part on my mill and ran the probing routines that were generated by the Fusion 360 Post Processor to measure the features

This model in Fusion 360
Fusion-360-Probing-Model.png
generated this code with my (not yet official) modified Centroid Post Processor:

Code: Select all

%
O01001
(1001)
(Model)
(T10  D=5. CR=2.5 - ZMIN=-14. - probe - Touch Probe)
N10 G90 G94 G17
N15 G21
(Probe WCS Y-Surface)
N20 G28 G91 Z0.
N25 G90
N30 T10 M6
N35 G54
N45 G0 X9.117 Y-5.5
N50 G43 Z5. H10
N55 G65 "c:\cncm\probing\F_cycles.cnc"
N60 G65 P9832
N70 G65 P9810 C3 Z-12. F1500.
N75 G65 P9811 A2 Y0. Q2. M1. W1. S1
N80 G65 P9810 C3 Z5.
N85 G65 P9833
N90 X9.117 Y-5.5
(Probe WCS X-Surface)
N100 X-5.5 Y11.979
N105 G65 P9832
N110 Z5.
N120 G65 P9810 C3 Z-11.5 F1500.
N125 G65 P9811 A1 X0. Q2. M1. W1. S1
N130 G65 P9810 C3 Z5.
N135 G65 P9833
N140 X-5.5 Y11.979
(Probe WCS Z-Surface)
N150 X9.618 Y10.632
N155 G65 P9832
N160 Z5.
N170 G65 P9810 C3 Z2. F1500.
N175 G65 P9811 A3 Z0. Q2. M1. W1. S1
N180 G65 P9810 C3 Z5.
N185 G65 P9833
N190 X9.618 Y10.632
(Probe Geo Outer Corner)
N200 X-7.5 Y-7.5
N205 G65 P9832
N210 Z5.
N220 G65 P9810 C3 Z-5. F1500.
N225 G65 P9816 X5. Y5. Q2. B1. M0.5 W1.
N230 G65 P9810 C3 Z5.
N235 G65 P9833
N240 X-7.5 Y-7.5
(Probe Geo Rectangular Boss)
N250 X20. Y20.
N255 G65 P9832
N260 Z5.
N270 G65 P9810 C3 Z2. F1500.
N275 G65 P9812 A1 C1 Z-5. X30. R3. Q2. H0.5 M0.5 W1.
N280 G65 P9812 A2 C1 Z-5. Y30. R3. Q2. H0.5 M0.5 W1.
N285 G65 P9810 C3 Z5.
N290 G65 P9833
(Probe Geo Z-Surface)
N300 X20. Y20.
N305 G65 P9832
N310 Z5.
N320 G65 P9810 C3 Z2. F1500.
N325 G65 P9811 A3 Z0. Q2. H0.5 W1.
N330 G65 P9810 C3 Z5.
N335 G65 P9833
N340 X20. Y20.
(Probe Geo Rectangular Hole)
N350 X52.5 Y22.5
N355 G65 P9832
N360 Z5.
N370 G65 P9810 C3 Z-12. F1500.
N375 G65 P9813 A1 C1 X25. Q2. H0.5 M0.5 W1.
N380 G65 P9813 A2 C1 Y25. Q2. H0.5 M0.5 W1.
N385 G65 P9810 C3 Z5.
N390 G65 P9833
(Probe Geo Hole-Depth)
N400 X52.5 Y22.5
N405 G65 P9832
N410 Z5.
N420 G65 P9810 C3 Z-4. F1500.
N425 G65 P9811 A3 Z-14. Q2. H0.5 W1.
N430 G65 P9810 C3 Z5.
N435 G65 P9833
N440 X52.5 Y22.5
(Probe Geo Rectangular Hole with Island)
N450 X85. Y20.
N455 G65 P9832
N460 Z5.
N470 G65 P9810 C3 Z2. F1500.
N475 G65 P9813 A1 C1 Z-12. X30. Q2. R-2. H0.5 M0.5 W1.
N480 G65 P9813 A2 C1 Z-12. Y30. Q2. R-2. H0.5 M0.5 W1.
N485 G65 P9810 C3 Z5.
N490 G65 P9833
(Probe Geo Rectangular Boss)
N500 X85. Y20.
N505 G65 P9832
N510 Z5.
N520 G65 P9810 C3 Z2. F1500.
N525 G65 P9812 A1 C1 Z-12. X10. R2. Q2. H0.5 M0.5 W1.
N530 G65 P9812 A2 C1 Z-12. Y10. R2. Q2. H0.5 M0.5 W1.
N535 G65 P9810 C3 Z5.
N540 G65 P9833
(Probe Geo Inner Corner)
N550 X110.5 Y5.5
N555 G65 P9832
N560 Z5.
N570 G65 P9810 C3 Z-5. F1500.
N575 G65 P9815 X120. Y15. Q2. B1. M0.5 W1.
N580 G65 P9810 C3 Z5.
N585 G65 P9833
N590 X110.5 Y5.5
(Probe Geo Inner Corner (2))
N600 X139.5 Y5.5
N605 G65 P9832
N610 Z5.
N620 G65 P9810 C3 Z-5. F1500.
N625 G65 P9815 X130. Y15. Q2. B1. M0.5 W1.
N630 G65 P9810 C3 Z5.
N635 G65 P9833
N640 X139.5 Y5.5
(Probe Geo Inner Corner (3))
N650 X139.5 Y34.5
N655 G65 P9832
N660 Z5.
N670 G65 P9810 C3 Z-5. F1500.
N675 G65 P9815 X130. Y25. Q2. B1. M0.5 W1.
N680 G65 P9810 C3 Z5.
N685 G65 P9833
N690 X139.5 Y34.5
(Probe Geo Inner Corner (4))
N700 X110.5 Y34.5
N705 G65 P9832
N710 Z5.
N720 G65 P9810 C3 Z-5. F1500.
N725 G65 P9815 X120. Y25. Q2. B1. M0.5 W1.
N730 G65 P9810 C3 Z5.
N735 G65 P9833
N740 X110.5 Y34.5
(Probe Geo Rectangular Boss)
N750 X125. Y20.
N755 G65 P9832
N760 Z5.
N770 G65 P9810 C3 Z2. F1500.
N775 G65 P9812 A1 C1 Z-5. X40. R3. Q2. H0.5 M0.5 W1.
N780 G65 P9812 A2 C1 Z-5. Y30. R3. Q2. H0.5 M0.5 W1.
N785 G65 P9810 C3 Z5.
N790 G65 P9833
(Probe Geo Circular Hole)
N800 X125. Y65.
N805 G65 P9832
N810 Z5.
N820 G65 P9810 C3 Z-4.5 F1500.
N825 G65 P9817 D30. Q2. H0.5 M0.5 W1.
N830 G65 P9810 C3 Z5.
N835 G65 P9833
(Probe Geo Circular Boss)
N845 X125. Y65.
N850 G65 P9832
N855 Z5.
N865 G65 P9810 C3 Z2. F1500.
N870 G65 P9814 D40. Z-5. Q2. R3. H0.5 M0.5 W1.
N875 G65 P9810 C3 Z5.
N880 G65 P9833
(Probe Geo Circular Hole)
N890 X85. Y55.
N895 G65 P9832
N900 Z5.
N910 G65 P9810 C3 Z2. F1500.
N915 G65 P9817 Z-12. D30. Q2. R-3. H0.5 M0.5 W1.
N920 G65 P9810 C3 Z5.
N925 G65 P9833
(Probe Geo Circular Island)
N935 X85. Y55.
N940 G65 P9832
N945 Z5.
N955 G65 P9810 C3 Z2. F1500.
N960 G65 P9814 D10. Z-12. Q2. R3. H0.5 M0.5 W1.
N965 G65 P9810 C3 Z5.
N970 G65 P9833
(Probe Geo Circular Boss)
N980 X52.5 Y55.
N985 G65 P9832
N990 Z5.
N1000 G65 P9810 C3 Z2. F1500.
N1005 G65 P9814 D25. Z-5. Q2. R3. H0.5 M0.5 W1.
N1010 G65 P9810 C3 Z5.
N1015 G65 P9833
(Probe Geo Circular Hole)
N1025 X20. Y55.
N1030 G65 P9832
N1035 Z5.
N1045 G65 P9810 C3 Z-12. F1500.
N1050 G65 P9817 D30. Q2. H0.5 M0.5 W1.
N1055 G65 P9810 C3 Z5.
N1060 G65 P9833
(Probe Geo Web along X)
N1070 X20. Y85.5
N1075 G65 P9832
N1080 Z5.
N1090 G65 P9810 C3 Z2. F1500.
N1095 G65 P9812 A2 Y5. Z-5. Q2. R1. H0.5 M0.5 W1.
N1100 G65 P9810 C3 Z5.
N1105 G65 P9833
(Probe Geo Y-Channel)
N1115 X20. Y79.5
N1120 G65 P9832
N1125 Z5.
N1135 G65 P9810 C3 Z-5. F1500.
N1140 G65 P9813 A2 Y7. Q2. H0.5 M0.5 W1.
N1145 G65 P9810 C3 Z5.
N1150 G65 P9833
N1155 Y79.5
(Probe Geo Y-Channel With Island)
N1165 X20. Y85.5
N1170 G65 P9832
N1175 Z5.
N1185 G65 P9810 C3 Z2. F1500.
N1190 G65 P9813 A2 Y19. Z-5. Q2. R-1. H0.5 M0.5 W1.
N1195 G65 P9810 C3 Z5.
N1200 G65 P9833
N1205 Y85.5
(Probe Geo X-Channel)
N1215 X65. Y90.
N1220 G65 P9832
N1225 Z5.
N1235 G65 P9810 C3 Z-5. F1500.
N1240 G65 P9813 A1 X10. Q2. H0.5 M0.5 W1.
N1245 G65 P9810 C3 Z5.
N1250 G65 P9833
(Probe Geo X-Channel with Island)
N1260 X75. Y90.
N1265 G65 P9832
N1270 Z5.
N1280 G65 P9810 C3 Z2. F1500.
N1285 G65 P9813 A1 X30. Z-5. Q2. R-3. H0.5 M0.5 W1.
N1290 G65 P9810 C3 Z5.
N1295 G65 P9833
(Probe Geo Inside Corner)
N1305 X135.5 Y85.5
N1310 G65 P9832
N1315 Z5.
N1325 G65 P9810 C3 Z-5. F1500.
N1330 G65 P9815 X145. Y95. Q2. B1. M0.5 W1.
N1335 G65 P9810 C3 Z5.
N1340 G65 P9833
N1345 X135.5 Y85.5
N1355 G28 G91 Z0.
N1360 M30
%
As you can see in the code, Fusion 360 just generates calls for P98xx sub-programs that do not exist for Centroid Acorn so I had to write all these probing routines in order to complete the functions they are supposed to do based on all the options selected in Fusion 360.

Hope this explains it better. Let me know if you have more questions.

-swissi
If you are using Fusion 360, check out my CNC12 specific Post Processor
If you are using a Touch Probe, Tool Touch Off Device or a Triple Corner Finder Plate, check out my ProbeApp

Contact me at swissi2000@gmail.com
Muzzer
Posts: 728
Joined: Mon Feb 19, 2018 2:52 pm
Acorn CNC Controller: Yes
Allin1DC CNC Controller: No
Oak CNC controller: No
CNC Control System Serial Number: 38D269594F9C-0110180512
DC3IOB: No
CNC12: Yes
CNC11: No
CPU10 or CPU7: No
Location: UK
Contact:

Re: Fusion 360 Mill Post Processor for Acorn with additional Features

Post by Muzzer »

Wow - well done, Swissi - that's an amazing result! You must have put in a whole lot of work there.

I spent many, many hours trying to do just this myself before I decided to behave myself. As you say, the task of implementing "WCS probing" requires both a lot of work on the Fusion post processor (JavaScript) and also a whole massive set of Centroid probing macros. I felt able to tackle the first part - and indeed got a fair way along the road. But figuring out the probing moves and assembling them into robust probing macros was turning out to be a massive task, not least to digest the existing Centroid macros to work out how all the variables are set up and used. The Centroid documentation is a bit patchy, so a fair bit of reverse engineering seemed to be required. I managed to implement the simple "boss" probing operation working all the way from Fusion, through the post and into CNC12 but this is the simplest (almost trivial) probing operation.

In the end, I considered the time/cost of taking this to completion (including a fair degree of uncertainty in the timescale) and the likely benefit (being able to pick up WCS references) and concluded that I lacked the appetite and capability to take it to completion. I'm not a software natural, so it's great that there are people like you around who can pull it off.

As I understand it, the more sophisticated "inspection probing" functions are only available in Fusion "extensions" - which are ruinously expensive. These are pretty interesting but as they are hidden from us within Fusion 360, there's little chance of being able to implement them. I see you have some tolerance tests in your log file - do they work without the extensions?

There's a guy up in Scotland (David Loomes) who did all this WCS probing work for his PathPilot / Tormach / Fusion 360 setup, including WCS axis angle correction. http://xoomspeed.com/CNC/FusionAutoProbing.htm That's what provoked me into trying it myself but unfortunately I lack his (and your) software prowess. PathPilot / LinuxCNC uses quite different macro variables and calls subprogram numbers (that P9810 etc), so his work wasn't the head start I'd hoped for. He's taken Cliff Hall's ITTP and made it wireless so that it can be used in an ATC.

I'd love to try your latest post processor. The other features you have already implemented are very compelling and this is an extra level of interest for me. Knowing the effort you must have put in, I'd be very happy to contribute to your fund. I'll PM you to find out more....

Murray
hebs
Posts: 64
Joined: Wed Sep 18, 2019 4:46 pm
Acorn CNC Controller: Yes
Allin1DC CNC Controller: No
Oak CNC controller: No
CNC Control System Serial Number: A81087B53034-0710192235
DC3IOB: No
CNC12: Yes
CNC11: No
CPU10 or CPU7: No

Re: Fusion 360 Mill Post Processor for Acorn with additional Features

Post by hebs »

Awesome work Swissi, the probe functionality looks great! Definitely interested in supporting your “Keep my Grand Son happy and busy” Fund.

Your post processor has really helped me to increase my understanding of Fusion/Inventor post processor editing. I have been using Autodesks 'Post Processor training Guide' to try and learn more but I am stumped, are you able to give me a steer please;

ISSUE
I have recently built a 4th axis and I have successfully machined a few part using both indexed and simultaneous tool path operations. However, I cannot get the rotary axis rewind/unwind to a reasonable state. The post processor sets the WCS in between every operation it can cause long rewind/unwinds.

-Example 1 (attached image). A simultaneous tool path operation followed by another simultaneous tool path operation. Sets the WCS to zero in between and causes a long unwind to zero and then a long rewind again to catch up with the next operation.

-Example 2. A simultaneous toolpath operation followed by an indexed toolpath operation may still need to perform a long unwind just to get to zero (or any other index angle under 360deg).


WHAT I HAVE TRIED
Triggering an unwind macro after each operation. This works well when going to an indexed operation next but only solves half of the problem when going from simultaneous to simultaneous operations because it still needs to rewind again. Removing the WCS set in-between worked for simultaneous to simultaneous but prevented indexed operations from indexing.

I have tried to set the 'reset' parameter to 1 in the createAxis function but it does not appear to make any difference.
.....from the Autodesk guide for the reset parameter:
"Defines the starting position of the axis for a new operation and when the rotary axes need to be rewound and reconfigured due to exceeding the limits. 0 = remember the position from previous section, 1 = reset to 0 at start of operation, 2 = reset to 0 at automatic rewind, 3 = reset to 0 at start of operation and at automatic rewind. This parameter is implemented since R42225 of the post engine.'

I have also tried variations on the cyclic and range parameters but to no avail and have failed to apply logic statements.



WHAT I THINK I NEED TO DO
Option 1 (ideal) - Trigger an unwind Macro (which I have already written) after every toolpath operation but this will only work if the next operation doesn't start off where the last one finished. I need to get each new operation to start from zero rather than where the last one left off.

Option 2 - When setting the WCS, I need to insert logic to decide if the command is displayed or not ('A0' in the attached example).
If current section is not simultaneous then run unwind macro and display WCS
If last sect was simultaneous and current section is simultaneous then don't display the WCS


Is my thinking on the right track?
Attachments
Screen Shot 2020-05-16 at 12.04.42.png
swissi
Posts: 573
Joined: Wed Aug 29, 2018 11:15 am
Acorn CNC Controller: Yes
Allin1DC CNC Controller: No
Oak CNC controller: No
CNC Control System Serial Number: 985DADEB24D5-0309180716
DC3IOB: No
CNC11: No
CPU10 or CPU7: No

Re: Fusion 360 Mill Post Processor for Acorn with additional Features

Post by swissi »

hebs,

can you post a report file of your setup. I'd like to look at some of your parameters.

-swissi
If you are using Fusion 360, check out my CNC12 specific Post Processor
If you are using a Touch Probe, Tool Touch Off Device or a Triple Corner Finder Plate, check out my ProbeApp

Contact me at swissi2000@gmail.com
Post Reply