SciELO - Scientific Electronic Library Online

vol.22 número4Buckling analysis of PVC sheets with RIBInstability of a square sheet under symmetric biaxial loading índice de autoresíndice de materiabúsqueda de artículos
Home Pagelista alfabética de revistas  

Servicios Personalizados



  • Articulo en XML
  • Como citar este artículo
  • SciELO Analytics
  • Curriculum ScienTI
  • Traducción automática


Links relacionados


Journal of the Brazilian Society of Mechanical Sciences

versión impresa ISSN 0100-7386

J. Braz. Soc. Mech. Sci. v.22 n.4 Rio de Janeiro  2000 

A Feature-Based Object-Oriented Expert System to Model and Support Product Design


Nilson Luiz Maziero
Universidade de Passo Fundo. Faculdade de Engenharia e Arquitetura. Campus
Bairro São José. Caixa Postal 611/631
99001-970 Passo Fundo. RS. Brazil
João Carlos Espíndola Ferreira
Universidade Federal de Santa Catarina. Departamento de Engenharia Mecânica
GRIMA/GRUCON. Caixa Postal 476
88040-900 Florianópolis. SC. Brazil
Fernando Santana Pacheco
Universidade Federal de Santa Catarina, Departamento de Engenharia Elétrica
LINSE, Caixa Postal 476
88040-900 Florianópolis. SC. Brazil
Marcelo Fabrício Prim
Universidade Federal de Santa Catarina. Departamento de Engenharia Mecânica
NEDIP. Caixa Postal 476.
88040-900 Florianópolis. SC. Brazil



In this paper a computer program to model and support product design is presented. The product is represented through a hierarchical structure that allows the user to navigate across the product’s components, and it aims at facilitating each step of the detail design process. A graphical interface was also developed, which shows visually to the user the contents of the product structure. Features are used as building blocks for the parts that compose the product, and object-oriented methodology was used as a means to implement the product structure. Finally, an expert system was also implemented, whose knowledge base rules help the user design a product that meets design and manufacturing requirements.
Keywords: Computer-Aided Design, features, object-oriented methodology, expert systems




The fast processing speeds of computers made them suitable tools for industrial utilisation, and among its important applications is the support to design and manufacturing activities. However, CAD and CAM systems were initially conceived to be used independently, and it was usually necessary to reintroduce the company's product information in each of these systems due to data incompatibility.

With the advances in computer technology in recent years, the trend has been towards integrating CAD and CAM systems, aiming at obtaining more robust systems (Krause et al. 1993). These systems are supposed to be capable of storing not only geometrical information as before, but also of associating technological information to the geometry, so that the product/part representation could be used along the production process.

In order to achieve that, many research works have been developed for the representation of product information (e.g. Shah and Mathew, 1991; Bronsvoort and Jansen, 1994; Gao and Huang, 1996; Xue, Yadev and Norrie, 1999). Although some of these systems have achieved a good degree of design representation and support, we consider that the following requirements need to be met:

· The design system should provide the user with both product modelling and graphical navigation capabilities, in order for the user to easily identify and manipulate the parts/subassemblies in the product.
The modelling of the product should be such that the assembly operations are easily made, and also the relationships between the parts in the assembly can easily be identified.
· The modelling system should help the designer to make correct design decisions, taking into consideration design and manufacture constraints.

In this work a system that attempts to address those issues is presented. Design features are used for the representation of products, and object-oriented methodology was used as a means to build the product's representation and its navigation system. Finally, an expert system was implemented in order to provide on-line automatic support to the design process, i.e. at each design decision by the user, the system indicates whether that specific step is valid or not. The domain of the implementation is for products composed of rotational parts.


Previous Work

The proposed product modeller uses the following technologies: features, object-oriented methodology and expert systems. In this section an overview of previous research on these technologies and related areas is presented.


Product Modelling

A model attempts to represent in some way in the computer the reality through pieces of information. For instance, in a boundary-representation solid modeller it is necessary to build a logical structure composed of faces, edges, vertices, etc., which do not really exist in the real world of solid objects.

For Krause et al. (1993) a product model must contain information including data, their structure and algorithms. The algorithms correspond to the bridge between the user, the data and the structure.

According to Szykman et al. (1998), a design software must have capabilities for supporting the design process, such as an information modelling framework to support modelling of engineering products, which provides a more comprehensive knowledge representation than traditional CAD systems. Also, they point out the importance of implementing interfaces for creating, editing and browsing the design information that are easy and effective to use.

Van der Net et al. (1996) consider that only one product model should be sufficient to describe the information in all the design and manufacturing stages, and to achieve that it should:

· Capture and register the design intentions;
· Allow the manufacturability analysis to be performed simultaneously with the design process.

For Anantha, Kramer and Crawford (1996), a product modeller should represent parts and assemblies, since most engineering problems must be solved by assemblies rather than single parts.

Juri, Saia and De Pennington (1990) proposed and implemented a product model in which two levels of abstraction are defined: the level of the part, and the level of the feature. A feature is defined here as a characteristic shape that has some specific engineering meaning (Wingard, Carleberg and Kjellberg, 1992). Some examples of features include a shaft, a hole, a chamfer, etc.


Representation of Parts by Features

According to Cunha (1995), the representation of parts based only on a geometric model has not yet been successful due to two factors. First, the representation of many basic elements to describe the product is not adequately taken into account in geometric modellers, and therefore data are many times lost when computer systems try to recover them. Second, the representation of the part exclusively through geometric primitives does not contemplate the existence of higher order shapes in terms of abstraction with regard to the design understanding.

Wingard, Carleberg and Kjellberg (1992) mention that when using current CAD/CAM technologies, the user has to express the operation that he/she wants to accomplish using terms that reflect the representation used internally in the system's model, which normally does not correspond to what he/she wants. For Halevi (1994), the vast majority of CAD systems have been developed only for drafting use, and a minimal amount of design support. The need for other important design steps are not usually specified as objectives for the CAD systems, and thus these systems do not meet those needs.

Recent commercial CAD systems based on features are becoming available, and among those there are Pro-Engineerâ and CADDSâ . However, we consider that none of those systems includes a sufficient and acceptable amount of features to represent the product, in order to utilise adequately the information for activities such as process planning.

Cunha (1995) lists many problems related to feature-based design systems that have not yet been solved, and some of those problems are as follows:

· The need to create and utilise pre-defined features.
The difficulty of not having a sufficient set of features related to the specific design domain.
· One single part may be generated by more than one possible combination of features, which is an ambiguity embedded in the part's representation, and this may later lead to different instances of the part.
· The geometric interactions between features, through which their meaning is lost partially or completely.
· It is difficult to achieve an adequate topological representation of the part, either through graphs that represent the adjacency between features, or through hierarchical relationships between them, in which the existence of one feature depends on the existence or relative position of the others.


Feature Classification

According to Shah and Rogers (1988), one feature is a set of information adequately grouped in order to represent a product. They classify features according to three basic forms: form features, precision features and material features, and they consider that there are other logical information sets, such as assembly features, functional features, etc.

Features are defined by Feng, Huang and Kusiak (1996) with regard to their function in the product, and for them there it is very important to study the relationships between the functions and the features. Dixon, Cunningham and Simmons (1987) also classify form features, and they begin by defining static and dynamic features. The static features are primarily structural in their function (e.g. a pocket), whereas the dynamic features perform the transfer of movement or energy to fulfil their function (e.g. a gear). The static features are subdivided into primitives, intersections, macros and some other types, generating thus a large amount of features.

Juri, Saia and De Pennington (1990) classify the form features into primary and secondary, and also into external and internal. The primary features correspond to cylindrical and conical shafts, whereas the secondary are holes, threads, fillets, etc. Ovtcharova, Pahl and Rix (1992) classify form features based on their complexity, having as orientation the STEP classification (ISO, 1992). This classification starts with simple and compound features, and from there it achieves the most elementary features in the structure.

Gao and Huang (1996) describe a feature-based design system integrated with an expert CAPP system. The feature-based system was developed using a commercial B-rep solid modeller with additional feature modelling functions. It has a feature taxonomy that is represented through a hierarchical structure, and the form features are classified into three levels: atomic features (e.g. a face), primitive features (e.g. a hole) and compound features (e.g. a pattern of holes).

Xue, Yadev and Norrie (1999) introduced the concept of an "aspect feature", which is a group of descriptions in a model for a particular product development purpose, such as design, manufacture and assembly.


Feature Modelling

In order for a feature-based product modeller to be used in engineering design, it should meet the following requirements (Shah and Rogers, 1988; Bronsvoort and Jansen, 1994):

· The system must be interactive and graphical, since this is the best way to give adequate support to the modelling of product and processes.
There must exist a mechanism to define generic features, and to store them in the feature library.
· A mechanism to create instances of features through the specification of parameters must be provided.

· Constraints must be present in order to guarantee the validity of the features.
· It must allow the storage of all the pieces of information necessary to represent a product.

In the product modeller implemented by Juri, Saia and De Pennington (1990), object-oriented methodology was used for part representation, and raw material and intermediate manufacturing stages are also modelled. However, they did not include means of on-line validation of the design process. Also, that implementation is for a single part at a time.

Wingard, Carleberg and Kjellberg (1992) proposed a product model that is subdivided into two parts: the geometric model, which is application independent, and the technological model, which contains application-specific information. A feature in that system is represented by two engineering elements: a form feature entity (related to the geometric model), and a technological element (related to the technological model). A user interface is provided for the user to communicate with different applications, and according to those authors this interface can be changed and extended by the user.

Shah et al. (1996) proposed a protocol based on OOP for design with features, using STEP entities as a basis for the definitions. That protocol is to be used for supporting engineering design histories. The product model includes feature modelling, CSG and B-rep models. However, it is not described the means for detail design and assembly support. Also, issues on the graphical representation of the model were not described.

Hoffman and Joan-Arinyo (1998) proposed a product modeller that provides different views of the model depending on the application, which can be for example manufacturing process planning, and geometric dimensioning and tolerancing. They give examples of constraint mapping between different views, and point out the difficulty of transferring design constraints before and after a design operation.


Expert Systems and Intelligent CAD

An expert system is defined by Cohen and Feigenbaum (1982) as "an intelligent computer program that uses knowledge and inference procedures to solve very difficult problems, which require a specialist (a human being) to solve them". An expert system is a computer program that emulates the skills of a human specialist.

The integration of expert systems with other types of computer programs leads to a high system flexibility, because in order to alter the knowledge base, there is no need to manipulate any source code of the main program. Therefore the system can be adapted to certain variations that may occur when implementing a new application.

An intelligent CAD system that is able to make decisions as a human being should have the skill to describe the designer's intentions, and such system would significantly contribute towards the integration of CAD and CAM (Ando and Yoshikawa, 1989).

Anantha, Kramer and Crawford (1996) consider geometric reasoning as being crucial for the unification of design and manufacturing. An intelligent CAD system must be capable of reasoning on the geometric domain, manipulate geometric constraints, and meet these constraints in a complete manner, without ambiguity.

Szykman et al. (1998) describe a prototype software which includes an interface that provides a navigation mechanism for browsing a design. However, a description of a module for product visualisation was not given, and also details about the feature classes and instances in that system were not shown.

In the work described by Xue, Yadev and Norrie (1999), some methods for modelling knowledge base and database for intelligent concurrent design were proposed, and a prototype system was developed. This system attempts to consider all the product development life-cycle aspects. However, in their description not much detail was given to detail design of, for example, a stepped shaft, and the relationships among the features that compose such part. Also, they do not apply the approach of modifying features and high level features as will be presented in this paper.


Description of the Product Modeller

Architecture of the System

The modules in the proposed modelling system are shown in Fig. 1. The communication between the user and the system is made via the Graphical Interface, which is linked with the analytical and modelling modules.



A commercial CAD system is utilised as the graphical interface, which provides graphical and database functions that are used by the system. The graphical information is visually presented in 2D, which is sufficient for most rotational parts.

The Modelling Module performs the following functions:

(a) It contains a sub-module called "Product Navigator", which is used to navigate across the Product Data Structure. The navigator is tuned with the graphical interface, so that the user visualises graphically the portion that corresponds to any location in the product structure.
(b) The sub-module "Feature Manipulator" is responsible for feature instantiation, which consists of the following steps: the user chooses a feature in the Feature Library, and then he/she inputs its attributes. Some of the functions performed by the feature manipulator are: insert, modify and delete operations. In order to execute those functions, the feature manipulator communicates with the Expert System in order to verify the consistency of the operations.
(c) The Auxiliary Functions sub-module contains some supporting functions, such as the one that performs mapping of the product structure into the graphical structure of the commercial CAD system.
(d) The Information Assignment sub-module is responsible for assigning tolerances and/or surface finish to certain parts, based on the type of fit that is desired between a group of parts (Maziero, Ferreira and Gubert, 1997). This function is performed through queries to the Manufacturing and Assembly Database, from which the requested information is obtained.

The Analytical Module performs many different analyses, which include (a) assembly analysis; (b) dimensioning; (c) choice of tolerances; (d) identification of the surface finish; (e) tolerance analysis. These analyses are made with the help of an Expert System, via the Communication Interface. The Manufacturing and Assembly Database can also be queried by the Analytical Module. A detailed description of the Analytical Module is given in (Maziero, Ferreira and Pacheco, 2000).

The Communication Interface is responsible for the communication between the modelling and analytical modules and the inference engine, which is linked with the knowledge base. This interface converts data from the product data structure to the format of the expert system and vice-versa.


Representation of Product Information

In this system the information about the product is represented in two formats: (a) an internal format that corresponds to the information stored in the product data structure; (b) a graphical format, which is the representation of the product information for its visualisation.

The product is visualised through the graphical interface. That is done through the product navigator, which traverses the structure, and informs graphically what is taking place. This visualisation is made through the use of layers. As shown in Fig. 2, there is one layer for the product, one for the assembly, one for each subassembly, and one for each part. The information in the product data structure is mapped onto each layer through a group of attributes in the CAD system.



When an assembly, subassembly or part is created, the layer "dimension" is created automatically. The dimension layer contains the representation of dimensions, tolerances and notes. On this layer all subassemblies and parts that compose it can also be visualised. One part can only be manipulated (i.e. undergo create, delete and move operations) if the corresponding layer is active, and this can be made through the navigation system, which allows the activation of the layer.

If the user is on a certain subassembly layer, he/she has access to the parts that compose that subassembly. In order to access the parts in another subassembly, it is necessary to navigate across the product, searching the desired subassembly and then the part.


Definition of Classes in the System

According to the object-oriented methodology, the classes were defined as a function of the relationships between objects utilised within the design context. The "generalization-specialization" and "whole-part" structures were applied (Coad and Yourdon, 1991). In this way a product is considered as being composed of (has) an assembly, which is then composed of a subassembly, which is composed of parts, and these are composed of features. A feature is defined as a class that is used to define other classes.


Feature Attributes

In order to introduce a new feature into the Feature Library, the following attributes must be assigned to it:

· Shape attributes: these correspond to the geometric description of the feature to be represented (e.g. the diameter of a shaft).
· Geometric information attributes: these correspond to information such as the position of the feature in space.
· Tolerance and surface finish attributes: these may be utilised for example to perform design functionality analyses, or to help select the manufacturing processes.
· Management attributes: these attributes allow the modelling system to perform the communication between the product data structure and the CAD database, keeping the consistency between the structures.


Feature Classification

In this system the features are classified into: (a) parametric features, which can be instantiated through one or more sets of geometric parameters; and (b) non-parametric, which are defined through a set of explicitly identified low level geometric entities (Fig. 3). The non-parametric features will not be considered in the present paper.



The parametric features are subdivided into rotational and prismatic features. Only the rotational features will be considered in this paper. Among the rotational features, three types are identified: simple features, which correspond to features that may be defined individually or in a group; compound features, and high level features (Fig. 3).

The basic features are classified into positive volume and negative volume features (e.g. shaft and hole, respectively). In this work, these features become reference features for the insertion of modifying features, which are those that alter the basic features.

Modifying features can be rotational or prismatic, and they are further subdivided as a function of the way in which they are generated relative to the basic features. Figure 4 illustrates some types of modifying features, and it can also be seen in this figure that the modifying features are further subdivided into axial and radial. A description of other types of features will be given later in this paper.



A Hybrid Characteristic of the Product Model

The proposed representation consists of a hybrid model that utilises both synthesis of volumetric elements and destructive geometry, which are applied depending on the system's feature definitions. The product modelling starts with the creation of a positive volume feature, which corresponds to a shaft. The union between basic positive volume features is performed by the synthesis of volumetric elements, whereas the insertion of negative volume basic features is performed through destructive geometry (Fig. 5).



When inserting a chamfer on a shaft, as shown in Fig. 6(a), the initial length "L" of the shaft remains the same internally, but graphically the shaft's representation is decreased of the chamfer's length "L1". In the case of a groove (see Fig. 6(b)), the shaft is subdivided into two in its graphical representation, but in the internal representation there is still only one shaft.



When inserting a modifying feature with positive volume on an edge (e.g. fillet) such as the one shown in Fig. 7, the shaft's length in its graphical representation is reduced, but internally its original length is maintained.



Combined, Compound and High Level Features

The combined features (Fig. 8) result from the union of two or more basic features (e.g. a stepped hole). The attributes of the combined feature in Fig. 8 are the same attributes of the blind and through hole features.



A compound feature corresponds to a group of simple features, such as the ones shown in Fig. 9.



In the current implementation, the high level standard features for purchase are introduced only via programming, i.e. they can only be included in the system through internal functions, since it is necessary to implement their specific interconnection mechanisms. An example of such a feature is a roller bearing, which is represented graphically through shaft and hole features as shown in Fig. 10. One of its attributes, called "source", is defined as "standard for purchase". Some of the attributes of this feature are the external diameter, internal diameter and width.



Figure 11 shows an example of how a high level standard feature for manufacture is obtained. The validation of this feature is made automatically by the expert system. After being created, this new feature can be saved, being thus available to the user whenever he/she needs it. The features that compose this high level standard feature for manufacture can be identified individually, and the user can execute operations on each of them (modify, delete, etc.).



First and Second Order Modifying Features

When inserting a modifying feature that connects a basic feature to another modifying feature, as illustrated in Fig. 12(a), the feature that performs the connection is called first order modifying feature. On the other hand, when inserting a modifying feature on another modifying feature, a second order modifying feature emerges, as shown in Fig. 12(b).



Representation of Feature Information

When designing a part in this system, the features are positioned with regard to one single reference, which usually corresponds to the part's centre of rotation.

The two end planes of a cylindrical shaft are used to limit each feature to be defined with regard to the shaft, and they are called initial face ("Icoord") and final face ("Fcoord") (see Fig. 13(a)). For a shaft, the initial face is always on the left-hand side, whereas the final face is always on the right-hand side. Besides these co-ordinates, each shaft has as attributes its diameter, length, and centre of rotation.



For a hole, the initial face is considered as the start of the hole (its position is chosen by the user) and the final face is the bottom of the hole (Fig. 13(b)). The initial face of a cylindrical hole always coincides with one of the faces of the cylindrical shaft. In the case of a through hole, the final face of the hole coincides with the final face of the shaft.

In the case of a modifying feature, the co-ordinates of the basic feature's faces and the co-ordinate of its centre of rotation become the reference (see Fig. 14).



Another feature attribute that is shown in Figs. 13 and 14 is the "Way", which may be equal to 1, meaning that the feature develops towards the right-hand side; or equal to -1 (i.e. the feature is directed towards the left-hand side).


Representation of Technological Attributes

In this model the technological attributes correspond to the tolerances, surface finishes, and dimensions. These attributes are classified as either belonging to a single feature ("intra-feature") or to two or more features ("inter-feature"). The diameter, tolerance and surface finish are considered intra-feature attributes, and belong to each represented feature. On the other hand, the axial dimensions that refer to more than one feature (and its tolerances) are considered inter-feature attributes, and thus are attributes of the part.

Some other part and feature attributes are shown in Fig. 15(a), where the attribute AER ("Axial External Right") is the position of the final face of the last shaft on the right-hand side of the part, whereas AEL ("Axial External Left") refers to the initial face of the left-most shaft. AIR ("Axial Internal Right") corresponds to the co-ordinate that controls the position of the final face of the hole on the right-hand side of the part, and thus an axial hole may be inserted at that position. AIL ("Axial Internal Left") is equivalent to AIR, but instead it refers to the left-hand side of the part. It can be noticed that if there are no axial holes on either side of the part, AER = AIR and AEL=AIL. These four values are attributes of the part.



In Fig. 15(b) the variable REI ("Radial External Initial") corresponds to the diameter of a shaft at its initial face, whereas REF ("Radial External Final") is equivalent to REI, but it refers to the final face of the shaft.

The variable RII ("Radial Internal Initial") in Fig. 15(c) corresponds to the hole diameter at its initial face. When an edge-modifying feature (e.g. a chamfer) is applied to the hole, RII is increased, and it becomes different to the hole diameter, as shown in Fig. 15(c). This may be used to identify a modifying feature at that position. Another feature attribute is the "Position", which may be external or internal. In this case, the chamfer modified a hole, and thus its Position attribute is set to "internal".


The Product Data Structure

The product data structure is extremely important, since it must represent the physical part accurately. It corresponds in its general form to a list structure, in which each cell may generate new lists, as shown in Fig. 16. The cell that corresponds to the product points to the assembly list. Next, an assembly points to a subassembly list, and each subassembly points to a list of parts. The structure at this point is subdivided according to the feature classification. One cell in the list of parts points to two lists, which are: a list of external features, and a list of internal features (Fig. 16).



Since there may be modifying features associated with external and internal features, the structure was conceived in a way that there is a list of modifying features originating from the cell that corresponds to the basic feature on which it performed the modification. First and second order modifying features are represented by lists that originate from a cell in a list of modifying features.

An example of an assembly representation in the product data structure is given in Fig. 17, and this assembly is called transmission. A list of subassemblies is generated from the cell corresponding to this assembly, where the first cell corresponds to the subassembly bearing assembly. This subassembly has a list of parts that compose it, which are: housing, drive_shaft, roller_bearing0 and roller_bearing1.



With regard to the representation of the part drive_shaft, it is composed of five cylindrical shafts, which are represented as shown in Fig. 18. It can be noticed that feature shaft0 has the following modifiers associated with it: a chamfer, a blind slot and a fillet. Feature shaft4 has a chamfer, a keyway and a fillet associated with it. On the other hand, no modifying features are associated with features shaft1, shaft2 and shaft3.



The Knowledge Base for Product Modelling Support

The data structure as it was conceived and implemented enables operations on the features such as insert, change and delete. An expert system has been developed in order to verify the validity of each operation performed by the user, and in this section the implementation of the knowledge base will be described.

After the desired operation is chosen, the inference engine is automatically called and queries the knowledge base in order to check whether the operation is valid. If the answer from the expert system is positive, the operation is executed, otherwise it is not allowed, and the system also informs the user the reason why the operation was not performed.

The rules in the knowledge base were based on design experience, and also on common sense. Their structure is such that, when a new rule needs to be added to the knowledge base, it does not conflict with the existing rules, making it easy the future extension of the knowledge base. Some of these rules are described below.



In order to insert a new shaft in a part (with the exception of the first shaft), initially the parameters AER and AIR are compared. If they are equal, it means that there is no axial hole on the right-hand side of the part.

Then the position of the location point is verified whether it is on the right-hand side of the part. With regard to the existing feature (shaft1), it is verified whether it has any edge-modifying feature on its final face. If so, the variable REF1 is different to the shaft diameter, otherwise REF1 is equal to the diameter of the shaft.

If all these conditions are satisfied, the expert system returns the following information: the way of the shaft to be inserted (i.e. to the right-hand side), and the flag (i.e. the shaft can be inserted). If shaft1 had a chamfer on its final face, other rules present in the knowledge base would take care of this situation.



In this case, if AIR is different to AER, it means that there is an axial hole on the right-hand side of the part. Since the co-ordinate of the location point is greater than AER, the shaft is to be inserted on the right-hand side of the part. With these conditions, it is not possible to insert the new shaft, since it would obstruct the hole. Thus the expert system returns the flag as having a negative value that corresponds to an error message for the user.



In this rule, first it is checked whether the initial face of the hole is located on the left-hand side of the part. Also, it is required that the way of the hole is towards the right-hand side (WayH = 1). A hole may be cylindrical blind or through, and the insertion of a chamfer depends on the type of hole. Thus it is necessary to verify the type of hole (TypeH = Blind_Cylindrical_Hole). The next condition verifies the presence of a modifying feature on that end (DiameterH = RII).

The location at which it is intended to insert the chamfer must be closer to the initial face of the hole (PtXlocation < ((IcoordH + FcoordH)/2). Finally, it is verified whether the chamfer causes any interference with the shaft. This is done by comparing the volumes occupied by both basic features at that end (i.e. the expression to calculate REI).

If all these conditions are satisfied, the way of the chamfer is towards the left-hand side (Way = -1), and the flag is set equal to 0, which means that the insertion operation is allowed.



The conditions AEL=AIL and AEL=AIR mean that there is no axial hole in the part. If the diameter of shaft1 is lower than the diameter of shaft2 minus the space eliminated by the chamfer (i.e. DiameterS1£ REI2), shaft0 can be deleted. The conditions delete=0 and flag=0 mean that the delete operation is allowed. Shaft1 is then joined to shaft2.



The above rule verifies whether the diameter of a shaft can be changed. Initially it is considered that there are no axial holes in the part. Also, this rule ensures that the new diameter of shaft0 is lower than the diameter of shaft2, taking the modifying feature (i.e. the chamfer) into account.



The next conditions certify that neither shaft0 nor shaft1 have modifying features on their ends. The last condition in this rule considers that shaft2 has a modifying feature on its initial face (i.e. REI2 <> DiameterS2). If all these conditions are satisfied, the diameter of the hole can be changed.

It should be mentioned that situations different to those covered by the above rules are taken care of by other rules in the knowledge base. The structure of all other rules is similar to the rules presented in this paper.



In this paper a modelling system for product design and support has been presented. The domain of the implementation was for products composed of rotational parts. This system aims at: (a) representing products completely and unambiguously; (b) helping the user perform valid decisions at each step in the design process. The representation of subassemblies, parts and features in the system in the form of a list structure made it possible the navigation across it, consequently helping the user make good design decisions.

The developed product modeller is unambiguous, and its traversal is fast and accurate, which makes it adequate for other design applications such as: (a) assignment of diametrical and axial dimensions and tolerances to parts; (b) automatic determination of diametrical and axial contacts between parts. The modules to carry out these activities have been implemented, and they are described in (Maziero, Ferreira and Pacheco, 2000).

The representation of high level features allows the grouping of many features that can compose a new part (e.g. a bearing). Such features can be customised according to the exact manner in which a company uses them, which speeds up the design process.

The rules in the knowledge base are written in a text format, which is interpreted (not compiled). This confers flexibility with regard to the alteration of the rules, since they can be changed at any moment and tested without recompilation. It is envisaged to develop in the future a system for 3D product modelling and support with a similar methodology.


Hardware and Software Used

The commercial CAD system utilised was AutoCAD, and the expert system was developed in CLIPS. C++ was used as means to integrate the different pieces of software. The system runs on PC 486 microcomputers.



The second author would like to thank CNPq of Brazil for the financial support to this project.



Anantha, R.; Kramer, G.A. and Crawford R.H., 1996, "Assembly Modelling by Geometric Constraint Satisfaction" Computer-Aided Design, Vol. 28, No 9, pp. 707-722.        [ Links ]

Ando, K. and Yoshikawa, H., 1989, "Generation of Manufacturing Information in Intelligent CAD", Annals of the CIRP, Vol. 38, No. 1, pp. 133-136.        [ Links ]

Bronsvoort, W.F. and Jansen F.W., 1994, "Multiview Feature Modelling for Design and Assembly", Advances in Feature Based Manufacturing, Shah, J.J., Mäntylä, M., and Nau, D.S., Elsevier Science B. V., pp. 313-330.        [ Links ]

Coad, P. and Yourdon, E., 1991, "Object-Oriented Analysis", 2nd Edition, Englewood Cliffs, NJ, Yourdon Press.        [ Links ]

Cohen, P.R. and Feigenbaum, E. A., 1982, "The Handbook of Artificial Intelligence", Volume 3, HeurisTech Press.        [ Links ]

Cunha, G.D., 1995, "The Concept of Design for Manufacturing Applied to Computer-Aided Design", Ph.D. Thesis, Universidade de Nova Lisboa, Lisbon, Portugal (in Portuguese).        [ Links ]

Dixon, J.R., Cunningham, J.J., Simmons, M.K., 1987, "Research in Designing with Features", in Proceedings of the IFIP TC5/WG Workshop on Intelligent CAD, Boston, Mass., pp. 137-148.        [ Links ]

Feng, C.-X.; Huang, C.-C.; Kusiak, A. and Li P.-G., 1996, "Representation of Functions and Features in Detail Design", Computer-Aided Design, Vol. 28, No. 12, pp. 961-971.        [ Links ]

Gao, J.X. and Huang, X.X., 1996, "Product and Manufacturing Capability Modelling in an Integrated CAD/Process Planning Environment", International Journal of Advanced Manufacturing Technology, Vol. 11, No 1, pp. 43-51.        [ Links ]

Halevi, G., 1994, "CAD for Manufacturing Support", in Feature Modelling and Recognition in Advanced CAD/CAM System, Proceedings of the IFIP International Conference, Vol. 1, pp. 737-390.        [ Links ]

Hoffman, C.M. and Joan-Arinyo, R., 1998, "CAD and the Product Master Model", Computer-Aided Design, Vol. 30, No. 11, pp. 905-918.        [ Links ]

ISO, 1992, "Industrial Automation Systems - Product Data Representation and Exchange - Part 48: Integrated Generic Resources: Form Features", ISO 13030 - Part 48.        [ Links ]

Juri, A.H.; Saia, A.; De Pennington, A., 1990, "Reasoning About Machining Operations Using Feature-Based Models", International Journal of Production Research, Vol. 28, No. 1, pp. 153-171.        [ Links ]

Krause, F.-L.; Kimura, F.; Kjellberg, T.; Lu, S. C. -Y., 1993, "Product Modelling", Annals of the CIRP, Vol. 42, No 2, pp. 695-706.        [ Links ]

Maziero, N.L.; Ferreira, J.C.E. and Gubert, E., 1997, "Development of a Tolerance Database to Be Integrated with a CAD System", 14th Brazilian Congress of Mechanical Engineering (COBEM 97), Bauru, SP, Brazil, (in Portuguese).        [ Links ]

Maziero, N.L.; Ferreira J.C.E. and Pacheco, F.S., 2000, "An Expert and Procedural System for Automatic Identification of Assembled Parts", in Computer-Aided Process and Assembly Planning: Methods, Tools and Technologies, Chapter 9, John M. Usher and Hamid Parsaei (Eds.), Gordon & Breach (to appear).        [ Links ]

Ovtcharova, J.; Pahl, G. and Rix, J., 1992, "A Proposal For Feature Classification in Feature-Based Design", Comput. & Graphics, Vol. 16, No. 2, pp. 187-195.        [ Links ]

Shah, J.J., Jeon, D.K., Urban, S.D., Bliznakov, P. and Rogers, M., 1996, "Database Infrastructure for Supporting Engineering Design Histories", Computer-Aided Design, Vol. 28, No. 5, pp. 347-360        [ Links ]

Shah, J.J. and Mathew, A., 1991, "Experimental Investigation of the STEP Form-Feature Information Model", Computer-Aided Design Vol. 23, No. 4, pp. 282-296.        [ Links ]

Shah, J.J. and Rogers, M.T., 1988, "Feature Based Modelling Shell: Design and Implementation", Proceedings of ASME Computers in Engineering Conference, San Francisco, CA.        [ Links ]

Szykman, S., Sriram, R.D., Bochenek, C. and Racz, J., 1998, "The NIST Design Repository Project", in Advances in Soft Computing - Engineering Design and Manufacturing, Springer-Verlag, London.        [ Links ]

Van der Net, A.J., de Vries, W.A.H., Delbressine, F.L.M. and Van der Wolf, A.C.H., 1996, "A Relation-Based Product Model Suited for Integrating Design and Manufacturing", Annals of the CIRP, Vol. 45, No. 1, pp. 161-164.        [ Links ]

Wingard, L.; Carleberg, P. and Kjellberg, T., 1992, "Enabling Use of Engineering Terminology in Product Models and User Interfaces of CAD/CAM Systems", Annals of the CIRP, Vol. 41, No. 1, pp. 205-208.        [ Links ]

Xue, D.; Yadev, S.; Norrie, D.H., 1999, "Knowledge base and Database Representation for Intelligent Concurrent Design", Computer-Aided Design, Vol. 31, No. 2, pp. 131-145.        [ Links ]



Manuscript received: April 2000. Technical Editor: Átila P. Silva Freire.

Creative Commons License Todo el contenido de esta revista, excepto dónde está identificado, está bajo una Licencia Creative Commons