In the step cellular decomposition, it extends each face of the model that has concave edges and intersects it with the model in order to create cells. Next, the cells satisfying the conditions for maximal volume are collected in the stage of cell collection. Finally, the cells in each collection are composed into a maximal volume. Gao and Shah [27] presented a methodology for efficiently recognizing both isolated and interacting features in a uniform way. The conventional graph-based recognition method is combined with the hint based feature recognition to recognize and extract alternative interpretations of interacting features. First, all isolated features are recognized based on a manufacturing face adjacency graph. Interacting features are then recognized based on feature’s minimal condition sub graph (MCSG) that is used as a feature hint.
In this paper, instead of feature recognition, a part recognition algorithm has been developed and applied to computer aided assembly. The input to the system is the STEP file generated for a part which is modeled on a CAD environment. The aims of this study are to develop a suitable representation in terms of topological and geometric data as input to part recognition algorithm, to recognize the parts designed in a CAD environment through an expert system
Fig. 2. Conversion of STEP into basic format.
embedded within the developed part recognition system and to provide serving of part recognition for computer aided assembly. With proposed system, complex parts such as the parts of a diesel engine can be easily constructed their FORMs and recognized by the computer without any limitation.
2. System overview
Part recognition based computer aided assembly system outlined in this study is conducted in mainly four stages: data preparation for building of FORM, construction of FORM, expert system based part recognition, computer aided assembly. In the first stage, STEP file of a CAD model is converted to a basic format to facilitate the part recognition and assembly procedures and adjacent faces shared a common edge and same attributes are stitched for a compact definition in rule writing by the user. In the second stage, adjacent faces and attributes belonging to each face on a part are derived by evaluating of
stitching faces. They are represented in a square matrix called FORM. In the third stage, through inference engine of the expert system developed in this study, CAD models are recognized by reasoning FORM and knowledge base. In the final stage, the recognized parts are positioned and assembled in a CAD environment according to assembly information in the database. Flowchart of the system developed is shown in Fig. 1.
3. Data preparation for building of FORM
3.1. Data pre-processing with STEP translator
Most of the CAD systems utilize some form of B-Rep as their internal representations. The detailed representation specific to each of these systems is different. The graphic standards were developed to transfer geometric data between CAD and CAM systems that have different internal representations. The approach developed by the authors relies on STEP physical
736 A. C¸ ic¸ek, M. Gu¨lesin / Computers in Industry 58 (2007) 733–746
Fig. 3. (a) STEP representation of a plain rivet; (b) stitched faces of the plain rivet.
file and the STEP entities have been used as input to the system. A face in the STEP file is represented as ADVANCED_FACE entity. FACE_OUTER_BOUND and FACE_BOUND entities are sub entities of the ADVANCED_FACE entity. Also, ADVANCED_FACE entity represents surface type of the face (CONICAL_SURFACE or other surface types). AXIS2_PLA-CEMENT_3D entity is sub entity of the CONICAL_SURFACE (or other surface types) entity. The radius and conical angle of the conical surface is clearly represented in CONICAL_SURFACE entity. AXIS2_PLACEMENT_3D entity gives the origin of the local coordinate system belonging to that face, the direction of x axis of the local coordinate system and the direction of z axis of the local coordinate system. Local coordinate system has two axes namely, x and z axes. The direction of z axis of the local coordinate system is pointer to the normal of the planar and spherical surface and, is pointer to the axis direction of the cylindrical, conical, toroidal surfaces. FACE_OUTER_BOUND entity is outer edge loop bounded the face. If any inner feature such as hole and pocket exists on the face, FACE_BOUND entity is pointer to inner loop of that feature on the face. A surface has one or more inner feature/s. In some cases, a surface can have many inner loops than one with respect to the number of the inner feature on it. EDGE_LOOP entity is sub entity of both FACE_OUTER_BOUND and FACE_BOUND entities. EDGE_LOOP entity is the composition of the edges that bound the face. ORIENTED_EDGE entity is sub entity of the EDGE_LOOP entity. ORIENTED_EDGE entity is one of the oriented edges in the EDGE_LOOP. EDGE_CURVE entity is sub entity of the ORIENTED_EDGE entity. EDGE_CURVE entity represents curve type. Also, if curve type is line, EDGE_CURVE entity represents the start point of the line vector, the orientation of the vector and the magnitude of the vector. If curve type is arc, EDGE_CURVE entity represents the start and end point, radius of the arc, the origin, the direction of x axis and the direction of z axis of the local coordinate system (Fig. 2). In this stage, the parts modeled in a CAD environment are automatically translated into STEP AP 203 graphic standard. STEP entities mentioned above are converted into entities represented in a format named basic format which uses an inpidual and regular section for each face on the component. The basic format is generated to facilitate part recognition and automatic assembly procedures. The program can easily read and evaluate this format for next procedures. For generating the basic format, the program matches the values of all the attributes (orientation, radius, angle, edge loop, etc.) and edge curves of