Advances in EngineeringSoftware 20 (1994)75-89
ELSEVIER
0965-9978(94)00044-1
~5~1995ElsevierScienceLimited Printed in Great Britain.All rightsreserved 0965-9978/94/$0%00
Integration methodology for feature-based modeling and recognition Heedong Ko & Myon-woong Park C A D C A M Laboratory, Korea Institute o f Science and Technology, PO Box 131, Cheongryang, Seoul, Korea
This paper presents an integration method that constructs a feature model either by inserting new features or by recognizing features from an existing geometric model. This integration is made possible by keeping a feature model data structure that is identical whether constructed by feature insertion or recognition. This approach overcomes the representational mismatch between the procedural feature-based modeling framework and the feature recognition framework. The integrated framework has been implemented as a CADCAM system for mould die manufacturing that can interactively modify the geometric model by deleting recognized features. INTRODUCTION
A face extension method extends the current part faces to produce cells representing potential feature interactions. This approach is very time-consuming, and produces many spurious cell complexes as potential interactions. Based on ASVP decomposition, three combination methods are reported to recognize form features: 3 immediate super-component combination, joining, and dual ASVP decomposition. Several criteria based on classifying ASVP components are used to apply these combination methods. The criteria were sufficient in solving some well known feature interaction problem cases, but additional criteria and combination methods must be developed to cover general feature interaction problems. Lastly, based on a labelled delta volume, 4 a feature volume is subdivided into required and optional volumes where an optional volume represents feature interaction. However, the method is limited to 2.5D features. Furthermore, it is desirable to add tolerance, surface finish, and other technological information that may help in the recognition of application features. Hence, the interactivity of FBM is required for FR. However, the integration is made difficult by a representational mismatch between the feature models created by both approaches. Typically, a feature-based modeler is interfaced to the geometric modeler at the Boolean operation level. 5'6 That is, the geometric pattern of a feature is represented implicitly by a procedure in terms of the Boolean operators available within the geometric modeler. When a feature is inserted, the procedure encoding its geometric pattern
As computers are introduced into mainstream manufacturing activities, a computer-based geometric model of a product has become an integral part of the manufacturing information structure. A form feature, or feature for short, denotes a region of the geometric model that is meaningful for manufacturing activities such as design, analysis, process planning, and machining of a product. A feature-based description of the geometric model is called a feature model. For example, to reduce redundant work, a designer may create a geometric model in terms of frequentlyused geometric patterns that are a priori defined as design features. Such a feature-based creation of a geometric model is called a feature-based geometric modeling, or feature-based modeling (FBM) for short. Furthermore, to manufacture the designed part, a process planner may recognize machining features from the geometric model of the part, which is feature recognition (FR). The recognized features comprise a feature model reflecting the process planning aspect. Both the feature-based modeling and feature recognition approaches create feature models. However, they are complementary to each other. The feature model of the former is developed interactively, while that of the latter, statically. A robust feature model construction by recognition will require user interaction in the presence of feature interactions although some limited remedies have been suggested: face extension method, 1'2 combination methods defined on an alternating sum of volume with partitioning (ASVP) component, 3 and labelled delta volume. 4 75
76
H. Ko, M.-W. Park
flature-structure-] ]
t~
feature-id feature-name parent-feature top-surfac surface-component
Feature ID Feature Name Topologically parent feature in part Surface connects this feature and parent Surface informationsin feature
Fig. 1. Feature data structure. is recalled, and the geometric pattern is engraved into the geometric model. Realizing the feature modeling operations above the Boolean level, the geometric interactions between the new feature and existing features are largely ignored. Without any feature interaction information, it is impossible to repair those geometries affected by a deleted feature unless one regenerates the geometric model from the feature insertion history. That is, the feature model in this FBM paradigm should contain the entire design process. Hence, the feature model representation is procedural. The procedural feature model representation is incompatible with the explicit feature representation produced by FR. In order to integrate FBM and FR, a common feature model representation must be used by both. To introduce a system component with a FR function into the procedural FBM framework, it is necessary that the recognized features must be totally ordered into a sequence. This would be computationally expensive: there are n! possible sequences corresponding to n recognized features and it is costly to test whether two distinct geometric models from two sequences represent the same shape. Here, the integration is achieved by introducing an FBM component in the context of the FR framework, based on a feature model representation that explicitly records all feature interactions in a dependency structure. An incremental FBM operation was devised to manage the feature model data structure. The
incremental FBM updates only the affected region of the feature model using the dependency structure. A feature deletion operation repairs only the interacting regions in the feature model, a dependency-directed backtracking, 7 instead of re-executing the feature operations from the point of change whether they are affected or not. Furthermore, the feature model hierarchy captures only the physical relationships between features, without imposing an artificial ordering over the modeling operations. Consequently, the feature model constructed either by the incremental FBM or by the feature recognition is made identical. The next section will describe a new feature model representation where the feature interactions are encoded as labelled closure faces, then introduce the incremental feature-based modeling method for its insertion and deletion operations. Next, a feature recognition method is described that operates in concert with the incremental feature-based modeling framework. The methodology has been implemented and applied in the mould die manufacturing context. The demonstration of the system in operation is given before the concluding section.
FEATURE MODEL REPRESENTATION
This section describes the data structure of a feature model that stores the feature geometries in the geometric model and the feature interaction information. Here, the
BLOCK
J
. ~ T ~ " , . .,,.r. , , [ . STE!...~ 1
STEP-I POCKET-1 HOLE-3
(a)
Fig. 2. Geometric model with its feature hierarchy.
(b)
Integration methodologyfor feature-based modeling and recognition
77
Feature-id : f0002 Feature-name : Through-slot Parent-feature : f0001 Top-surface : s0001
ITop-surface s0001°f f0002: ~\ /
~ -"
[ Feature-id : f0001 / "• ' / ~
~
]
I Fea tUn~e"fnafTee::CnTibe
[ Part-no: p0001 [ Fig. 3. Top surface is the slot data structures. geometric model is represented by the half-edge data structure, 8 where a body is bounded by a set of faces, a face is bounded by a set of loops, and a loop consists of half-edges. A half-edge is an edge with a loop direction. Figure 1 shows its overall feature data structure. Because of the complexity of the data structure each component of the feature data structure will be described separately, first the feature hierarchy (parent feature and top-surface) and then the surface-component.
Feature model hierarchy A feature model with multiple features is organized into a hierarchy where the nodes represent instances of the
features and the links represent the parent-child relations. A geometric model with instances of 'POCKET- I ', 'STEP-I', and 'HOLE-3' features on a 'BLOCK' feature is shown in Fig. 2(a), and the constructed feature hierarchy is schematically shown in Fig. 2(b). More specifically, the geometric interaction between the parent and child features is recorded in a top-surface in the feature data structure where the child features are placed. Its existence is useful for obtaining feature dependency information and determining consistency of child features. For example, a child feature is deleted when the parent feature is erased. Figure 3 shows that a slot feature is inserted into the parent block feature so
Surface-component L ~
Surface-id : s0001 Child-feature :
surface-id adjacent-surface child-feature closure face part face
; ; ; ; ;
Surface pointer Adjacent surface pointers Child feature connected with this surface closure faces list in this surface part face list in this surface
Surface-id : s0007 Adjacent-surface : s0008 Child-feature : none
Fig. 4. Surface component data structure.
78
H. Ko, M.-W. Park
F1 : Primitive Cubic F2 Step
~JJ
Part Face" F ofF1
z
F1
~
~
~.
shows the surface-component data structure and the surface-component example in the slot feature above. The child feature of the top surface s0001 is f0002 and the adjacent surface of s0007 is s0008.
Closure Face of F1 hiddenby F2
~ Closure face
Part Faces of
An individual feature is associated with the faces in the boundary model of a part as part l:aces as well as closure faces. A closure face of a feature is a subregion of a part face of the feature that is hidden by one or more features. The closure face is labelled with these interacting features. The closure face is similar in concept to the closure face introduced by Pratt, 9'1° but the closure faces described by Pratt are those faces that convert a feature composed of several part faces into a closed volume.
Fig. 5. Closure faces and part faces. that the uppermost surface of f0001, s0001, is used as the top-surface of f0002. Conversely, the parent feature points to its child features via its surface components, as shown in Fig. 4. A surface component of a feature points to other surface components of the feature by adjacent surfaces. Figure 4
part-face hole-loop curve-loop
I closure-face ~_~
; If hole loop, content is its peripheral loop id ; Curve pointer list composes loop
I
hidden-by curve-loop
I Part face in s0001 Hole-loop : nil Curve-loop : c0101 - c0105 - c0106 - c0107
; Feature ids that make this loops ; Curve pointer list composes loop Closure face in s0001 h i d d e n - b y : f0002 Curve-loop : c0104 - c0103 - c0102 - c0101 /
J
c010
c0105 J
~I¢
Fig. 6. Loops in the surface component.
Slot Feature Fig. 7. Faces created after the topology modification.
Integration methodology for feature-based modeling and recognition
79
Intersection Curves
t! k\\\\'q Existing part face
Interior Loop
kc////A Exterior Loops
Closure Face
Part Face
Fig. 8. Merging exterior loops into a part face. I J
~ Slot 2
Top Surface
Fig. 9. Interacting feature creation. In Fig. 5, the step feature F2 is inserted in the primitive cubic feature F1. In the process, the four faces of F1 are partially hidden by F2. Figure 5 shows only two of the four closure faces of F1, with a label, F2, as an interacting feature for each. According to Pratt's terminology, the four closure faces belong to F2 with no explicit interacting information between F1 and F2. Initially, the surface components have no boundaries. When the feature is placed in the parent feature, the surface is divided into two types of regions, part faces and closure faces. The curve-loop of a part face belongs to the boundary model. The hidden-by entry in a surface component links to other features that are interacting with the owning feature. When all the features in the hidden-by link are deleted, the closure face must be exposed and merged into adjacent part faces of the resulting model that share a common surface component. Data structures of these loops are shown in Fig. 6. The top surface of f0001, s0001, is divided into two part
faces and one closure face that is hidden by the slot feature f0002. The left part face of s0001 is bounded by a curve-loop c0101, c0105, c0106 and c0107. The closure face hidden by f0002 is bounded by a curve-loop c0104, c0103, c0102 and c0101.
INCREMENTAL FEATURE-BASED MODELING Feature insertion
First, consider inserting a new feature that is not interacting with existing features in the geometric model. Initially the surfaces associated with the part faces of the inserting feature (called component surfaces) are intersected with the part faces of the geometric model. The intersection information is used in making the initial loops in surfaces: exposed loops are marked as part faces. Part faces of the geometric model are divided with intersecting information: exterior loops with
Interior loop hidden by Slot 2 Interior loop hidden by Slot 1
NNm By Slot2
Fig. 10. Updating interacting features.
By Slot 1 By Slot l and Slot 2
80
H. Ko, M.-W. Park
S/1 / i /
c L J.l l
1
\
I I I if--'-I'I.," . . . .
II
i-
1 5
414 6[6
J
61164
7 ':I
Shown face
Closure loop
(a) External Feature (Slot) Part Face" (1 2 3 4 5 6 7 8) Closure Face" (5 4 9 6)
(b) Internal Feature (Pocket) Part Face" (1 2 3 4) (5 6 7 8) Closure Face' (5 8 7 6)
Fig. 11. Exposing closure faces.
•
,::
,
~NNNNNx~N~ r e g i o n 1
I
]
region 3
region 2
[~^~^~^~^1
region 4
Fig. 12. Closure faces imposed by interacting features. approach direction
connectionface
inner-loop of A
parent base face
respect to the new feature are marked as part faces again, interior loops as closure faces that have the new feature as an interacting feature. These steps are given in algorithm Insert_feature. algorithm Insert_feature input new_feature, part
ilii !, B chil~'~d sibling relation
child~of
Fig. 13. Hierarchical relations between base faces.
A
make intersection information for every pair of surfaces in new feature make intersection information comparing between a surface in new_feature and a surface part exhaustively make loops in surfaces of new_feature mark loops in surfaces of new_feature as part faces divide part faces in part into loops interior to
Integration methodology for feature-based modeling and recognition
81
"NodeTree" Class
~
~
t
"Topsibling" Class
I. (a) Hierarchy of base faces
(b) Node tree of the base faces hierachy
Fig. 14. Base face hierarchy of Fig. 13. PATTERN POCKET-l"
// Recognition rule of POCKET-1
Equal(Bounding(loop_BaseFace),Bounding(loop_parent_BaseFace)) Num_Planar_ConFace(loop_BaseFace)== 4 Exist(Cyl_ConFace) Straight_Edge_Parallel(Cyl_ConFace) Adjacent_Planar_CyI_Planar(Cyl_ConFace) RECOGNIZED POCKET- 1:
Fig. 15. Rule for 'POCKET-I'.
new_feature and loops exterior mark interior loops as closure faces modify topology of part make topology of new feature end of algorithm Figure 7 shows the loops created on the front surface of the base part when the slot feature is inserted as a new feature. The thick lines on the right show a part face after modifying the topology of the front face and the closure face. Figure 8 shows the modification process of creating the proper part and closure faces on the front surface. First, the intersection curves are created between the
POCKET-1
POCKET-2
POCKET-3
HOLE-1
HOLE-2
=OCKET-4
POCKET-5
HOLE-3
HOLE-4
O
C--) ~OCKET-6
'® I
SLOT-2
SLOT-1
--[
I
1--
STEP-2
I I I
r-~
E
Q
0
SLOT-3
SLOT-4
STEP-1
ISLAND-1
ISLAND-2
ISLAND-3
--[ V STEP-3
I
O
ISLAND-4
previou
l
~
h
"all ed~[::~iii:;iil ~ ~'
a,fedge
~:^:'::':':':| boundary edge 3 Fig. 16. Slot feature with boundary edges.
G Fig. 17. Geometry of elementary features.
l-1
H. Ko, M.-W. Park
82 POCKET-1 1
HOLE-3
I Common Parameter ~-] O : Origin position ] D : Direction of Depth/ d : Machining DepthI
Ioldll
L : Direction vector of Length 1 " Length w Width dia. : Diameter
Fig. 18. Feature parameters.
front surface and the three component surfaces of the step feature. The part face is split into line segments creating five exterior loops and one interior loop according to the in-out check in the algorithm. Then, the exterior loops are merged into one part face and the interior loop becomes a closure face in the front surface component. The process of merging the multiple loops is to be covered in the feature deletion section. In the above algorithm, interacting features are not supported. For example, Fig. 9 shows a second slot feature inserted into the feature model crossing the
existing slot. In this case, the difference is that closure faces of existing features are subdivided. The closure faces created on the top surface are shown in Fig. 10. The two closure faces, one hidden by Slot 1 and the other by Slot 2, are divided into five loops and their interacting features are marked by classifying the loops inside or outside the new feature. For example, the middle interior loop initially hidden by only Slot 1 is hidden by both Slots ! and 2. Furthermore, the part faces of existing features that are partially hidden by the new feature are split into part and closure faces as well.
Fig. 19. Divided core plate.
Integration methodology for feature-based modeling and recognition
i ~ J
. . . . . .
83
IIlam
Fig. 20. Recognized feature hierarchy. Note that the order of feature insertion, Slot 1 and then 2, is not important when deleting the slots. When Slot 1 is deleted, the closure faces hidden only by Slot 1 are exposed but the closure face hidden by both Slot 1 and 2 remains but its hidden-by feature list contains only Slot 2 after the deletion. Therefore, order independent feature deletion is made possible by labeling the closure faces with interacting features explicitly. A modified algorithm for interacting features, Insert_intersect_feature, is given below, where additional steps are written in italics.
algoritlml Insert_intersect_feature input new_feature, part make intersection information between two surfaces in new feature make intersection information between surface in new_feature and surface in part make loops in surfaces of new feature mark loops in surfaces of new_feature as part face divide part faces in part and existing features into loops interior to new_feature and loops exterior mark interior loops as a closure face or push new_ feature to hidden-by feature list divide part faces in new_ feature into loops interior to other feature and loops exterior
mark interior loops as closure face with interacting features modifying topology of part make topology of part faces of new feature end of algorithm
Feature deletion When a feature is deleted, the closure faces hidden only by the feature are exposed. Those closure faces are later to be merged with neighboring part faces. On the other hand, the closure faces hidden by multiple features including the feature being deleted remain hidden, but the deleted feature is removed from those closure faces' hidden-by feature lists. Then, the remaining part faces are repaired with the exposed closure faces by concatenating them. The concatenating process is explained in Fig. 11. Here, name the part face of Fig. 1l(a) as A-loop and the closure face as B-loop where the edges are numbered. That is, A-loop is (1 2 3 4 5 6 7 8) and Bloop is (5 4 9 6). Select an edge in A-loop not in B-loop (assume edge 3) and store it in a queue. Using the next half edge, the next edge in the loop (edge 4) is selected and becomes the current edge. If this edge exists in the other loop (B-loop), the next edge in B-loop (edge 9) is chosen and becomes the current edge. Then, the current
84
H. Ko, M . - W . Park
I
S === PRRMETEOS OF ATOMIC FERTURE : : : : : : : : : : : : : : : : : : : : : NRME HOLE'3 ORIGIN -142,0000D -167,0000fl 30,OOOgg OIRECTION-O O,00000 O,DOOOO -1,gOflOO DIDNETER 42,00000 DEPTH 70,OgO00 =====================================================
I hit:
(1 17
)
. . . . . . . . . . . .
q
Fig. 21. Feature inspection: node 17. edge is stored in the queue (in this state, the contents of the queue are 3-9). The next edge of the edge 9 is the edge 6 and becomes the current edge. The edge 6 exists in the other loop (A-loop), the current edge becomes the edge 7. Now, the contents of the queue are 3-9-7. This process is continued until the current edge is the same as the first one in the queue. In this case, the resulting loop becomes 3-9-7-8-1-2. If there is a remaining edge in A-loop, the above process is restarted. In Fig. 1l(b), the part face consists of two loops, the outer loop (1 2 3 4) and the inner loop (5 6 7 8) as A-loop, and the closure face as B-loop (5 8 7 6). After going through the steps above starting with the edge 1, the edges of the inner loop remain in A-loop. However, none of the edges remaining in A-loop is an edge in A-loop but not in B-loop. So, the process terminates only producing the loop (1 2 3 4). After all the loops are produced with the exposed closure faces, the topology of the part must be modified with the new part faces. The overall deletion process is given below:
algorithm Delete_feature input feature for-each surface in feature if the surface has a closure face whose
interacting feature is the input feature then concatenate the closure face with other parts in the surface modify topology end of algorithm The above algorithm does not support interacting features, however. Two additional steps are required: removing the deleted feature from the hidden-by feature list of the closure faces, and concatenating the adjacent closure faces with the same hidden-by feature list. In Fig. 12, region 1 is a closure face whose interacting features are features 2 and 3, region 3 is hidden by feature 2, region 4 by feature 3, and region 2 shows the part faces on the top surface of the base part. If feature 2 is removed, region 3 must be exposed. Then, region 1 is concatenated with region 4, and feature 3 remains as the only interacting feature of region I. The modified algorithm for deleting interacting features is described below. Modified/added steps are indicated in italic.
algorithm Delete_interacting_feature input feature
for-each feature in part for-each surface in part
Integration methodology for feature-based modeling and recognition
,
85
ilUlU
=== PARNETIERS flF RTOMIC FERTURE : : : : : : : : : : : : : : : : : : : : : NBME POCK'3 ORIGIN : "142.00000 -167,000fl0 40,00000 OIRECTION'O O,OOOOfl O.OOOOO - 1 , D O 0 0 0 DlflMETER 47.00000 OEPTH 1O,OOflOO
I
I
hill
(1 16 ) i
Fig. 22. Feature inspection: node 16.
if surface has a closure face interacting with the input feature
if the closure face has only one interacting feature concatenate the closure face with other parts faces in surface
else remove the input feature from the hidden-by feature list concatanate the closure face with adjacent closure faces with the same hidden-by feature list modify topology end of algorithm
FEATURE RECOGNITION A feature model consists of a feature hierarchy and a geometric model. The feature hierarchy is constructed by a feature recognition method from the geometric model. It is assumed that the base of a feature is formed by an inner loop in a certain face, called a base face, and the axes of the global coordinate are coaxial to the approach directions. The 'base faces' where features start and end are extracted from the geometric model
along the approach directions to which the normal vectors of the faces are orthogonal. These faces are then hierarchically related. Definitions of the base faces and their hierarchical relations are depicted in Fig. 13. The child base faces traced from a common parent base face have sibling relations. Next, the hierarchical structure for the base faces is constructed as shown in Fig. 14. Base faces on a product are structured in hierarchical order using 'base face' class in Fig. 14(a). The diagram in Fig. 14(b) depicts management of hierarchical structure using 'node tree' class which manages hierarchy of base face, and 'top sibling' class which manages top base faces. Then, the type of feature - - depression, protrusion or through hole - - is decided by considering the geometric and topological information of the faces adjacent to the base face. After the feature type is decided, the recognition rules are applied and the feature data conforming to the prearranged structure is produced. One example of a recognition rule is given in Fig. ! 5. This rule shows how the feature 'POCKET-l' is defined. Feature finding is carried out axis by axis. In each axis, features are extracted from the highest node level of the base face to the lowest one, which is the reverse of their machining sequence. In other words, the feature located in the deepest position is extracted first. The
H. Ko, M.-W. Park
86
: : : PRRHETER$ OF RTONIC FEflTUR[ = = : : : = = = : = = : : : : = = : : : = NflME POCK-3 ORIGIN -142.gOB00 -167.00QOfl 4O*OODOD DIHECTIO~-D g,OflOOfl O.OflOOO -1,OOOOO D[R~ETER 47,ODDOD DEPTH lO,ggOOO :::::::::::::::::::::::::::::::::::::::::::::::::::::
.
.
.
.
.
.
%
!!.~__!m!l,..
i
,
!w
_
Fig. 23. Deleting a hole. whole procedure of feature recognition explained up to now can be detailed as below:
algorithm Feature_Recognition input geometric model select one of the orthogonal axes as an approach
direction construct a base faces hierarchy of the geometric
model construct a node tree of the base faces hierarchy find the highest node level in node tree for-each node level (from the highest node level until node level becomes 1) in node tree for-each topsibling class in the selected node level for-each base face in topsibling class find its parent base face find all the connection Jaces between base face and its parent base face determine the feature type (depression, protrusion through hole) according to the geometry of the base .face and its parent
base face applying recognition rules append the recognized feature to feature data structure if (number of the base faces of the selected
topsibling class > = 2) find all the connection .faces between base faces determine the feature type applying recognition rules append the recognized feature to feature data structure
end of algorithm Once the above recognition process finishes, each recognized feature is associated with part faces. So far, only part faces in the geometric model are associated with each recognized feature. Then, the closure faces must be added in order to make the feature data structure identical with the structure created by the feature insertion. This addition process is simplified because the current FR method cannot recognize interacting sibling features. A closure face is created using a face extension method. 1 Currently, the implementation is limited to cases where no new topology is created by the face extension. The method is described below. Given a feature, collect the boundary edges of the feature. A boundary edge of a feature contains a half edge that belongs to a part face of another feature. Group those half edges with the same surface equation. For example, in Fig. 16, two groupings are shown: (1, 5),
Integration methodology for feature-based modeling and recognition
87
=== PARME]IER$ Of flTONIC FEATURE : : : : : : : : : : : : : : : : : : : : : HAME POCK-3 ORIGIN -142,00000 -167,DD000 40,OOODfl DIRECTION-D O.OOOOO O,OOOOD - I . 0 0 0 0 0 DIAMETER 47.00000 DEPTH ;O,OOflO0 =====================================================
I hit:
(l
5 )
Fig. 24. Parent feature deletion. (2, 3, 4). Construct a loop for each grouping. The loop construction requires adding new edges. For example, the vertices vl and v2 are connected by a new edge with the curve equation of the previous half edge of vl if the previous half edge of vl and the next half edge of v2 are of the same curve; otherwise, a straight line segment is created for the new edge.
CASE STUDY As a part of the development of an integrated CADCAM system for mould die manufacturing, a software system is developed that can interactively modify the geometric model by deleting a recognized feature. It is based on a core solid modeler, the ACIS geometric modeling kernel.
Feature library The feature library contains a predefined set of generic features, consisting of depression, protrusion, and through features that are commonly found in mould manufacturing applications. The system currently handles 21 elementary features found in prismatic components, but the feature set can be expanded. Six types of pockets, four types of holes, four types of slots,
three types of steps and four types of islands are shown in Fig. 17. The side and top views are shown for each feature. An elementary feature's shape is defined by size dimensions, and it is positioned in the geometric model by positioning parameters. The parameters associated with POCKET-1 and HOLE-3 of Fig. 17 are shown in Fig. 18. The origin position, direction of depth, and the machining depth parameters are the common data of both features, while the POCKET-1 and HOLE-3 specific parameters are given in Fig. 18.
Divided core plate example A 'divided core plate' has been used as an example case. Figure 19 shows the geometric model of the divided core plate using conventional solid modeling operations. Using a restore function, it loads the geometric model from the archive. Figure 20 shows the feature model after the FR method has been applied to the geometric model in Fig. 19. There are no recognized features from +X, - X , and - Y approach directions. From the - Z approach direction, there are features related by the parent-child relationships. The feature hierarchy is displayed in an AF-hierarchy window by a grapher that displays the feature nodes in boxes and the parent-child relations as
88
H. Ko, M.-W. Park
=== PRRNETERSOF RTOMIC FERTURE : : : : : : : : : : : : : : : : : : : : : NAME PGCK-I ORIGIN 142.00000 -167.00000 4O,OOOOO DIRECTION'O O,00000 O.ROOOO -1,OOOOO OIRECTION'L 1,0OODO O,OOOOO O,OOOOfl UIOTH 50,OOOOO LENGTH 6O,OOOOD GEPTH 15,OOOflO CO~NER OflDIUS: O,DDflOfl 1 hit:
~--~
(1 S )
. . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
L ....
Fig. 25. Feature insertion and inspection. lines. The root node represents the base feature of the blank body. Using the grapher, one can inspect the parameters of the individual features in the hierarchy interactively. In Fig. 21, node 17 was picked. Its boundary in the geometric model is highlighted, and its parameters are displayed in the AF-parameters window. Figure 22 shows the picking of node 16, a parent of node 17. Figure 23 shows the deletion of a hole from the geometric model and the AF-hierarchy window showing the change. Figure 24 shows the deletion of multiple features by deleting a parent feature. Figure 25 shows the insertion of new features on the recognized feature model of Fig. 24, a rectangular pocket and a hole at the bottom face of the pocket as a child feature. In the AF-hierarchy window, the parent feature, the rectangular pocket, is shown, with its parameters in the AF-parameters window. The region of the selected node is highlighted.
CONCLUSION In this paper, the authors have described an integration approach for feature insertion, and recognition methods for feature model construction. The integration is made
possible by keeping the feature model data structure identical whether constructed by the feature insertion or recognition processes. The feature model representation includes a dependency structure that records feature interaction information explicitly as closure faces with interacting features. Furthermore, the feature deletion method is made incremental by using the dependency structure to expose only the regions affected by the deleted feature, a kind of dependency directed backtracking. 7 The dependency structure of the feature model overcomes the representational mismatch between the procedural feature insertion/deletion method and the feature recognition method. Since the feature recognition used in mould die parts is part-face based, only the feature interactions that are manifested in the boundary surfaces of feature volumes were considered. The current level of feature complexity that the proposed recognition module can manipulate is relatively simple since the objects of recognition are the plates of mould dies. The features on the mould die components are 2.5-dimensional ones that rarely cross each other in a complicated manner. In order to generalize the current approach to interacting features between positive and negative volumetric features, it is necessary to record the
Integration methodology for feature-based modeling and recognition interaction information volumetrically, a cellular representation. 4'11 The current implementation is based on the ACIS geometric modeling kernel version that did not support non-manifold faces. Instead, non-manifold edges were available and the labelled closure faces were introduced instead of the closure cells. The implementation was constrained by the underlying modeling kernel. More effort will follow to tackle compound features in which a higher level of interaction occurs. Meanwhile, the methodology of the merger of feature based modeling and feature recognition has been proven effective for mould die features.
ACKNOWLEDGEMENT This research has been conducted as part of the introduction of computer-integrated manufacturing technology for mould die manufacturing. It was supported by the Ministry of Science and Technology under the Grants N08791 and N08783.
REFERENCES 1. Dong, X. & Wozny, M., A method for generating volumetric features from surface features. Proceedings of Symposium on Solid Modeling and Foundations and CAD/ CAM Applications, ed. J. Rossignac & J. Turner. Austin, Texas, June 5-7, 1991, pp. 185--94.
89
2. Sakurai, H. & Chin, C., Recognizing shape features in solid models. Proceedings of ASME Computers in Engineering 1993, San Diego, August 8-12, 1993, pp. 59-65. 3. Kim, Y. S., Recognizing form feature using convex decomposition. Computer Aided Design, 1992, 24(9). 4. Vandenbrande,, J. H., Automatic recognition of machinable features in solid models. IRIS No. 260, Institute of Robotics and Intelligent Systems, University of Southern California, Los Angeles, CA, 1990. 5. Luby, S., Dixon, J. & Simmons, M., Creating and using a feature data base. Computers in Mechanical Engineering, Nov. 1986. 6. Shah, J. J. & Rogers, M. T., Expert form feature modelling shell. Computer-Aided Design, 1988, 20(9), 515-524. 7. Stallman, R.M. & Sussman, G.J., Forward reasoning and dependency-directed backtracking in a system for computer-aided circuit analysis. Artificial Intelligence, 1977, 9(2). 8. Mfintyl~i, M., An Introduction to Solid Modeling. Computer Science Press, 1988. 9. Pratt, M. J., Synthesis of an optimal approach to form feature modeling. ASME Computers in Engineering 1988, ed. V. A. Tipnis & E. M. Patton. San Francisco, July 3 l August 4, 1988. 10. Pratt, M. J., A hybrid feature-based modelling system. In Advanced Geometric Modeling for Engineering Applications, ed. F. L. Krause & H. Jansen. North-Holland, Amsterdam, 1990, pp. 189-201. 11. Bidarra, R. & Teixeira, J. C., Intelligent form feature interaction management in cellular modeling scheme. Proceedings of the 2nd A CM Solid Modeling and Applications, May 19 21, 1993, pp. 483 5.