Chapter 2

The use of computers in design and manufacturing

Computer tools supporting all of the Concurrent Engineering philosophy are not yet available. Some academic systems which integrate a number of dedicated systems on a cooperative basis are under development, e.g. [Cutkosky 93]. However, it seems that a lot of research still has to be carried out before any practical CE based system becomes available. Nevertheless, in various important fields, a lot of progress has been made in the computer support of separate tasks. For instance, various separate tools for Design for Assembly and a great number of analysis tools exist. However, most often systems like these do not cooperate. As this thesis deals with the link between design and manufacturing, this chapter focuses on the use of computers in design and manufacturing. The use of computers in design, CAD, is dealt with in section 2.1. The use of computers in process planning, CAPP, as an intermediate stage between CAD and CAM is detailed in section 2.2. The use of computers in manufacturing, CAM, is elaborated in section 2.3. Finally, in section 2.4, integration aspects between the functions covered by the computer tools is looked at in some more detail in order to come closer to an actual Concurrent Engineering approach supported by computers.

2.1 CAD

Computer Aided Design (CAD) is sometimes used synonymously for Computer Aided Drafting, indicating that CAD is nothing more than an extension of the traditional drawing board. In this thesis CAD is viewed upon as being more than a drafting aid. Therefore, when using the term CAD, the D is meant to stand for design rather than drafting. In section 2.1.1 a brief historical overview of CAD is provided. The functionality of today's CAD systems is elaborated in section 2.1.2. Finally, the shortcomings of today's CAD systems are examined in section 2.1.3.

2.1.1 A brief historical overview of CAD

Before 1960, hardly any computer application for design (or manufacturing) existed. Between 1960 and 1970 most computer programs in engineering were limited to calculation programs which were processed in batch. Thus, there was no interaction possible between the user and the program. One of the first (academic) systems aimed at interactively supporting design (2D sketching) was the Sketchpad system by Sutherland [Sutherland 63]. This system was far ahead of its time, however.

After 1970, with the advent of graphical terminals, it became possible to work interactively. However, the available hardware was expensive, restricting the use of these systems to a limited number of companies, applications, and people.

From 1980 on, rapid developments in the field of micro-processors and memory chips lead to the advance of cheaper and more powerful computers; workstations and personal computers became widely available at reasonable prices. This development enabled the introduction of CAD on a wider scale. In the mid-eighties, Knowledge Based Engineering systems for design made their introduction, like the ICADTM system [Wagner 90]. These systems employ AI technology for representing expert design and manufacturing knowledge. The advantage of these systems is that similar designs with different specifications and geometry can be generated much faster than would have been possible with traditional systems. Also, the term ICAD, Intelligent CAD, not to be mistaken for the ICADTM system, made its introduction during the eighties. However, the realization of truly intelligent CAD systems still is an academic research issue.

The computer internal representation of the design object, or product model, has also been developed gradually over time. In the beginning of CAD the D was indeed meaning drafting; only 2D product models, technical drawings, could be made. The CAD system provided the user with straight lines, arcs, ellipses etc. The product model was a collection of these items, representing a conventional 2D technical drawing. In the mid-seventies the first 3D CAD systems became operational. In order to provide for 3D models, wire frames came into existence. Wire frames, however, could only model 2.5 D (prismatic) objects. In order to model more complex surfaces, surface modellers came into existence. Surface based CAD systems enabled the modelling of complex surfaces, which was important in automotive and aerospace industry. Surface modellers often use B-splines or NURBS (non-uniform rational B-splines) as a basis for representing surfaces. Using these representations, curves and surfaces are approximated by parameter functions which can be manipulated by moving control points.

As both wire frame modelling and surface modelling could not deliver product models that were unambiguous to interpret, solid modelling was developed. Within solid modelling usually two main representation schemes are distinguished: boundary representation (B-rep) and Constructive Solid Geometry (CSG).

Boundary representation is based on the surface modelling techniques that preceded it. A boundary representation product model can be seen as a topological structure of low level primitives like faces, edges and vertices defining a solid. Conventions are used for the face normals; the face normals point out of the solid and the edges are ordered in a counter clock wise sense when the solid is viewed from the outside. Figure 2.1 shows an example of a boundary representation data structure.

CSG is a method to create solids using primitive objects that can be combined via boolean set operations: union, intersection and difference. CSG models are binary trees in which the primitive objects are the leaves of the tree and the more complex objects the nodes. The root of the tree represents the complete product model. Each primitive is associated with a 3D transformation which specifies its position, orientation and dimensions. In CSG there is no explicit face, edge and vertex information available as in B-rep. A benefit of CSG models is that the modelling history is kept within the model. A CSG model is not unique, however, as there are many different ways in which primitives, transformations and operations can yield the same product model. Figure 2.2 shows an example of a CSG tree and its corresponding geometry.

Both solid representation schemes have their own advantages and disadvantages. B-rep has the disadvantage that it is tedious to keep the model up to date when changes occur and that it uses a lot of memory space. An advantage of B-rep is that each surface can be referenced individually; it represents an evaluated model. This is a property which can be of great use in e.g. tolerancing. This advantage of B-rep is the disadvantage of CSG; the unevaluated form (although there are some work-arounds). An advantage of CSG is its high level representation combined with the relatively limited memory space that is required. As the advantages of the one seem to be the disadvantages of the other and vice versa, hybrid solid representation schemes employing both B-rep and CSG have been proposed. Even representation schemes that combine solid models with wire frame and surface modelling have been proposed. These are generally referred to as non-manifold representation schemes [Weiller 88], [Masuda 90]. Solid modelling research is described in e.g. [Wilson 88a].

2.1.2 Functionality offered by today's CAD systems

Today's most advanced CAD systems, like Pro-EngineerTM, I-DEASTM, CaddsTM, BravoTM and CatiaTM - to mention a few - offer 3D solid modelling. There is a clear trend towards 3D solid modelling. Solid models are often derived from 2D sketches by extrusion or sweep operations. Sketchers are offering smart interaction in assuming relations between the entities that are sketched (e.g. BravoTM and I-DEASTM). Today's CAD systems often also offer feature based modelling in order to detail components after the generic solid shape has been established (e.g. by 2D drafting in combination with some CAD operation). Features are elaborated in more detail in the next chapter. For now it is sufficient to know that features are shape elements of components with some engineering meaning attached to them. Examples of features are holes, pockets, slots etc.. These features can be added to, deleted from or modified in the product model. The modification of the shape can be performed parametrically or variationally; parametric or variational modelling.

There is some confusion as to what is meant by parametric and by variational modelling. This is probably due to the fact that there is no clear definition of either parametric or variational design. Therefore, it is difficult to classify particular systems into one group or another. Parametric and variational design both address the topic of geometric constraints, based on numeric constraint satisfaction. In parametric design the numeric constraints are solved in a propagational way. A propagational system works well in relatively simple cases while they have trouble with more complicated models. Variational design is more generic than parametric design. In his book on solving geometric constraints (in a very different way which is neither variational nor parametric), Kramer [Kramer 92a] cites the following definition of variational and parametric design from [Chung 89]:

" We define VARIATIONAL DESIGN as a design methodology that utilizes fundamental graph theory and robust numerical solution techniques to provide constraint-driven capability applied to a coupled combination of geometric constraints and engineering equations. On the other hand, PARAMETRIC DESIGN is a design methodology that utilizes special case searching and solution techniques to provide dimension driven capability applied to primarily uncoupled geometric constraints and simple equations." ([Kramer 92a], p. 172)

Variational and parametric design address the modelling of the nominal geometry of the product model. However, the variations of the nominal geometry, the tolerances, are an important aspect as well. Some of the more advanced CAD systems offer a possibility for tolerance specification and subsequent 2D tolerance analysis (e.g. Mechanical AdvantageTM from CognitionTM or the dedicated system ValisysTM which works in cooperation with CatiaTM).

CAD systems most often offer the possibility to assemble the solid parts already detailed into an assembly. Subsequent kinematic or dynamic analysis is sometimes possible. Links with Finite Element Method packages also exist, sometimes even associative, i.e. the features on the CAD side and FEM side are the same. Some CAD systems offer a programming interface in order to allow customers to develop their own applications. Some CAD systems offer catalogs of standard components which can be incorporated in the design. CAD systems of different vendors can exchange product model information via interface standards like DXF, IGES, VDAFS, SET etc.. Project management is addressed to some extent by some more advanced CAD systems, like I-DEASTM and CaddsTM. Collaborative design has hardly been addressed; some systems offer several users the possibility to communicate on a design. This can for instance be achieved by giving the control of the cursor to one of the designers and letting the designers exchange information by means of text windows in which mail is to be typed or read.

Knowledge based engineering systems, like ICADTM, mentioned in the preceding section, offer a somewhat different functionality when compared to the "traditional" CAD systems. Their programming interfaces are more sophisticated than those of "traditional" CAD systems, allowing easy access to geometry processing functions. Usually, there is a special design oriented programming language, often built on top of the Lisp programming language. Rules (constraints) can easily be defined in such languages. However, the interactive capabilities of these systems are less pronounced than in the "traditional" CAD systems. The reason for this is that these systems are more focused on the automatic generation of designs than on the generation of designs through an interactive and iterative modelling process.

Most often, today's CAD systems cannot offer the designer cost information feedback or any other type of feedback information. Exceptions to this are Mechanical AdvantageTM and the HP Sheet Metal AdvisorTM. In Mechanical AdvantageTM, users can define their own cost based expert system with their own costing information. The Sheet Metal AdvisorTM offers manufacturing oriented feedback to the designer. The Sheet Metal AdvisorTM is restricted to sheet metal parts. In the Sheet Metal AdvisorTM, manufacturing oriented features are used to design sheet metal parts. A number of DFM rules are attached to the features enabling to give some manufacturing oriented feedback to the user.

2.1.3 Shortcomings of today's CAD systems

Most of the CAD systems of today are restricted to the detail design phase. Support in the embodiment or conceptual design phases is not provided. In order to change this, a lot of research still seems to be required. Some of the research that has been performed up till now in this area is summarized in the following chapters. In this paragraph the shortcomings in the functionality of today's CAD systems is elaborated. These shortcomings particularly become clear when one tries to incorporate present CAD systems in CE processes.

In the preceding paragraph, it is mentioned that today's CAD systems offer feature based design. However, the features that are offered in present CAD systems, are usually predefined within the system, allowing the end-user only to change the parameters of the features (parametric design). These parametrically modifiable features are sometimes referred to as user defined features. The term user defined features is somewhat confusing as only the feature geometry can be user defined, and not the topology and other non-geometry related characteristics of the feature. For a lot of applications however, it is required to be able to define one's own application dependent features. These features should be application specific both geometrically and topologically, including the non-shape related aspects. If this would be possible at all in a present CAD system, this would be a tedious and error prone job due to the required programming. Within the Knowledge Based Engineering systems like ICADTM, programming new features is generally possible, but it can also be a tedious job although the possibilities of feature definition are generally better than in most "traditional" CAD systems [Salomons 92a].

The link of CAD systems with CAPP systems has not fully been established. This is partly due to the difference between the features used in the CAD system and those used in the process planning system. The role of features, in this respect, is discussed in more detail in chapter 3. There is hardly any CAPP system which can give feedback information on manufacturability issues to the designer. Neither a lot of CAD systems exist that are able to handle such feedback information.

Methods like DFMA often are not embedded or hard to embed in current CAD systems. An exception (to some extent) is the Pro-EngineerTM system which can be obtained with a module of the DFMA software as developed by Boothroyd and Dewhurst according to their previous research as described in e.g. [Boothroyd 88]. However, there are no commercially available CAD systems that perform an "intelligent" DFMA analysis: who can fill in answers to check lists automatically, who automatically analyze a product model with regard to assembly and manufacturability, that take into account all possible manufacturing opportunities and which give quantitative analysis results as well as design recommendations.

Today's CAD systems can model assemblies from previously detailed solids parts. This reflects a bottom-up mode of design; first detailing each part and then putting the parts together in an assembly. In descriptive studies of the design process it has been noticed that design is performed neither strictly bottom-up nor strictly top-down, e.g. [Ullman 88]. Therefore, a mixed top-down and bottom-up design mode, would be a more natural mode of design support. Present CAD systems offer insufficient support of such a design mode.

Present CAD systems are merely based on parametric or variational design. The geometric constraint solving mechanisms in today's CAD systems have been criticized by Kramer [Kramer 92a] and [Thornton 93a,b]. Mathematical constraints which determine other product characteristics than those related to geometry alone also have to be taken into account [Thornton 93a,b]. These constraints cannot easily be solved in existing CAD systems as they are highly coupled and non-linear. Therefore, the way in which constraints have to be handled in future CAD systems has to be improved.

Although there are some dedicated packages for the tolerance analysis task, present CAD systems hardly offer any suitable functionality for 3D tolerance specification, analysis and synthesis. The existing tolerance analysis packages are far from ideal as they are either restricted to 2D geometry, make simplifying assumptions, or are difficult to use [Turner 91]. The problem in computer aided tolerancing is partly due to the fact that current tolerancing standards, ISO 1101 [ISO 83] and ANSI Y14.5 [ANSI 82], are drawing oriented, instead of directed towards the use of 3D solid models. Functional tolerancing is hardly supported by today's CAD systems [Weill 88]. Computer aided tolerancing still is a research topic, which only recently has lead to results which can be applied in CAD systems (see chapter 5).

Product data exchange most often is performed on a low level of detail. In the case of IGES and DXF, the exchange can only be performed on 2D level, the level of technical drawings. When the exchange is performed on the level of solids, the exchange takes place on the level of faces, edges and vertices (in the case of B-rep) or on the level of primitives, their transformations and boolean set operations (in the case of CSG). Product model data exchange is hardly performed on the higher level of features. Presently, the emerging STEP standard (Standard for the Exchange of Product data), aims at product data exchange on higher levels of abstraction, i.e. the feature level, component level and assembly level [STEP 92b].

Cooperative design, one of the key elements in CE, is hardly supported by current CAD systems. Besides the use of windows which allow for audio, visual or textual communication, it seems necessary to use a more extensive means of communication. Sometimes it is believed that constraint networks can provide for this.

In re-design it is often required that the design history or design intent is known [Ullman 91]. Recording and playing back design histories or design intent is not possible in most CAD systems. This means that the why's and how's behind the design cannot be inferred from the product model. For this it is necessary that designers ask their colleagues or find notes attached to drawings etc.. This is a difficult and tedious way of working. Cooperative design as well as the recording and play back of design histories still are research topics.

Today's CAD systems force their operators more or less to finish their product model completely in terms of the solid model that is going to be manufactured in the exact appearance as has been modelled. Therefore, design by least commitment as was proposed by M#ntyl# [M#ntyl# 89a] is not possible using most CAD systems. In this approach it is proposed to leave geometry that is functionally not important unspecified during design and to let the process planning system take care of this. In this way, incomplete geometric models can support design for manufacturing. Non-manifold product model representations could be of help in supporting a design by least commitment approach.

The knowledge based engineering systems as mentioned in the previous section also have their disadvantages. The most important ones are: the programming skills required, the time it takes to bring the knowledge in the system, the low level of interactivity and the low performance [Salomons 92a]. As far as the programming skills are concerned, often extensive training is required in order to be able to work with these systems as a "knowledge engineer". Even if one is highly trained, it still may take a significant amount of time to bring all the required knowledge in the system. Graphic interactive work in knowledge based engineering systems most often is not possible to the same extent as in the traditional CAD systems. The low performance is mainly due to the Lisp based structure of these systems. Schmekel therefore mentions that Lisp based systems should be avoided [Schmekel 92a]. However, the performance problem will diminish when faster computers become available. The constraint handlers in knowledge based systems like ICADTM can handle uni-directional rules (constraints) only. As a result, these systems are unable to solve the constraints when they are not specified in the correct order [Thornton 93a]. Presently, the vendors of these systems are working on an improvement of both interactivity and performance. Because the programming interfaces of the regular CAD systems are improving, little difference can be expected between KBE systems and advanced CAD systems in the future.

More authors recently have criticized the functionality of today's CAD systems. Thornton stressed the facts that current CAD systems do not support embodiment design and that the way of constraint satisfaction often is insufficient [Thornton 93a,b]. Erens et al. stressed the issue of today's CAD systems not being able of keeping different views of the product model consistent [Erens 93]. The views that Erens et al. distinguished are those of sales and marketing, product engineering, assembly engineering, manufacturing logistics and service, and design management. Van Houten mentioned as a disadvantage of current CAD systems, the large and sometimes illogically organized command set which shows too much of the CAD system's internal structure and too little of the application domain [Houten 92]. In [Shah 88a] the general mismatch between contemporary CAD/CAM/CAE software and engineering tasks has been described.

2.2 CAPP

Computer Aided Process Planning which forms the link between CAD and CAM is treated in this section. In section 2.2.1 a brief historical overview of CAPP is provided. In section 2.2.2 the functionality offered by today's CAPP systems is discussed. In section 2.2.3 the PART and PART-S systems, which are of particular relevance to this thesis, are discussed. Finally, the shortcomings of today's CAPP systems are detailed in section 2.2.4.

2.2.1 A brief historical overview of CAPP

CAPP has been a research issue since the 1960's. In the early seventies, the first industrial applications came into existence. They were directed only to the storage and retrieval of process plans for conventional machining. Surveys on CAPP systems can be found in [Ham 88], [Alting 89] and [ElMaraghy 93a]. Generally, two different types of CAPP systems are distinguished: variant and generative.
Variant CAPP
The variant approach to CAPP was the first approach used to computerize process planning. Variant CAPP is based on the concept that similar parts have similar process plans. The computer is used as a tool to assist in identifying similar process plans, as well as in retrieving and editing the plans to suit the requirements for specific parts. Variant CAPP is related to part classification and Group Technology coding. In these approaches, parts are classified and coded based upon several characteristics or attributes. A Group Technology code can be used for the retrieval of process plans for similar parts.
Generative CAPP
Generative CAPP has come into development in the late seventies. It aims at the automatic generation of process plans, starting from scratch for every new workpiece description. Often, the workpiece description is a CAD solid model, as this is an unambiguous product model. A manufacturing database, decision making logic and algorithms are the main ingredients of a generative CAPP system. In the early eighties, knowledge based CAPP made its introduction using AI techniques. A hybrid generative/variant CAPP system has been described by Detand in [Detand 93].

2.2.2 Functionality offered by today's CAPP systems

Today's more advanced CAPP systems take a CAD based product model as input. At best, this is a 3D solid model on which the CAPP system can perform automatic feature recognition. However, some CAPP systems exist that take wire frame models as an input and on which the process planner has to identify the manufacturing features manually. This is the case in the CAPP system described in [Detand 93]. As CAD models often do not contain tolerance and material information, some CAPP systems allow for adding this information to the product model manually in order to allow automatic reasoning. Most generative CAPP systems allow for human interaction. A lot of CAPP systems can be classified as semi-variant or semi-generative.

2.2.3 The PART and PART-S CAPP systems

The PART and PART-S process planning systems are both generative CAPP systems developed at the Laboratory of Production and Design Engineering. PART is an acronym for Planning of Activities Resources and Technology. The difference between the two is that PART is the older system, focused on prismatic parts and now commercially available while PART-S is the younger system, inspired on its predecessor, focused on sheet metal parts and still under development. The PART and PART-S systems are the result of a long line of research of the Laboratory of Production and Design Engineering in the field of CAPP. After the CUBIC [Stoltenkamp 79], ROUND [Houten 84] and XPLANE [Erve 88] CAPP systems, the PART and PART-S systems emerged. The PART system has been described extensively in [Houten 91]. PART-S is mainly described in [Vin 94a] and [Vries 95].

PART and PART-S share the same philosophy and roughly offer the same functionality (apart from specific product and process related functionality). First of all, there is the CAD interface in which a solid model representation from a CAD system like Pro-EngineerTM or CatiaTM can be converted into the internal representation of the modeller used in PART. If tolerances have not been added to the original model, it is possible to edit tolerances in the tolerance editor. Then automatic feature recognition can start. The sequence of feature recognition and other activities can be made application dependent. The following activities can be performed: set up selection, machine tool selection, design of jigs and fixtures, the determination of machining methods, cutting tool selection, machining operation sequencing, NC output generation and capacity planning. Figure 2.3 shows the architecture of the PART system, while figure 2.4 shows the very similar architecture of the PART-S system.

PART
The application area of PART is in the machining of 2.5D prismatic components focusing on processes like milling, drilling, finishing, boring, reaming etc.. The process planning functions that PART can perform are placed in functional modules (Figure 2.3). A PART module is a set of related phases. Phases are independent programs that need no input from other phases or operator interaction during its execution. The sequence in which the phases are executed, is prescribed by a scenario which is executed by a supervisor. Some of the different modules of the PART system have been studied in various PhD projects.

For instance, the jigs and fixtures module was the field of study in [Boerma 90]. The main philosophy behind this module is that in order to achieve the specified tolerances, tight tolerances should be machined in one set up as much as possible. However, it is difficult to compare different types of tolerance constraints. Especially, tolerances that cause rotational deviations should be machined in one set up as these are hard to compensate in subsequent set ups. To deal with this problem, the tolerances are converted into a tolerance factor by means of which different tolerance types can be compared in order to perform set up selection. The supervisor and the architecture of PART have been elaborated in [Jonkers 92]. Tool management, tool selection and cutting conditions have been studied in [Boogert 94]. The link of PART with production planning has been described in [Lenderink 93, 94]. Presently, the PART system is commercially available as ICEM-PART(TM).

PART-S
The application area of PART-S is small batch part manufacturing of sheet metal components, that are nested in sheets with a thickness between 0.5 and 5 mm. The main processes included in PART-S are laser cutting, nibbling, (special tool) punching, laser welding and air bending.

Like PART, PART-S has its process planning functions organized in functional modules (Figure 2.4). The modules are again subdivided in a group of related phases. The sequence in which the phases are executed is determined by a scenario. In [Vin 94a] the focus is towards bending sequence determination and the calculation of the process parameters in air bending operations. In a way, [Vin 94a] can be regarded as the sheet metal counterpart of [Boerma 90]. The main difference between sheet bending and the machining of prismatic components is that each bend does not only change the shape of the part locally, but globally as well. This has a profound impact on the way reasoning about tolerances is performed in the handling, positioning and collision checking module of PART-S. De Vin proposed to use a so-called tolerance tree for this. In [Vries 95] the focus is mainly towards process planning and its interaction with other manufacturing functions. In [Vries 94b] capacity planning and nesting in PART-S are considered. In [Vin 93a,b, 94b] and [Liebers 93] specific aspects of PART-S have been addressed.

2.2.4 Shortcomings of today's CAPP systems

Most present day CAPP systems cannot handle a feature based solid CAD model as input. That is, if they seem to be able to handle such models, the feature based model first has to be converted into its corresponding (B-rep) solid model representation from which the CAPP system can infer the manufacturing features by means of feature recognition. PART and PART-S also take a B-rep CAD model as input and perform feature recognition on it. Manual feature identification as for instance in the case of [Detand 93], is labour intensive and should be avoided. In the case of feature based design followed by feature recognition or feature identification, the feature information is first thrown away and recovered later. This inefficient information transfer could be improved, at least if the design features and the process planning features correspond or if they can be converted into one another. A feature conversion, however, can be obstructed by different feature representations in CAD and CAPP systems. In fact, in some feature recognition based CAPP systems, the features are described within the feature recognition algorithms. At least, in PART and PART-S this is indeed the case. The definition of new features in many CAPP systems such as PART and PART-S involves the programming of new feature recognition algorithms. Although feature recognition languages can be fairly high level programming languages, the definition of new features in a CAPP system can involve a lot of work.

One of the shortcomings of today's commercial CAPP systems is that they do not provide the CAD system, or the designer using the CAD system, with feedback information on cost, manufacturability etc.. Many researchers have proposed a lot of different ways in which CAD and CAPP systems could become more cooperative. As most of these proposals involve the use of features, they will be discussed in the next chapter and in Appendix A (A.1, A.2, A.3 and A.4.5).

Another shortcoming of present commercial CAPP systems is that they do not communicate with capacity planning functions. In his thesis, Lenderink deals with this problem extensively, focusing primarily on the PART system and its link with capacity planning [Lenderink 94]. Lenderink proposes to complete the detailed process plan only just before the manufacturing of the part can start. Before completing the process plan, the first part of the process plan is derived from information becoming available from feature recognition and set-up selection. Using alternative set ups, the jobs are assigned to the resources (loading), based on the actual availability and the actual workload of all the machines in the workshop. Subsequently, the detailed process plan is completed. Detand also addresses this problem [Detand 93]. Detand promotes non-linear process plans; a process plan that comprises different manufacturing alternatives and is represented by an AND/OR structure.

2.3 CAM

Computer Aided Manufacturing is the final stage in the computer aided realization of mechanical parts. A brief historical overview of CAM is provided in section 2.3.1. The functionality offered by today's CAM systems is elaborated in section 2.3.2. The requirements and perspectives of CAM are elaborated in section 2.3.3.

2.3.1 A brief historical overview of CAM

CAM came into existence before CAD as it initially required no graphic interactive mode of operation. CAM emerged from the need for systems enabling the control of machine tools.

One of the main accelerators of CAM was the research in Numerical Control (NC) at MIT in the early 50's. After the first NC machine tool was built, it was realized that NC part programming was tedious and a source of errors. As a result, research effort was put into the development of a part programming language. This resulted in the APT (Automatic Programmed Tool) language for controlling machine tools. At first, APT could handle only relatively simple geometry; points, lines, circles, planes, quadratic surfaces etc.; later on, the handling of more complex geometry was made possible. At that time, NC machine tools did not have controllers with memory for storing NC part programs; punched paper tapes were used for this purpose. The tapes were loaded into the controller via electro-mechanical tape readers. However, tapes were sensitive to dirt and wear, storage was space consuming and administration difficult.

Direct Numerical Control (DNC) originated from NC: DNC originally meant one central computer with several NC machine tools. DNC systems were developed in order to replace the paper tapes used in NC machine tools. The central computer was sending instructions to the controller by simulating the tape-reader. This approach was not successful as a centralized system was vulnerable, mainly due to problems with buffering data. Also, feedback information from the machine tool to the central computer was not possible. In the late 1960's Computer Numerical Control (CNC) machine tools were introduced. CNC is more flexible than NC as the latter is hard wired and the first is equipped with a micro-processor based computer. CNC controllers have a memory and special interfaces for loading NC programs, tool offsets etc.. DNC then evolved into Distributed Numerical Control: one central computer connected with several CNC machine tools. The computers local to the machine tools made the system less vulnerable as there were data buffering possibilities. Moreover, it was more flexible as it allowed programming at the machine tool.

Presently, machine shops are generally equipped with different CNC machine tools. Due to the varying orders, varying batch sizes, and the demand for short throughput times etc., shop floor control has become indispensable. This topic has extensively been addressed in e.g. [Tiemersma 92].

Automated inspection is also part of CAM. The planning of inspection can be seen as part of the process planning function. On the basis of the CAD model, inspection instructions can be generated, such as programs for controlling Coordinate Measuring Machines (CMM). Coordinate Measuring Machines measure a discrete number of individual coordinate points of the object under inspection. Other measuring machines may obtain an integral 3D measurement, like for instance measuring machines based on the moire topography measuring principle [Wegdam 91]. As we will see later, the theory of tolerances as described in e.g. [Bourdet 79] as seen from the viewpoint of automated inspection is nowadays of increasing relevance to CAD systems.

2.3.2 Functionality offered by CAM today

CAM systems are increasingly applied in combination with production planning and control systems such as shop floor control systems. Many post processors for converting machine independent NC part programs into machine dependent programs are available. Present CAM functionality includes interactive programming aids for operating and controlling the machine tools as well as tool management software. Particularly in small batch manufacturing, scheduling as well as monitoring and diagnostic functions are emerging, but are only scarcely installed in industry. The monitoring function includes checking the progress of work in a workstation. The diagnostic function determines amongst others the performance of a complete manufacturing cell.

2.3.3 Requirements and perspectives of CAM

Some of the main problems in CAM, today, are related to the post processors for generating NC part programs. Solutions, especially for non-traditional machine tools, are very specific. This is due to the fact that a lot of the process technology is embedded in the machine and cannot be programmed in a standard way. However, ISO is working on new standards for CAM and NC machining purposes [Houten 92]. A further integration of the processes on the shop floor is another requirement and perspective. Examples are method management and shop floor control.

2.4 Integration aspects; management and control of information processes

Integration aspects of the product realization process as a whole have been discussed at length under the title "Manufacturing Interfaces" in [Houten 92]. This thesis, however, focuses on design and the link with process planning as shown in figure 2.5.

Especially the use of features is considered. The information flow from CAD to CAPP is given more attention than the reverse information flow as this flow is the most important one. Without it, no products could be realized at all. From figure 2.5 it may be inferred that the field of CAM would not have needed discussion in this chapter. However, decisions taken on the CAD side have a profound influence on applications following it, including CAM. Moreover, theories developed in the CAM area, like the tolerancing theory by Bourdet for automated inspection, now appear to become relevant to the CAD domain as well.

This section focuses on the CAD-CAPP Manufacturing Interface only. Integration of CAD and CAPP is part of the CE philosophy and aims at achieving the same goals: reducing lead times, improving quality, lowering the cost and the consideration of life-cycle issues. In order to achieve these goals, the information that is exchanged between CAD and CAPP needs to be managed and controlled. In the following, the integration aspects are viewed upon from two viewpoints: the product model related viewpoint and the design and process planning viewpoint.

2.4.1 Product model related integration aspects

A lot of the information that is exchanged between CAD and CAPP systems is related to the product model. As already mentioned, features are an important part of product models and they can play a significant role in the integration of CAD and CAPP. This role is elaborated in the next chapter. In order to allow concurrency in the development of the product model, cooperative design must be provided for. Design by least commitment, allowing the use of incomplete geometry, is put forward as a requirement. Cooperative design and design by least commitment cause some management and control problems of the information related to the product model. For instance, it must be guaranteed that the product model that is modified by a designer is the most recent one. In the case of cooperative work in which several people are allowed to work on the same product model this can impose some problems.

2.4.2 Design and process planning process related integration aspects

Besides product related information - which features represent - information related to the processes of design and process planning is essential in the management and control of these processes. However, a generally agreed upon model of the design process to be used as the basis for developing CAD systems is not yet available. Also, little is known on cooperative design processes, let alone about building computer systems aiming at supporting cooperative work. Especially, the cooperative and concurrency aspects of design and CE processes need a lot of attention. An important aspect in this respect is the iterative nature of the design process with which current CAD systems cannot cope.

Yet another important integration aspect is the way in which computer support tools reflect the hierarchies, tasks and responsibilities of the different departments and companies in which they are applied. On the one hand, CAD systems must be able to respond to the individual responsibilities and authorization levels of the different users (operators). On the other hand, the systems need to be transparent to every user and every user must have access to all the information relevant to perform his task. The authority for changing and updating the configuration information in CE systems should be restricted to a few super users only.