Designing for Fabrication
While oriented towards the customer quoting a part, http://www.omwcorp.com/how-to-design-machined-parts.html is a good overview of the various considerations involved in designing a part for machining. PDF
Excellent article: http://www.cnccookbook.com/MakeCNCParts/HowToMakeCNCParts.html which nicely enumerates the steps from design through manufacture:
- Design Idealized Part
- Modify Design for Manufacturing Needs
- CNC Programming
- Simulation (Optional)
- Machine Setup
- Program Proofing
- Machine the Part
- Quality Control
- 1 Designing the Part
- 2 Adding Geometry for G-Code Generation
- 3 Making Fixtures
- 4 Sharp Corners and Round Bits
- 5 Nesting and arrangement
- 6 Material Selection
- 7 Ornamentation
- 8 Text
- 9 Shapes
- 10 Lasercutting
- 11 Turning
- 12 PCBs
- 13 Undercuts
- 14 Inlays
- 15 How shape affects rigidity
- 16 References
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.
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:
- 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.
https://www.nms.ac.uk/grammarofornament --- notable for what it gets wrong (Celtic knotwork) and what is accurately represented
Celtic Art: The Methods of Construction by George Bain --- the first correct book on Celtic knotwork
A series of manuals of Gothic ornament by Parker, John Henry, 1806-1884
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 an approximation of the three-dimensional shape a stone carver or engraver would do by hand. An opensource tool for this is F-Engrave listed on the CAM page, and Carbide Create has added support for this as well. 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.
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: http://imajeenyus.com/computer/20150110_single_line_fonts/index.shtml
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 or x (to indicate multiplication or orthogonal dimension)||Please use the symbol: ×|
|hyphen (-) often used to indicate not just hyphenation but also duration (en dash), a break in thought (em dash), or subtraction (minus symbol), additional code points are available for non-breaking and discretionary hyphens||
– en dash
— em dash
− minus sign
Font style considerations
Minimize variations in font styles to only those which improve a design, and express the desired effect. When in doubt, plainer and more legible will probably work better than unnecessarily ornate and unreadable. Lines of text should be no wider than two or three alphabets. Blackletter/Old English/Fraktur fonts should almost never be used in all caps. A useful guideline when in doubt is to follow the traditional hierarchy of text --- use the oldest / grandest font for the title and largest headlines and a more recent one for subheads, and a contemporary one for the text.
- don't artificially slant typefaces for which you don't have the actual italic font
- when setting numbers, check and see if the font offers old-style figures as an option
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.
V carving requires a couple of things:
- completely level wasteboard, stock surface, and gantry, or a mechanism to adjust for an uneven stock surface: https://wiki.shapeoko.com/index.php/Calibration_and_Squaring_the_Machine#Tramming and https://wiki.shapeoko.com/index.php/CAM#Leveling
- an appropriate setting of V endmill angle to text/feature size: https://wiki.shapeoko.com/index.php/Endmills#V-bits
- a machine in otherwise good mechanical shape: https://wiki.shapeoko.com/index.php/FAQ#Mechanical
- appropriate feeds and speeds: https://docs.carbide3d.com/support/#tooling-support and https://www.youtube.com/watch?v=S9bceJxpqG0 for concepts on this and https://www.precisebits.com/tutorials/calibrating_feeds_n_speeds.htm for a testing technique
- ensuring feature size doesn’t overwhelm the ability of a tool to cut to a given width: V carve + inside pocket?
Further, it may be helpful to use a CAM tool which preserves G2/G3 arcs.
- https://wordmark.it/ --- web site to create a sample of text using all the fonts installed on a computer.
- One Typeface: Many Fonts
- http://126.96.36.199/~operinan/8/index.html --- calligraphy books by Gunnlaugur SE Briem
- https://github.com/samhocevar/wincompose --- utility to enter special characters
- https://www.fontsquirrel.com/ --- free fonts
Discussions of typefaces/fonts suited for CNC
Most shapes are readily designed in a CAD or vector drawing program. Notable exceptions:
Duplication of arbitrary shapes
Using a contour gauge:
- Get the contour
- Trace it on paper
- Scan or photograph it into the computer
- Use Inkscape or another vector program to trace over the line
- Save as SVG
- Import the SVG into CAD, resize, and extrude it.
0.2 mm level manufacturing --- small scale and accuracy may necessitate a 20k RPM spindle.
How shape affects rigidity
Interesting commentary on engineering vs. Machining: https://www.reddit.com/r/Machinists/comments/3dg0id/just_a_few_notable_sayings_that_ive_heard_over/ct50rxv
Discussion of design process in OpenSCAD: https://toolguyd.com/3d-printing-design-process-packout-mounting-bracket-case-study/
Informative discussion on 4-sided machining and flip jigs: http://community.carbide3d.com/t/4-sided-machining/673
PREFERRED FITS AND TOLERANCES CHARTS (ISO & ANSI METRIC STANDARDS) http://www.amesweb.info/FitTolerance/PreferredTolerances.aspx 
Designing Plastic Parts For Assembly by Paul Tres