Historical Perspective Of Different Software Computer Science Essay

Published: Last Edited:

This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.

Numerical Control is operation of machine tools by the means of specifically coded instructions to the machine control system. The instructions are combination of the letters of alphabet, digit and selected symbols. The collection of all instructions necessary to machine a part is called an NC program, CNC Program or Part Program. The program can be stored for a future use and used repeatedly to achieve identical machining results at any time.

The basic of adding NC (Numerical Control) is very simple that is add some electronic and actuator to control the position and replace the hand wheel by a positioning motor. NC can refer to the automated machine tools which operate according to the abstractly programmed commands encoded on a storage medium or manually controlled via hand wheel or levers. Between the years of 1940 to 1950 the first NC machine which used punch tape was built. The controller nowadays consist a simple computer with a special-purpose keyboard and a display for operator enter the sequence of movements (the NC program) which was called CNC (Computerized Numerical Control) and using this method to control the machine. An example coding for CNC is like "G0X10Y20Z30" is for "machine in a straight line from the current position to position (10, 20, and 30)". This is very labor intensive, and this is where CAM software comes in to 'automatically' generate NC program files.

The CAD (Computer Aided Design) software assists engineers and designers to design and manufacture physical products. CAD software is often referred to as CAD/CAM software (Computer Aided Machining or Computer Aided Manufacturing).

Nowadays, the CNC machines had radically changed the manufacturing industry. With the increased automation of manufacturing processes with CNC machining improvements in consistency and quality have been achieved. A series of CNC machines may be combined into one station in a production environment. CNC machine today are directly control from the file created by CAD software. That a part or assembly can go directly from design to manufacturing without the need of producing a drafted paper drawing of the manufactured component.

Regarding to Liu et al. research on CNC concept was extended to ONC and DNC. ONC is open numerical control which means that NC has a unified external standard controller interface. DNC (direct numerical control) hold numerous component programs with one central computer and can service for various dissimilar machine and the data can be stored if needed.

Besides entering codes, programming can be done also by digitizing or scanning. Digitizing is used in operations like sheet metal punching and hole drilling. While, scanning is apply on complex free-form shaped by manually moving a tracer over the contour of a model or pre-machined part. The data for the movements are converted into tape by a minicomputer.

2.0 Position of CAD, CAPP, CAD/CAM and CNC Control Software in the Manufacturing Process

Nowadays, typically four different software programs are used in industry to manufacturing a part which are CAD, CAPP, CAM and CNC control software. Each of the software has different functionality and communicated between each other in the manufacturing process. Figure 2.1 shows the position of CAD, CAPP, CAD/CAM and CNC control software in the manufacturing process.

Figure 2.1: Position of CAD, CAPP, CAD/CAM and CNC Control Software in the Manufacturing Process

Firstly, the CAD software is used to make the design of the part. CAD software is a modeling tool used by architects and engineers to design three-dimensional objects. This software is used to create new products or deepen the understanding of existing products. There are several types of computer-aided design and computer-aided manufacturing software (CAD/CAM) that are listed as CAD programs.

Secondly, the CAPP (Computer-aided Process Planning) software is used to make basic decisions regarding equipment to be used, tooling and operation sequence need. If NC machining processes are involved, CAPP software exists which will select tools, feeds, and speeds, and prepares NC programs. CAPP is a bridge for CAD and CAM to make decision on the process selection, process sequencing, operation planning, generation of instructions, etc (Figure 2.2). In other word, CAPP represents a translator or data transformer (Han, 2000).

Figure 2.2: Role of classical CAPP (Han, 2000)

Next, the CAM software is used to calculate the tool paths based on the design, and set up machining operations such as compensating for the cutter's geometry, adding feed rate and spindle commands, etc. CAM allows designers to import CAD files and control specific manufacturing equipment. Typically, these tool paths are stored in cutter location (CL) format and exported to a postprocessor for conversion to a NC program.

Communication between the programs is done using files. From CAD to CAM the design is transferred using a file format for geometry data exchange. The most widely used formats are IGES, STL and STEP for 3D, DXF for both 2D and 3D, and Postscript and HPGL for 2D applications. These are standard formats that in most cases can be used without any special configuring needed. IGES (Initial Graphics Exchange Specification) is the most comprehensive standard and is designed to exchange the entire product information between various CAD systems. STEP (Standard for the Exchange of Product model Data) is a method for exchanging product model information. STEP defines the implementation methods, geometrical shape of a product and others to completely define a product throughout its entire life. While, DXF (Drawing Exchange Format) was develop and support by Autodesk for use with the AutoCAD drawing files.

CNC control software is used to read the tool paths and let the machine actually move along these paths. CNC manufacturing uses a special programmer to specify the machining operations. In turn, the CAM software creates the CNC program.

Communication from CAD to Control software is done using NC program files, for which many formats do exist. In most cases the format will be a (minor) variation on the ISO / DIN G-code format. G-code is supposed to be a standard; however in practice each manufacturer chooses a bit different implementation (Lennings, 2001). Hence postprocessor, a part of the CAM software that translates the tool path data into the correct file format when saving is used to tune CAM output so that it can meet the requirements of the NC controller used.

In some specific situations one of the four programs (CAD-CAPP-CAM-CNC Control) can be ignored. For example some machines can be used without control software or in some setups a plot file from the CAD system can be immediately sent to the control software, skipping the CAM step (Lennings, 2001).

Types of CAD, CAPP, CAD/CAM and CNC control software

CAD is an application of computers and graphics software to aid or enhance the product design from conceptualization to documentation. CAD systems play an important role in the mechanical design and geometric modeling of products and components. Existing CAD software availble in the market is AutoCAD, ProEngineer, Solidworks, CATIA, Unigraphics and I-DEAS. CAD maybe used to design curves and figures in two-dimensional (2D) space; or curves, surfaces or solids in three dimensional (3D) objects.

There are several reasons for using a CAD system to support the engineering design function (Ali, 2010):

To increase the productivity

To improve the quality of the design

To uniform design standards

To create a manufacturing data base

To eliminate inaccuracies caused by hand-copying of drawings and inconsistency between drawings

CAM is defined as the effective use computer technology in manufacturing planning and control. CAM is most closely associated with functions in manufacturing engineering, such as process and production planning, machining, scheduling, management, quality control, and numerical control (NC) part programming (Ali, 2010).

Computer-aided design and computer-aided manufacturing are often combined CAD/CAM systems. With this combination the information is transfer from the design into the stage of planning for the manufacturing of a product. The databases is stored first and then go to CAM to process the necessary data and instructions for operating and controlling production machinery, material handling equipment, and automated testing and inspection for product quality.

The ten largest CAM software products and companies, by end user payments in year 2008 are (Magenthran, 2010):

CATIA from Dassault Systems

Cimatron from Cimatron Group

Edgecam from Planit (Pathtrace)

Mastercam from CNC Software

NX (Unigraphics), from Siemens PLM Software

Powermill from Delcam

Pro/E from PTC

Space-E/CAM from NDES (Hitachi Zosen)

Tebis from Tebis AG

WorkNC from Sescoi

CAD/CAM Software

Software allows the human user to turn a hardware configuration into a powerful design and manufacturing system. CAD/CAM software falls into two broad categories, 2-D and 3-D, based on the number of dimensions are called 2-D representations of 3-D objects is inherently confusing. Equally problem has been the inability of manufacturing personnel to properly read and interpret complicated 2-D representations of objects. 3-D software permits the parts to be viewed with the 3-D planes-height, width, and depth-visible. The trend in CAD/CAM is toward 3-D representation of graphic images. Such representation approximates the actual shape and appearance of the object to be produced; therefore, they are easier to read and understand.

Applications of CAD/CAM

The emergence of CAD/CAM has had a major impact on manufacturing, by standardizing product development and by reducing design effort, tryout, and prototype work; it has made possible significantly reduced costs and improved productivity.

Some typical applications of CAD/CAM are as follows:

- Programming for NC, CNC, and industrial robots;

- Design of dies and molds for casting, in which, for example, shrinkage allowances are pre-programmed;

- Design of tools and fixtures and EDM electrodes;

- Quality control and inspection----for instance, coordinate-measuring machines programmed on a CAD/CAM workstation;

- Process planning and scheduling.

AutoCAD is a computer-aided drafting and design system implemented on a personal computer. It supports a large number of devices and also 2-D drafting and 3-D wire-frame models. The system is designed as a single-user CAD package. The drawing elements are lines, polylines of any width, arcs, circles, faces, and solids. Text and dimension symbols can be placed on anywhere on the drawing, at any angle, and at any size any fonts.

Types of CAM software

A clear difference is present between CAM software for 2D and for 3D applications. With 2D is meant that the CAM system imports a 2D drawing file and calculates a toolpath with all movements taking place on a constant Z-level. Obviously several toolpaths on different Z-levels can be combined to create a 3D result, which is called 2.5 D machining (note that more definitions of the notion 2.5D do exist). In that case to user has to enter the correct Z-level to be used for each toolpath. A 3D CAM system in contrast imports a full 3D CAD model and calculates toolpaths to create a 3D result. Note that in this case also toolpaths on constant Z-level may be used (waterline machining), however these are automatically generated. Many CAM packages do offer both 2D and 3D, however still have their clearly recognizable foundations in one of both fields.

A second distinction is between simple and high-end CAM software. The high-end stuff is meant for professional toolmakers, which are skillful and willing in controlling any machining parameter for an optimum result. These extra high-end parameters are (Lennings, 2001):

i) support for a fourth axis, or for full 5 axis machining

ii) optimization for high speed machining (constant tool load)

iii) special sequences for approaching and leaving the geometry (lead-ins)

iv) automatic step over calculation

v) a wide choice of machining strategies, like parallel, spiral, radial, pencil tracing, flat surface recognition, offset machining, plunge milling and automatic smoothing of almost vertical surfaces.

vi) automatic detection and removal of rest material

vii) management of undercuts

viii) rendered machining simulations.

Application Area


Integrated System

CAD-2D drafting








CAD-Solid modeling

Solid Edges

SolidWorks, SolidDesigner

mechanical Desktop






















Concluding remarks

The NC system uses fixed logical functions, those that are built-in and permanently wired within the control unit. Theses function cannot be changed by the programmer or the machine operator. Because of the fixed wiring of the control logic, the NC control system is synonymous with the term hardwired. The system can interpret a part program, but it does not allow any changes to the program, using the control features. All the required changes must be made away from the control, typically in an office environment. Besides that, the NC system requires the compulsory use of punched tapes for input of the program information.

Regarding to Lennings (2001), the NC Program also can use for the 'file that contains all toolpath information', exported by the CAM system and imported by the control software. The program is mean software; sometimes the word "NC program" is used for a 'Program to calculate NC data' and for the CAM software.

The capabilities of the machine must match the requirements of the CAM software. One requirement should be checked is 3D line interpolation. This means the possibility to travel from point to point in a straight line in full 3D. This is difficult to all three axes will have to keep up a different speed. Some machines are only capable of straight lines involving 2-axes (2D line interpolation).

Another important machine capability is on-line machining. Online programming is the act of entering code on the console of the CNC control. The capability of machine to handle large NC program files directly from the computer's hard disk. This involves some handshaking between the PC and the controller, as in most cases the data transfer will be faster than the actual machining. However, there are many CNC machines cannot be designed for NC programs that are completely entered by hand, so consider a 100 Kb NC program file as very large. Those older machines require the complete NC program file to be transferred before the machining can start, limiting the file size to the 256 Kb of available internal memory.

Lastly, offline programming is the NC programming completed on a computer system, which is separate from the CNC control. NC part program is constructed and it must be typed into a computer at some point before we can use them. The code is typed on a PC, saved as text file and then moved to the machine tool. Generally speaking, it is not very efficient to stand on the shop floor and key a program into the machine tool. The keyboards and control are difficult to use compared to modern and desktop personal computer. Furthermore, a typical control lacks the advanced editing features of a text editor or word processor. A more efficient method of creating NC part programs is to type them offline and then download the code to the machine tool.