Keep in mind that this is not always the step-by-step method as it may appear to be. Often, a decision made in one step influences a decision made in another step, which often leads to revisiting earlier stages of the process and making necessary changes.
This initial stage is very important because it will influence all activities that are necessary to machine a part. Evaluating a drawing means finding a solution to a single question:
What is the best way to machine the part?
This single question will be the foundation for solutions of all other items in the workflow. One of the biggest challenges modern machining faces is not the lack of people who can master a CAD/CAM system but lack of people who know how to machine a part.
Knowledge of how to machine a part is the most important quality of a CNC programmer
An engineering drawing does not offer solutions - it only provides goals and objectives. Studying the features of the part, dimensions, tolerances, various relationships between features, quality requirements, etc., will largely determine the method of machining. All requirements of the drawing have to be met.
A single drawing is often not sufficient to provide all answers. Also having a drawing of a matching part or an assembly drawing, may be necessary in some cases.
Drawing - or even a set of drawings - offers the main source of information for both CNC programmers and CNC operators.
Part is made from a blank stock material specified either in the drawing itself or in another source. For programming and machining purposes, material should be identified by its type, size, shape, and condition.
Type of material is important when selecting tools, setup, and cutting conditions. Soft materials such as brass and aluminum will require a different method of machining than steels and space age materials. Size of the stock provides information about how much material has to be removed by roughing. Stock shape is important primarily for selection of the holding device (fixture).
Material condition may require special cuts, if necessary. Machining a forged steel requires a different approach than machining the same steel type as a round bar.
Shape of material comes in many different forms. Ideally, all material supplied for a particular batch of parts should be the same. That is not always the case; for example, bars that come cut-off into individual pieces should have but may not have the same rough length.
Part holding - or work holding - is a topic that can have its own book. From CNC perspective, the decision a CNC programmer has to make is to select such a work holding method that provides fixed, safe, and stable location for the mounted material.
Selecting tools is also part of the programming process, and experienced programmers often discuss the tooling possibilities with CNC operators. Selecting a tool for CNC machining means selection of:
▪Cutting tool holder
▪Cutting tool
For machining centers, cutting tool holder is the connection between the cutting tool and the machine spindle. For lathes, the tool holder is mounted in the turret.
What is often called ‘speeds and feeds’ is only part of overall cutting conditions. Cutting conditions are influenced by many fixed factors, such as material being machined, its shape and condition, machine capabilities, etc. They are also influenced by conditions that are with the power of CNC programmer - for example, tooling selection, setup method, depth of cut, width of cut, and spindle speeds and cutting feedrates.
Part program can be developed by several methods:
▪Manual programming
▪Macro programming
▪Computer programming
▪Conversational programming
Manual programming means manual calculations and manual writing of the program. A computer is often used, but only as a text editor or a toolpath simulator. In manual programming, the computer does not generate the program code.
Enhanced methods of manual programming use so called macros, such a Fanuc Custom Macro B. In simple terms, a macro is a type of a subprogram, but it can handle features that no subprogram can. Those features include variable data, conditional testing (IF), iteration (WHILE), arithmetic, algebraic and trigonometric calculations, and many other features.
In a true computer program development, a special software is used to generate complete program. Typical software used for such purpose includes Mastercam®, Edgecam®, and many others.
Programming directly at the machine control is called conversation programming. Generally, lathe programming can benefit from conversational programming a little more than programs for milling.
Regardless of how the program is developed, it has to be written in such a format that the controls system of the CNC machine ‘understands’ it. Part programs generated manually or by software should have the same format (some minor inconsistencies should be expected).
A program that contains even a single error is not desirable. One of the programmer’s responsibilities is to check the completed program before it is used. There are several ways of verifying the program. One proven method is to use a toolpath simulator software, such as NCPlot®, another is to employ a fairly extensive variety of manual checks.
Simulation software varies quite a bit in features and cost. Price of the software by itself does not necessarily reflect its quality and features. Most simulation software lack support for some high end control features, such as coordinate rotation, polar coordinates and macros. Before purchasing software that simulates the toolpath, make sure to do some research.
Numerous manual checks can also be used to find program errors. Even a brief scan of the program may reveal some obvious errors. If you know what you are looking for, the program check is that much faster. Many errors in the program happen at the beginning of the program. Errors in the middle of a program are of a different kind. An experienced operator will discover an error before it does any damage.
The final part program is the result of many small, progressive steps, some quite straightforward, others more complex. The program can be generated by a CAM software or it can be written completely manually. In any case, the programmer had to go through certain steps that required calculations, for example, as well as other steps. Documenting these calculations or processes can prove to be very valuable if the program has be modified for any reasons. Program modification can range from a simple error correction to an engineering change.