Since several members here have small CNC machines for modeling I thought it a good idea to write a quick article on CNC Programing. I'll focus on the fundamental concepts that relate to safety and avoiding machine damage. There are plenty of books and online resources for learning how to program and numerous software packages that write the programs for you. Using these tools are great however there are some things you should check for in any software generated program and basic concepts you may skip over in your rush to start making parts. This is not meant as a full tutorial, I expect you to look most of it up yourself and suggest purchasing a good programing book even if you will be using software to write the programs.

The Safety/ Startup line: Places the machine in a know safe status at the start of a program or operation. It should include Dimensioning system (metric/ imperial, absolute/incremental), cancel active cycles and cutter offset, plane selection, default feed rate selection.

Dimension Units: Is you machine going to cut in metric or imperial units?

Feed Rates and Modes: Will the tool move at rapid speed or a programed rate? How do distance/ time and feed/ revolution relate to each other and affect the machining process? Will the machine move to an absolute position or move the specified distance relative (incremental) to the start point.

Modal Commands/ Groups: Some commands remain in effect until canceled or replaced by another in their group. This can reduce typing and program size but can also produce unintended features in the part.

Tool Offsets: In most cases you will only be concerned with tool height. Get it wrong and you could run the tool into the part or clamps, cut too deep or shallow, or damage the tool.

Work Offsets: Tells the machine where the part is and used for making multiple parts on one setup.

Know you Control Software: G Code is not universal. Some commands may not work on you machine or may use a different code than you expected.

Last edited by Lane on Wed Aug 24, 2011 7:19 pm, edited 1 time in total.

Workbench for my larger (mid size) size mill. Need to mount peg board back so I can get some of the tools off the bench/ shelves.

Casting Station: Almost complete. A work bench/ cabinet for my pressure pot and vacuum chamber. Still needs the pressure pot mounted, lower (storage) section door mounted, some minor work on the hinged top and need to level it.

Move in the new Tool Chest: You can never have too much storage in a shop. At present I have three standard tool boxes with accessories for my machines that I hope to re-locate to a single tool chest. Lucky for me I recently purchased a set of tools and tool chest, second hand and cheap, for use at work. The chest I had there is coming home.

Tolerance & stack-up, GD&T.Unless your machine is capable of handling tenths (.0001") of accuracy, plan on a couple thousandths (.002-.004"); even .005" can be easily massaged (lapped) with deburring / sanding (even aluminum, and to a lesser extent, steel).When/if planning for mating surfaces, plan for tolerances into your design... MANY "fresh-out" designers will calculate a 1/8" dowel-pin as exactly .1250", while not realizing a 1/8" dowel-pin is going to be over-sized by several tenths, typically .00025-.0003", as they're typically intended to be used as a press-fit with a slight interference.If dimensioning parts from one feature to another, each will assume a standard tolerance:|---|----o----|-----| = measuring from feature to feature will incur 4x the standard tolerance, opposed to one measurement from edge to edge (IE, measuring feature A to B, then B to C, and C to D ... instead of providing measurement A to D, means a possible difference in absolute dimensions.)More on any of this, if it's necessary.

Where speed is needed:The smaller the diameter of your tool becomes, the greater the RPM is needed (and lower feed). If using a .005" end-mill for high detail, you'll need a 20k+RPM spindle, and VERY slow feed (movement). Unfortunately, I'd expect that most hobby-machines like a Sherline, Taig, or other bench-top machine, should be kept to 1/16" diameter tools at the smallest, because a simple bump to the machine can destroy that tool (and again, your part.) Heavier machines (~1000lb+) are much less susceptible to this.

Know your machine:Closed-loop servo-systems with glass-scales will tell you the position of the tool (.001" to .0002" and better, depending on machine-quality) vs that of an open-loop or Stepper-motor system that will only tell you where the control THINKS it should be. Programming moves based on the possibility of error will reduce quality. Keep in mind, that tool run-out (how "true" the concentricity is of the spindle, collet (tool-holder), bearings and machine-movement (drives)) directly effect the quality and tolerance of the cut.

ALWAYS do your due-diligence!IF you have doubts about your program, verify your numbers or run a simulation if possible. Perform a dry-run a safe distance above the part to ensure the tool-path looks right. Verify Counter-Clockwise vs Clock-Wise arcs - these are part-killers when run with an error.

Safety, always:A lightweight machine can snag a shirt-sleeve and draw you in instantly. You might want to touch the tool while it's spinning, but really, don't. Use brushes, air, coolant, or alcohol squirt-bottles to remove chips. DO NOT use your fingers. It might be safe, but it's the best practice to be good at. Even great machinists can lose a part of a finger.IF running a program you're unsure about, it's OK to grit your teeth - but just keep your finger on the HOLD and/or emergency shut-off. It's better to shut down the machine and start over if you're unsure, than to 'ride it out'.Also, glasses with side-shields! The proper method of removing metal will remove the HEAT generated by the cut, in the chip; and they're also sharp. Those chips DO fly out, and can fly far. The LAST place you want it (at LEAST the second to last place), is in your eye. You'll get them in your hair (assuming you have some), in your nose, and in your mouth (unless closed). Just expect it.