3+1 Machining Using LinuxCNC

3+1 Machining Using LinuxCNC

Anonymous
Not applicable
5,591 Views
32 Replies
Message 1 of 33

3+1 Machining Using LinuxCNC

Anonymous
Not applicable

I'm using Fusion360 with my LinuxCNC controlled milling machine and recently have installed a 4th axis for it.  I know Fusion360 does not support continuous 4th axis at this point.  I am unable to get it to generate any code for indexing using the EMC or LinuxCNC post processor.  I understand how to use Tool Orientation for getting the 4th Axis ("a" axis in this case) however when I post to LinuxCNC PP (EMC) it gives me the Tool Orientation not Supported Error.  Do I need to change a setting in Fusion360 for it to know to post 3+1 to "a" axis?  Is this something that is not supported at all with Fusion360 and LinuxCNC?

 

Thank you!

Dale

 

See full error message below:

 

Information: Configuration: Generic LinuxCNC (EMC2)
Information: Vendor: LinuxCNC.org
Information: Posting intermediate data to 'C:\Users\TJ\AppData\Local\Fusion 360 CAM\nc\4th Axis\1001.ngc'
Information: Total number of warnings: 1
Error: Failed to post process. See below for details.
...
Code page changed to '1252  (ANSI - Latin I)'
Start time: Monday, February 8, 2016 7:10:08 AM
Code page changed to '20127 (US-ASCII)'
Post processor engine: 4.2.1 40504
Configuration path: C:\Users\T J\AppData\Local\Autodesk\webdeploy\production\66ed5e8cf991ec00ace7e4d2638113959b38c0dd\Applications\CAM360\Data\Posts\linuxcnc.cps
Include paths: C:\Users\TJ\AppData\Local\Autodesk\webdeploy\production\66ed5e8cf991ec00ace7e4d2638113959b38c0dd\Applications\CAM360\Data\Posts
Configuration modification date: Thursday, January 21, 2016 11:15:25 PM
Output path: C:\User\TJ\AppData\Local\Fusion 360 CAM\nc\4th Axis\1001.ngc
Checksum of intermediate NC data: d82376548774dc946598ae5a3ab83e57
Checksum of configuration: 5d363ef0107384e55700f05d103b7096
Vendor url: http://www.linuxcnc.org
Legal: Copyright (C) 2012-2015 by Autodesk, Inc.
Post processor signature could not be verified (error 0xfffffffc).
Generated by: Fusion 360 CAM 2.0.1909
...
Warning: Work offset has not been specified. Using G54 as WCS.
Error: Tool orientation is not supported.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Error: Failed to invoke function 'onSection'.
Error: Failed to invoke 'onSection' in the post configuration.
Error: Failed to execute configuration.
Stop time: Monday, February 8, 2016 7:10:08 AM
Post processing failed.

0 Likes
5,592 Views
32 Replies
Replies (32)
Message 2 of 33

Laurens-3DTechDraw
Mentor
Mentor

3+1 is not problem for Fusion 360.

But not all post processors are set/up to support 3+2 or 5-axis(If you have Inventor HSMor HSMWorks).

Even if they are set-up to do so it usually need tweaking because not eveyrbody sets there 4-th axis the same way. Left or right of the spindle, Or maybe not in line with the X-Axis but with the Y-axis. Therefor you need to tell the post this.

 

There is this code in the LinuxCNC post:

 

if (false) { // note: setup your machine here
    var aAxis = createAxis({coordinate:0, table:false, axis:[1, 0, 0], range:[-360,360], preference:1});
    var cAxis = createAxis({coordinate:2, table:false, axis:[0, 0, 1], range:[-360,360], preference:1});
    machineConfiguration = new MachineConfiguration(aAxis, cAxis);

    setMachineConfiguration(machineConfiguration);
    optimizeMachineAngles2(0); // TCP mode
  }

Change it to this and you'll get A-axis movement:

  if (true) { // note: setup your machine here
    var aAxis = createAxis({coordinate:0, table:false, axis:[1, 0, 0], range:[-360,360], preference:1});
    machineConfiguration = new MachineConfiguration(aAxis, cAxis);

    setMachineConfiguration(machineConfiguration);
    optimizeMachineAngles2(0); // TCP mode
  }

If the rotation is the wrong way try this one:

  if (true) { // note: setup your machine here
    var aAxis = createAxis({coordinate:0, table:false, axis:[-1, 0, 0], range:[-360,360], preference:1});
    machineConfiguration = new MachineConfiguration(aAxis, cAxis);

    setMachineConfiguration(machineConfiguration);
    optimizeMachineAngles2(0); // TCP mode
  }

Laurens Wijnschenk
3DTechDraw

AutoDesk CAM user & Post editor.
René for Legend.


Message 3 of 33

AchimN
Community Manager
Community Manager

I know i´m a nitpicker Laurens, but it should be like this instead 😉

 

  if (true) { // note: setup your machine here
    var aAxis = createAxis({coordinate:0, table:false, axis:[1, 0, 0], range:[-360,360], preference:1});
    machineConfiguration = new MachineConfiguration(aAxis);

    setMachineConfiguration(machineConfiguration);
    optimizeMachineAngles2(0); // TCP mode
  }

 



Achim.N
Principal Technology Consultant
0 Likes
Message 4 of 33

Laurens-3DTechDraw
Mentor
Mentor

True Achim,

But you know how it really should be like?

People reading this: https://camforum.autodesk.com/index.php?topic=6138.0

Do it yourself or ask a re-seller.

 

 

Laurens Wijnschenk
3DTechDraw

AutoDesk CAM user & Post editor.
René for Legend.


0 Likes
Message 5 of 33

Anonymous
Not applicable

Thanks for the support. I found that area of the Config last night and played with it a little. Before I received your reply I tried to change False to True (leaving the c axis info same) and it would generate code. I checked on my machine and it gave an error because it also generated the "C" axis code with the "A"

 

Now that I removed the "C" axis like you both mentioned it gives me this error below and won't generate code.

 

Information: Configuration: Generic LinuxCNC (EMC2)
Information: Vendor: LinuxCNC.org
Information: Posting intermediate data to 'C:\Users\Thomas Jasso\AppData\Local\Fusion 360 CAM\nc\4th Axis\4th Axis Test.ngc.failed'
Information: Total number of warnings: 1
Error: Failed to post process. See below for details.
...
Code page changed to '1252  (ANSI - Latin I)'
Start time: Monday, February 8, 2016 3:08:10 PM
Code page changed to '20127 (US-ASCII)'
Post processor engine: 4.2.1 40504
Configuration path: C:\Users\Thomas Jasso\AppData\Local\Autodesk\webdeploy\production\66ed5e8cf991ec00ace7e4d2638113959b38c0dd\Applications\CAM360\Data\Posts\linuxcnc.cps
Include paths: C:\Users\Thomas Jasso\AppData\Local\Autodesk\webdeploy\production\66ed5e8cf991ec00ace7e4d2638113959b38c0dd\Applications\CAM360\Data\Posts
Configuration modification date: Monday, February 8, 2016 7:46:26 AM
Output path: C:\Users\Thomas Jasso\AppData\Local\Fusion 360 CAM\nc\4th Axis\4th Axis Test.ngc.failed
Checksum of intermediate NC data: 17d69b206958888ce15236679dccc2f0
Checksum of configuration: b1a4273072df551a083cbe90eef65998
Vendor url: http://www.linuxcnc.org
Legal: Copyright (C) 2012-2015 by Autodesk, Inc.
Post processor signature could not be verified (error 0xfffffffc).
Generated by: Fusion 360 CAM 2.0.1909
...
Warning: Work offset has not been specified. Using G54 as WCS.
Error: Error: Direction is not supported for machine configuration.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Stack dump:
("Direction is not supported for machine configuration.")@:0
getWorkPlaneMachineABC([object Matrix])@C:\Users\Thomas Jasso\AppData\Local\Autodesk\webdeploy\production\66ed5e8cf991ec00ace7e4d2638113959b38c0dd\Applications\CAM360\Data\Posts\linuxcnc.cps:497
onSection()@C:\Users\Thomas Jasso\AppData\Local\Autodesk\webdeploy\production\66ed5e8cf991ec00ace7e4d2638113959b38c0dd\Applications\CAM360\Data\Posts\linuxcnc.cps:704
 
Failed while processing onSection() for record 971.
Error: Failed to invoke function 'onSection'.
Error: Failed to invoke 'onSection' in the post configuration.
Error: Failed to execute configuration.
Stop time: Monday, February 8, 2016 3:08:10 PM
Post processing failed
 
0 Likes
Message 6 of 33

Anonymous
Not applicable

Forgot to mention my machine "a" axis is setup on left of table and I believe I have it rotating in the typical fashion for "a" axis work.  I've looked at record 971 in the Config but I don't see what it causing the error.  Hopefully better minds than mine can figure it out 🙂

0 Likes
Message 7 of 33

Laurens-3DTechDraw
Mentor
Mentor

See what @AchimN wrote 50 min ago.

Laurens Wijnschenk
3DTechDraw

AutoDesk CAM user & Post editor.
René for Legend.


0 Likes
Message 8 of 33

Anonymous
Not applicable

Figured it out.  I had a caffeine deficiancy moment and forgot I had played with my setup trying to resolve this last night.  It now generates the code so off to the machine to see if it works (fingers crossed)

0 Likes
Message 9 of 33

Anonymous
Not applicable
The code was posting correctly for indexing with my A axis however I programmed another part and was just facing off multiple flats around the edge of a 2.5" bar. I used the centerline of the bar stock as the 0 point and changed the tool orientation just like I've done before moving the Z axis around the flats on the edge. When I simulate it appears to be correct however when I post the code it isn't posting correctly. It posts A axis code however it acts like it's still trying to cut the Z axis around the edge. This is a simple part so the z height should be the same and it should only be indexing and repeating same op 11 times.

What am I missing and how would this have changed from working previously?

Thanks for any help
Dale
0 Likes
Message 10 of 33

Laurens-3DTechDraw
Mentor
Mentor

Did you use a pattern one of the times and not the other?

 

BTW. I think someone has the same problem here: https://forums.autodesk.com/t5/computer-aided-machining-cam/4th-axis-indexing-not-working-correctly/...

So if you could explain (in this thread is fine) with code what has changed and what is wrong please do so we could help more people at the same time.

Laurens Wijnschenk
3DTechDraw

AutoDesk CAM user & Post editor.
René for Legend.


0 Likes
Message 11 of 33

Anonymous
Not applicable

I'll do my best to describe and post some code to show the difference.  I did the CAM the same on both the previous one from a week or so ago and again on the one today.  I designed a square to cut on the end of a round bar held in the A axis in a 3 jaw chuck.  The one from a week ago worked beautifully and the one today is doing just as Gerry described in the post you referenced.  It will move the A axis to the correct degree and then cuts the part as if it hasn't rotated and has no A axis.  Viewing the path preview on my machine (running LinuxCNC) it shows the following:

 

For the correct tool path:

 

 

[IMG]http://i279.photobucket.com/albums/kk138/dlusby22/CDBEEE31-AAA2-4026-A75C-68E392318AA1.jpg[/IMG]

 

The path is the same for each rotation since I cut a square so it just shows the same path but cut 4 times after indexing 90 degrees.

 

Here is the new square from posting today:

 

[IMG]http://i279.photobucket.com/albums/kk138/dlusby22/9C0B8C87-D173-4FA6-9BDA-6C4B61C0FCC9.jpg[/IMG]

 

The gcode shows the correct A axis degree rotation however after each rotation it has code to cut the part in the next plane (up and down for 90 degree).  For some reason I don't have my file from last week saved but I will get the code and post some of it here so you can compare the two.  I hope this helps some.  More posts to follow with the code examples.

0 Likes
Message 12 of 33

Anonymous
Not applicable

Picture of the incorrect code

0 Likes
Message 13 of 33

Anonymous
Not applicable

Here is the path preview for the correct working code

 

 

0 Likes
Message 14 of 33

Anonymous
Not applicable

Tried to post the actual files of code but the .ngc file extension isn't supported.  What is the best way to post the code?

 

Here is the first few lines of code from the non-working test

 

(4TH TEST 2)
(T32  D=0.5 CR=0. - FLAT END MILL)
N10 G90 G94 G17 G91.1
N15 G20
N20 G53 G0 Z0.
(2D ADAPTIVE1)
N25 M9
N30 T32 M6
(12 3 FL)
N35 S2500 M3
N40 G54
N45 A0.
N50 M8
N60 G0 G43 X-0.0077 Y0.8286 Z1.15 H32
N65 G0 Z0.75
N70 Z0.4745
N75 G1 Z0.4245 F15.
N80 X-0.0078 Y0.8283 Z0.4189
N85 X-0.008 Y0.8274 Z0.4134
N90 X-0.0084 Y0.8259 Z0.408
N95 X-0.009 Y0.8238 Z0.4028
N100 X-0.0096 Y0.8212 Z0.3979
N105 X-0.0104 Y0.8181 Z0.3934
N110 X-0.0114 Y0.8145 Z0.3892
N115 X-0.0124 Y0.8104 Z0.3854
N120 X-0.0135 Y0.806 Z0.3822
N125 X-0.0148 Y0.8012 Z0.3795
N130 X-0.016 Y0.7962 Z0.3773
N135 X-0.0174 Y0.791 Z0.3758
N140 X-0.0188 Y0.7856 Z0.3748
N145 X-0.0201 Y0.7802 Z0.3745
N150 G3 X-0.0425 Y0.6247 I0.7063 J-0.1809
N155 G1 Y0.6187
N160 X-0.0357 Y0.5659
N165 X-0.0303 Y0.5129
N170 X-0.0261 Y0.4597
N175 X-0.0227 Y0.4065
N180 X-0.0201 Y0.3533
N185 X-0.0181 Y0.3001
N190 X-0.0164 Y0.2468
N195 X-0.0152 Y0.1935
N200 X-0.0142 Y0.1402

0 Likes
Message 15 of 33

Anonymous
Not applicable

Here is the next operation in the same file when it indexes but then machines in the XZ plane instead of the XY plane again.

 

(2D ADAPTIVE1 2)
N695 A270.
N700 M8
N710 G0 G43 X-0.0077 Y-1.17 Z0.8083 H32
N715 G0 Y-0.77
N720 Y-0.495
N725 G1 Y-0.445 F15.
N730 X-0.0078 Y-0.4394 Z0.808
N735 X-0.008 Y-0.4339 Z0.8071
N740 X-0.0084 Y-0.4285 Z0.8056
N745 X-0.009 Y-0.4233 Z0.8035
N750 X-0.0096 Y-0.4184 Z0.8008
N755 X-0.0104 Y-0.4138 Z0.7977
N760 X-0.0114 Y-0.4096 Z0.7941
N765 X-0.0124 Y-0.4059 Z0.79
N770 X-0.0135 Y-0.4027 Z0.7856
N775 X-0.0148 Y-0.4 Z0.7809
N780 X-0.016 Y-0.3978 Z0.7758
N785 X-0.0174 Y-0.3963 Z0.7706
N790 X-0.0188 Y-0.3953 Z0.7653
N795 X-0.0201 Y-0.395 Z0.7598
N800 G18 G2 X-0.0425 Z0.6044 I0.7063 K-0.1809
N805 G1 Z0.5984
N810 X-0.0357 Z0.5455
N815 X-0.0303 Z0.4925
N820 X-0.0261 Z0.4394
N825 X-0.0227 Z0.3862
N830 X-0.0201 Z0.3329
N835 X-0.0181 Z0.2797
N840 X-0.0164 Z0.2264
N845 X-0.0152 Z0.1732
N850 X-0.0142 Z0.1199
N855 X-0.0134 Z0.0666
N860 X-0.0128 Z0.0133
N865 X-0.0123 Z-0.04
N870 X-0.0119 Z-0.0933
N875 X-0.0116 Z-0.1466
N880 X-0.0124 Z-0.1599
N885 X-0.0148 Z-0.173
N890 X-0.0186 Z-0.1857
N895 X-0.0291 Z-0.2102
N900 X-0.0604 Z-0.2534

0 Likes
Message 16 of 33

Anonymous
Not applicable

And here are the first few lines of code from the correct working file

 

(4TH AXIS SQUARE TEST)
(T25  D=0.375 CR=0. - FLAT END MILL)
N10 G90 G94 G17 G91.1
N15 G20
N20 G53 G0 Z0.
(2D ADAPTIVE1)
N25 M9
N30 T25 M6
(38 CARBIDE 4 FL)
N35 S3000 M3
N40 G54
N45 A0.
N50 M8
N60 G0 X0.0242 Y0.7156
N65 G43 Z1.1625 H25
N70 G0 Z0.7625
N75 Z0.47
N80 G1 Z0.4325 F39.37
N85 X0.0241 Y0.7153 Z0.428
N90 X0.0239 Y0.7145 Z0.4235
N95 X0.0236 Y0.7132 Z0.4192
N100 X0.0231 Y0.7114 Z0.4151
N105 X0.0226 Y0.7092 Z0.4112
N110 X0.0219 Y0.7064 Z0.4076
N115 X0.0211 Y0.7033 Z0.4044
N120 X0.0202 Y0.6999 Z0.4016
N125 X0.0192 Y0.6961 Z0.3993
N130 X0.0182 Y0.6921 Z0.3974
N135 X0.0171 Y0.6879 Z0.3961
N140 X0.016 Y0.6836 Z0.3953
N145 X0.0149 Y0.6793 Z0.395
N150 G3 X-0.0019 Y0.5626 I0.5297 J-0.1357
N155 G1 Y0.5566
N160 X0.0041 Y0.5103
N165 X0.0086 Y0.4639
N170 X0.012 Y0.4173
N175 X0.0145 Y0.3707
N180 X0.0164 Y0.324
N185 X0.0179 Y0.2773
N190 X0.0189 Y0.2307
N195 X0.0197 Y0.184
N200 X0.0203 Y0.1373

0 Likes
Message 17 of 33

Anonymous
Not applicable

And here is the code in same file when it indexes correctly and cuts on XY plane again

 

(2D ADAPTIVE1 2)
N1395 A90.
N1400 M8
N1410 G0 X0.0242 Y0.7156
N1415 G43 Z1.1625 H25
N1420 G0 Z0.7625
N1425 Z0.47
N1430 G1 Z0.4325 F39.37
N1435 X0.0241 Y0.7153 Z0.428
N1440 X0.0239 Y0.7145 Z0.4235
N1445 X0.0236 Y0.7132 Z0.4192
N1450 X0.0231 Y0.7114 Z0.4151
N1455 X0.0226 Y0.7092 Z0.4112
N1460 X0.0219 Y0.7064 Z0.4076
N1465 X0.0211 Y0.7033 Z0.4044
N1470 X0.0202 Y0.6999 Z0.4016
N1475 X0.0192 Y0.6961 Z0.3993
N1480 X0.0182 Y0.6921 Z0.3974
N1485 X0.0171 Y0.6879 Z0.3961
N1490 X0.016 Y0.6836 Z0.3953
N1495 X0.0149 Y0.6793 Z0.395
N1500 G3 X-0.0019 Y0.5626 I0.5297 J-0.1357
N1505 G1 Y0.5566
N1510 X0.0041 Y0.5103
N1515 X0.0086 Y0.4639
N1520 X0.012 Y0.4173
N1525 X0.0145 Y0.3707
N1530 X0.0164 Y0.324
N1535 X0.0179 Y0.2773
N1540 X0.0189 Y0.2307
N1545 X0.0197 Y0.184
N1550 X0.0203 Y0.1373
N1555 X0.0208 Y0.0906
N1560 X0.0211 Y0.0439
N1565 X0.0214 Y-0.0028
N1570 X0.0216 Y-0.0495
N1575 X0.0218 Y-0.1428
N1580 X0.0219 Y-0.1895
N1585 X0.021 Y-0.2012
N1590 X0.0186 Y-0.2126
N1595 X0.0107 Y-0.2346
N1600 X-0.0161 Y-0.2728

0 Likes
Message 18 of 33

daniel_lyall
Mentor
Mentor

one thing it could be when you select the next faces to cut it does not work as it should, but then the next face it does, then it does not work again if it's this you need to select the stock contor first then select the faces to be cut.

 

if you have a look at the 4 axis indexing vids I did on one I had to do this.

 

to put code in a post use the insert code buttion {i} Smiley Happy


Win10 pro | 16 GB ram | 4 GB graphics Quadro K2200 | Intel(R) 8Xeon(R) CPU E5-1620 v3 @ 3.50GHz 3.50 GHz

Daniel Lyall
The Big Boss
Mach3 User
My Websight, Daniels Wheelchair Customisations.
Facebook | Twitter | LinkedIn

0 Likes
Message 19 of 33

Anonymous
Not applicable
It seems to be resolved. I had to go into the config file and change the var tcp setting to false. I assume this is the setting that would need to be true if you used a 5th axis although I'm not positive. I am in the process of designing a 5th axis trunnion for my machine so will be finding out son enough.

Thanks again for the help. I'm not sure why it initially worked and now it didn't so hopefully now it behaves.
0 Likes
Message 20 of 33

daniel_lyall
Mentor
Mentor

I think it might be a bug only had it happen onces myself.


Win10 pro | 16 GB ram | 4 GB graphics Quadro K2200 | Intel(R) 8Xeon(R) CPU E5-1620 v3 @ 3.50GHz 3.50 GHz

Daniel Lyall
The Big Boss
Mach3 User
My Websight, Daniels Wheelchair Customisations.
Facebook | Twitter | LinkedIn

0 Likes