Problems with manual programming
Beginning with the arithmetic and trigonometry required to obtain cutter coordinates, all the way through the completion and numbering of a G-code program, there are many problems that must be solved to advance manual programming into the computer age.
The first problem with manual programming is the difficult trigonometry and easy arithmetic that are required to get cutter coordinates! Difficult and easy math both lead to errors. Another problem with manual programming is the time required to solve the math problems followed by the time required to actually write and check the program, time is money! And yet another problem with manual programming separate from the math is that small errors in the code can be a catastophe to the machining operation: "How could you forget to turn on (M03) the spindle? That broken tool and scrapped part just cost us $2,000." or "How did you forget the linear motion (G01) command? Your rapid into the part just cost us $2,000." These kinds of problems are also why G-code programs are tested with a dry run (without a part) before they are ran on the part or checked off line with simulation software.
Problem #1: Math
- Math is difficult
- Math is time consuming
- Dumb errors often occur
- Errors lead to scrapped parts
Problem #2: Coordinate sheets
The fundamental purpose of a coordinate sheet is to organize the coordinates for easy reference, instead of refering to the math calculations. But there are many problems with it, so many problems in fact that in practise, the coordinate sheet is not used. Refer to Smid's printable
coordinate sheet
from the 3rd edition of his CNC Programming Handbook:
- There are no columns that allow for the center coordinates of arc motions. Arcs cannot be made without their centers
- There is no column for motion type. Is the motion linear or rapid? If there were a column for arc centers, would the motion be clockwise or counterclockwise?
- There is no column to prompt the programmer for changes in the program. Changes in the program include but are not limited to feed rates, cutter compensation, tooling, clamp moves, etc.
- The coordinate worksheet is a printed sheet of paper that must be completed by hand. This task can lead to dumb errors. Errors lead to scrapped parts.
- Completing the coordinate sheet takes time that could be spent writing G-code.
Problem #3: Programming
- Writing a G-code program takes time, sometimes lots of time
- Typing on a computer is often a skill not learned, and that much more time is spent searching for keys on a keyboard
- Manually transferring coordinates from paper to G-code is yet another source for dumb errors. Errors lead to scrapped parts.
- Inexperienced and experienced programmers make mistakes. For example, 1) forget the command to turn on the spindle, 2) forget a linear motion command after a rapid motion command, 3) forget a decimal in a coordinate (X24. is exactly 23.9976" away from X24 on most machine tool controllers), 4) forget to invoke cutter length compensation (G43 H06) after a tool change.
Manual programming is a difficult, math intensive, error prone, time consuming endeavor that needs to be advanced.