next up previous


Feature Technology
 
University of Bath
School of Mechanical Engineering
Technical Report 001/1993

Stephen Parry-Barwick[*] - Adrian Bowyer[*]

January 5, 1993

Keywords

Feature recognition, Design by features, CSG models, Boundary models, Form features, Edge-based feature recognition, Face-based feature recognition, Shape grammars, Geometric modelling, Geometric modelling queries.

Summary

Geometric modelling has become accepted by all engineering disciplines for a wide range of applications. Many existing and potential applications, particularly in the field of manufacturing, need various aspects of features technology. This paper describes the current state of features technology and discusses its uses, limitations, and benefits.

Introduction

A geometric model accurately represents the shape of a whole engineering component. But, for most applications, parts of the shape are needed piecemeal - we may need to know where the slots and holes in the component are, and later we may need to know where its projecting lugs are, and so on. These parts of interest are called features, and the mathematical and computational techniques for dealing with them make up the subject of feature technology.

Feature technology is an expanding subject, with research being carried out worldwide in many academic and industrial establishments, but is the technology ready for use? If one looks at commercially-available geometric modellers, the answer to which one is driven is no -- no marketed modeller has a general-purpose programmable features interface that will, for example, allow a user to define a shape using the modeller, and that will then report back to him or her instances of parts of the model that are something like the shape defined. On the other hand, in research modellers some progress has been made. This paper describes it.

Features - An Overview

The word feature conjures up different ideas when presented to engineers from different backgrounds. This has been the cause of a large amount of confusion and misunderstanding. A number of definitions exist, but these do little, if anything, to clarify matters. Two of them are:



`A feature is a region of interest on the surface of a part'
Pratt [29]1985
`Features are defined as geometric and topological patterns of interest in a part model and which represent high level entities useful in part analysis'
Henderson[18] 1990



The main difficulty here is that, in trying to be general enough to cover all reasonable possibilities, these definitions fail to pin things down precisely enough to give their readers a good mental picture, let alone to give them something that they can program. Let us sacrifice generality by allowing more than one definition; features can be seen from three points of view: they can be seen as functional features, design features, or manufacturing features. All of these viewpoints interpret the same feature in different ways. For example, the simple feature shown in figure [*] can be interpreted as follows:

1.
Functional feature -- Pivot.
2.
Design feature -- Rotating pin supported by two raised blocks.

3.
Manufacturing feature -- Milled slot with an in-line reamed hole through both walls. A turned cylinder, etc.


 
Figure: Pivot  
\begin{figure*}
\centerline{\epsffile{pivot.eps}}\end{figure*}

A functional feature definition is used to specify the (mechanical) operation of the feature without the constraints associated with its topological and geometrical information. The feature is described by its use, not by its size and location. Thus the feature in the figure can be defined as a pivot. This definition applies both to its individual components and equally to the whole assembly - a pivot needs a support as well as a moving part.

Design feature definitions express the features in geometric terms, but make the function of the feature implicit. There are two schools of thought about this: the first suggests that the designer's view of a feature relates purely to its form [21], and not to its attributes such as, for example material and surface finish [31]. The other school of thought suggests that not only the form, but (as with two dimensional engineering drawings) the material, tolerance and surface finishes of the individual components should be specified as features. The second seems the most predominant of the two schools. The designer knows the function that the feature is intended to fulfill. This function is usually multi-component oriented, and so to take one component in isolation is potentially misleading. A simple example of this can be seen in the figure: the shaft and hole in component number 1 can be toleranced to produce any number of fits, from a drive fit to a very sloppy fit. Again, the fit on the shaft and the fit in component number 2 can be controlled. The intention of the designer cannot be passed to the process planner if all that the designer is able to control is the form of the feature. This therefore means that the process planner is being forced to make decisions about the assembly that the designer has (or should have) already made, and might interpret the fits on the components differently to those which the designer intended. This could obviously cause problems later when the assembly came to be put together and used.

The manufacturing feature definition again implicitly incorporates the function of the feature, and in addition also implies its geometry, but now the method for its production is expressed explicitly. For example, the pivot could be seen as a number of components with separate manufacturing features. Component number 1 would possibly contain a milled feature and a drilled and reamed hole feature passing through both walls. Component number 3 could be a turned pin, hardened and ground. The surface finishes, tolerances and material, as discussed above, would all have to be supplied by the designer.

As we progress from functional features through design features to manufacturing features, the quantity of detail that we have to supply or to deduce increases markedly. But the utility of the feature definitions to the non-specialist (either human or computer program) decreases. Everyone knows what a pivot is and what it's for. Some know what a milled slot and a reamed hole are, but - in the absence of higher-level information - no one can deduce their purpose.

The Need For Features

In the preceding section three definitions of features (sometimes competing, sometimes complimentary) have been explored, but to what use can features be put? Here is a short, and by no means complete, list of possible answers to that question; it is no accident that it follows the three feature definitions closely:

1.
Functional Analysis It seems, at first sight, perverse to enquire of a computer model of an engineering component what function its parts have. The designer who made the model ought to know. But it is often convenient automatically to deduce the workings, for example, of mechanisms. This can be done as a check that they work as intended, or as input to further analysis such as that for the calculation of dynamic loads.

2.
Design Analysis

By using a feature interface to a geometric modeller, the design engineer can be informed of possible shortcomings automatically rather than having to analyse the design by hand. The shortcomings can, for example, be things like the location of thin-walled sections or radii of insufficient size for bending operations.

3.
Manufacture

This is probably the one area of application of feature technology that is the most important, so it will be addressed in a whole section, which follows. The importance reflects, in part, the fact that this is the area in which most work is being done. This in turn reflects the fact that manufacturing features are, perhaps, the easiest (or least difficult) features to program. This stems from their low-level nature in our scheme of three feature types - it is easier to find something that can be fairly precisely specified than it is to find something more abstract.

Features and Manufacturing

For manufacture, feature information can be considered to be about volumes of material to be removed or to be added, depending upon the manufacturing process being considered[*]. For material removal processes such as milling, the features can be associated with manufacturing operations and machine cutters [21] [16]. For example, simple planar slots can be considered as machine operations and Tee slots can be considered as special-cutter operations. These features can be semi-automatically or automatically transferred to process planning packages, whereupon their cutter paths can be calculated and the possibility of collisions addressed. This leads to a large problem: features which interfere with each other; Woodwark [44] and Requicha [39] have done work on this.

In material addition, casting requires the designer or possibly the process planner to decide upon the optimum position for parting lines on the model [28]. The same is true for processes like forging. Once this parting line has been set the size and position of draught angles, which allow the component to be extracted from the dies, need to be evaluated and then applied to the model. These draught angles can be incorporated into a feature description which can then be semi-automatically or automatically added to the component during the design process. Once the shape has been modelled it is possible to use it as a basis to produce the feature descriptions for the die and any cores that are required.

Another widely used manufacturing method is that of combining two or more separate components together, this can be in the form of welding, gluing, soldering, brazing and many other such processes. It is a time consuming and difficult job for the designer to model each weld on the component, especially if the intersection curve is of an unusual form. These problems can be greatly reduced by describing the additional material with feature descriptions, which can again be semi-automatically or automatically added to the original model.

We will look at all the various competing and complimentary feature technologies that are available for programming these tasks. In doing this we will repeatedly refer to the two main types of geometric modeller: boundary-representation modellers and set-theoretic (or CSG) modellers. This is not the place to describe the differences between and operations of the two; see the books by Woodwark [45], Strasser [35], Chiyokura [8] and Earnshaw [14] for details of them.

Feature Taxonomies

Rather than specifying all of the geometrical and topological information that defines a feature for every separate feature type, it is possible to group features into a hierarchical tree structure. These structures are commonly called feature taxonomies. The properties of the branch features in the structure are passed down to their leaf features. A number of taxonomies that have been created by researchers are described in more detail below. In the main, these taxonomies don't specify how the features are to be found, but they give a means of classifying them once they have been.

Gindy's Form-Feature Taxonomy

A simplified version of Gindy's Taxonomy [17] is shown in figure [*]. At its top level this taxonomy has form features; depressions, protrusions and surfaces. Each of these three categories is then subdivided depending upon the number of external access directions that are present. External access directions are defined as the directions from which the feature can be manufactured using a milling machine. The resulting classes are then further divided down depending upon the boundary of the feature, which could be open or closed. An open boundary describes features such as a slot or a notch that do not bound themselves with a complete ring of faces. In contrast, closed boundary features describe features such as pockets. Finally the bottom level of the taxonomy categorizes the feature as being through or blind. The taxonomy has a limited domain, but is adequate for a number of process planning applications.

 
Figure: Gindy's Form Feature Taxonomy  
\begin{figure*}
\centerline{\epsffile{taxonomy.eps}}\end{figure*}

Pratt and Wilson's Feature Taxonomy

This taxonomy was developed for Computer Aided Manufacturing International (CAMI) in 1985 [29]. The top-level taxonomic split is into two main sections: explicit and implicit features. The explicit section contains information about features that can be fully defined without calculation, whereas the implicit section contains feature descriptions that are definable, but for which the actual geometric data have to be calculated. The explicit features are then refined into four classes: through holes, protrusions, depressions and areas. Further refinement is possible, depending upon the shape of the feature; for example it might be prismatic or it might be rotational.

Butterfield's Feature Taxonomy

Another taxonomy also produced for CAMI in 1985 was that by Butterfield et al [7]. This taxonomy works by categorising features into three classes: sheet features, prismatic features and rotational features. The sheet features are further categorized as being flat features or formed features. The prismatic features are further categorized as being depressions, protrusions or surfaces. Finally, the rotational features are further categorised as being concentric or non-concentric.

Design-by-Features

Design-by-features, as the name suggests, stands at the design stage of the production cycle. A geometric model is constructed using primitives in the form of slots, pockets, lugs and so on. The designer is therefore constrained to build the model using only the feature primitives that the software contains. Design-by-feature techniques do not necessarily incorporate a geometric modeller for their underlying data structure. Systems have been implemented in languages such as LISP that store the feature information in list format [22].

The main disadvantage of this technique is that the designer has a limited scope in the way that the model is constructed because of the constraint of using only the machinable feature primitives that the modeller provides. However, newer modellers incorporating object-oriented methodologies help designers to overcome this problem by allowing them to define their own feature primitives.

A set-theoretic modeller needs little modification to encompass design-by-features technology, as the feature primitives along with their associated operators are stored explicitly within the modeller's data structure.

A boundary modeller's datastructure has to be extended to allow this information to be stored, as the solid primitives used to make the model are normally lost after they are incorporated into the topological datastructure of the model.

The current methods of design-by-features can be split into the two distinct categories, as shown in figure [*].

 
Figure: Design by Features  
\begin{figure*}
\centerline{\epsffile{design_by_features.eps}}\end{figure*}

Synthesis by Features

In 1989 Requicha [32] created a design-by-features interface using the full characteristics of a set-theoretic geometric modeller. The system described uses a parameter-based feature approach. Each feature is defined by a number of separate parameters; for example, a simple round-ended slot could be described by its width, depth and length. The features are manipulated by the modeller using a number of feature operators which include an Insert operator, which creates either a subtraction feature or an addition feature in the model, a Delete operator which removes a feature from the model's operator tree, and a Modify operator which allows features that have been specified to be modified via their parameters. The paper argues the point for creating the model using simple primitives such as blocks, cylinders and spheres rather than more complicated ones. A translator is then used to convert collections of these simple primitives into more complicated feature primitives that may be used further down the production chain.

Anderson [1] builds a model by the method described above. But in his system, the model is then converted to a boundary-representation structure. Each feature contains a number of elements, a position vector, and a vector chain; these elements define the position of, and the relationships between, individual features. Once the model has been created the structure is put through a process called feature refinement. This refinement consists of three steps:

1.
Feature classification
2.
Feature relation identification

3.
Feasible approach and feed direction determination

The boundary model is used to classify the features into a taxonomy. The feature relation module then analyses the features to find if simple features can be merged into more complicated (but easily machinable) features. The reverse happens to complex unmachinable features: these are analysed to reduce them to simpler machinable features. The last stage is finding suitable access directions for the machine tool.

Destructive Modelling with Features (DSG)

This technique was first developed by Arbab [3] in 1982. The technique follows the manufacturing process of a $2\frac{1}{2}$D component closely. The designer starts the construction, or more appropriately the destruction, of the model by selecting a blank that the finished model can be contained within. The only set operation available to the designer is the difference operator, so the feature primitives are subtracted in the order that they would need to be machined in practice. In more recent years both Turner [38] and Cutkosky [12] have explored this method of modelling. This technique has been used by Parametric Technology to produce a commercial system called PRO-ENGINEER . Since the model's definition parallels the removal of material from the blank, the process plans can be written out simultaneously with the model's creation. Note that what we said in the introduction still holds - PRO-ENGINEER doesn't find the features.

Feature Recognition

However, feature recognition can be described as the finding of features within a geometric model after its creation. This approach is being researched using both boundary and set-theoretic geometric modellers, though the former predominates in this area. Work is being carried out to automate the process of recognition, but some commercial systems such as STRATA marketed by Spatial Technology Inc. use a human-guided approach. The most common current recognition methods are shown in figure [*].


 
Figure: Feature Recognition  
\begin{figure*}
\centerline{\epsffile{feature_recognition.eps}}\end{figure*}

Most recognisers are based on a depression-oriented approach; this approach views a feature as material which has been removed from a larger solid to create, for example, steps, slots and pockets.

When dealing with the recognition of features, a definition is needed for each feature that the recogniser may encounter. For instance, is the recogniser just to find primitives of the form cylinder, torus or block, or is it to find more `machining-region type' features such as the pocket or slot? These latter features may be more complicated, as the system needs to take into consideration the shape of the cutting tool to be used. This in turn may generate, for example, rounded corners in pockets. Shah [33] in his review paper of 1991 highlighted four machining-region approaches:

Boundary Representation interrogation methods

Before diving into the description of each process shown in the figure [*] it would be useful to describe the underlying workings of boundary-based recognition schemes. They usually follow one of two approaches called edge-based and face-based in the literature. Confusingly, both methods analyse the edges of the model, therefore they could both equally be called edge-based approaches. The authors think that the edge-based method should in fact be called the loop-based method as it looks at the properties of the loops of edges, whereas the face-based method looks at face adjacency across edges. We shall stick with our terminology in the hopes 1) that it will make things clearer, and 2) that it will stick.

The Loop-based Method

This method was first introduced by Kyprianou [23] in 1983. The method interrogates each edge in the boundary model to ascertain whether the edge is concave, convex or smooth (figure [*]).

 
Figure: Corner Types  
\begin{figure*}
\centerline{\epsffile{corner_types.eps}}\end{figure*}

Each edge is common to two rings of edges which are called loops. If all the edges in the loop are concave then the loop is categorised as being concave. Loops may also be convex or hybrid (see figure [*]). Once the interrogation has been done, the preliminary definition phase is complete and recognition can take place. A heuristic is used to start the recognition at a promising place: a so-called primary face (figure [*]). From here on the method follows these steps:

 
Figure: Loop Types  
\begin{figure*}
\centerline{\epsffile{loop_catergories.eps}}\end{figure*}


 
Figure: Edge Based Recognition  
\begin{figure*}
\centerline{\epsffile{edge_based.eps}}\end{figure*}

1.
Any edge in the loop is chosen as the start edge.
2.
This loop is traversed edge by edge until a concave edge is located. Figure [*]a.

3.
If a concave edge is located the interrogation moves onto the other loop that connects to this edge. Figure [*]b.

4.
If all of the concave edges have been used in this loop the interrogation is transferred back to the previous loop, else steps 2 and 3 are repeated. Figure [*]c.

5.
The results are then compared with the feature rules, a feature may or may not have been found. Figure [*]d.

The Face-Based Method

The face-based method initially uses the same approach as the loop-based method: that is, all of the edges in the model are categorised as concave, convex or smooth. However, from then on this method bears little resemblance to the loop-based method. The edge types between all of the faces are given values depending upon their type. For example, concave edges can be represented by the number 1, convex edges by the number 2 and smooth edges by the number 3. These values are then stored in a face adjacency matrix (Joshi[20] [21]). The face adjacency is often displayed graphically in the form of a face adjacency graph (Figure [*]).

 
Figure: Face Based Recognition  
\begin{figure*}
\centerline{\epsffile{FAG.eps}}\end{figure*}

The matrix is symmetric and the leading diagonal contains only zero's. Features can be located by looking for instances of patterns within the matrix (figure [*]). The techniques of matrix interrogation depend upon individual implementations of the face-based method, and these are discussed later in this paper. This method has been extensively researched in academic institutions in Italy by Falcidieno et al. [15] [16] [2] [13] since 1986, and in more recent years by Corney [10] [11] at Heriot-Watt.


 
Figure: Depression Feature Patterns (All links concave)  
\begin{figure*}
\centerline{\epsffile{joshi.chang.pictures.eps}}\end{figure*}

Feature Recognition using Boundary Representation Modellers

It is possible to superimpose higher level feature recognition techniques upon the loop-based and face-based methods, the main superimpositions being graph-based and syntax-based.

Graph-based Recognition

The method developed by Joshi and Chang [21] is a good example of a graph-based approach to feature recognition. The features that the system can locate are described by a series of feature rules. The rules are built up in an ad-hoc way so that at times features that have slight variations from the normal case may not be located. The first implementation of such a system was by Kyprianou [23] in 1982, examples of other systems developed using this method are by Van Houten [40] and Van't Erve [41].

Falcidieno et al. [16] 87, suggested that the faces of the model do not necessarily imply any information about the extent of material to be removed or added in order to create a feature. Extra boundary information is required, in the form of dummy entities. These entities are faces, edges and vertices which are used to close the boundary of a feature, but in reality do not exist (Figure [*]). These entities can also be referred to as virtual faces [21] or closure faces [29]. These new faces are then incorporated into the face adjacency graph (sometimes called the attributed adjacency graph or the face adjacency hypergraph) and recognition is then carried out by looking for cut vertices in this face adjacency graph. A cut vertex is a node in the graph which, if removed, would cause the graph to fall into at least two parts (figure[*]; given that machining is being planned for, cut is an unfortunate choice of adjective). These parts are then analysed recursively until no more cut vertices exist. The resulting volumes are then compared with rules to locate any features that may exist.


 
Figure: Virtual Faces  
\begin{figure*}
\centerline{\epsffile{virtual_faces.eps}}\end{figure*}


 
Figure: Cut Vertex  
\begin{figure*}
\centerline{\epsffile{cut.vertex.eps}}\end{figure*}

In more recent years Corney has continued to look at this method of feature recognition. In [11], he describes a method of locating features that project from, or are depressions in, more than one face.

Backward Growing Techniques

Wang [42] uses a graph-based approach to feature recognition that incorporates a backward growing technique (figure [*]). The backward growing technique entails the model's being analysed for features in a recursive manner. As features are located using the graph-based approach described above they are recombined into the model. This new model is then analysed again. If any more features are located then they are again added back into the model. This procedure is repeated until no more features can be located. The final result is a volume of material that is referred to as a blank, and is used to select the actual blank needed to produce the component.


 
Figure: Backward Growing  
\begin{figure*}
\centerline{\epsffile{backward.growing.eps}}\end{figure*}

Syntax-based Recognition

Syntax-based recognition works using a linguistic pattern-matching approach. Choi et al. [9] developed such a system. For a feature to be valid it requires a start surface, some element surfaces, and a bottom surface. An example of a feature that can be located using this system is a hole (figure [*]). For a hole to exist, a face is required from which the hole can enter the model. This start face is found by analysing the edges within faces to find a circular ring whose edge type is convex. Each of these edges is then analysed to find the surface type to which they connect. Depending upon the representation style of the modeller either one or three element surfaces are required for the cylindrical part of the hole. If these surfaces are found to be cylindrical then the ring of edges at the bottom of the element surfaces are analysed. A hole can have a number of bottom surfaces: for example a flat bottom, a cone bottom or a through hole; each of these are distinguished by slight variations in the syntactic patterns. If the edges are analysed and found to be concave then a blind hole has been located. If the surface is planar then a flat bottomed blind hole has been located. If the surface is a cone then a cone point hole has been found. If the ring of edges is found to be convex then a through hole has been located. During the recognition phase, if, at any point, the surface type or edge type does not correspond to a valid syntactic pattern, then the feature recogniser drops out from the search.

 
Figure: Hole Pattern; arrows represent surface normals going from solid to air.  
\begin{figure*}
\centerline{\epsffile{Element_surfaces.eps}}\end{figure*}

Henderson [19] uses a syntax-based approach in his system, but rather than using the boundary representation as it stands the structure is converted into PROLOG predicates. Features can then be located by running through the structure using predicate calculus (rewrite rules) to compare the parts with feature patterns. As features are found they are combined into a graph structure. Features with entrance faces from common faces are linked to a common node. The structure of the graph defines the features' adjacency and - to some extent - their accessibility.

Cavity Volumes

As discussed earlier, features can be viewed as volumes of material that have been removed from a blank, the model that is left being the final component. Therefore in some circumstances it maybe more sensible to analyse the material removed rather than the material left behind. To this end, the cavity volume method (Henderson [19]) initially subtracts the model from a blank of a size larger than the original component. The remaining cavity volume relates directly to the material that needs to be removed to leave the required component. Even with a simple component there may be more than one cavity volume (figure [*]). These volumes may be matched directly to feature descriptions held in the modeller via any of the methods described above. Henderson's implementation of this system uses the syntactic-based recognition method to drive the feature recogniser.


 
Figure: Cavity Volumes  
\begin{figure*}
\centerline{\epsffile{cavity_volumes.eps}}\end{figure*}

Feature Recognition using Set-Theoretic Geometric Modellers

Some of the little research that has been carried out in the area of feature recognition using set-theoretic geometric modellers was described in the section on Design-by-Features above. In addition, Woodwark [44] speculated about a number of approaches in his 1988 paper, but as yet few have been taken up for research[*].

Destructive Modelling with Features (Destructive Solid Geometry - DSG)

Even though the name of this is the same as destructive solid geometry in design-by-features, the actual process is quite different. So, we have yet more terminological confusion! The process was developed by Li et al. [25] [27]. Whereas in design-by-features the model was created by removing feature primitives `by hand' from a blank with the set difference operator, in the case of destructive modelling with features the model is built using any of the three set operators (Union, Intersection & Difference) and feature primitives. Once the model is complete the CSG tree is automatically traversed and modified to produce the DSG tree (figure [*]) consisting entirely of subtracted volumes.

 
Figure: Destructive Solid Geometry (CSG to DSG) 
\begin{figure*}
\centerline{\epsffile{dsg.tree.eps}}\end{figure*}

The system developed by Li is limited to simple faceted primitives. The set-theoretic primitives yielded by the intersection operation are also excluded from their system. The feature primitives that the recogniser contains are limited as only 18 orbiter parts are represented. Orbiter parts are the primitives that the feature recogniser uses to union with the model to create simple primitives. For example, in the figure an orbiter part is used to transform the cylindrically ended block into a rectangular primitive.

Unification and Extraction of Features

In 1987 Lee and Fu [24] proposed a method that traversed the set-theoretic tree and analysed it to find primitives with the same spatial relationships to one another. These primitives were then moved around the tree structure to group them together into subtrees. Each subtree was then analysed to find the principle axes of the primitives contained therein[*]. Primitives such as cones, cylinders and tori can be categorised as having one principle axis. Spheres can be described by an axis at any arbitrary orientation and cubes are defined by twelve axes, all being derived from the corners and three orientation vectors. The principle axes of the primitives in the subtrees were then compared to one another to find the most dominant axis. The primitives in the subtree together with the most dominant axis were then matched to a limited number of patterns contained in the recogniser to highlight manufacturing features. Multiple features that share the same axes cannot be located using this scheme, but some of the nonuniqueness of the tree can be ironed out of the set-theoretic representation.

Feature Extraction by Volume Decomposition

The technique described by Woo [43] was written primarily as a feature recogniser, but it has its uses as a conversion procedure to go from a boundary to a set-theoretic model representation. The application of this technique yields a unique series expansion of the model in terms of convex volumes with alternating signs.

These can then be assembled using the alternating sum of volumes to highlight the model's constituent primitives (figure [*]). When this technique was first proposed a problem of nonconvergence was encountered. This problem can be seen when the model and its convex hull repeat during the analysis (figure [*]). This has been addressed in more recent papers by Tang and Woo [36] [37]. The method of solution suggested is to split the model and to continue the interrogation on the separate parts (figure [*]). The features located can often lead to unmachinable volumes and the starting blank can be an unusual shape, as it is calculated from the convex hull of the original model.

 
Figure: Alternating Sum of Volumes  
\begin{figure*}
\centerline{\epsffile{Woo.eps}}\end{figure*}


 
Figure: Nonconvergence 
\begin{figure*}
\centerline{\epsffile{woos.nonconvergence.eps}}\end{figure*}


 
Figure: Nonconvergence Solution  
\begin{figure*}
\centerline{\epsffile{woos.solution.eps}}\end{figure*}

Concluding Remarks

For limited applications such as design by features for simple $2\frac{1}{2}$D machining, features technology is ready and in use, but for more complicated applications general solutions still awaited. A number of the shortfalls of feature technology are discussed here.

Interaction between features [39] (anteriority constraints) is an important problem to consider, as also are dimensional constraints. For example, if a pocket lies at the bottom of another pocket it is important to manufacture the larger pocket first rather than second. Another form of feature interaction is that of wall thicknesses between features. If features are taken in isolation it is possible partially to remove or to obliterate one feature with another, which may or may not be the intention of the designer. During manufacture the wall thickness between features needs to be known, so that cutting forces can be tailored to suit. Another form of interaction is purely geometrical. This can be seen in figure [*]. If a design-by-features system is being used then the designer could produce the model by using a blind round-ended flat-bottomed keyway and a single annular groove. If feature recognition is carried out upon this model what features are to be located? If the intention of the designer is not known then the feature recognition module could take the description as a single annular groove and two open keyways, but it could also try to reconstruct the two ends of the keyway into one, depending upon how it is written. If a single key is to be fitted into this slot then the question of alignment and tolerance occurs, but if not they may be taken as two separate slots.

 
Figure: Feature Interaction  
\begin{figure*}
\centerline{\epsffile{adrians.slot.eps}}\end{figure*}

Features need to be validated either at design or at recognition to prevent false features being represented. Examples of such features are pockets being contained totally within larger pockets. Such things need to be highlighted to prevent time being wasted in machining fresh air. Other examples such as voids within machined components should be treated as invalid. Voids are features within the body of the model that have no external access directions. It is important to note that these features are invalid in this situation, but can very easily exist within cast or moulded components and ones produced by stereolithography.

Feature recognition techniques can be tuned to be application specific. For example, if the component is to have a number of setups on different machine tools, it is important to highlight the features that can be made in each of these setups: for example, if a pillar drill is being used, only features that require this method of manufacture need to be located.

At present the realms of design-by-features and feature recognition are seen as separate. The authors think that more emphasis will put on the merging of the two. At the outset of the design process the designer knows the features he or she wishes to achieve; these can be implemented using a design-by-features package. Further down the product lifecycle other engineers may wish to have the model decomposed into features more attuned to their field. For example, the finite element engineer and the process planner are going to want different decompositions of the same model. The designer should be free to design with all of the primitives available, but also the modeller should be able to extract feature descriptions stored within the modeller for other applications. Requicha [32] implemented a limited system along these lines in 1989.

Anderson [1] has put forward a similar idea, but has called it feature refinement. This entails the modeller postprocessing the design-by-features representation into a form that takes into account the problems of unrelated design-by-features data, such as feature interaction and feature hierarchy.

The authors envisage that the role of the process planner will change with time as did the role of the draughtsman when 2D draughting systems replaced the drawing board. Process planning software is becoming increasingly available for online scheduling and automatic tool path generation from product models. This is having the effect of making the process planner's function redundant. As with the design process, there will always be a need for skilled process planners, but the bulk of their work will be carried out by computers using feature-oriented systems. However, this is unlikely to happen within the next ten years.

Acknowledgement

The authors would like to thank the SERC for the provision of a research studentship.

References

1
Anderson D.C and Chang T.C. `Geometric reasoning in feature-based design and process planning' Computers & Graphics Volume 14 Number 2 1990 pp225-235.

2
Ansaldi S. de Floriani L. Falcidieno B. `Form feature representation in a structured boundary model' IFIP Conference, May 12-16 1986.

3
Arbab F. `Requirements and architecture of CAM oriented CAD systems for design and manufacture of mechanical parts' PhD Dissertation, University of California, Los Angeles, USA, 1982.

4
Armstrong G.T. `A study of automatic generation of non-invasive NC machine parts from geometric models' PhD Dissertation, Department of Mechanical Engineering, University of Leeds, 1982.

5
Bobrow J. `NC machine tool path generation from CSG part representations' Computer Aided Design Volume 17 Number 2 March 1985, pp69-76.

6
Braid I.C. `Notes on a Geometric Modeller' University of Cambridge Computer Laboratory CAD Group Document Number 101, 1979.

7
Butterfield W., Green M., Scott D. and Stoker W. `Part features for process planning' CAMI Report R-86-PPP-01, November 1986.

8
Chiyokura H. `Solid Modelling with Designbase' Addison Wesley 1988, 301 pages ISBN 0-201-19245-4.

9
Choi B.K., Barash M.M. and Anderson D.C. `Automated recognition of machined surfaces from a 3D solid model' Computer Aided Design, Volume 16 Number 2, March 1984 pp81-86.

10
Corney J. `A feature recognition algorithm for multiply connected depressions and protrusions in 2 1/2 D objects' Proc. Symp. Solid Modelling Foundations and CAD/CAM Applications, ACM, 1991, pp171-183.

11
Corney J. and Clark D.E.R. `Methods for finding holes and pockets that connect multiple faces in 2 1/2D objects' Computer Aided Design, Volume 23 Number 10, December 1991 pp658-668.

12
Cutkosky M., Tenenbaum J. and Miller D. `Features in process based design' Proc. ASME Computers in Engineering Conf. San Francisco, USA, Jul/Aug 1988.

13
de Floriani L. `A graph-based approach to object feature recognition' Proc. 3rd ACM Symposium on Computational Geometry, 1987 pp100-109.

14
Earnshaw R.A., Parslow R.D. and Woodwark J.R. `Geometric modelling and computer graphics' Unicom Technical Press 1987, 246 pages, ISBN 0-291-39731-X.

15
Falcidieno B. and Gainnini F. `Automatic recognition and representation of shape-based features in a geometric modelling system' Computer Vision, Graphics and Image Processing, Number 48, 1989 pp93-123.

16
Falcidieno B. and Gainnini F. `Extraction and organization of form features into a structured boundary model' Eurographics '87, editor Marechal G., pp249-259.

17
Gindy N.N.Z. `A hierarchical structure for form features' Int. J. Prod. Res., Volume 27 Number 12 1989, pp2089-2103

18
Henderson M.R., Chuang S.N., Ganu P. and Gavankar P. `Graph-based feature extraction' Arizona State University, 1990.

19
Henderson M.R. and Anderson D.C `Computer recognition and extraction of form features: A CAD/CAM link' Computers in Industry 5, 1984, pp329-339.

20
Joshi S., Vissa N.N. and Chang T.C. `Expert process planning system with solid model interface' Int J. Prod. Res., Volume 26 Number 5, 1988, pp863-885.

21
Joshi S. and Chang T.C. `Graph-based heuristics for recognition of mechanical features from a 3D solid model' Computer Aided Design, Volume 20 Number 2, 1988, pp58-66.

22
Kramer T.R. `Process planning for a milling machine from a feature-based design' Proc. ASME Conf. Manufacturing International '88, pp179-189.

23
Kyprianou L. `Shape classification in computer aided design' PhD Dissertation, University of Cambridge, 1980.

24
Lee Y.C and Fu K.S. `Machine understanding of CSG: Extraction and Unification of manufacturing features' IEEE CG&A 0272-1716/87/0100-0020, 1987, pp20-32.

25
Li R. and Yu M. `A framework for prismatic part-data generation-unit-machined loop concept' Int. J. Computer Integrated Manufacturing, Volume 3 Number 2, 1990, pp96-111.

26
Parry-Barwick S.J. and Bowyer A. `Woodwark's method for feature recognition' University of Bath School of Mechanical Engineering Technical Report 099/1992; submitted to IEEE CG&A Journal.

27
Perng D., Chen Z. and Li R. `Automatic 3D machining feature extraction from 3D CSG solid input' Computer Aided Design, Volume 22 Number 5, June 1990, pp285-295.

28
Phelan N.R. `Aspects of Automation of Casting Pattern Making' PhD Dissertation, University of Bath, 1992.

29
Pratt M.J. and Wilson P.R. `Requirements for support of form features in a solid modelling system', CAM-I, R-85-ASPP-01, 1985.

30
Priess K. and Kaplansky E. `Automatic mill routing from solid geometry information' in Warman E.A. Proc. 1st. Int. IFIP Conf. Computer Applications in Production and Engineering, Amsterdam, 1983.

31
Ranyak P.S. and Fridshal R. `Features for tolerancing a solid model' Computers in Engineering, 1988.

32
Requicha A.A. and Vandenbrande J.H. `Form features for mechanical design and manufacturing' ASME Computers in Engineering Conf., Anaheim, CA, USA, Aug 1988, Book number G0502A-1989, eds. Riley.D et al., pp47-52.

33
Shah J.J. `Assessment of features technology' Computer Aided Design, Volume 23 Number 5, June 1991, pp331-343.

34
Sibley M. `Making Models without Moulds' Professional Engineering, Volume 14 Number 10, November 1991.

35
Strasser W. and Seidel H.P. (eds) `Theory and practice of geometric modelling' Springer Verlag, 1989, 544 pages, ISBN 3-540-51472-4.

36
Tang K. and Woo T. `Algorithm aspects of alternating sum of volumes. Part 1: Data structure and difference operation' Computer Aided Design, Volume 23 Number 5, June 1991, pp357-366.

37
Tang K. and Woo T. `Algorithm aspects of alternating sum of volumes. Part 2: Nonconvergence and its remedy' Computer Aided Design, Volume 23 Number 6, July/August 1991, pp435-443.

38
Turner G.P. and Anderson D.C. `An object-oriented approach to interactive feature-based design for quick turnaround manufacturing', ASME Computers in Engineering Conf., San Francisco, USA, Jul/Aug 1988.

39
Vandenbrande J.H. and Requicha A.A. `Spatial reasoning for automatic recognition of interacting form features' ASME Computers in Engineering, Book number G0515A-1990, eds. Kinzel, G.I. et al., pp251-256.

40
Van Houten F.J.A.M., Van't Erve A.H. and Kals H.J.J. `PART: a feature-based CAPP system' Laboratorium voor Produktietechniek, Universiteit Twente PA, Netherlands, PA89-008, February 1989.

41
Van't Erve A.H. and Kals H.J.J. `XPLANE: a generative computer-aided process planning system for part manufacturing' Annals of the CIRP, Volume 35/1/1986, pp325-329.

42
Wang H.P. and Wysk R.A. `Intelligent reasoning for process planning' Computers in Industry, Volume 8, 1987, pp293-309.

43
Woo T. `Feature extraction by volume decomposition' Proc. Conf. on CAD/CAM technology in Mechanical Engineering, Cambridge Mass., USA, March 1982, pp76-94.

44
Woodwark J.R. `Some speculations on feature recognition' Computer Aided Design, Volume 20 Number 4, May 1988, pp189-196.

45
Woodwark J.R. `Computing Shape' Butterworths, 1986, pp84-104, ISBN 0-408-01402-4.

About this document ...

Feature Technology
 
University of Bath
School of Mechanical Engineering
Technical Report 001/1993

This document was generated using the LaTeX2HTML translator Version 97.1 (release) (July 13th, 1997)

Copyright © 1993, 1994, 1995, 1996, 1997, Nikos Drakos, Computer Based Learning Unit, University of Leeds.

The command line arguments were:
latex2html -split 0 feature_technology.tex.

The translation was initiated by Adrian Bowyer on 2/20/1998


Footnotes

...Parry-Barwick
School of Mechanical Engineering, University of Bath, Bath, BA2 7AY, UK; email: S.J.Parry-Barwick@uk.ac.bath, A.Bowyer@uk.ac.bath

...Bowyer

...considered
Manufacture without features: Techniques for computer-aided manufacture that don't use features are also being researched. This paper will not be concerned with these techniques in depth, but a couple of examples are given in this note to allow an insight into a field which runs concurrently with that of features.

Bobrow [5] has developed a machining system that uses the principles of a copying machine to produce the tool paths required to manufacture a component. A master component is modelled using the PADL-2 modeller.

Another technique of using a geometric model to produce a finished component is by using stereolithography [34]. This technique has the virtues that it can be directly driven from a feature-free geometric modeller (set-theoretic models are particularly suitable), and it is possible to make things that are very hard to manufacture otherwise, such as continuous (ie not assembled) solids with objects inside enclosed voids.

...research
However, we are developing a completely new set-theoretic method suggested to us by Woodwark that shows great promise [26].

...therein
Note that these principal axes are not exactly the same as the ones that a statistician would mean by the phrase.


next up previous
Adrian Bowyer
2/20/1998