Blog | Jobs


Note: The G-code and procedures assume Fanuc controller, but concepts can be used across brands.

"Making The Connection"

There are three important relationships you need to make when setting a CNC lathe.

  1. Machine Zero or Reference Point.
  2. Tool Change Position/Safe move (G50)
  3. Program Zero

1 and 2 are the XZ location of the center of the tool turret.

If you want to earn money machining, you better know something about this machine motion type.

It was one of the first designed by those crazy mad scientists at MIT.

In its most basic form, the command directs your machine to move the TCP (tool center point) linearly, horizontally, vertically, or diagonally.

With those three motion types, you can have the (c)NC machine move any way you want.

Even the very complex looking multi-axis surface machining you see examples of are primarily built using it.

What is the toolpath type?

G01 = Linear interpolation at a specific feed rate.

The lathe as we know, is different than a mill in the simple fact that with a lathe, our part is what rotates and our tool is what stays steady.

Because of that we need to calculate our speed and feeds based of the rotation of the part.

Cutting Speed (SFPM) = (Spindle RPM X Cut Diameter (in.)) / 4

Like a mill we could use a G97 and set a constant speed of 500 and make our cut. But, what if we are preforming a cut that reduces the Cut Diameter parameter from above. (Think basic facing operation)

So we know that if we Decrease our cut diameter, we should technically increase our spindle speed. That is when we use the awesome block of g-code - G96.

The G96 command directs the controller to increase or decrese the sindle RPM by increments of 1 rpm (standard).

G96 S600
Directs the MCU to adjust the spindle RPM so that a surface speed of 600 SFPM is held constant during machining.



M99 Specifying feed rate in terms of inches per revolution (IPR)

M98 Specifying feed rate in terms of inches minute (IPM)

I mean this when I say it, thank you to all of the engineers that came before me, who's main goal it was to eliminate the need for us to use punch tape code...

Enter > MCU (Machine Control Unit)

A CNC machine is just an NC machine, yes it has the added benefit of an attached computer. When your favorite machine supplier builds your future CNC machine, they pre-load the MCU's ROM (Read only memory) with their own software. This will control executive functions that will not be erased when the machine is powered down.

ONe of the major impacts my mentors have noted when they first switched to CNC/MCU, was the newfound ability to "on the fly MDI". Manual Data Input by the operator/engineers is stored on the RAM (Random access memory) portion of the computer. This allowed much faster creation and editing of their (c)NC programs.

G90 G20 G40 G80
G91 G28 X0.0 Y0.0 Z0.0
G92 X-10.0 Y5.0 Z0.0
T1 M6
G0 G90 X.5 Y-.375 Z0.0 S1600 M3
G43 Z.1 H1
G83 X.5 Y-.375 Z-.45 R.1 Q.1 F5.0
G0 G90 Z4.0 M5
G28 X0.0 Y0.0 Z0.0

G-Code Meaning
O01334 Program Number


  1. The machine home position is a physical location of the machine that is set by the manufacturer.
  2. Each machine will have a “work envelop” which should be maximized with the proper machine home.
  3. The part origin will ultimately be a Cartesian offset from the Machine 0,0,0. (See pic1)
  4. If datum’s are specified on the blueprint, the part origin must be the intersection of those three planes.
  5. If GD&T is not in use, then the Machinist should consider where the majority of the dimensions are coming from.