Siemens NX CAM Pro / Solid Edge CAM Pro and gcodes

Anyone using Solid Edge CAM Pro or NX CAM Pro with Shapeoko? The post processor seems to output a lot of gcodes that are not supported by my Shapeoko. I found this link that has a list of gcode commands that are supported “on Shapeoko with Carbide Motion”, but does that mean those are the only ones that are supported by the controller? If I use Universal Gcode Sender or something else it reports “GRBL 1.1f”. Is there some other link to a library of gcodes the controller supports or do I need to stick with the list from link above?

That link is what Grbl and Carbide Motion support.

You will need to find a post-processor which limits the G-codes used to those which are supported.

This has been discussed in the past:

Relevant links:

The GRBL wiki lists the G-Codes that are supported by GRBL. Home · gnea/grbl Wiki · GitHub
And a bunch of other good info.

@Tod1d provided a post processor. It looks like it is generating the same output that I got from the post processor on post hub, so I am guessing the one on post hub came from Tod1d. I am just learning NX CAM pro so I set up a simple pocket operation to test things out. I post processed and Carbide Motion would not even run it, so I switched to UGS. What do you guys use to send gcode?

I have a number of questions about the generated gcode.

  1. First line is always “O0001” which throws an error, so I have to skip this line to proceed
  2. First move is N80 G0 G53 Z600. which throws an alarm. My machine seems to be set up such that z=0 is at the end stop, negative z is down, positive z is up (which seems correct intuitively), but that means that all z locations are negative?? I tried to move Z way down and reset zero, but this gcode with G53 appears to be absolute machine coordinates, not relative to Z=0.
  3. In stepping through the code line by line and avoiding all of the +Z issues, I come to a G3 line that throws error 34 on invalid radius N140 G94 G3 X2.593 Y0.406 Z27.059 R2.857 F250.

Thanks for the help guys!

Ah ha. Looks like there was a bug in CAM Pro post processor selection. Just for kicks I tried the post-builder tutorial and noticed that the output was not changing when I changed post processors. I restarted CAM Pro and re-selected the post processor @Tod1d provided and now I have new output, no “O0001” on the first line, no crazy z move at startup.

Nope. I didn’t even know that one was there. And it’s a Post Configurator post.
Mine was created with Post Builder, and should be much easier to edit if needed.

  1. O0001 is a common G-Code program name. Not supported by CM
  2. G53 means, “Use machine coordinates” rather than “Part/Workpiece Coordinates”. On these machines, all Machine coordinates should be negative, because the home position is up, back, right.
  3. What is the line before N140?

Whatever was going on with CAM pro was faking me out. I restarted and chose the post processor you provided and it worked. I was able to run the tool path. It was as if CAM Pro was not honoring my post processor selection until I restarted.


Just curious, on post builder screen 1, what setting did you start with for the controller? Generic?

Another CAM Pro question, let me know if you think I should start a different thread…

When I try to pick a material, there are only a handful listed. Do you have a material / feeds and speeds for MDF? Any idea how I would install the material in CAM Pro so that I can select it?

I used Fanuc. But i’m sure Generic would work fine. I removed a bunch of stuff from the Fanuc post to get it Shapeoko compatible.

Do you mean NX CAM? Are you talking about this material?

Those live in this file…

NX provides a few materials as an example for creating your own S&F library.

To automate Speeds & Feeds in NX, you need to customize all of the .dat files in that folder.
You can do it from NX with Menu → Tools → Edit machining data library.

You need to create a separate combination for each Part Material, Tool Material, Cut Method, Tool diameter, Tool length, setpover & cut depth. Then for each combination enter a surface speed & chip load (Feed per tooth). The system will calculate the spindle speed & feedrate from those numbers, the tool diameter & number of teeth.

This is NOT a trivial task, and takes quite some time. There can be thousands of combinations.

If you’re a large corporation with fulltime NC programmers and a lot of machines & tools, this would be worth the effort. Otherwise, I would recommend just doing what I do & type in the speeds & feeds you want.

1 Like

Thanks Tod, I don’t know how I ever would have gotten this working without your help.

I found a metric converted feed & speeds chart on this post Shapeoko & Nomad - Feeds & Speeds Charts - #3 by tito

One NX question… do you have any of the Shapeoko tools entered for NX, e.g. #201. I measured one, entered all the dimensions, generated a tool path, but then somehow was not able to save it to NX tool library. I am going to try again today and see if I can figure out what I did wrong.

Thanks again for the help!

I don’t have the Shapeoko tools. I usually just create tools on the fly.
If you’re going to start customizing the CAM resources (Post, Tool Library, Simulation, Material Library, etc…) You should copy the Mach\resource folder to a location you can edit. Something like C:\my_resource or D:\NX1980_custom\my_business_resource
Then set up a shortcut to call NX with that folder set as UGII_CAM_RESOURCE_DIR
Then you can set the permissions on that whole folder to remove all the Read-Only attributes.
If you decide to do this, let me know & I’ll send you one of my .bat files & shortcuts.
It’s just a copy of NX\UGII\ugii.bat with that variable set.

Yet another question… what software do you use to send gcode? The post processor output G81 for hole drilling but when I used UGS to send it to the Shapeoko it was not supported. I saw a thread that another gcode sender, bCNC internally translates G81 to simple moves. Just curious to know what you are using.

1 Like

In NX, change the “Motion Output” to Single Moves. You won’t get canned cycles


I use a NX post I created to output to Carbide Motion / GRBL format, so I still use CM to run the machine.

1 Like

Excellent! You are the man!

This topic was automatically closed after 30 days. New replies are no longer allowed.