# A Representation Model of Geometrical Tolerances
Based on First Order Logic

Yuchu Qin, Yanru Zhong, Liang Chang, Meifa Huang

► To cite this version:

Yuchu Qin, Yanru Zhong, Liang Chang, Meifa Huang. A Representation Model of Geometrical Tolerances Based on First Order Logic. 7th International Conference on Intelligent Information Processing (IIP), Oct 2012, Guilin, China. pp.234-239, 10.1007/978-3-642-32891-6_30. http-01524962

HAL Id: hal-01524962

https://inria.hal.science/hal-01524962

Submitted on 19 May 2017

**HAL** is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_1.png" /></figure>

Distributed under a Creative Commons Attribution 4.0 International License
# A Representation Model of Geometrical Tolerances Based on First Order Logic

Yuchu Qin¹, Yanru Zhong¹, Liang Chang¹, and Meifa Huang²

¹School of Computer Science and Engineering, Guilin University of Electronic Technology, Guilin, China

²School of Mechanical and Electrical Engineering, Guilin University of Electronic Technology, Guilin, China

qinyuchu@163.com

**Abstract.** Tolerance representation models are used to specify tolerance types and explain semantics of tolerances for nominal geometry parts. To well explain semantics of geometrical tolerances, a representation model of geometrical tolerances based on First Order Logic (FOL) is presented in this paper. We first investigate the classifications of feature variations and give the FOL representations of them based on these classifications. Next, based on the above representations, we present a FOL representation model of geometrical tolerances. Furthermore, we demonstrate the effectiveness of the representation model by specifying geometrical tolerance types in an example.

**Keywords:** Feature variations, Representation model, Geometrical tolerances

## 1 Introduction

Tolerance representation model is a kind of data structure which makes tolerance information be well represented in computers [1]. The existing mainstream representation models can be classified into the following five categories: surface graph model, variational geometric model, tolerance zone model, degree of freedom model, and mathematical definition model [2]. An excellent tolerance representation model is able to represent tolerance information accurately and explain semantics of tolerances reasonably. Most of the existing models can meet the first requirement, but they cannot meet the second one completely. Thus it is an immediate concern to study a tolerance representation model which can well explain semantics of tolerances.

FOL is a formal system for representing and reasoning about knowledge of applications. It can well represent knowledge on the semantic layer. This paper presents a representation model of geometrical tolerances based on FOL. It is organized as follows. First of all, the classifications of feature variations are investigated and the FOL representations of feature variations are given. Next, a representation model of geometrical tolerances is presented. Finally, the effectiveness of the representation model is demonstrated by specifying geometrical tolerance types in an example.
## 2 FOL representations of feature variations

In feature-based CAD systems, tolerances are essentially the variations of geometrical features. Feature variations are the geometrical motions of the real feature compared with the ideal feature. To link closely Geometrical Product Specifications (GPS) to geometric features, Srinivasan [3] classified the ideal features in GPS into seven classes of symmetry based on symmetry group theory (see Table 1).

<table><caption>**Table 1.** Seven classes for feature variations. Aut₀(S): automorphism of S under small variation. DOFs: degrees of freedom. T(m): m independent translations. R(n): n independent rotations. I: identity variation.</caption><thead><tr><th>Real integral feature</th><th>Associated derived feature</th><th>Aut<sub>0</sub>(S)</th><th>DOFs</th></tr></thead><tbody><tr><td>Spherical</td><td>Point</td><td>R(3)</td><td>T(3)</td></tr><tr><td>Cylindrical</td><td>Line</td><td>T(1)×R(1)</td><td>T(2), R(2)</td></tr><tr><td>Planar</td><td>Plane</td><td>T(2)×R(1)</td><td>T(1), R(2)</td></tr><tr><td>Helical</td><td>(Point, Line)</td><td>T(1)×R(1)</td><td>T(2), R(2)</td></tr><tr><td>Revolute</td><td>(Point, Line)</td><td>R(1)</td><td>T(3), R(2)</td></tr><tr><td>Prismatic</td><td>(Line, Plane)</td><td>T(1)</td><td>T(2), R(3)</td></tr><tr><td>Complex</td><td>(Point, Line, Plane)</td><td>I</td><td>T(3), R(3)</td></tr></tbody></table>

For convenience, we use a triple group ($M, N, f$) to denote the variations of a feature, where $M$ is a constraint feature, $N$ is a constrained feature, and $f$ is a geometrical variation from $M$ to $N$. For the seven classes for feature variations, if we let $M$ be one of the associated derived features, $N$ be its corresponding real integral feature, we will obtain seven combinations called self-referenced feature variations shown in Table 2.

<table><caption>**Table 2.** Self-referenced feature variations. DOFs: degrees of freedom. T(m): m independent translations. R(n): n independent rotations.</caption><thead><tr><th>Name</th><th>Constraint feature</th><th>Constrained feature</th><th>Spatial relation</th><th>DOFs</th></tr></thead><tbody><tr><td>S1</td><td>Point</td><td>Spherical</td><td>Constrain</td><td>T(3)</td></tr><tr><td>S2</td><td>Line</td><td>Cylindrical</td><td>Constrain</td><td>T(2), R(2)</td></tr><tr><td>S3</td><td>Plane</td><td>Planar</td><td>Constrain</td><td>T(1), R(2)</td></tr><tr><td>S4</td><td>(Point, Line)</td><td>Helical</td><td>Constrain</td><td>T(2), R(2)</td></tr><tr><td>S5</td><td>(Point, Line)</td><td>Revolute</td><td>Constrain</td><td>T(3), R(2)</td></tr><tr><td>S6</td><td>(Line, Plane)</td><td>Prismatic</td><td>Constrain</td><td>T(2), R(3)</td></tr><tr><td>S7</td><td>(Point, Line, Plane)</td><td>Complex</td><td>Constrain</td><td>T(3), R(3)</td></tr></tbody></table>

Let predicate “CON(x, y)” denote associated derived feature x constrains its real integral feature y, predicate “TRA(x, m)” denote m independent translations of real integral feature x, predicate “ROT(x, n)” denote n independent rotations of real integral feature x, the self-referenced feature variations can be represented in FOL as:

$$ (\forall rif) (\exists adf) (CON(adf, rif) \land TRA(rif, m) \land ROT(rif, n)) \quad (1) $$

where $adf \in \{Point, Line, Plane\}$, $rif \in \{Spherical, Cylindrical, Planar, Helical, Revolute, Prismatic, Complex\}$, and $m, n \in \{1, 2, 3\}$.

Similarly, if we let $M$ be one of the associated derived features of a part, $N$ be another associated derived feature of the part, the numbers of the combinations called cross-referenced feature variations are forty-nine. To simplify tolerance design, let $M$, $N \in \{Point, Line, Plane\}$. Other complex situations can be decomposed into simple
ture and y is the constrained feature of x) as follows: (b1_adf, b2_adf), (b1_adf, b3_adf), (b2_adf, b3_adf), (a2_adf, a1_adf), (c2_adf, c1_adf), (a1_adf, a1_rif), (c1_adf, c1_rif), (a2_adf, a2_rif), (b3_adf, b3_rif), (b2_adf, b2_rif), and (c2_adf, c2_rif), where “rif” is real integral feature, and “adf” is associated derived feature.

<table><caption>Table 4. FOL representation model of geometric tolerances, Profile: Profile-any-line, Profile-any-surface, Runout: Circular-run-out, Total-run-out.</caption><thead><tr><th colspan="2">First Order Logic representation model</th></tr></thead><tbody><tr><td>—</td><td>(V/plane1) (V/plane2) ((CON/plane, planar) ∧ TR4/plane1) ∧ ROT/plane2) → Straightness/plane, planar)) ((V/cylindrical) (3/line) ((CON/line, cylindrical) ∧ TR4(cylindrical, 2) ∧ ROT(cylindrical, 2) → Straightness/line, cylindrical)) ((V/revolute) (3/point) (3/line) ((CON/point, revolute) ∧ CON/line, revolute) ∧ TR4(revolute, 3) ∧ ROT(revolute, 2) → (Straightness/point, revolute) ∧ Straightness/line, revolute)) ((V/prismatic) (3/line) (3/point) ((CON/line, prismatic) ∧ Straightness/plane, prismatic)))</td></tr><tr><td>□</td><td>(V/plane1) (3/plane1) ((CON/plane, planar) ∧ TR4/plane1) ∧ ROT/plane2) → Flatness/plane, planar))</td></tr><tr><td>○</td><td>((V/spherical) (3/point) ((CON/point, spherical) ∧ TR4(spherical, 3) → Roundness/point, spherical)) ((V/cylindrical) (3/line) ((CON/line, cylindrical) ∧ TR4(cylindrical, 2) ∧ ROT(cylindrical, 2) → Roundness/line, cylindrical)) ((V/revolute) (3/point) ((CON/point, revolute) ∧ CON/line, revolute) ∧ TR4(revolute, 3) ∧ ROT(revolute, 2) → (Roundness/point, revolute) ∧ Roundness/line, revolute))</td></tr><tr><td>/</td><td>(V/cylindrical) (3/line) ((CON/line, cylindrical) ∧ TR4(cylindrical, 2) ∧ ROT(cylindrical, 2) → Cylindricity/line, cylindrical))</td></tr><tr><td>∩</td><td>((V/revolute) (3/point) (3/line) ((CON/point, revolute) ∧ CON/line, revolute) ∧ TR4(revolute, 3) ∧ ROT(revolute, 2) → (Profile/point, revolute) ∧ Profile/line, revolute)) ((V/prismatic) (3/line) (3/point) ((CON/line, prismatic) ∧ CON/line, prismatic) ∧ TR4(prismatic, 2) ∧ ROT(prismatic, 3) → (Profile/line, prismatic) ∧ Profile/plane, prismatic)) ((V/complex) (3/point) (3/line) ((CON/point, complex) ∧ CON/line, complex) ∧ CON/line, complex) ∧ TR4(complex, 3) ∧ ROT(complex, 3) → (Profile/point, complex) ∧ Profile/line, complex) ∧ Profile/plane, complex))</td></tr><tr><td>//</td><td>((V/line1) (V/line2) (P/AR/plane1, line2) ∧ TR4(line2, 2) ∧ ROT/plane2, 2) → Parallelism/line1, line2)) ((V/plane1) (V/line2) (P/AR/plane1, line2) ∧ TR4(line2, 1) ∧ ROT/plane2, 1) → Parallelism/line1, line2))</td></tr><tr><td>⊥</td><td>((V/plane1) (V/plane2) (P/AR/plane1, line2) ∧ ROT(line2, 2) → Perpendicularity/plane1, line2)) ((V/line1) (V/plane2) (PER/plane1, line2) ∧ TR4(line2, 1) ∧ ROT/plane2, 2) → Parallelism/line1, line2))</td></tr><tr><td>∠</td><td>((V/plane1) (V/line2) (INT/plane1, line2) ∧ ROT(line2, 2) → Angularity/plane1, line2)) ((V/line1) (V/plane2) (INT/plane1, line2) ∧ ROT/plane2, 2) → Angularity/plane1, line2))</td></tr><tr><td>⊕</td><td>((V/line1) (V/line2) (INT/point1, line2) ∧ TR4(line2, 1) ∧ ROT(line2, 1) → Angularity/line1, line2))</td></tr><tr><td>◎</td><td>((V/point1) (V/line2) (INT/point1, line2) ∧ TR4(line2, 2) → Positionpoint1, line2)) ((V/point1) (V/line2) (DIS/point1, line2) ∧ TR4(line2, 2) → Positionpoint1, line2))</td></tr><tr><td>≡</td><td>((V/line1) (V/point2) (INT/point1, line2) ∧ TR4(line2, 2) → Positionpoint1, line2)) ((V/point1) (V/point2) (DIS/point1, line2) ∧ TR4(line2, 2) → Positionpoint1, line2))</td></tr><tr><td>►</td><td>((V/point1) (V/point2) (DIS/point1, line2) ∧ TR4(line2, 2) → Positionpoint1, line2)) ((V/point1) (V/point2) (DIS/point1, line2) ∧ TR4(line2, 2) → Positionpoint1, line2))</td></tr><tr><td>►►</td><td>((V/point1) (V/point2) (DIS/point1, line2) ∧ TR4(line2, 2) → Positionpoint1, line2)) ((V/point1) (V/point2) (DIS/point1, line2) ∧ TR4(line2, 2) → Positionpoint1, line2))</td></tr><tr><td>►►►</td><td>((V/point1) (V/point2) (DIS/point1, line2) ∧ TR4(line2, 2) → Positionpoint1, line2)) ((V/point1) (V/point2) (DIS/point1, line2) ∧ TR4(line2, 2) → Positionpoint1, line2))</td></tr></tbody></table>

For (b1_adf, b2_adf), the associated derived feature of b1 is a line (denoted as line1), and the associated derived feature of b2 is also a line (denoted as line2). The spatial relation of line1 and line2 is **PER**, and line1 constrains the rotations about y-axis and
z-axis of line2. Let predicate “T(f, p)” denote the translations along p-axis of associated derived feature f, predicate “R(f, p)” denote the rotations about p-axis of associated derived feature f, the above facts can be represented in FOL as “(∃line1) (∃line2) (PER(line1, line2) ∧ R(line2, y) ∧ R(line2, z))”. According to the expression “((∀line1) (∀line2) (PER(line1, line2) ∧ TRA(line2, 2) ∧ ROT(line2, 2) → Perpendicularity(line1, line2)))” and the resolution principle in FOL, we have:

((∃line1) (∃line2) (PER(line1, line2) ∧ R(line2, y) ∧ R(line2, z)) → Perpendicularity(line1, line2)) is satisfiable.

Part A

<figure><img src="image_2.png" /></figure>

<figure><img src="image_3.png" /><figcaption>Fig. 1. Parts drawing of the gear pump.</figcaption></figure>

Thus the geometrical tolerance type specified by feature pair “(b1_adf, b2_adf)” is perpendicularity tolerance. For the remaining feature pairs, similarly, we have:

((∃b1_adf) (∃b3_adf) (PER(b1_adf, b3_adf) ∧ R(b3_adf, y) ∧ R(b3_adf, z) → Perpendicularity(b1_adf, b3_adf)) is satisfiable.

((∃b2_adf) (∃b3_adf) (PAR(b2_adf, b3_adf) ∧ T(b3_adf, y) ∧ T(b3_adf, z) → Position(b2_adf, b3_adf)) is satisfiable.

((∃a2_adf) (∃a1_adf) (COI(a2_adf, a1_adf) ∧ T(a1_adf, y) ∧ T(a1_adf, z) → Circular-run-out(a2_adf, a1_adf)) is satisfiable.

((∃c2_adf) (∃c1_adf) (COI(c2_adf, c1_adf) ∧ T(c1_adf, y) ∧ T(c1_adf, z) → Circular-run-out(c2_adf, c1_adf)) is satisfiable.

Through the above steps, the tolerance specifications are obtained (see Table 5).

<table><caption>Table 5. Tolerance specifications of the gear pump.</caption><thead><tr><td>Feature pair</td><td>Tolerance type</td><td>Tolerance value</td></tr></thead><tbody><tr><td>(b1_adf, b2_adf)</td><td>⊥ (Perpendicularity)</td><td>Tol<sub>1</sub></td></tr><tr><td>(b1_adf, b3_adf)</td><td>⊥ (Perpendicularity)</td><td>Tol<sub>2</sub></td></tr><tr><td>(b2_adf, b3_adf)</td><td>⊕ (Position)</td><td>Tol<sub>3</sub></td></tr><tr><td>(a2_adf, a1_adf)</td><td>↑ (Circular-run-out)</td><td>Tol<sub>4</sub></td></tr><tr><td>(c2_adf, c1_adf)</td><td>↑ (Circular-run-out)</td><td>Tol<sub>5</sub></td></tr><tr><td>(a2_adf, a2_rif)</td><td>± (Dimensional-tolerance)</td><td>Tol<sub>6</sub></td></tr><tr><td>(b2_adf, b2_rif)</td><td>± (Dimensional-tolerance)</td><td>Tol<sub>7</sub></td></tr><tr><td>(b3_adf, b3_rif)</td><td>± (Dimensional-tolerance)</td><td>Tol<sub>8</sub></td></tr><tr><td>(c2_adf, c2_rif)</td><td>± (Dimensional-tolerance)</td><td>Tol<sub>9</sub></td></tr></tbody></table>

According to Table 4, the tolerance network of the gear pump is built (see Fig. 2).
<figure><img src="image_4.png" /><figcaption>Fig. 2. Tolerance network of the gear pump.</figcaption></figure>

## 5 Summary

This paper presents a representation model of geometrical tolerances based on FOL. With this model, the generation of geometrical tolerance types can be well implemented, and the semantics of geometrical tolerances can be well explained. One future work will focus on constructing the mathematical model of geometrical tolerances. Another work is to research tolerance analysis and tolerance synthesis based on representation model and mathematical model. Moreover, it is also a valuable work to develop a prototype system of computer aided tolerancing based on the above works.

## Acknowledgements

The work is funded by the National Science Foundation of China (No. 61163041) and the foundation of Guangxi Key Lab of Trusted Software (No. kx201120).

## References

1. Roy U, Li B. Representation and interpretation of geometric tolerances for polyhedral objects--I. Form tolerances. Computer-Aided Design 1998; 30(2): 151-161.

2. Hong Y.S., Chang T.C.. A comprehensive review of tolerancing research. International Journal of Production Research 2002; 40(11): 2425-2459.

3. Srinivasan V. A geometrical product specification language based on a classification of symmetry groups. Computer-Aided Design 1999; 31(11): 659-668.

4. Jie Hu, Guangleng Xiong, Zhaotong Wu. A variational geometric constraints network for a tolerance types specification. The International Journal of Advanced Manufacturing Technology 2004; 24: 214-222.

5. Salomons O W, Haalboom F J, Jonge Poerink H J, Van Slooten F, Van Houten F J A M, Kals H J J. A computer aided tolerancing tool II: tolerance analysis. Computers in Industry 1996; 31(2): 175-186.

6. Desrochers A, Riviere A. A matrix approach to the representation of tolerance zones and clearances. The International Journal of Advanced Manufacturing Technology 1997; 13: 630-636.