OBJEKTOVO ORIENTOVANÉ NAVRHOVANIE TECHNOLOGICKÝCH POSTUPOV PRE ROTAČNÉ SÚČIASTKY AN OBJECT ORIENTED PROCESS PLANNING SYSTEM FOR ROTATIONAL COMPONENTS OBJEKTOVO ORIENTOVANÉ NAVRHOVANIE TECHNOLOGICKÝCH POSTUPOV PRE ROTAČNÉ SÚČIASTKY AN OBJECT ORIENTED PROCESS PLANNING SYSTEM FOR ROTATIONAL COMPONENTS

This study presents an object oriented approach for the development of a process planning system for axis symmetric rotational components. The system consists of two modules: Part design data and manufacturing data input module and Object oriented process planning module (OOPP). Part data input module is created in customised AutoCAD environment. All the information about the input in the AutoCAD can be exported as DXF output file. DXF output file is automatically postprocessed in OOPP module to create object classes according to the input from this module. These classes are used by the sub modules: e.g., extraction of machinable volumes, setup planning, sequencing of operations, machine selection, tool selection and machining time calculation.


Introduction
In view of the rapidly developing international competition in the world of manufacturing, one must utilize the most modern manufacturing technologies in order to keep pace. Computer aided design (CAD) and computer aided manufacturing (CAM) have become a standard for improving productivity. However, neither CAD nor CAM have proven to be answers in themselves. For further increase of productivity and reduction of cost integration of CAD and CAM is necessary which leads to computer integrated manufacturing (CIM). Although underlying technologies, which make CIM feasible, are already available, but several building blocks are still missing. One such building block is automated process planning. Chang and Wysk (1985) define process planning as an act of preparing detailed operation instructions to transform an engineering design into a final product. Process planning is the critical bridge between design and manufacturing. Today, the production method is gradually moving toward automation. The need for dynamic responses, fast plan generation, and smooth interface between design and manufacturing functions become essential in operating the new manufacturing systems. Thus, the automation of the planning function is critical (Chang, 1990). Automated process planning or computer aided process planning (CAPP) can play a major role in successful operation of manufacturing systems. CAPP arena has long been dominated by artificial intelligence techniques e.g., expert system (Chang, 1990). These suffer from the disadvantage of duplication, requirement for large database that makes the system implementation difficult. With the development of object oriented techniques it has been possible to takle the above-mentioned problem effectively. Object oriented techniques can improve flexibility and modularity of a system (Gu & Zhang, 1994). This paper presents an object oriented CAPP system for rotational parts.

Design and development of object-oriented capp system
The proposed system comprises two separate modules: the part design and manufacturing data input module and the object oriented process-planning module. Fig, 1 presents a schematic of the system developed. The input module is based on customized AutoCAD whereas the CAPP module is written in C++ using object oriented programming concepts. A detailed description of the system developed is presented below. This study presents an object oriented approach for the development of a process planning system for axis symmetric rotational components. The system consists of two modules: Part design data and manufacturing data input module and Object oriented process planning module (OOPP). Part data input module is created in customised AutoCAD environment. All the information about the input in the AutoCAD can be exported as DXF output file. DXF output file is automatically postprocessed in OOPP module to create object classes according to the input from this module. These classes are used by the sub modules: e.g., extraction of machinable volumes, setup planning, sequencing of operations, machine selection, tool selection and machining time calculation.

Part Design Data Input Module
However, the language of CAD is geometry based with geometric entities such as "line", "arc", "circle" etc. to represent a finished part. Down stream in CAM, features "face", "taper", "groove", "chamfer" etc. and associated attributes are the common language. Unfortunately, computers are not intelligent enough to recognize the CAM language from the CAD language. Hence, one of the major challenges of the CAD/CAM integration is to translate the CAD language to a CAM language. This can be done by feature recognition system but it is very complex. Our aim is to develop a simpler system which incorporates manufacturing feature information more explicitly in a computer model during the design process, so as to eliminate the expensive feature recognition process. For part description and data input to the proposed CAPP system, AutoCAD release 12 was used. The AutoCAD menu, for this purpose, was customized for inputting the manufacturing data and the features. These have to be input by the designer himself at the design stage. The main AutoCAD menu was supplemented by adding to it features such as blank, center line, external features, and internal features. The external and internal features have further been classified into sub-features. As for example, the subfeatures of external feature are facing, turning, taperturning, grooving, threading, contouring, etc. Data concerning the work piece material, surface finish, and tolerance specifications can be input by clicking "feature" whereas, geometrical data is input using the original AutoCAD menu. As the part to be produced is rotational, the system would generate a 2D drawing of the part above the centerline. Complete information about each entity as well as manufacturing data is stored as DXF file. Thus, there is no need for using algorithms for translating the geometrical data into manufacturing data.

Postprocessing of DXF File
DXF file is a structured long file, however, once its structure has been understood the relevant data can be extracted using conventional programming. The fundamental idea behind object oriented language is to combine into a single entity both data and the functions that operate on that data (Rumbaugh et al., 1991). Such as entity is called object. In the present system the instances of classes are defined for each feature with simultaneous accumulation of data from the DXF file.
As for example, the instance of class 'facing' contains the information concerning feature name, X, Y and Z coordinates of the feature drawn, surface finish, tolerance. For the feature 'blank' it contains the information about feature name, material type, manufacturing process and the coordinates of the drawn feature.

Extraction of Machinable Volumes
The final product shape as specified by the input data in the present case is realized in two steps. Firstly, the product is rough machined leaving behind the finishing allowance to be processed during the second step (finishing). Conclusion of the second step would yield a product of a specified shape and dimensions. For the extraction of machinable volume decision regarding how much and where to machine is to be taken so as to arrive For preshaping, threading, grooving etc, are converted into primary features as turning and stored as an instance of turning class. When an instance of contouring is encountered, it is either converted into taperturning or turning and facing instances. Thus after combining, a component is obtained which has either facing or taperturning as instances. Removal of machinable volumes from a blank to obtain the preshaped part are found out by using backward planning strategy i.e, it starts the planning from the finished part and tries to fill the material systematically to raw stock state. At each iteration, the current state of the workpiece is compared with the finished part (goal), if a familiar pattern is found out, then the machinable volume is extracted and stored in a data file. A friend function "merge_feature" is used to access the data from class turning, facing, blank, mc_vol (Machinable volume). A loop is constructed in a function which searches for patterns of facing-turning-facing or facing-turning-taperturning or taperturning-turning-facing or taperturning-facing-taperturning and as soon as it gets it, a machinable volume is extracted and stored as an instance of class mc_vol. Thus two types of machinable volumes are extracted-rectanguler and trapezoidal. The internal features are considered as finishing feature so, they are not included in the machining volumes.

Setup Planning
After the machining plan has been finalized, a decision must be made as for the type of setup to be employed for the removal of machinable volumes during each setup. A rule based system has been developed to decide the number of setups required and the sequence of operations to be performed during a particular setup. It is desirable to have a minimum number of setups so as to minimize the manufacturing time of the parts.
The present setup planning is based on the assumption that components are held in chucks only. The rules applied in the present system are described below:

Finding the Number of Setups
The rules are as follows: 1. If the maximum external diameter is at the end of the component and there is no internal feature at this end, then the part can be machined in one setup. 2. If the maximum external diameter is at the end of the component and there is internal feature at this end or at both ends., than the part has to be machined in two setups. 3. If the maximum external diameter lies in between the ends, the minimum number of setups required would be equal to two.

Decision Making for Setup Planning
For case 2 stated above , if the maximum external diameter is at one end, then the internal feature at this end is machined in first setup and the rest of the operations are done in second setup. If the maximum diameter is at one end and there are internal features at both ends, then the internal feature at the maximum diameter end is machined in first setup and the rest of the operations are done in the second set up. If the maximum diameter is at both the end and there are internal features at both the end, then the internal feature having xl less than that of the other is machined in first setup and the rest of the operations are done in second setup.
For case 3 stated above, first of all the part features are scanned and the turning features that can he used for the purpose of clamping or chucking are identified. It is desirable to hold the part for machining at the maximum diameter. So, for this the demarcation line is found out on the end of the turning features which have diameter equal to maximum diameter of the workpiece at any position. All these values of x are stored in an array named value_x[]. Now the question comes which one to choose. For this purpose one rule is included which selects the demarcation line (value_x) which is closest to the center of the workpiece. This satisfies the stiffness constraint as well as l/d ratio decreases.
A class called setplan is created which is defined as a friend class to class turning. In the setplan class, three instances of the turning class are created, one which has all the turning features in the part, another has turning features which are located before the demarcation line as well as have its length more than the chuck width of the machine tool and third one having turning features after the demarcation line and its length more than the chuck width of the machine tool. This means that the second and third instances, i.e. turn2 and turn3 of the turning class have turning features which can be considered for holding the component.
Rules are executed to check and find out the maximum and minimum diameter in the turning features. This will aid in deciding the side that should he machined during the first setup. If the minimum diameter on the feature before the demarcation line is greater than the minimum diameter after the demarcation line, then the features before the demarcation line will be machined in first setup and turning surface with maximum diameter before demarcation line will be used as chucking surface for the second setup. In case there is no eligible surface for chucking on any side of the demarcation line, that side will be machined in second setup.
After the setups have been decided, the next step is to divide the machinahle volumes and the features into the above calculated features. At this stage, it will be decided that a particular machinable volume will be machined in the first or the second setup and whether it is located before demarcation line. Accordingly, the new coordinates of the manufacturing features and machinahle volumes are calculated and now the origin is shifted to the end of the workpiece, and the axes are defined in context of NC machine tool. Hence all the features will have value of x either zero or negative.

Sequencing of machinable volumes
The proposed system performs sequencing of machinable volumes for roughing as well as finishing operations. For this purpose the rule based system has been developed based on precedence relationships between operations to be performed and machining features. This also is aimed towards minimization of the number of tool changes involved.
The rules are described below:

sequencing of Machinable Volumes for roughing
The machinable volumes are defined by eight co-ordinates .e. x 1 , y 1 , x 2 , y 2 , x 3 , y 3 , x 4 , y 4 . The shape of the volumes can be triangular, rectangular, or trapezoidal. The chuck of the machine tool is on the left hand side and the other end of the part is the reference for coordinates.
The rules for sequencing are: i) The machinable volume farthest from the chuck i.e. the machinable volume, with maximum value of x 1 is machined first. ii) The machinable volume with least value of y 1 is machined last. iii) If x 1 and y 1 of two machinable volume are equal, the tie is broken by using the rule-machinable volume with maximum value of x 2 is machined first. In case of single setup machining, the last machinable volume is the volume that will be removed by the parting off. This will be saved in an another data file called part-off data file.

Sequencing of finishing features
The above stated rules are applied for sequencing of finishing features also. Another rule that has to be considered for sequencing of finishing features is based on feature type. This rule overrides the above mentioned rules. This rule is applicable for threading, grooving, face-grooving and internal features. It is necessary to do turning and grooving before threading, and then the internal features and then face grooving at the last. Hence, the precedence is set also by the feature type.

Selection of cutting tools and the machine tools to be employed
The decision regarding selection of machine tools and the cutting tools is based on information available in a number of data files e,g., input, sequencing, and part blank files. Fig. 2 provides an overview of the system developed for selecting the machines and toolings required. The machine data base has been developed from the specification of the CNC lathe machines of CIM laboratory of AIT. The machine database can be enlarged to include more machines if available. The cutting tool database is structured with two-dimensional array; where the row corresponds to the record of tool or insert. The structure member corresponds to the tool material, tool geometry, surface finish, tool code, tool grade, speed, feed, maximum possible depth of cut, specific force, drill diameter, drilling depth, power required etc. The system presented herein makes use of data given in Sandvik (1998).
First machines are preselected which can support the blank part size and the type and number of operations needed to machine the designed part. Preselection is done following different preselection procedure.
Then in simultaneous machine and rough cutting tool selection for preshaping section, requirements of machine selection and requirements of tool selection for rough machining for the selected machines are checked simultaneously comparing m/c speed, feed range with tool speed and feed and also comparing calculated maximum depth of cut and cutting power.
Maximum possible depth of cut is determined from the data of sequenced machinable volume data file. The maximum depth of machinable volume is determined first. This depth is compared with the maximum possible depth of cut that the sorted tool can cut in one pass. The aim is to turn the maximum depth of machinable volumes in one pass. But, if the maximum permissible depth of cut of the sorted tool is less than the maximum depth of machinable volumes, then the number of pass is determined such that the depth of cut is as high as possible. Now, for this depth of cut, required power is calculated. If the calculated power is greater than the machine, then the depth of cut is adjusted. For each preselected machine power, the depth of cut is determined. The preselected machine which offers maximum depth of cut, is selected, and the corresponding tool and cutting data are stored into a array of structure. Then the selection of tool/inserts for finishing features are done. The data of the sequenced feature data file are compared with the record of sorted tool to select a particular tool for the given purpose. These data from the feature file and machine data from class machine are matched with the data of the sorted tool record and tool record having complete match is selected.
The number of tools is determined from the selected tools and it is checked whether the tool magazine of a particular machine supports this number of tools. Each selected tool record contains the selected cutting data -speed, feed and depth of cut.

Computation of Machining Time
Cutting time for the processing of a part has been computed as the sum of roughing and finishing times of the individual features. If the part is processed using more than one setup then the processing time must include the setup change time. Determination of the setup time is quite complex therefore, in this case the setup time is taken as 200% of the total processing time of the part.

Conclusion
This paper describes the development of an object oriented process planning system for rotational parts. This has proved to be superior to conventional systems in respect of its ability to deal with more complex situations. The system has shown robustness and promotes reusability, The modularity of the system has proved to be beneficial in achieving flexibility and expandability. The significant features of the object-oriented paradigm are that the system can evolve over time and be modified when needed without completely abandoning the old system or redesigning it. This is an important aspect to consider when developing a process planning system since consistent changes and modifications are needed as new designs and knowledge are developed. Future developments can be made to incorporate more features and operations and towards the development of object oriented systems for non-rotational parts.