G Codes for CNC Lathe. Ezilathe.

by John

Most hobby modellers who use a CNC lathe, run the lathe with Mach3 software. Some have progressed to Mach4, but apparently 4 is not straight forward, and my expert advisor says that it is best to stick with Mach3 for the time being.

Mach3/4 requires instructions to control movements of the lathe carriage (X and Z movements), spindle on and off, spindle speed, coolant on and off etc, and those instructions are in the form of G codes.

G coding is not difficult to learn. There are excellent YouTube tutorial videos on the subject, Udemy courses, books, and so on.

The problem is that mistakes in G coding can be easily made, costly, and sometimes scary. The biggest problem is that G coding is time consuming.

Fortunately, software is available to make G coding automatic, fast, and reliable. This post is about the program which I use for G coding. It is called Ezilathe. It is available at no cost as a download from CNCZone. (see details of downloading later in this post).

Ezilathe was written by Stuart Tankard, who I met a decade or so ago at a meeting of GSMEE. Stuart gradually persuaded me to get into CNC, and frankly, the decision to do so has resulted in a quantum leap in the scope and standards of my model engineering efforts. Now I use a CNC lathe, CNC mill, CNC rotary table, CNC 3D printing.

But I digress. This post is about G coding for CNC lathe. Until Ezilathe came along, I was programming G codes manually, making mistakes, and consuming lots of time. And experiencing crashes. Exciting, damaging, and sometimes dangerous.

To CNC turn an object, the profile must first be drawn with a CAD program such as AutoCAD. There is a very basic CAD drawing facility in Ezilathe, but it is so basic that I prefer AutoCAD. In AutoCAD I then rotate and move the object as it would be held in the lathe chuck, and move the tailstock end of the profile to the X=0, Y=0 position. Only half of the original drawing is required, so I delete everything below the X 0 line. I delete or hide all lines which are not part of the profile. The profile can be saved as a polyline, or as separate lines, arcs, splines etc. It is named and saved as a dxf file.

Then Ezilathe is opened, and the dxf file is imported.

The stock diameter is entered. The z position of the tailstock end of the profile is entered (usually Z=0). Feeds and speeds are entered using the tables in Ezilathe or another source. I use an app named “FS Pro”. Also select which lathe tool is to be used (the lathe tools are all entered in advance) or select a “point tool” which has an infinitely sharp point, and no width. In the example shown in the pictures below the turning was achieved with one tool. If multiple tools are required on one job, each tool will have to been set in the tool editor. So far I have not used the tool editor, but I can vouch that it works well, having seen the superb results which have been achieved by Stuart.(see the photos below)

Then the polyline of the profile, OR, each line and arc etc is selected in the machining sequence. Important not to miss any small lines or arcs as unintended results can occur. That is why it is sensible to save the original drawing as a single polyline. (Stuart tells me that any gaps will be automatically filled by Ezilathe as straight lines.)

Then go to the simulator, and see how Ezilathe will manage the sequence of cuts. In the picture below, the cuts are the straight lines, and there are 2 finishing cuts along the profile.

If all looks well, generate the G code. I usually visually scan the G code, looking for obvious errors. Usually there are no errors. Save the G code. Then ready to use the G code to make the part.

AN air cut with no work stock or cutting tool is sensible for beginners.

This was a demonstration of Ezilathe to GSMEE members. Stuart Tankard watching carefully to correct any of my errors. The G code is on the right side of the drawing.
This is the CNC turned finial, which was demonstrated to GSMEE members. Fortunately the turning all worked out well.
I made this bookcase about 30 years ago. Can you see the finial? It was a very delayed addition.
Now some examples of items made by Stuart using Mach3 and Ezilathe. All of the components in this valve were made by Stuart.
And when he makes an item he finds it difficult to stop churning them out!
pretty rough hey!
Stuart made this cutter to make the seats on the valves. Some turning on the lathe using Ezilathe, and some mill work. And heat treatment. Not bad hey!

There is a lot more to Ezilathe. This has been a very brief introductory summary. Creating a lathe tool library, and entering startup strings for different lathe setups for example.

To download Ezilathe, you need to register at CNCZone. It is quite a good, useful site. In CNCZone go to downloads, Postfiles, Page 2. Select Ezilathe, and Ezilathe.pdf. The pdf is a comprehensive manual. Save them to a directory named C:\Ezilathe and unzip them. The program has been fine tuned, and updated. The latest version is 1.7.3. Then, on page 1 of Postfiles there is a small bug fix, Version 1.7.3.3. 1.7.3.3 is an executable which should be run after 1.7.3 is installed. If there are problems or questions Stuart can be contacted via CNCZone.

I have no hesitation in recommending this excellent program. It is just amazing that it is free.