Especially, automatic rule writing module is more effective for the rules of too complex parts which cannot be defined by
A. C¸ ic¸ek, M. Gu¨lesin / Computers in Industry 58 (2007) 733–746 741
Fig. 12. (a) M8 flanged bolt; (b) M8 50 flanged bolt.
the user. A good example for a complex part is torsion spring shown in Fig. 14. This torsion spring has combination of the toroidal and cylindrical surfaces except two planar surfaces. It is almost impossible for the user to define the face adjacency relations of it. With the automatic rule writing module, the rule of the torsion spring can be automatically generated as shown in Fig. 15 and can be represented in the knowledge base. The program has written a rule for the all faces (115 faces) of the torsion spring. The rule number and part name are not defined
in the rule generated by the program. The user writes rule number and part name and presses to the ‘‘Copy to Knowledge Base’’ command button to copy the rule generated into the knowledge base.
5.. Part recognition
All the parts are recognized by the inference engine of the expert system through forward chaining reasoning method. That is to say, the program tries to satisfy IF section (conditions) to approve THEN section (result) of a rule. The program extracts face adjacency relations and attributes belonging to each face from the STEP file of the part and represents the part in FORM. Then, the program retrieves the knowledge base and reasons the information of each rule with the information
represented in FORM of the part. It searches the rule corresponding to FORM. When face adjacency relations and attributes represented in the rule are matched with FORM, the part is recognized. Rule number and part name is taken from the rule. Part is saved with the rule name for assembly operations. A screen of part recognition procedure for intake valve is shown in Fig. 16.
6. Computer aided assembly
In this stage, recognized parts are retrieved from the database. Then, they are automatically positioned and assembled by the program in a CAD environment. The program selects a reference surface on the recognized component and determines local origin and direction z of the selected reference surface. The reference surface is any plane surface on the component. Attribute direction z of the plane surface is used to position the component in the 3D space.
Attribute local origin of it is used as base point of the component to be assembled to insert into assembly environ-ment. Assembly information such as assembly direction, location points and number of parts to assemble for each component is earlier defined in the database in a compact format. This information is generated by determining of assembly directions, coordinates and constraints of each part with respect to other engine parts. The approach assembles all the parts with respect to this information predefined in the database. To assemble a component, the CAD models of parts of diesel engine designed any position in the 3D space should be positioned to its assembly position and then inserted into
Fig. 17. Reference surface of the intake valve. Fig. 18. Positioning of the intake valve into assembly position.
A. C¸ ic¸ek, M. Gu¨lesin / Computers in Industry 58 (2007) 733–746 743
assembly environment. After component to be assembled is positioned, the base point of the part is moved from base point to the target coordinates. Positioning of the component to be assembled is based on direction z of the reference surface. Reference surface should be a planar surface on the component, since direction z represents surface normal of the planar surface. The calculation of the angle between directions of two reference surfaces is based on the angle between their real direction and direction predefined in the database of reference surface belonging to the component. The angle between two reference surfaces satisfies the following equation: