CNC's Automate the Sheet Metal Fabrication Industry

Manufacturers, which produce various steel products, require punching of sheet metal to meet design requirements. Technology has entered the scene of this once manually operated process. This not only increases the speed of production but it gives a new meaning to the term "accuracy" in the positioning of the specific operations. This has been accomplished with the introduction of CNC or computer numerically controlled machining centers.
Punching of sheet metals is a steel fabrication process utilizing 'tools and dies'. A punch press is the machine which performs the work of shaping and cutting. A turret houses a set of various tools on the machine, depending on the type of punching required.
The punch press, a type of fabricating machine, presses sheet metal against a die with extreme pressure and at very rapid speed of positioning. Sheet metal, now pushed into the die, assumes the shape and design of the specific dye. Cut away, is any excess metal from the newly shaped piece of sheet metal.
Punch presses use hydraulic, pneumatic, or electrical power in their operation. This power exerts immense pressure to press the shape into and perform the cutting of the metal. A piece of sheet metal receives its new form from the taking away of material. Less sheet metal makes a new form. The excess taken away becomes scrap metal for other uses.
A CNC operated punch press typically performs this manipulation process. CNC stands for computer numerical controlled. In the case of a punch press, it utilizes a computer in its operations. The computer directs the action of this press, which contains the tools and their respective dies.
This machine receives different punching instructions from a program written and installed in the computer for a particular application. This enables the machine to go through a complete machining cycle, using various tools and automatically positioning the sheet metal over the appropriate die, at very rapid speeds and with little operator intervention. The accuracy of this process is measured in thousandths of an inch.
A manually operated punch press, for simple punching, with one tool and die set, are still in use today. Large operations with multiple dies and unique specifications rely on the CNC application.
The die portion of a punch press is of very fine tolerances. These are tolerances of thousands of an inch. Pressing sheet metal into a die with a punch means the die does the actual cutting of the metal. The punch, attached to a ram, is a removable piece, as is the die portion.
The die set for sheet metal punching consists of a male punch and a female die. When brought together, with the application of intense pressure, the result is a sheet metal piece as per the specified design.
Punch presses using CNC technology have meant greater volumes of sheet metal production. This process spells efficiency for a company, which means greater profits. This edge is necessary in the competitive steel fabrication companies worldwide find themselves.
Today, there are turret punch presses, CNC types, which perform faster because of technological advances. They can operate unattended and have sheet metal sorting capabilities. New technology constantly raises the mark for performance. Wise steel fabrication companies invest in these applications if it means streamlining of their operations for maximum profit.
Today's CNC controlled machines can even alert workers who are off-site if something goes wrong in a sheet metal punching process. This allows for unattended "lights out" production capabilities for manufacturers. Telecommunications technology embedded in these computer systems links to users' phone devices. In essence, CNC technology provides a constant watch over machining of steel.
The use of robotic applications in steel fabrication, including punching, receives continued research and application. Advanced, state-of-the-art CNC technology is the solid future of most fabrication industries.

CNC Milling Machine Buying Tips

Before buying a CNC milling machine it is a must that you should have knowledge about the CNC milling machines basic parts. A CNC milling machine is basically composed of a Safety shield that is usually a clear plastic cover that cover and protects the cutting area. The Tool bit, this part of the CNC milling machines is the one that do the cutting. Spindle Shaft, is the part that holds the tool bit. Spindle Motor, is the part of the CNC milling machine that drives the cutter. The Vertical Column, the part that holds the spindle and all of its part. The Cross Side, a moveable support where the work piece is being cut. The axis motors, which moves the cross side into different axis and the Controller box.
When purchasing your milling machine make sure to check that you have all of this part intact on your CNC milling machine, for if one of this parts is not there it will not surely work or will produce an undesirable end product. Also see to it to check out for safety features, never buy a CNC milling machine without an emergency stop button, this button automatically stops machining when it is pressed. Human, hardware or software errors could mean big losses if the CNC cannot be stopped quickly enough to correct the problem. Also check out the control panel part, it is advisable to buy one with a big control guide sticker so you can clearly see it.
Also check out the screws and tools with long overhangs and adapters, be more observant about cracks and breaks on this CNC milling tools. Make sure that the plastic shield that you are purchasing with your CNC milling machine is made up of high impact polycarbonate plastic. An insert break loose from a 35 mm diameter CNC milling cutter at a spindle speed of 45,000 rpm will be thrown out at a speed of 90 meters per second - equivalent to a bullet that is being shot out of a pistol!

Fanuc controls

Fanuc controls have changed and evolved over the years. From the older 5m/5t series, to the much newer and more versatile 31i control. Each different control varies from the next slightly in the way it should be programmed. It is for this reason that a broad knowledge of Fanuc controls is necessary. This is also the reason why this blog should only be used as a guideline. It will work on most Fanuc machines, but not all of them. For example, on a 0m control, G43 is used to measure the tool height. One CAN NOT use G43 on a Fanuc 6m control and expect the same result. The correct code for a Fanuc 6m machine to measure tool height is G46.

This is just one example of how the control has changed over time. So as a precaution, always get to know the machine before attempting to program it, always refer to the machine manuals, and always run the machine really cautiously if the program has not been proven.

Fanuc O-M milling control for a Victor V140 machine centre

This is an old Fanuc 0-M control. The 0 stands for the series, and the M is for a milling machine control. If it was a lathe control it would be 0-T

Fanuc 32-i control for a Doosan Puma LM-400 CNC Lathe
Here is an example of a much newer control, the 32i control. Note that the screen is in color. It is a much newer control than the Fanuc O-M model. This particular control is for a Doosan puma LM400 CNC lathe.

trochoidal milling

trochoidal milling

Trochoidal milling is circular milling with forward movement. It is mostly used to machine slots and pockets. Trochoidal milling reduces vibration and can greatly improve cutting time. It is mostly done with solid carbide tools, but can also be done with insert tools which are designed to handle it. Trochoidal milling is designed so that only  a small amount of material is taken off per cut, but the full length of the cutting edge can be used. This ensures even wear and heat distribution. Trochoidal milling should be done at high feed rates, using multi edged cutters. Refer to the cutter specs before attempting trochoidal milling.

Most CAM software has trochoidal milling as a feature, but Delcam is developing what they call Vortex milling, which is essentially the same thing. Here is a link to a video demonstration of vortex milling in action. Note that a shrink fit holder is being used for the solid carbide end mill as it provides better support for the cutter and prevents chatter. Also note the way the program handles corners, this is all part of Delcam's extensive research into increasing productivity in the machine shop.

Here is the link: Vortex Milling

Important g codes for cnc turning

Important g codes in cnc turning

G00 - rapid traverse
G01 - feed
G02 - circular interpolation (clockwise)
G03 - circular interpolation (counter clockwise)
G04 - dwell
G10 - data setting
G28 - return to reference point
G40 - tool nose radius compensation off
G41 - tool nose compensation left
G42 - tool nose compensation right
G50 - coordinate system settin and spindle max speed setting
G96 - constant surface speed on
G97 - constant surface speed off

Turning cycles

G70 - Finishing cycle
G71 - OD / ID roughing cycle
G72 - Face roughing cycle
G74 - Peck drilling cycle
G75 - Grooving cycle
G76 - common threading cycle

This is designed to be a basic guide, and should be taken as such. Always refer to the machines manual before attempting to use any codes or writing any programs.

Best brands of Cnc machinery

Best brands of Cnc Machinery

There are lots of brands to choose from when buying Cnc machines. Some of the best brands of CNC on the market include such names as:


Mazak was established in 1919 in Japan. Mazak CNC is most likely the best brand of CNC machine on the market. Even though a Mazak CNC is expensive, not many people can argue that buying a Mazak CNC is money well spent. Although, if you are using your CNC just for a  hobby, or are just starting out, then maybe go for a cheaper brand. There are a lot of cheaper brands of CNC machines that still provide good reliability and accuracy. But if you own a production workshop, you shouldn't compromise.


Doosan was founded in 1896 in South Korea. Doosan is a good, reasonably cheap brand of CNC machine. Its easy to use, which makes it very popular. It is one of the leading brands of CNC machine on the market, although there are notable design flaws, even in the newer models. Good for a small engineering factory or for personal use, and quite good for a production environment.


Victor - taichung was founded in 1954. Their CNC machines are high quality, at a reasonable price. The company is based in Taiwan but has support branches in a number of countries including most of
 Africa. Quite a popular brand of machinary and deservedly so. They have built up a reputation as one of the top brands of cnc machine in the world.


Okuma was founded in 1898 in Japan. Okuma is definately one of the most popular and best brands of Cnc machine. Okumas are reasonably priced, and very reliable. Okuma uses its own control system called the OSP (okuma sampling control) system. It is quite similar to Fanuc but it has some differences. okuma is a brilliant machine when given to the right cnc programmer and comes highly recommended.


Haas is the biggest cnc manufacturer in America. Founded in 1983 in California, Haas quickly established itself as a serious competitor by building high quality cnc machines. Haas is arguably the most popular brand in america and europe. It comes highly recommended if you are looking to buy a new cnc machine for your factory or for personal use.

High feed milling

High Feed Machining

High feed machining is the process whereby a machinist ups his feed to the region of 2000+ mm per minute and reduces the cut size to around 1mm. This process requires specialized high feed cutters and inserts to achieve.

There are a number of advantages to high feed machining like:
  • Spindle load is greatly reduced
  • Machine time is often reduced as your feed is much higher than with regular machining
  • Shavings are smaller and easier to handle
  • Less risk of cutter burning
  • Insert life is much greater
  • Insert and job don't get as hot with high feed milling
The disadvantages of high feed machining are:
  • Much more prone to vibration
  • Generally very loud
  • A separate finish cut is needed as the finish on high feed milling is not good
  • Sub-programs are necessary to prevent the programs from being too long
  • Cut size is much smaller
  • Does not work on most older machines

Even with these disadvantages, high speed machining has become very popular, and is being used more and more in the cnc industry. The advantages outweigh the disadvantages, and as tool developers produce new inserts and cutters, the disadvantages will be eliminated.

Tool life Vs Finish

Tool Life VS Finish

Having a good finish is normally very important when it comes to CNC machining . But it can come at a price. To get a good finish, it is common practice to speed up the RPM of the cut, but this often causes a tool life decrease.

The key to this is to find the balance. Luckily, most quality inserts have specs on the back of the box which tell exactly how fast to cut to maintain a good finish as well as prevent inserts from wearing too quickly or burning.

It is also important to ensure that the correct grade of insert is used for the type of material that is being cut. Using the incorrect grade will reduce tool life drastically as well as the finish (in most cases).

It is important to note the correct cutting conditions of inserts. They are calculated by the company that makes the inserts, and the guidelines should be followed to ensure maximum productivity, reasonable insert life and a good finish.

I also recommend using quality insert brands like:






G92 code description for milling

Start Point (G92) for milling


This code is mostly used by the older machines, but since then G54,G55,G56 and G57  have become the more frequently used codes for indicating the program start location. It is still useful to know the way G92 functions, which is the reason for this short post.

G92 is a code used to show the machine where the zero-point of the program is. It is usually followed by an X,Y and Z co-ordinate which is measured beforehand.

 G90 G92 X-200. Y150. Z600. ;

This means that from the machines zero position (Home), the start point is 200mm away on the X-axis, 150mm away on the Y-axis and 600mm away. Most programs start points are at the center of the material, but generally use the drawing or setting sheet to find the best start point for your program. It is also important for this reason that the programmer and the setter communicate to ensure that the correct point is measured relative to the program. G90 is used to clear the previous start point stored in the memory. It is important that the G92 code is read when running the machine to ensure that the machine knows where the start point is. Every time the reset button is pressed, it clears the G92 out of the machines memory.

Dwell (G04)

Dwell (G04)


This is a relatively simple command and is mostly used in hole machining. It stops the machine from moving for a set amount of time, this is to ensure that all necessary material is removed from the component.

 G01 Z-10. F100 ;
 G04 P3000 ;

This will move your Z axis to -10mm, And the following line will make your machine wait 3 seconds before moving again. The spindle still moves while your machine dwells, but none of the axis's move for the time you set your dwell to. The Dwell command is most often used when drilling, to ensure the hole is cleaned up properly, as well as counter boring.

Please don't hesitate to comment on any questions you may have and I will answer them as quickly as possible. If you have not been there, check out for a list of the most important G codes.

Cutter compensation G40, G41 & G42 for milling

Cutter Compensation (G40, G41 & G42)

Cutter compensation (G40, G41 and G42) has a few very useful applications. It makes a programmers job much easier by allowing a the freedom to change cutter diameters (up to an extent) without having to write a new program.

 G01 G41 Y100. F200 D21 ;

This will move the Y axis to 100mm while taking the cutter size into consideration.

So, if offset 21 is set at 10.00mm, the Y axis will only go to Y90.

G42 works exactly the same except it will compensate on the opposite side.

 G01 G42 Y100. F200 D21 ;

Generally speaking, this line will move the Y-axis to 100.00. With the addition of G42 and D21, the machine will read from offset 21 and compensate accordingly. So if offset 21 is set to 10.00, the machines Y-axis will only move to 90.00 as it compensates 10.00 for the D-offset.

Cutter compensation remains active on the program until the machine reads G40, at which time it will switch off cutter compensation until another G41 or G42 is activated.

**Note: When using Cutter compensation, the required offset is selected using the letter D, But when working with tool height, G43 followed by  H(offset number) should be used in order to indicate a Z-height.
 EG: G0 G43 Z100. H01 (this indicates that offset number 1 is assigned with the height for the current tool)

Starting a program And references for milling

Starting a program and references

This is not a strict rule, But more of a guideline. Always start programs with these codes:

G40 G80 G90 ;

G28 Z0. ;

G28 X0. Y0. ;

This is a safety feature that should be applied to programs, The first line clears any and all offsets, start points, and cutter compensations that might have been left on from the previous program.

The second line takes the Z axis home, This is to ensure there is clearance for the X and Y axis to go home. By moving all 3 together, there is a risk that the tool will crash into the job or fixture.

T01 ;

M06 ;

This is simply to select this first tool in the process, and does a tool change.

G00 G54 X0. Y0. S500 M03 ;

This puts the machine in rapid movement mode, Reads the first reference point, and starts thespindle in a clockwise direction at 500 RPM.

G43 Z100. H01

This set of codes reads the tool height ( measured and put into the machine at the beginning of the setup process) and moves the Z axis 100mm from the job.

Now put it all together:

G40 G80 G90 ;

G28 Z0. ;

G28 X0. Y0. ;

T01 ;

M06 ;

G00 G54 X0. Y0. S500 M03 ;

Simple as that!

Follow up now with the codes depending on the required tool path. For flood coolant, it is necessary to use the M08 code near the beginning of the program, and M09 after the tool has completed its path. The M30 code is used to indicate that the program has finished.

**Note: This is just a guide, Not all Fanuc machines work exactly like this. Some use G46 instead of G43 and some use other codes like G92 instead of G54. Always refer to the manual before writing programs.

Use of Movement g codes for milling

Use of movement G-codes

Here I will discuss how to utilize the movement G-Codes, If you haven't checked out the list of G codes yet, be sure to check them first here:

Eg 1.
G00 X100.  ;

This will make the X axis Rapid to 100mm, Can also be used with any other Axis the machine has.

Eg 2.
G01 X100. F100 ;

This will make the X axis feed to 100mm at a feed rate of  F100 or 100mm/m

With these 2 codes, a basic straight line cut can be done by rapid traversing the tool near to the job, and then using the G01 code to cut the material. 

Eg 3.
G00 X20. ;
Z1. ;    *
G01 X0. ;

*Note that it is not necessary to re write G00 to get the Z axis to rapid to 1mm. This is because G00 is already selected from the previous line. Only once G01 is selected in the program, then it will be necessary to change back to G0 for rapid traversing.

This set of codes will rapid the X axis to 20mm, Then rapid the Z axis to 1mm, Then feed the X axis to 0mm.

These 2 codes are very important to know, If you swap them around, you will end up rapiding into your job and breaking your tool. Now to the next code.

Eg 4.
G02 X0. Y100. R100.

This code is telling the machine that you want it to make a clockwise radius of 100mm. The X and Y values in this case represent what position the tool is going to stop cutting the radius.

The same applies for G03 except that your radius cuts counter clockwise.

This completes our list of movement G-codes.

List of important M-Codes

List of Important M-codes



M00 - Program pause
M01 - Optional stop
M03 - Spindle start (clockwise)
M04 - Spindle start (Counter clockwise)
M05 - Spindle stop
M06 - Tool change
M08 - Flood coolant on
M09 - Flood coolant off
M19 - Spindle orientation
M30 - Program end and rewind

Please note that this is not a complete list of M-codes, just the most common ones used in CNC programming. One should always be familiar with the machine before attempting to use it or program it. Machine G-codes and M-codes may vary from model to model. Consult the programming manual for machine specific codes.

List of important g codes for milling

List of important G-codes in Cnc milling

G00 - Rapid movement
G01 - Linear movement
G02 - Circular interpolation (Clockwise)
G03 - Circular interpolation (Counter clockwise)
G04 - Dwell
G28 - Chosen axis returns home
G40 - Cutter compensation off
G41 - Cutter compensation on
G42 - Cutter compensation on

G43 - Read tool height
G54 - Reference point 1
G55 - Reference point 2
G56 - Reference point 3
G57 - Reference point 4
G92 - Start point

Milling Cycles

G73 - Peck drilling cycle
G74 - Counter tapping cycle
G76 - Fine boring cycle
G80 - Cycle cancel
G81 - Drill cycle / spot drill cycle
G82 - counter boring cycle
G83 - Peck drilling cycle
G84 - Tapping cycle
G86 - Boring cycle
G87 - Back boring cycle

Please note that these are not all the G-codes but only the most common ones used in CNC milling. Also note that the G-codes on this list work for majority of Fanuc controls, but one should always be familiar with the machine and machine codes before attempting to program a CNC machine, as there are variations in G and M codes on different machines.