Computers in Industry 23 (1993) 129-138 Elsevier
129
CARs & FOF
Knowledge-based gluing operators for feature-based modelling S.R.P.
R a o Nalluri and B . G u r u m o o r t h y
Department of Mechanical Engineering, Indian Institute of Science, Bangalore 560 012, India A feature-based modelling system (FBMS) offers features of engineering significance such as slot, pocket and rib as model-building primitives, unlike the solid primitives offered by conventional constructive solid geometry (CSG) modelling systems. The usual practice is to build FBMS over a conventional CSG modelling system. In such a system the evaluated boundary representation of the part is generated by converting features into solid primitives and corresponding Boolean operations. In this paper we propose a direct method of gluing the feature. The feature representation generated from the input specification is merged with the representation of the base-solid based on the gluing rules implicit in the feature type definition. Generic features are identified by rational classification of the features of engineering significance. Feature definitions are structured such that the generic content is separated from the non-generic content. Gluing operators are developed for all generic types. The major conclusion drawn from this work is that the percolation of the knowledge that can be associated with features at the model-building level enables implementation of systems that display intelligence.
Keywords: Feature-based design; Feature-based editing; Feature classification; Gluing; Hierarchical geometric construction; Boundary evaluation
I. I n t r o d u c t i o n
Features like hole, slot, and boss form the semantics for describing and reasoning involved in design and manufacture of mechanical parts. This resulted in structuring of design and manufacturing knowledge (expertise) around the leaCorrespondence to: Dr. B. Gurumoorthy, Department of Mechanical Engineering, Indian Institute of Science, Bangalore 560 012, India. E-mail bgm(~vigyan.iisc.ernet.in
tures. So any system that attempts to automate and integrate design and manufacturing should support features in some way. An early approach to achieve functional integration between CAD and CAM was through extraction of manufacturing features from 3-D CAD models [1-3]. Feature extraction is a complex problem, many heuristic algorithms have been developed, and research is continuing owing to the basic nature of the problem. Another approach is based on the concept of "design by features". In this approach features are provided as primitives for constructing the geometric model. So at the end of modelling, a feature model of the object is created along with the geometric model. The introduction of features at the modelling level has the following implications: - The availability of information at different abstract levels paves the way for integrating analysis and planning with design. - T h e transition from geometric modelling to product modelling is enabled by attaching non-geometric data like surface finish and heat treatment, which are essential for analysis and manufacturing planning, to features during modelling. - The designer is relieved from the burden of selecting primitives and corresponding Boolean operations to specify the desired shape. The intended geometry can be specified directly in terms of features. - Since the design is an iterative process, the importance of editing of solid models is appre-
0166-3615/93/$06.00 © 1993 - Elsevier Science Publishers B.V. All rights reserved
130
(;4Rs.& F O b "
, ,,mp~m,rs
ciated and feature-based editing methods are being developed. In this paper direct manipulation of features for generation of geometric representation and editing, without extracting the volume associated with the feature, is considered. Feature representation is generated from the input specification and is merged with the existing solid representation based on the characteristic topology associated with the feature. This characteristic topology is the geometric knowledge that can be attributed to a feature type. We present a review of relevanl previous work, followed by a critical comparison of feature-based modelling (FBM) with conventional geometric modelling. Then topologically similar classes of features are identified by a domain-independent classification of features. The basic steps involved in gluing of a feature to an already existing solid are then explained. Finally some conclusions are drawn about the geometric specification, its generation, and editing in feature-based modelling. Throughout the paper the word feature refers to form feature.
2. Previous work
Wilson and Pratt [4] laid down the functional requirements for the support of form features in
S.R.P. Rao Nalluri is a doctoral student in the Department of Mechanical Engineering, Indian Institute of Science, Bangalore. He received his Master's degree in Mechanical Engineering from the Indian Institute of Technology, Madras, in 1989. He has been working, for his doctoral thesis, on the development of a feature-based representation to support concurrent engineering. His areas of interest are computational geometry, geometric modelling and reasoning, and feature-based design. B. Gurumoorthy is an Assistant Professor in the Department of Mechanical Engineering, Indian Institute of Science, Bangalore. He did his B. Tech in Mechanical Engineering at the Indian Institute of Technology, Madras. He obtained his Master's and PhD degrees in Mechanical Engineering from the Carnegie-Mellon University in Pittsburgh in 1987. His re search interests are in the areas of geometric modelling, features as a unifying representation for concurrent engineering, and manufacturing automation.
m Industm
the solid modelling environmcn~ They have cJassifted features at the conceptual ievel and created a hierarchy of features. Thc x have considered both B-rep (boundary representation} and CSG {constructive solid geometry) representations fo, the underlying solid model. Their work set the conceptual basis for feature-based modelling. Miner [5] implemented a prototype feature,based modelling system to test the concept of "design by features ~:, Features arc stored m the form of a CSG tree and intermediate B-reps are stored at the non-leaf nodes for fast editing of the models, Shah and Rogers [6] have defined features as recurring patterns of information related to a part's description. They have implemented a FBM system in which a user can make his own library by defining his own set of features. Then a part is modelled using the instances of the features in the library. In defining the features the user has to identify the nature of the feature, such as primary or secondary, the CSG-compatible primitive for creation of the featurc~ and the lists of rules and expressions to manipulate the feature. The geometric model of the part is created by translating features into CSG-based modeller commands. As the evaluation of the CSG tree after each addition of a feature is computationally expensive, unevaluated wire4rames of the feature producing primitives arc provided as the graphical interface during modelling. Since the evaluation is done in the e n d interference between the selected feature and already existing features cannot be detected. The other problem of this approach is proliferation of feature definitions making the task of standardization impossi° ble as pointed out by Shah and Mathew [7] in another paper. Casu and Falcidieno [8] have implemented a FBM system based on Euler operators and Euler macro-operators. In their system, once a feature is selected, the volume of the feature is reconstructed depending on the object to which it is to be added and the relative position. Then Boolean operators are used with reconstructed feature volumes resulting in coincident faces. Face-gluing operators are then employed for gluing the coincident faces, They use a structured face adjacency hypergraph (SFAH) to store the feature model. They have not made any attempt to group topologically similar features and implementation is done for some common features.
Computers in Industry
S.R.P. Rao Nalluri, B. Gurumoorthy / Knowledge-basedgluing operators
Rossignac [9] has considered using features for solid model editing and interrogation. He strongly advocates the use of Boolean operators for editing over direct editing of the boundary. He has studied the translation process of user-selected model modifications expressed in terms of features to model modifications using CSG operations. Features are classified as surface features and volume features. Volume features are edited by using a procedural representation of the designer's specification. The command which created the particular volume to be modified is located and edited, then the entire procedure is re-executed. Since the re-execution is computationally expensive, it is limited to a particular region defined by the intersection of the volume of the feature with its active zone. Surface features are modified using corrective volumes. He proposes a geometric representation called selective geometric complex (SGC) for fast access to different entities in the model and fast interrogation of solid models. Several authors consider a FBM scheme for integrating design with analysis and manufacturing planning. Chung et al. [10] use FBM for design and analysis of investment castings and sheet metal products. In their system a commercial expert system shell (KEE) is used as front end for defining features and related rules. The feature definitions are translated to commands of a solid modeller 0-DEAS) to generate the geometric representation. Anderson and Chang [11] couple the design of prismatic parts with the process planning using form features. They extract manufacturing information from the feature model along with the B-rep (boundary representation) by geometric reasoning. The solid modelling system VW~N is used for the generation of B-rep. It is evident from the survey of the literature, that Boolean operators form the core for generating geometric models in all the FBM systems implemented so far. The features provided at the user interface are translated in an object-oriented way to CSG primitives. So any geometric manipulation of features requires extraction of the volume associated with it, which cannot be done automatically and needs user intervention. Since the Boolean operators are evolved to operate on general closed solids (closed r-sets), they are not exploiting the characteristic topology associated with the features. Our hypothesis is that, unlike
131
dumb geometric primitives, features can be associated with knowledge which can be effectively used for their geometric manipulation. In the next section the differences between conventional solid modelling and FBM environments are identified, based on which the new modelling operators which exploit the changed environment are developed.
3. Differences between conventional modelling and feature-based modelling The FBM environment is characteristically different from the conventional modelling environment in the following ways. 3.1. Input specification
One of the reasons for the wide acceptance of the FBM concept is that the designer can specify a desired shape more intuitively using features. The user is relieved of the burden of back-calculation of CSG primitives and their transformations, from the intended geometry. In the FBM environment a designer wishes to specify directly the end result of the earlier Boolean operations, so this environment should support specification of features directly. This direct specification of features is not only intuitive to the designer, it also has valuable topological information. For example to make a slot the designer has to specify width and height of the slot, the position, and the two end-faces and the on-face. The new specification has valuable topological information, which otherwise has to be computed. We try to capture this topological information systematically, and use it effectively for the generation of a geometric representation with minimal computation. In the boundary evaluation process of CSG modelling the adjacency relationships of the newly added shape are computed by classification of the primitive involved and the already existing solid with respect to one another. But in the proposed approach these adjacency relationships are extracted from the user's specification. The availability of adjacency relationships enables localization of geometric intersections, resulting in reduced computation. The time complexity of adding a feature to an already existing solid is
i32
CARs & FOF
))mpH{ers L,'I lndust,,~
proportional to the number and complexity of the geometric entities present in the feature only; it is independent of the geometric complexity of the solid to which the feature is added.
cation it is desirable to have an evaluated geometric representation at all stages for the following reasons. The feature to be added can be specified using some already existing geometric entities of the model with the help of a good graphical interface. Also the geometric reasoning involved to interface the design process with analysis or manufacturing requires the evaluation of the geometric model. The change in the specification of shape has changed from more of geometry to geometry and topology. This change in user input is exploited to support the new requirement of maintaining an evaluated representation throughout the modelling process. The emphasis is on enhancing the interactive environment by making it more intuitive and faster. It is difficult to specify, adjacency information of features which arc not classified. So a framework for classifying and defining features is required. Since mechanical parts are produced by a finite number of well defined processes, the shapes produced by them also have a certain characteristic structure. Classification serves to discover this structure In this paper we have taken the most common structure to exemplify the above hypothesis as explained below.
3.2. Hierarchical geometric: construction In CSG-based modellers the geometric representation is constructed as a resultant of Boolean operations selected. The CSG-based approach is more appropriate to model solids whose geometry is already established. Design is progressive definition of a product so the FBM environment should support progressive addition of features. one by one. Since the purpose of FBM is to construct a feature model along with the geometric model, use of CSG-like modelling encourages the user to select operations such that earlier constructed features are changed in the process of addition of new features. These changes of features constructed earlier have to be identified by the user or a machine has to recognize them automatically, both of which are not desirable. We propose a method in which every time a feature is added such that the earlier feature's characteristic topology is not changed, only the geometry gets affected. The design process has an intrinsic hierarchy. Therefore a hierarchical approach is more suitable to the FBM environment. To enhance the user's visual verification, the evaluated geometric model should be displayed after addition of each feature. A p a r t from verifi-
4. Domain-independent classification of features The classification we are proposing is to simplify the topological specification of features, so it
EN]} F£CE
\/",,U--),,, ,, j ..... ,
\
---\\,\
'(\
\ /
\
/
\
x
8
kSHELL OF 4-EDGED FACE~
- [_i"
;El(a}
END FACE
{b}
ssr's
1,s
io cSr'S
Fig. 1. (a) Shell structure: (b,c) face classification
'lEt
7.s,9
b
{c)
Computers in Industry
S.R.P. Rao Nalluri, B. Gurumoorthy / Knowledge-based gluing operators
is based on adjacency relationships. The domaindependent information can be attached by the user as desired. Features can be viewed as formed by a d d i n g / s u b t r a c t i n g a single solid-piece t o / from a base-solid. H e r e the solid existing before addition or subtraction is referred to as the basesolid and the solid a d d e d / s u b t r a c t e d is referred to as solid-piece. When the solid-piece has a distinct structure, the feature created also inherits this structure. This knowledge of the structure can be exploited in various feature-based applications. In this paper we have considered a shell structure for the solid-piece [12]. Most of the features in mechanical components are formed by addition/subtraction of a shell-structured solidpiece from a base-solid. The inherent structure of this category of features enables a systematic classification as described below.
4.1. Face classification
The diagram of a general shell-structured solid is shown in Fig. l(a). It has a closed shell of four-edged faces and two end-faces closing the two ends of the shell. The faces that form the closed shell are classified as shell-faces and the two faces which close the ends of the shell are classified as end-faces. Addition or subtraction of the solid-piece leaves an impression (feature) on the base-solid. As shown in Figs. l(b) and (c), for each face in the solid-piece there is a corresponding face either in the impression or in its adjacent faces. The faces in the impression do not exist in the base-solid before the addition or subtraction operation. They are newly created by this operation and hence are classified as created faces. Similarly the neighbouring faces of the impression exist in the base-solid before the addition or subtraction operation. These faces are shared by the solid-piece and the base-solid, so they are classified as shared faces. The created faces are identical to the corresponding faces in the solidpiece. By the above two classifications, the faces in the final solid associated with a individual feature are classified into four types whose definitions are as follows: - Created shell f a c e (CSF). This is a newly created face in the base-solid corresponding to the shell-face of the solid-piece. - S h a r e d shell f a c e (SSF). This is an already
133
existing face in the base-solid corresponding to the shell-face of the solid-piece. - Created end f a c e (CEF). This is a newly created face in the base-solid corresponding to the end-face of the solid-piece. - shared end f a c e (SEF). This is an already existing face in the base-solid corresponding to the end-face of the solid-piece. Consider the feature in Fig. l(b). The solidpiece removed for creating this feature is shown in Fig. l(c). Faces 1, 2, 7, 8 and 9 form the closed shell of the solid-piece. Among these, faces 7, 8, 9 are newly created so they are of type CSF and faces 1 and 2 are of type SSF because they are original faces of the base-solid. Faces 5 and 10 correspond to end-faces of the shell. Face 10 is newly created so it is of type C E F and face 5 is of type SEF. This primary classification of faces into four types enables us to express face adjacency relations in a consistent and compact manner. Since features are defined in terms of these four types of faces, feature definitions are consistent and machine-understandable. These four types of faces of each feature are stored in the feature model. 4.2. Classification o f features
A feature can be defined as a set of faces with a characteristic adjacency relationship which enables association of knowledge pertaining to a specific domain. The faces of a feature can be classified into face types CSF and CEF. Faces adjacent to a feature can be classified into face types SSF and SEF with respect to that feature. Face adjacency relationships of features in terms of the four types of faces are characterized by the two following factors. (a) N u m b e r a n d a r r a n g e m e n t o f S S F s
Based on this factor features are divided into classes. Some common classes are: - Holes: The number of SSFs is zero. The features in Figs. 2(a)-(c) belong to this class, because all the faces corresponding to the closed shell of the solid-piece removed for creating these features are newly created, so there are no SSFs. - Slots: The number of SSFs is one. The features in Fig. 3(a)-(c) come under this class. In these
134
CARs & FOF
ompufer~s in industry
features, all shell faces barring one are newly created. Corner slots: The number of SSFs is two and they are adjacent. The features in Figs. 4(a)-(c) are corner slots because they lie on the corner formed by two faces which are classified as SSF with respect to the feature.
SSF-"~,
(b) Type of end/'aces Each class is further divided into sub-classes through, blind, and double blind based on the type of the two end faces: - Through: The two end-faces are of type SEF. The features in Figs. 2(a), 3(a), and 4(a) belong
~
[A] [ HI~(]Ur]H
i
//
SEF
!
[A] T H R O U G H
SEF
SEF
CEF
i(] DOUBLE
Et :Ni:
Fig. 3. Feature classification: ( a ) t h r o u g h , (b) blind, a n d (c) double blind slots.
(B) BLIND
J j- J
/
/
,? /J
[C] DOUBLE BLIND
Fig. 2. Feature classification: (a) through, (b) blind, and (c) double blind holes,
to this sub-class of the classes holes, slots, and corner slots respectively. Blind: One end-face is of type SEF, the other is of type CEF. The features in Figs. 2(b), 3(b), and 4(b) belong to this sub-class of the classes holes, slots, and corner slots respectively. Double blind: The two end-faces are of type CEF. The features in Figs. 3(c) and 4(c) belong to this sub-class of the classes slots and corner slots respectively. The void shown in Fig. 2(c) belongs to the double blind sub-class of the class holes, but it does not have much significance in the domain of mechanical parts.
Computers in bldustry
S.R.P. Rao Nalluri, B. Gurumoorthy / Knowledge-based gluing operators SSF
135
shape of the feature is specified by the shape of the cross-sectional shape of the CSF-type faces of the feature.
5. Gluing operators SSF
[A] THRDUGH
[B] BL]N~
SSF
[C] DOUBLE BLIND
Fig. 4. Feature classification: (a) through, (b) blind, and (c) double blind corner slots.
The combination of the above two steps of classification results in generic types of features such as through hole, blind slot, double blind corner slot. A generic type is instantiated by specifying the geometric shape. The shape of a feature is the cross-sectional shape of the CSF type faces. Some of the common shapes are rectangle, triangle, circle, L, U, T, and I. Feature definitions are structured to separate the generic content from the non-generic content. The overall form and shape of a feature are separated into type and shape. The type of the feature is specified by the generic type and the
In this section the basic steps involved in transforming the user specification into a boundary representation through a gluing process is described. The classical [13] use of the word gluing is to describe the merging of faces in o n / o n cases of the boundary evaluation process. We extend the scope of gluing to the general merging of a feature representation with the representation of the solid to which it is being added in the hierarchical construction of a solid model. Gluing involves the intersection of created faces of the feature with the shared faces of the base-solid, to fix the geometry of the edges which have one created face of the feature and one shared face of the solid as their adjacent faces. The boundary edges of the feature which link the feature to the solid are non-manifold, as they do not have another adjacent face in the feature representation. These edges act as linking edges along with the adjacency relationships derived from the input specification. This gluing process can be viewed as gluing of a non-manifold object (feature) to a manifold object (base-solid) to get a resultant manifold object. The rules for gluing are implicit in the type of feature to be glued. A gluing operator is a procedure to glue a particular feature type. The type of the feature defines the way the feature interacts with the base-solid. The gluing operators are developed in an object-oriented manner. For each type of feature an object is created, each shape forms an instance of the object. The general process of gluing consists of the following basic steps: (1) When the user selects a particular type of feature, an instance of an object of the same type is created. As the system understands the type of feature which is in its library, it asks the user to select the shared faces in the existing solid. Then it verifies whether the selected faces have the required adjacency relationships, and computes the implicit dimensions such as the length of the through hole.
136
CARs & FOF
(2) Then the user is asked to specify the shape. The shape can be specified in two ways: either by picking a shape from the library of generic shapes with the required dimensions or by defining a shape interactively using a 2-D graphical interface. Then the feature's position and orientation are specified. The position can be specified by matching a point in the shape to a point in the existing solid. The orientation of the feature is the orientation of the normal to the shape plane. The generalized shell shape is fixed by the following parameters: (a) 2-D cross-sectional shape: A connected and ordered list of edges with vertex co-ordinates expressed in a local co-ordinate system, with a matching point. The matching point is used to transfer the shape from its local coordinates to the 3-D modelling environment. (b) Feature axis: To each feature an axis is associated perpendicular to the 2-D shape. The feature is oriented by properly orienting this axis. (c) Taper angle: When the shape uniformly increases or decreases along the sweep direction, the variation in shape is specified by the taper angle. Once the specification from the user is completed, the system creates the feature B-rep by forming the created faces (CSFs and CEFs). This can be displayed for the user's benefit. (3) Still the feature B-rep is not glued to the B-rep of the solid. In this step the actual geometry is calculated by the selective intersection of the created faces of the feature with the shared faces of the base-solid. Here the intersections are selective because the knowledge of which face has to intersect with which face is established already. After finding the intersections the shared faces are modified by adding the new edges. All the new geometric entities added to the solid by the addition of a feature are given compound numbers for fast access to information. A compound number consists of both feature number and entity index in that feature. (4) Finally created faces of the feature are oriented consistently with the original solid. As the created faces are edge adjacent with the shared faces, the orientation of the shared faces is propagated to the created faces. This completes the gluing, and a new base-solid is ready for addition of further features.
¢~l?If)ltl~'r5 ttl ltldlL~[( ~.
6. Feature-based editing of solid models
The iterative nature of the design cannot bc supported without good editing facilities. The editing strategy depends upon the way the solid model has been constructed. Since the modelling process itself is a localized proccss~ direct editing of the representation is proposed, In an FBM environment, the system is expected to show some intelligence like automatic adjustment of the length of a hole in a plate, when tile plate thickness is changed. This is possible if the machine understands how the hole interacts with the plate, i.e. the system should understand the type definition of features. Since the type of the feature is selected to fulfill a certain functionality, any automatic change performed by the system is restricted to changing features without affecting their type. The dependency and adjacency relationships are derived from the feature modei along with the boundary representation whenever required during modelling. The editing requests are verified by a set ol rules before they are executed. I=ot example, if the editing request is to change the position of a feature, then the feature in the changed position is checked for intersections with the remaining features in the solid. This search for intersections can be done in O(log2(n) + j) by maintaining the segment tree of the feature enclosing iso-oriented boxes, where n is the total number of features and j is the number of actual intersecting tea-, tures [14]. The segment tree can be constructcd in O(n log 2 n) time and space~ Based on the nature and amount of work involved, editing is divided into two levels,
6.1. Geometric modifications The final stages of modelling involve some fine tuning of part geometry by changing the position and dimensions of the feature. These modifications are limited to changes in the geometry, and topology is not affected. Every editing request is checked to make sure topology is not affected. If topology gets affected, the request is rejected at this level. A valid request is executed by selective intersection of feature faces in their modified position with the shared faces.
Computers in Industry
S.R.P. Rao Nalluri, B. Gurumoorthy / Knowledge-based gluing operators
6.2. Topological modifications When ever the user requests a change which involves topology, it is executed by deleting the old feature and creating the new feature. Deletion of features is an important operation for editing. Like creation, for each feature type the deletion operator is stored in the feature object itself. The deletion process involves deleting all the dependent features recursively. A feature is deleted by deleting created faces and upgrading the shared faces. A feature is said to be dependent on another feature if it shares one of the faces of the latter.
6.3. Local operators Filleting and rounding operations are inherently local in nature. So filleting and rounding are done after completing the design of the main shape. Tweaking is another local operation involving direct editing of geometric entities. This facility sometimes simplifies editing but the user should take care of side effects. Along with the above editing facilities, the following facilities improve the editing process and in general the overall modelling - Facilities to specify position and orientation relative to geometric entities already existing in the model. - Feature selection for modification can be improved by providing facilities for picking features directly from the graphical interface. - Some simple operators to find some metric quantities like angle and distance between geometric entities directly picked from the screen improve the interaction process.
7. D i s c u s s i o n
and conclusions
The functional differences between conventional modelling and feature-based modelling are highlighted. The inadequateness of Boolean operators to support FBM is brought out clearly. Proper correspondence between the feature model and the geometric model is essential for any geometric reasoning. When a feature is created as a result of Boolean operations, other features may get affected and automatic updating of feature models may be required, which is a
137
difficult problem involving feature recognition. In the proposed hierarchical construction of the geometric model this problem does not arise as each individual feature is added without affecting the type of other features. Since the deletion and creation are fast operations based on gluing, whenever the user wishes to change the type of a feature, the feature can be deleted and reconstructed. The process of gluing a feature is a constant time operation. This is a phenomenal improvement compared to the complexity of the boundary evaluation process which is polynomial with a large index [15]. This has been achieved through localization of geometric intersections and classification with the help of knowledge associated with the feature. This reduction in computational effort required to create or delete a feature significantly improves the interactive nature of the FBM environment. Since creation and deletion of a feature are constant time operations, deletion and re-creation of feature is done for modifications which involve changes in feature type. All geometric modifications like changes in dimensions and position are done by recalculating the required intersections. The system automatically adjusts the geometry of the affected features to maintain the adjacency relationships. This enables the prediction of system behaviour in automatic geometric adjustments. The way features have to be specified has to be changed such that it is more intuitive to the user and adjacency relationships should be embedded into the specification. This can be achieved by classification of features based on the adjacency relationships. Direct specification of some complex shapes needs further work. If by some means adjacency relationships are embedded in the input specification, the gluing process can be generalized. The gluing method has the potential to integrate surface and solid modelling. Though the operators developed are very efficient from the computational point of view, completeness and sufficiency of the set of features have to be established. In the absence of a formal proof, we believe that if a feature cannot be classified under the proposed scheme, existing construction techniques can be used to model the feature and classification can be done on-line. This way Boolean operators can compliment glu-
138
CARs & FOF
ing. The basic conclusion drawn from this work is that knowledge which can be associated with features can be effectively used to improve performance of the modelling environment along with integration of modelling with other application domains. References [1] B.K. Choi, M.M. Barash and D.C. Anderson, "Automatic recognition of machined surfaces from a 3D solid model", Comput, Aid. Des'., Vol. 16 No. 2, 1984, pp. 81-86. [2] J.C.E. Ferreira and Hinduja, "Convex hull based feature recognition method for 2.5D components", Comput. Aid. Des., Vol. 22, No. 1, January 1989, pp. 41-49. [3] S. Joshi and T.C. Chang, "Graph-based heuristics for recognition of machined features from a 3D solid model". Comput. Aid. Des., Vol. 20, No. 2, 1988, pp. 81-86. [4] P.R. Wilson and M.J. Pratt, "A taxonomy of features for solid modelling", in: M.J. Wozny, H.W. McLaughlin and J.L. Encarna
~,nputers m bzdustr~ etling shell" ("omput. Aid. Des., VoL 20, No. 9, t988, pp. 515 524. [7] J.J. Shah and A. Mathew, "Experimental investigation o* the STEP form-feature information modeF', ()vnput. Aid. Des.. Vot. 23, No. 4. 1991. pp. 282-206. [8] L, Casu and B. Falcidieno, "A feature-based modelling system built on top of Euler operators". Proc. A&,anced ('omputer Graphics, 1989, pp. 47!--48~{ [9] J.R. Rossignac, "Issues on feature-ba,~ed editing and interrogation of solid models", Comput. Graph., Vol. i-~. No, 2, 1991t, pp. 149-172. [10] J.C.It. Chung, D.R. Patel, R.L. ( o o k and M.K. &mmons, "Feature-based modelling for mechanical designZ Comput. Graph., Vol. 14, No. 2, 1990, p p 189-109. [11] D . C Anderson and T.C. Chang, %]eometric reasoning in feature-based design and process planning'. ())mpllg. (;raph., Vo!, 14, No. 2, 1901t, pp. 225 235. [t2] S.R.P. Nalluri and Gurumoorthy, " q taxonomy oi 25i) form t;eatures", Proc. hit. C~m/ o~e De.~ign Automatio:l and (i omputcr Integrated Mam(facturi,~,, ('oimbatore. I n dia. I991, pp. 195--202. [13] Graham Jared and Ian Stroud, "t.ocal operators in the BUILD system", Proc. PROLAMAT 82. Leningrad USSR, 1982. [1411 K. Mehlhorn, Data Struclures and 4&orithm.s, VoJ "~. Springer Verlag, New York, iq84. [15] A . A . G Requicha and B. Voelcker, ":Boolean operations in solid modelling: Boundaw evaluation and merging algorithms". Proc. 1EEE, Vol 73, No, i i985.