the cylindrical_face has neighbours plane_face, plane_face AND the cylindrical_face has neighbours plane_face, plane_face,
plane_face, plane_face
THEN
the part is a retaining_ring_for_bores
Also, the user can do partial or full description for all faces on the component. In some conditions, full definition is impossible. For example, cylinder block has 479 faces in the stitched faces. It nearly is impossible to define all the faces adjacency relations and face attributes in the rule belonging to cylinder block. For complex parts, the definition of faces that have different face adjacency relations and/or face attributes from the faces in other rules will be sufficient. Therefore, partial definition can be available in some cases. In Fig. 11, the ventilator has 69 faces in the stitched faces. But, face adjacency relations and radius attributes for one cylindrical surface is only defined in the rule of the ventilator. This is sufficient to recognize the ventilator by the program. Cylindrical surface has 38 neighbour planar surfaces and value of radius.
The rule represented in the knowledge base of the ventilator in Fig. 11 is given below:
RULE 15:
IF
the cylindrical_face has neighbours plane_face, plane_face, plane_face, plane_face,
plane_face, plane_face, plane_face, plane_face, plane_face, plane_face, plane_face,
plane_face, plane_face, plane_face, plane_face, plane_face, plane_face, plane_face,
plane_face, plane_face, plane_face, plane_face, plane_face, plane_face, plane_face,
plane_face, plane_face, plane_face, plane_face, plane_face, plane_face, plane_face,
plane_face, plane_face, plane_face, plane_face, plane_face, plane_face AND
the radius = 110 MM
Especially, face attributes which are different from each other are described for the similar parts. For example, face adjacency relations of the M8 flanged bolt in Fig. 12a and M8x50 flanged bolt in Fig. 12b are the same. In this case, face attributes must be defined in the rules of the two flanged bolts.
When radius value (the radius = 4 mm) of related to cylindrical face of the M8 flanged bolt is written in the next row of the face adjacency relation, bolt is recognized as M8 flanged bolt by the program. When value of the screw length (the radius = 4 mm and the screw_length = 50 mm) of related to cylindrical face of the M8 flanged bolt is written in the next row of the face adjacency relation, thus, bolt is recognized as M8 50 flanged bolt by the program. With these definitions, radii and lengths of the entire standard parts (bolts, nuts, springs, rivets, pins, studs, etc.) can be recognized.
5.2. Optional and automatic rule writing module
During writing a rule in the knowledge base, the user cannot define all the face adjacency relations and face attributes on the complex part. Since there are a lot of faces on complex parts, rule definition will be rather difficult. Adding an optional and automatic rule writing module into the program, the rule of simple and complex parts is automatically written by the program and copied into the knowledge base. Thus, the rule writing process is quite simplified. Checkboxes ‘‘Face’’, ‘‘Radius’’, ‘‘Direction’’ and ‘‘Angle’’ are put into the rule writing module. If the user activates the one or more checkboxes and presses to the ‘‘Write Rule’’ command button, the program automatically generates the rule with respect to attribute or attributes activated. Where, ‘‘Face’’ represents face adjacency relations belonging to face handled. ‘‘Radius’’ represents radii of the faces handled such as cylindrical, conical, toroidal and spherical. ‘‘Direction’’ represents orienta-tion of the faces handled such as planar, cylindrical, conical, toroidal and spherical. ‘‘Angle’’ represents conical angle of the conical face. The optional rule writing module window is shown in Fig. 13.