What's new
What's new

New to CNC, G-code practice or straight to Fusion?


Jan 11, 2021
Yeah, a post processor is a javascript script that takes the toolpaths from CAM and turns them into G-Code. That includes all the specialty stuff like turning coolant on and off, safety code, canned cycles, etc.

You can do a TON on a lathe with just canned cycles in a few minutes if you know what you're doing, but I am always more efficient out of CAM.

BTW, your inventor license should have HSM with it as well, which is the exact same CAM as is used in Fusion 360 (literally the exact same kernel). They use the same post processors so you can look through the HSM/Fusion post library on the Autodesk forums and get an idea of what you're jumping into. You do need to prove out a post, or pay someone else to do it. And even after that you do need to understand code enough to know how the machine is going to react to your toolpaths and other CAM instructions.

Seems like the HSM express is free plugin, thanks. Probably very limited in that state, but its better than nothing.


Oct 26, 2007
Hi MachineAmateur:

Here's just one more vote in favor of learning G-code (to at least some basic level of proficiency).

If you are the sort of person who is comfortable learning on your own, I can recommend some of the books here: CNC Books | CNC training | CNC Concepts, Inc.

This whole endeavor will likely prove to be easier than you think IMHO. You don't necessarily need to become *expert* before you can start making parts, but you should be able to get your head around some of the more basic *concepts*: offsets (tool length offsets, fixture offsets, cutter radius compensation), canned cycles, basic motion commands, and common program formatting conventions.

Armed with that basic knowledge, you will be able to run CAM-generated programs and know what the machine *should be* doing when it executes each line of code. This will also enable you to verify the output of your CAM programs post processor if you also understand what your machine's control requires. Without this knowledge, you are at the mercy of somebody else to furnish you with a post that does what you want/need. (Actually, until you learn how to edit your CAM program's post, you will still need the help of others, but if you can't even *read* the existing output, you're in a situation where you "can't get there from here.").

It really isn't that hard, and will afford you a good bit of control that you won't have otherwise.

Cheers, Brian


Oct 29, 2017
I learned on a laser and plasma, but my recommendation would be to use some router type G-code generators to make the profiles for 2.5D machining, then manually code in tools and offsets. You can make fairly complex parts in a reasonable amount of time and still be balls deep in the code.

For example, try out a sprocket tool that generates G-code for the outer profile. Add in a bore, roughing out a hub, finishing a hub, chamfering the teeth, making a quick jig to secure the bore to flip the part, and chamfering the back side. And then you have a usable, complex part, and you worked out a lot gotchas in the code.


Hot Rolled
Nov 25, 2015
Learning to code/learning to program are 2 separate things. I think learning to manually write G code is a massive waste of time UNLESS you are writing code for a 2 axis CNC lathe.

All these guys will claim they can finger bang a Gcode program thats "faster" and "More efficient" and "easier to read" than my 2021 mastercam code will give. I call a massive bull$h!t! Sure you might get a 2.5D program that looks "neater" but mine will run a 1/2" end mill peel milling at 300IPM and give me infinitely more tool life than your oldschool program. Who gives a crap if my program is 20,000 lines and yours is 200? THe machine can eat the code in seconds.

You DO need to understand Gcode, the syntax, and what the hell its doing. I can post my programs to code, look at the code and "read" it. I can tell you what the program is doing in that exact moment. Point is, you just need to understand it. No way in heck am I gonna finger bang that out. To learn it, you need to post it, look at your G and M code tables and interpret what the code is doing. Do that 1000 times. Then you know Gcode. I can do that with a 3 axis part or a 5 axis simultaneous part and tell you what its doing.

G00 Proto

Hot Rolled
Feb 18, 2013
Dirkdirkistan, ID
I didn't read all of the responses, so I apologize if I mimic someone else...

You need to have a fundimental understanding of code and what it does at the machine. Most of the good operators can read code in real time and tell you what is going to happen.

Finger programming at the machine is dead (or should be). Yes there are some people that are reasonably efficient, and some machines that are more conducive to finger cam... but in today's age I never see anything other than the most basic part that can't be modeled and programmed quicker on a computer than programmed at the machine (and the machine can still be running the current job while you are programming the new part). You will get some anecdotal evidence to the contrary, and it may be applicable in certain situations, but by and large CAD CAM is significantly faster.

That being said, the computer side of programming requires a different type of diligence. You need to understand code so you can manipulate the POST until it outputs the exact code you need 100% of the time. You should never edit a program at the machine. If you need to edit to make it work exactly the way you want it to, there is a bug in the software or you have failed to make the post correct. No ifs ands or buts. This can be an incredibly laborous process that can take months to get perfect.

You also need to be fast at CAD and fast at programming. Some people struggle with software. They can't remember where the icons are or what they do. They may not have enough time on the system or not have the mental capacity to do it. It takes repition and practice. I've been running CAD CAM systems fulltime for thirty years, and I'm fast. BUT, I'm learning a new program right now and I am going through tutorials, taking notes and memorizing boring shit. I feel stupid and feel like I am wasting time, but I know that it probably takes me 2000 hours of use on a new platform to consider myself competent (not that all of that time will be tutorials; 90% will be on the job training).

(In addition to having my own machining company, I also go into other people's shops and help them get things moving when they are stymied on programming/ setup; therefore I may have a different perspective than other people.)