Computers ind. Engng Vol. 19, Nos 1-4, pp. 452~1.56, 1990 Printed in Great Britain. All rights reserved
0360-8352/90 $3.00 + 0.00 Copyright © 1990 Pergamon Press plc
Process Planning System in the CIM Environment Mukasa E. Ssemakula University of Maryland, Dept of Mechanical Engineering, College Park, MD 20742, USA. Abstract This paper describes an approach to the integrationof Process Planning with Computer Aided Design and Computer Aided Manufacturing functions. The link is established through IGES which is used to transfer the geometric data from the C A D system to the process planning system. The process planning system can subsequentlyuse thisdata in generatinga detMled process plan as wellas an N C part program for the manufacture of the part and can thereforebe used as the basis of true integrationbetween C A D and CAM.
Computer Integrated Manufacturing (CIM) is a major long term research objective including elements such as Robotics, Process Planning, Computer Aided Design, and Scheduling among others. The goal of this paper is to demonstrate how the development of Computer Aided Process Planning ( C A P P ) systems can play a nmjor role in the development of Computer Integrated Manufacturing (CIM). This concept has been successfullyimplemented in a C A P P system for prisnmtic parts. In this paper, work is described that has been undertaken to build robust interfacesbetween a generative process planning system (ICAPP), a state of the art C A D system, and an automated flexiblemanufacturing facility.
Development of the I C A P P System
ICAPP is an interactive feature oriented computer aided process planning system developed for prismatic parts il]. It is based on the notion of features and can handle the following eight features (and associated machining operations): face (face milling),side (milling),item slot (milling),pocket (milling),holes (drilling,boring, reaming), thread (tapping), counterbored holes (counterboring), countersunk holes (countersinking). For each feature to be produced, the system checks the capability of the nmchine tool in use by searching through a database of available machines. It then selects the best cutting conditions based on the power of the machine tool, the material of the workpiece, and the cutting tool which the system has selected. Based on surface finish requirement, the system generates the appropriate rough machining and finish machining operations. It should be noted that the system handles each feature discretely. This means that the operations generated at this stage are locally optimal, relative to each feature. Once all the features have been described, the system selects the best sequence for manufacturing the part based on manufacturing rules . In sequencing the operations, the system takes into account any feature interactions,operation dependencies, and precedence relationships. At this stage, the system has generated a fully detailed and sequenced process plan for the part, including: operation type, feed, cutting speed, R P M , depth of cut, width of cut, tooling information, number of passes, and machine to use. The program is then ready to generate part programs if the user specified this option. The first extension to I C A P P was to include an interactive mode for N C data generation to produce COMPACT II part programs . This required additional geometric data to that available for straight forward process planning; but even at this level,there was no direct link established to transfer geometric data directly to I C A P P from C A D . Consequently, work aimed at automated transfer of product definition data from the design system to the process planning system was initiated. One of the main problems arising in this data transfer is the compatibility of present day systems with regards to C A D data. Every system has a unique way of representing
Ssemakula: Process Planning System in the CIM Environment
the geometric data of the part within the CAD database. This problem has been recognized for some time and and as a result work has been undertaken to develop standard formats that would provide a viable means of conn'nunication between different CAD systems. Several formats have been developed as a result of such work, the most well known ones being IGES , SET , and VDA-FS . Of these, IGES is the predominant standard among CAD/CAM users and was used for the work described here. More recently, the P D E S / S T E P standard has been proposed although this is so new that no cormnercially available CAD systems have implemented it yet.
Interfacing I C A P P with CIM modules IGES
ICAPP has been interfaced with CAD modules through use of IGES. IGES covers a wide range of application areas including electrical, plant design, as well as mechanical applications. IGES thus provides a standard format by which the user can transfer the data from one CAD system to another. A standard format such as IGES requires the use of two processors or translators. The pre-processor takes as input, CAD data as described in the system specific format for the originating system, and converts this into the IGES format. The post-processor converts data in the IGES format into the system specific format for the receiving system, and the resulting file can be used to regenerate the original CAD model. IGES has established particular information structures or entities to be used for digital representation and cormnunication of product definition data. The data is represented as a structured file in a specific format which enables exchange of product definitions between various CAD systems. The product is described in terms of geometric and non-geometric information. The geometric information is the actual drawing data consisting of various entities that make up a feature or a part. The non-geometric information consists of annotations, definitions, and organizational data. It should be noted that IGES was primarily developed to serve the purpose of transferring drawing data between CAD systems. Thus IGES was designed to address data that is required in generating a part drawing, mainly geometry. IGES has been remarkably successful in this task but at the same time it has some significant lindtations. Once the part data has been transferred to another CAD system, the data can be utilized by other applications including manufacturing, inspection, and assembly among others. For these applications however, additional information such as geometrical and dimensional tolerances, surface finish, and fit specification for mating parts, is required. This information however is not available in IGES and therefore IGES can not serve the purpose of complete product definition. Within the limitations of IGES however, we have endeavoured to develop a system that can link the CAD, and Process Planning functions by at least supplying the geometry information required for the latter directly from the former. Any additional information that is required such as tolerances can be entered subsequently on an interactive basis. 3.1.1
I m p l e m e n t i n g I G E S in I C A P P
For geometry data transfer between CAD and Process Planning, the information that is required from the IGES file is the parametric data defining the geometry of the features on the component. Our work concentrated on extracting this information and interpreting it properly for use within the ICAPP process planning system. ICAPP handles fairly simple features such as holes, slots, and pockets. For these types of features, the only geometric entities required to define each feature are lines, arcs, and circles. Thus these are the only entities that need to be transferred from the CAD system to ICAPP. The purpose therefore, was to extract all geometrical entities of the above forms from the IGES file, group together all those elements constituting features, and transfer this features data into the ICAPP system for subsequent use in process planning. Typical entries in the parameter data section of an IGES file to describe line, arc, and circular entities respectively, are shown in table 1. In the paranleter data shown in table 1, code 110 in the first column indicates that the data corresponds to a line entity whereas code 100 indicates a circular entity. Data entries are separated by commas, and the end of parameter data is indicated by a semi-colon. For a line entity, the parameter data consists of a start point (z1,yl, Zl) and an end point (x2, y2, z2). For a circular entity, the data consists of the z coordinate location;
Proceedings of the 12th Annual Conference on Computers & Industrial Engineering
110,84.16,69.3,0.,84.16,15.08,0.; 100,- 12.,25.,30.,54.,30.,25.,50.; 100,0.,40.,40.,55.,40.,55.,40.;
00000054P0000016 00000040P0000021 00000039P0000022
Table 1: Sample IGES Parameter Data for Geometric Entities
location of the center of the arc or circle (z0,//0), start point of the arc (xl,yl) and the end point of the arc (z2, yz). A circle can be distinguished from an arc because its strart and end points will coincide. A u s e r defined tolerance value is applied here in determining colncedence of points to account for the round-off errors inherent in a digital computer when dealing with real numbers. The non-geometric attributes such as notes, labels, color, and text which are associated with the geometric entity are present in the directory section of the IGES fileand are indicated by means of pointers.
A graphics interface was developed and implemented into ICAPP which has the capability of reading the datafile described above and, using the PLOT10 library of graphics routines, reproducing the part drawing within the ICAPP system. This capability was implemented for the sinlple transfer of geometry data required to describe manufacturing features to the process planning system. Ill the work presented here, the principle aims were achieving complete system integration and irdnimizing manual data entry, with a view to making the process of data input faster, and at the same time reduce the likelihood of errors associated with manual systems. The final drawing reproduced within ICAPP with this approach did not need to include textual or dimensional information. The required geometry data was obtained directly from the input IGES file. This is done by indicating the feature of interest during the process planning phase. As the ICAPP system progresses through the various process planning stages, the user is prompted to indicate the relevant feature on the part drawing whenever there is any geometric information required for process planning. The cross-hair cursor is presented which the user can then move to the appropriate entity on the feature and make a selection. The geometry data associated with the selected entity is retrieved from the database and stored in a special array for later use in the generation of the process plan. This eliminates possible human errors in manually entering numerical data for a large number of entities constituting the part. Features are processed iteratively until all the features on the component have been processed. When this is done, all the geometry data stored in the special array is retrieved to extract feature information such as diameter and depth of hole; perimeter and depth of pocket; length, width and depth of slot, etc.. The system then generates an optimal process plan using its basic process planning modules. The system can then generate NC part programs in either COMPACT II or APT as described in section 3.3. As an example, consider the flow of data during the processing of a simple hole. The geometric data required for hole processing is the hole diameter, and the depth of the hole. In addition, the exact location of the hole on the workpiece is required to generate the NC part program. During process planning of a particular component, the part number is used to retrieve the IGES data for the component. When the process planning system requires geometric data, an isometric view of the component is regenerated on the screen and geometric entities can be indicated directly on the screen. For the hole making operation, the system asks the user to indicate the hole to be planned by making a cursor selection. When the selection is made, the system automatically retrieves all the geometric data associated with the selected hole, by scanning the geometric data file for all parametric data defining the entity selected on the screen (as well as all the other entities grouped with the selected entity to constitute the hole feature). The entities so retrieved are highlighted on the screen and the user is asked to confirm if these represent the feature desired. Once the selection is verified, the required geometric data is extracted. The diameter of the hole would be calculated from the diameter of either of the circular entities associated with the hole, and the depth of the hole would correspond to the length of the linear entities. The location of the hole would be determined from the center of one of the circular entities associated with the feature. This data is then autonmtically transferred to the process planmng module to carry out detailed process planning and generation
Ssemakula: Process Planning System in the C I M Environment
of N C part programs. A similar approach is used for all the other features handled by ICAPP. Geometry data is specified by making cursor selectionson the screen. Selected entitiesare highlighted for verification,and on confirmation, the associated geometry data is transferred to the process planning modules for detailed process planning to continue. For more details on the technique used, the reader is referred to . 3.3
NC Part Programming
An NC part program can take many difl'erent forms depending on which level it is meant to be written for. At the machine controller level, it is a set of M and G codes which control the various functions of the machine such as spindle location, cutting conditions, coolant, etc.. The advantage of using these codes is that the simpler ones have been standardized and make the system machine independent. However, most NC machines have their own set of codes for advanced functions. These codes invoke standard routines, or canned cycles, which are optimmn for that machine. It is therefore more advantageous to use higher level languages which are then post-processed for a particular machine tool and controller combination, and will make use of the particular advanced features built in the nmchine tool. The ICAPP system can generate part programs in both APT and COMPACT II. The distribution of intelligence in ICAPP is such that it will take full ad~'antage of the advanced features of both systems and use its own logic when required. The structure of an NC part program in both of these languages consists of: • initialization • geometry definitions • tooling and machining instructions • program termination Accordingly, ICAPP generates part program statements in the same order. 3.3.1
N C S t a t e m e n t Generation.'
On the basis of the geometric data derived from the IGES input file, and the process plan generated by the system, ICAPP can generate a complete NC part program that can be used to produce the component. The system described here, provides a means of automatically generating a part program for each machine tool necessary to manufacture the part. Based on the machine tool code, the system retrieves the name of the post-processor for APT part programs, and the name of the link for COMPACT II part programs. The setup statements are issued using information stored in the machine tool database as well as specific information on where that part will be positioned in reference to the machine. The system then issues the geometry definitions by scanning through a database which contains definitions of the geometric elements associated with each feature. The geometric elements considered for holes, are randondy positioned points as well as linear and circular patterns of points, where each point represents the center of a hole. For rr~lling operations, the contours are defined using lines and circles. These definitions are related to the machinable features through a drawing code for each feature. The proper format is chosen and various subroutines account for the different types of geometry definitions. Once the geometry definitions are issued, the system scans the process plan for the part and extracts any required information to generate the tool changing and machining statements. The output of the process plan includes a list of tools to be used on the machine tool. Those same tool numbers are used to specify the number of the tool to load, to be able to machine a given feature. Once the tool is loaded, the appropriate cutting statements are issued. To do so, the previously generated process plan is scanned and machining operations are recognized. For each operation, the associated geometry statements are retrieved using the drawing code and are used to guide the tool in machining. Different algorithms are used for machining
Proceedings of the 12th Annual Conference on Computers & Industrial Engineering
differenttypes of features. The strategy employed is closelylinked to the concepts used in the process planning function. Once a feature is completed, the tool in retractedfrom the depth of the feature and the system proceeds to the next operation. The part program is terminated once all the machining operations have been scanned. The tool is retracted to the tool change position and a termination statement is appended. If more than one machine tool is required to make the component, then an important restrictionis imposed by the system. The restrictionis that once the part leaves a given machine, it does not return to that machine for any subsequent operation. This is necessary because when the component leaves a machine, its setup changes. Thus a new setup and a new part program would be required"if the part returns to the machine, but this system generates only one part progrmn for each machine during a given run.
Advances in technology have made it viable for computers to be used more widely in a variety of applications including manufacturing technology. C A D / C A M systems are becoming firmly established in manufacturing industry and a stage has now been reached where it is imperative to adopt these techniques to remain competitive. As the applicationof C A D on the one hand and C A M modules such as CAPP, NC, FMS, and A G V s on the other hand has become more widespread, the need to integratethese systems has become apparent. Although current research is concentratingon the transferof geometry and design information to C A P P systems, is is also important to develop the interfacebetween C A P P and the various C A M modules. The purpose of this work was to link process planning with both design and manufacturing. This has been achieved by feeding the required geometry data from a C A D system into a process planning system, using the IGES geometry data representationscheme. This geometry data is used in the detailprocess planning and part program generation. The approach is general enough that any C A D system generating standard IGES filescan serve as the front end. The system has proved its versatilityin handling both A P T and C O M P A C T II part programming languages.
References  Eskicioglu, H. and Davies, B.J.: 'An Interactive Process Planning System for Prismatic Parts (ICAPP),' Annals of the CIRP vol 32, no 1, (1983),pp 305-370. 121 Ssemakuia, M.E. and Davies, B.J.: 'IntegratedProcess Planning and N C Programming for Prismatic Parts.'
Proceedings, 1st International Machine Tool Conference, Birmingham, U.K., June 26-28, (1984), pp 143-154.
 'Initial Graphics Exchange Specification (IGES) Version 4.0' U.S. Department of Commerce, National Institute of Standards and Technology, Galthersburg, MD. (1988).  'Report on SET - Standard for Exchange and Transfer' AFNOR Standard 68-300, release 85-08.
 Workstation Alert vol 1, no 4 (1984)  Ssemaknla, M. and Rangachar, R., 'The Prospect of Process Sequence Optindzation in CAPP systems', Computers ~ Industrial Engineering, vol 10, no.1 (1989) pp 161 - 170.  Park, M.W. and Davies, B.J.: 'Integration of Process Planning into CAD using IGES' Proceedings: lgth CIRP Seminar on Manufacturing Systems The Pennsylvania State University, June 1-2, (1987), pp 315-317.  Wang, H. and Wysk, R., 'Turbo-CAPP: A Knowledge-Based Computer Aided Process Planning System', lgth CIRP Seminar On Manufacturing Systems, pp 161-167, Penn State University, June 1-2, (1987).  Santochi, M. and Giusti, F., 'Proposal of a Product Modeler Oriented to Manufacturing Problems', 19th CIRP Seminar On Manufacturing Systems, pp 27-31, Penn State University, June 1-2, (1987).  Ssemakula, M.E. and Gill, J.S.: 'CAD/CAPP Integration Using IGES' Advanced Manufacturing Engineering, vol 1, n o . 5 (1989) pp 264-270.