Designing for Fabrication

From ShapeOko
Jump to: navigation, search

While oriented towards the customer quoting a part, is a good overview of the various considerations involved in designing a part for machining. PDF [1]

Excellent article: which nicely enumerates the steps from design through manufacture:

  1. Design Idealized Part
  2. Modify Design for Manufacturing Needs
  3. CNC Programming
  4. Simulation (Optional)
  5. Machine Setup
  6. Program Proofing
  7. Machine the Part
  8. Quality Control
  9. Finishing

Designing the Part

One of the hardest parts of any job is figuring out how to design the part so you can manufacture it. It's very easy to design a part that is difficult, impossible, or just very expensive to manufacture. Even experienced designers do it sometimes.

Since we are doing the work ourselves, expensive doesn't really enter into the equation, but you could exchange the words "time consuming" for "expensive" and get the same idea. This may be a hobby but that doesn't mean you shouldn't think about optimizing your machining process. Especially if you are going to make more than one copy of the part.

The best time to think about this is while you are still in the design phase. Some of the useful questions to ask yourself are:

  • How can I make this part simpler?

The most important question. Simpler is always better.

  • Are there sharp inside corners that can/should be radii?

Sharp inside corners create stress risers and that leads to cracks. Even a tiny radius in the corner will relieve the stresses. In the machine shop where I worked it was common to take a stone to the square end mills and put a small radius on them.

  • Can I machine this all from one side or do I need to turn it over?
    • If I have to turn it over, how am I going to hold it?
    • If I have to turn it over, how am I going to register the two sides?

I start thinking about fixtures with these questions. Where can I put dowel holes into the back of the part and not affect the function or looks? Are there screw holes that I can use to fasten the part to the fixture? Can I add some if there are not?

  • How many different tools will I need to mill this?
    • What is the largest radius I can leave in the corners?

Fewer tools are better. If I can do it all with a 1/4" bit that's great. I have one part that I make that requires four different tool changes just to mill the back side. That also means I have to reset the Z Zero for each tool change. This is one example of "time consuming".

  • What post-milling operations will I need to perform? (Drill press, etc.)
    • How can I minimize these operations?
    • How will I pick up the location for these operations?
    • Will I be able to hold the part? Reach the areas I need to with the tools I have?

Sometimes you need to drill or tap some holes in the part that you just can't do with the ShapeOko. Then you need to figure out how you can do these operations. It might even require another fixture.

  • What fixtures am I going to need for this?
    • How am I going to hold the part?

Sometimes a simple vise will do. Sometimes you can screw it to some waste board. Sometimes you have to build specific fixtures. I always make a fixture if I'm going to make more than one of something and I can't put it in my vise. A fixture can be as simple as a piece of waste board with two strips of wood screwed to it to make a 90 degree corner to locate the stock in. Fasten the waste board down and you have a repeatable Zero.

  • What happens to the pieces when they get fully cut out?
    • Are there areas that will come loose during the cutting and move around?
    • Where are tabs, screws, and other hold downs acceptable?

It's bad if parts come loose and fly around. Sometimes I'll put holes for screws in unimportant areas and break the program up so I can pause and screw down the parts. Adding tabs is a useful strategy, but there may be areas where the tabs would be difficult to remove.

  • What will I use for my Zero locations?
    • How precisely do I need to locate the Zeros?
    • Where will Z Zero be? Top of part? Top of fixture?

When you create your G code, you need a Zero location. In general this should be something easy to pick up like the edges and top surface of the stock. But it can be wherever you want it to be. Some people use the center of the stock.

If you cut your stock a little over-size and machine the whole outside profile then you can just kind of eyeball the X and Y zero. Assuming of course that you don't have machining on the back side that needs to line up.

  • How precise does this really need to be?
    • Are there a few holes that need to line up and the rest just needs to 'work'?
    • Does it fit inside something/something fit inside it?

Answering these questions can change the type of fixture you need to use. If it just needs to be 'good enough' then you can clamp it in a vise and get to work. If there are holes that need to line up from front to back, then you might want to add some locating dowels.

Adding Geometry for G-Code Generation

Once you have the part designed you need to generate the G-Code to machine it. Quite often this will require adding more geometry to the CAD file. Many CAM programs will also allow you to add geometry, but I usually do it in the CAD program. The primary CAM program I use (CamBam) does not have very useful geometry editing tools yet.

Additionally, if you are designing in a 2D CAD package (I use LibreCAD,) you will probably have extra geometry that you don't need for machining such as side views, sections, dimensions, etc.

I usually make a copy of the CAD file and remove the extraneous data. Then I start adding geometry for machining. At a bare minimum I will add a bounding box for the stock. This allows me to locate the Zero in the CAM package.

I don't usually worry about where the CAD drawing Zero is, since you can relocate it easily in most CAM packages. If that's an issue in the CAM package you are going to use, then move the geometry now.

The next step is to separate the different operations or tools by layer. Sometimes the work can be done all on one layer, but if there are many different pockets or profiles it can make it much easier to work with in the CAM package if you separate them.

Sometimes you will need to create extra geometry to create a pocket to mill a specific feature. I have an undercut dovetail on one part and I had to draw an offset bounding rectangle to generate the tool path where I wanted it. I also have a 45 degree cutter that has an effective diameter of 0 at the tip. In order to generate the correct tool path for it I had to create some geometry offset by 1/8", tell the CAM program it was a 1/4" end mill, and use a small step over value.

You can also create offset geometry to make roughing pocket operations so that you can finish the corners with a smaller end mill. Most CAM programs will generate roughing and finishing tool paths, but if you do it in the CAD package it can give you finer control.

If I am going to design any fixtures for the parts I will do it in this version of the CAD file. That way I can be sure any locating dowels I add will line up with the parts.

Making Fixtures

As stated before, fixtures can be as simple as a piece of waste board with two strips screwed to it to make a 90 degree corner to locate the Zero location.

The photo below shows one example of this type of fixture. You can also see that the large pieces of waste have screws through them to hold the stock down. These screw holes were drilled and countersunk on the drill press and the screws go right into the waste board. The pieces are held to the waste with tabs.


The fixture below is for a part with three different heights on the back and has two dowels in it that locate the part from back to front. The locating dowels have not been glued into place yet. You can also see that there are two screws to hold the fixture to the bed of the machine, and two dowels to locate it. This allows me to use a Work Coordinate System for the Zero on this fixture and not have to pick up my Zero every time I want to make these parts.



Sharp Corners and Round Bits

One notable limitation of using a 3-axis router is that inside pockets cannot be cut without leaving rounded corners[2]:

  • rotate the work so that one can use the bottom and vertical edges of the end mill to create the 90 degrees needed
  • re-design the work so that the rounded corner is hidden w/in the work, e.g., half-blind dovetails cut w/ a router using a template
  • over-cut the corners as discussed in the 50 Digital Joints booklet discussed at Fabrication Techniques & Hardware
    • over-cuts at 90 degrees are dog bones
    • over-cuts at 45 degrees are bisect lines/cuts
  • use a chisel --- discussion of that here: Beginner Box
  • use some other tool such as a file
  • re-work the design so that it can be cut w/ a V-bit which can lift up out of a cut in such a way as to leave a near 90 degree angle

Geometric Dimensioning and Tolerancing

Nesting and arrangement

When cutting more than a single part, they should be arranged to make efficient use of material (MakerCAM has a feature for this). In practice, one can sometimes push this to the extent that parts will share a common boundary cut, but this requires careful path planning and an accurate machine w/ small enough deflection that the cutting of the second part won't damage the already-cut first part.

Material Selection



Handling text is complicated by the problem of commercial vector fonts being done as outlines. Typically engraving machines use single line fonts (which results in a mono-line, or distinct multi-pass appearance).

The ideal solution for this is multi-depth cutting w/ a V-bit which allows one to create the same three-dimensional shape as a stone carver or engraver would do by hand. A free tool for this is F-Engrave listed on the CAM page. See the Books page for Creative Lettering Today, another excellent reference on this is Fr. Edward Catich’s writings, esp. The Origin of the Serif. A rounded endmill may be used to similar effect, but will not have the same purposeful incised cut.

One set of single line fonts is the Hershey Fonts. These are available as SVG fonts, and in a plug-in which allows their use in Inkscape as noted on the Inkscape page.

It is possible to simulate engraving by using a light weight font and using a Follow Path or No Offset option. The appearance of this may be simulated by assigning a stroke to the text in a vector drawing program where the stroke thicknes equals the diameter of the endmill and the corners are set to be rounded.

Alternately, path information may be modified so as to effect a single path font. Extensive discussion and collection of links here:


In addition to being certain that one has spelled everything correctly (esp. names), one should also use the correct characters.

" '

(uni-directional stick quotes)

These should be replaced by the correct characters:

“ ” ‘ ’ curly quotes

’ an apostrophe

′ ″ or double and single prime marks (used when indicating feet, inches, or degrees; minutes and seconds)

X (to indicate multiplication or orthogonal dimension) Please use the symbol: ×

Font size considerations

Variation in font size when two different fonts are assigned the same point size is caused by how fonts are designed / made. ​ ​Typefaces are drawn up on what is known as an "Em square" which is an idealized area of a certain number of units (usually 1000 for PostScript fonts, a power of 2 such as 2048 for TrueType). How large or small the characters are draw within this Em will determine how large or small they are when the Em square is scaled to the requested point size. ​ ​Certain typesetting systems will afford the option of scaling fonts when using them --- LaTeX documentclasses and ConTeXt afford this ---- but it's not a feature which we have in most CAD applications. ​ If setting text in a design program and then importing it, it may be necessary to convert it to paths using an appropriate command, e.g., Inkscape's Path | Object to path.

Typography Resources


Platonic solids (and turner’s cubes)

Most shapes are readily designed in a CAD or vector drawing program. Notable exceptions:


Duplication of arbitrary shapes

Using a contour gauge:

  1. Get the contour
  2. Trace it on paper
  3. Scan or photograph it into the computer
  4. Use Inkscape or another vector program to trace over the line
  5. Save as SVG
  6. Import the SVG into CAD, resize, and extrude it.[4]





0.2 mm level manufacturing --- small scale and accuracy may necessitate a 20k RPM spindle.


See also Section 6.2, Practical part geometries of the Guerrilla guide to CNC machining, mold making, and resin casting

Interesting commentary on engineering vs. Machining:

Informative discussion on 4-sided machining and flip jigs: