Development of an Intelligent Database System to Automate the Recognition of Machining Features from a Solid Model Using Graph Theory
Development of an Intelligent Database System to Automate the Recognition of Machining Features from a Solid Model Using Graph Theory
1, February 2017
DOI: 10.7763/IJCTE.2017.V9.1112 58
International Journal of Computer Theory and Engineering, Vol. 9, No. 1, February 2017
4
24 1 1 0 1
12
2 25 1 0 1 0
5
29 27 28 29 30 31 32
31
27
28
0
1
1
0
0
1
1
0
0
0
1
1
56
d 28 32 29 0 1 0 0 0 1 38 Edge
30 1 0 0 0 1 1 37 Pocket
31 0 0 0 1 0 1 48
27 30 31 32 1 1 1 1 1 0 40
1 2 3 4 5 6 7 8 9 10 11 12
1 0 1 0 0 0 0 0 0 0 0 1 1
2 1 0 1 0 0 0 0 0 0 0 0 1
1 2 3 4 5 3 0 1 0 1 0 0 0 0 0 0 0 1
4 0 0 1 0 0 0 0 0 0 0 0 1
5 0 0 0 0 0 1 0 0 0 0 0 1
6 0 0 0 0 1 0 1 0 0 0 0 1
11 12 6 7 0 0 0 0 0 1 0 1 0 0 0 1
e
8 0 0 0 0 0 0 1 0 1 0 0 1
9 0 0 0 0 0 0 0 1 0 1 0 1
10 0 0 0 0 0 0 0 0 1 0 1 1
10 9 8 7 11 1 0 0 0 0 0 0 0 0 1 0 1
12 1 1 1 1 1 1 1 1 1 1 1 0
2047, 3584, 3088, 2562, 2432, 2308, 2144, 2116, 2072, 2057, 2176, 2080
Generic pocket
Fig. 2. Sub graphs, AAMs and feature vectors.
59
International Journal of Computer Theory and Engineering, Vol. 9, No. 1, February 2017
of a vertex is the number of proper edges incident with it subgraphs in an arbitrary part graph. Architecture of the
plus twice the number of self-loops at it. In the present proposed feature recognition system based on feature vector
context, there are no self-loops. generation heuristic is shown in Fig. 3. It is implemented in
2) The arranged AAM is partitioned into overlapping zones. Microsoft® Visual C++ along with built-in application
Each zone contains those rows and columns that have the programming interfaces (APIs) of ACIS® 3D solid modeling
same degree. Intersection of rows and columns of a zone toolkit. The APIs are used for loading, saving, topological and
forms its pivot block. geometric reasoning.
3) For each zone: The architecture is built on the following modules.
Rows are arranged from top to bottom in descending Module 1. AAG of a part is generated from its B-Rep
order of number of 1s present in the pivot block of that zone. model and stored as an AAM. Edges of the part are obtained
Columns are arranged from left to right in descending by calling api_get_edges (). Adjacent faces of each edge are
order of the column value, treating 1 and 0 as binary numbers, found by following the links of B-Rep data structure of ACIS
and top row as the most significant bit. and calling api_get_faces () with edge as its parameter.
Similarly, rows are re-arranged from top to bottom in a Convexity of each edge is calculated at its mid point by
descending order of the row value, taking first column as the calling api_edge_convexity_param (). It is assumed that the
most significant bit. convexity remains the same throughout the length of the edge,
4) Finally, considering each row of the AAM as a binary which is true for all milled parts with only analytical surfaces.
number, feature vector is computed as the ordered set of Module 2. Subgraphs from the part AAG are generated
decimal integer values of the rows. using standard vertex fusion method.
This arrangement of an AAM uniquely represents an AAG, Module 3. Feature vector corresponding to each subgraph
irrespective of node labelling scheme used in the AAG. To having more than one face is generated. Single node features
match any two AAGs, their AMMs are converted to such as through cylindrical hole can be handled separately.
respective feature vectors as discussed above. Isomorphism Module 4. The generated feature vector is matched with
checking of the two AAGs then becomes a matter of templates in the feature library. In the proposed architecture,
comparing the two feature vectors. feature library is stored as a text file and loaded in computer
memory at the start of recognition process. It is updated
whenever a user defined feature is appended to it. The
IV. ARCHITECTURE OF FEATURE RECOGNIZER AND ITS modified library is reloaded in the memory. Most of the
IMPLEMENTATION features have unique AAGs; however, there exist some
situations where an AAG may represent more than one
feature. Specific features in this situation are differentiated by
using additional geometric reasoning which can be provided
by maintaining link with ACIS database. Presently, such
geometric rules are hard coded and require modification of
the source code in order to be included in the feature library.
A recognized feature is reported as a group of pointers
pointing to the faces constituting the feature. This facilitates
future analysis of the feature such as manufacturability
analysis.
Module 5. If module 4 fails to recognize a cluster of faces,
the corresponding feature vector is analyzed to extract generic
pocket.
Module 6. Unrecognized cluster of faces not recognized by
the previous modules is handled in this module. The user is
informed about no-match situation with template features in
the library. The system hands over control to the user for
breaking the compound feature into primitives. If he feels
appropriate, this cluster of faces can be added to the library. In
future this feature will be available as a template feature.
60
International Journal of Computer Theory and Engineering, Vol. 9, No. 1, February 2017
the capabilities to include new patterns found in the data of its [8] A. K. Verma and S. Rajotia, “Review of machining feature recognition
methodologies,” Int. J. of CIM, vol. 23, no. 4, pp. 353-368, 2010.
own.
61