top of page
  • Writer's pictureAdam Bender

How to Design For CNC Milling

Updated: Jun 4, 2019

In this post I will go over some of the top tips and tricks on how you can improve your designs and decrease cost while optimizing for manufacturing on a CNC milling process. I'll cover everything from fillets, chamfers, setups, drilling, tapping, undercuts and even text.

Summary picture of all design techniques to decrease part cost while designing for CNC milling and machining

CNC Machine

A computer numerically controlled (CNC), milling machine is used to transform blocks of raw stock into finished parts by cutting away material.

Labelled parts and axes of a CNC milling machine

There are generally 3 axes to a milling machine:

X: Left to Right

Y: Forwards and Backwards

Z: Up and Down

These three axes of motions let the spindle, which spins a cutter at high speed, carve away material and leave behind nearly any shape desired.

The part being milled is held in a vise, which is in turn attached to the table of the CNC.

There are more advanced machined with additional features and axes, but understanding the simple 3 axis milling machine is an important first step to mastering manufacturing.


There are many countless types of cutters in the world of CNC machining. Understanding the most basic types provides the knowledge needed to design better part.

Common types of cutting tools used in CNC machining

Flat End Mill:

The most common end mill, produces a flat bottom cut that is useful for material removal and finishing of vertical walls.

Bull Nose End Mill:

Similar to a flat end mill, but with very small radii in the corner that increases tool strength by eliminating thin tips. Good for fast material removal and leaving a small bottom radius on parts.

Ball End Mill:

Good for surfacing complex 3D shapes as well as machining larger bottom floor radii.


Used only for making vertical holes in parts.

Low Aspect End Mills

Cutters with the shortest length and largest diameter are preferred since endmill is effectively a cantilever beam.

Relationship of endmill length and diameter to deflection, and how shorter and wider end mills are preferred for CNC machining

Every doubling of endmill length for the same diameter increases the deflection by 8x, requiring significantly slower machining times.

From an alternative viewpoint, halving the diameter of the endmill for the same length will increase deflection by 16x.

This is seen here where both end mills have the same force applied, but the one on the right is twice as long, resulting in significantly more deflection.

This carries into part design, where the designer should also be thinking of the length of the end mill that is needed to machine the feature.

Short end mills with large diameters will give the fastest machining time which results in the most cost effective part.

Internal Fillets

Internal fillet and radius size to optimize for manufacturing cost with CNC machining

Internal fillets should be as large as possible. This allows a large diameter tool to be used which decreases machining time.

As a rule of thumb, R should be greater than 1/3 of H. So a 12mm deep pocket should use at least a 4mm internal radius.

It is of course possible to have smaller internal fillets, but the part cost will increase accordingly.

Fillet Specifics

Optimizations for size of internal fillets and radius for a CNC machining process

Know the size of the tooling you’re using, and always keep the internal fillet radii slightly larger. This keeps the tool from rapidly increasing the amount of material it’s cutting when it make it to the corner.

If the tool diameter exactly matches the internal fillet, then as the tool enters the corner, it will suddenly switch to a huge amount of cutting engagement momentarily, which could cause the cutter to break.

For example, if the tool being used is a 10mm diameter end mill (5mm radius), make the part corner fillet a bit bigger, say 6mm.

Dog Bone Corners

Dog bone corners allow for a replication of a square internal edge, useful for assembly in CNC machining

If a square corner is a must for a mating part, then use a dog bone corner. Keep the diameter of circular corner cut as large as possible.

Feature Height

Keep the height of machined features less than 4x their width. Tall and skinny features will vibrate significantly during machining, causing poor tolerances and surface finishes.

Try and add reinforcement where possible to reduce tall isolated features.

Tapped Holes

Rules and recommendations for drilling and tapping while designing for a CNC machining process

A thru hole is always preferred to a blind hole, as it allows the chips from cutting the threads to be evacuated.

Don’t tap a hole any deeper than 3x the diameter. There isn’t any increase in strength past this point, it just gets more difficult to manufacture and to thread in the fastener.

For blind holes, always allow for the pilot drill to extend past the threads by 0.5x the diameter. It is difficult to tap threads all the way to the very bottom of the hole, and requires the machinist to change out the tap type.

Stock Size

Considerations on raw stock size when designing parts for CNC milling process

Make sure your finished part fits inside of off the shelf raw stock dimensions. Check your metal supplier for common sizes.

Always leave 3mm below the part for the vise to grip the part with, and at least 1mm all the way around.

This leaves some material to be machined off, so you’re always left with a machined surface that looks good and is dimensionally accurate.

Chamfer and Deburr

Chamfer and deburr process for cnc machining

If you want the sharp edge broken on a part, simply point to it on the drawing and label it as “break edge”. The machinist will deburr this edge.

Only model a chamfer if you actually need a specific dimension. Keep the angle of the chamfer as 45 degrees, as this is a very common tool size.

Different widths of chamfer can be made with the same tool, simply by positioning it in a different location.

Reduce Setups

Every time the part is clamped to the vise and located, this is known as a setup. Reducing the number of setups decreases machining time which makes the part more cost effective.

Reducing the number of setups increases part accuracy, as features made in the same setup are made nearly as accurate as the CNC is made, which is quite good.

Since all toolpaths must originate with a spinning cutter coming from the vertical direction, any features on the side of the part requires the part to be removed from the vise, and re-clamping.

Re-clamping takes time and introduces an opportunity for error, since the part must be located in the vise again for the program to continue cutting.

Fillet External Corners

Adding external corners is free and should be done when designing for a CNC milling process

Always add small fillets to all external corners.

They’re free features for CNC milled parts. Any radius will work, this type of fillet doesn’t drive any tooling due to the fillet being on an outside corner.

This will reduce sharp edges and eliminate weak corners that could easily damage or scratch other components.

Bosses for Tight Tolerance Areas

Adding bosses to a part allows for tighter tolerances locally for a CNC machining process

If very high flatness tolerances are needed, utilize small bosses with reduced area. Especially on larger parts, this allows only certain areas to need high tolerances, while the rest can be held much looser.

This way, the machined part can be easily tuned to meet the required tolerances.


Design guidelines for drilling with a CNC machining process

Keep drill depths to less than 6x the diameter, longer is possible, but requires special tooling.

Alternatively, depending on if the design allows it, drill from both sides of the material to make extended holes. Understand there will be some amount of mismatch where the two drills meet.

Do not specify flat bottomed holes unless absolutely necessary. These are difficult to make requiring special tooling.

Bottom Edge Fillets

Avoid bottom edge fillets for CNC machining, they add cost and machining time

Try and avoid fillets along the floor of a pocket as it can be difficult to make, especially if the pocket is deep.

If you have to, pick a floor radii that is common among bull nose tools, as it will give the machinist some flexibility when making the part.

If you’re not sure of the tooling being used, make the radius large to allow for large diameter tools to make the cut.

Fillets for Edge Breaks

Don't use fillets as an edge break technique, they're slow and expensive to machine

Don’t fillet the top edges of parts as an edge break.

The tooling required for this is specific to the radius of the fillet, or will need to be slowly 3D surfaced with a ball end mill.

Instead, specify a chamfer, as these are much easier to cut and will reduce the price of the machined part.

Edge Drilling

Avoid drilling holes where part of the hole leaves the stock material when machining

Always ensure that the entire diameter of the drill is contained with the part.

If part of the drill hole is outside of the part then the drill may break, and the surface finish will be very poor. The extremely sharp edge at the corner will likely fold.

If this is absolutely required, ensure that the part is drilled first, and then material is milled away to leave a partial hole.

3D Surfaces

3D surfacing toolpaths for CNC machining and be slow and result in more expensive parts

Try and avoid complex 3D surfaces unless absolutely necessary.

These are very slow to machine, since a ball end mill must be used to slowly trace back and forth on the part to create the complex surface.

If they must be used, make sure any 3D cavities allow for the largest possible ball end mill to reach them.


Undercuts should be avoided when machining, as they're difficult to produce

Try and avoid undercuts.

They are generally difficult to machine and require special tooling, or will require the machinist to use multiple setups to reach in an remove all the material.

If absolutely necessary, keep the undercut amount as small as possible.

Text and Letters

Used engraved text rather than raised letters, as it is cheaper to machine

Try and avoid raised text.

Instead, make engraved text that can be made with a V-bit end mill removing material.

Raised text requires machining out all the surrounding material, and many features of the text will result in nearly square internal corners which require very small diameter end mills to make.

Bad Part Example

Showing bad design choices when designing parts for a CNC machining process

Here is a part that is poorly designed for a CNC milling process.

This part needs 3 setups in order to machine all the features, since there is unique geometry on 3 sides.

This part has small internal fillets which are difficult and slow to machine any may require specialty tooling.

The floor also has fillets which will require specialty tooling.

All edge breaks are drawn as fillets, which will require 3D surfacing or specialty tooling to achieve.

Redesigning A Bad Part into a Good Part

Good design technique for lowering cost on CNC machined parts

A few small changes can make a huge difference.

Remove all edge break fillets

Remove all floor fillets.

Increase the internal fillet diameter.

Reduce setups if possible, in this case turning a hole into a slot that can be machined in the first setup.

Price Breakdown Between the Two Examples

Comparing the cost of CNC machined parts, one utilizing bad design techniques, and one using good design practices in this article

Parts were quoted on for a quick comparison.

A few simple changes saved took nearly 40% off of the quoted price for this part by following the design guidelines listed above.

Good Reads for Going Further

Recommended books for learning more about metalworking and machining

Metalworking, Sink or Swim:

Machine Shop Trade Secrets:

These are affiliate links, and any purchases made through the links will help me continue to produce content.

CNC Online Quoting:





Finding Material:



Machining Videos:



26,207 views10 comments

Recent Posts

See All
bottom of page