or geometric relations such as parallelism or concen-
tricity (Wu et al., 2003). Then, the pattern recogni-
tion corresponds to a sub-graph detection according
to each feature type. The second approach first de-
composes the part into small convex volumes, then
tries to detect specific volume combinations corre-
sponding to features (Geng et al., 2016). The third
approach groups other methods, which can be based
on hints such as 2D sections of the part for exam-
ple (Muraleedharan et al., 2018). Other methods have
been proposed to recognize patterns, based on neural
networks (Jun et al., 2001) or genetic algorithms (Pal
et al., 2005). However, these approaches require a
large and annotated database, which is out of our
scope. Finally, we highlight methods which use sys-
tems of rules based on three previously described ap-
proaches (Wang and Yu, 2014; Vilmart et al., 2018).
These rule systems can be used to infer new informa-
tion or construct a hierarchical system of features, for
example.
However, existing methods seem to have difficul-
ties correctly separating intersecting features. More-
over, some information used to recognize features are
specific to a feature type, which can be a problem
to extend the method to other features. On the other
hand, rule-based methods have been proposed to im-
prove obtained results, by taking the best of the three
approaches. In current literature, it seems that a few
methods propose to recognize features from primi-
tives extracted from a digitized 3D mesh, which are
often inaccurate. It would be interesting to adapt a
rule-based system and take into account all the infor-
mation deduced from both the 3D mesh and the ex-
tracted primitives.
2.2 Repetition Recognition
The second class of patterns contains repetitions from
a reference geometrical structure, such as a fea-
ture, which can be composed of one or many prim-
itives (Urbanic and Elmaraghy, 2008). This repetition
can then be constructed from a predefined scheme,
for example a line or a circle. The main particu-
larity of these patterns is that their components are
regularly spaced. For example, a circular repetition
places the reference feature duplicated regularly over
360
◦
. To recognize repetitions, a first approach con-
sists in the detection of transformation combinations
of a subset of primitives, such as translation, rotation
or scaling (Pauly et al., 2008). A second approach
is based on a symmetry detection, which allows us
to characterize a pattern by a combination of symme-
try planes (Vilmart et al., 2018). Other approaches
propose to use additional informations such as 2D
sections of the object for example (Urbanic and El-
maraghy, 2008). We note that most of the existing
methods only propose to recognize repetitions from
similar primitive subsets and define the extracted pat-
terns in a reference plane, as in standard CAD model-
ing processes.
However, most of these approaches are designed
for models without inaccuracies. In fact, similarity
and placement of inaccurate primitives are more com-
plex and can generate construction ambiguities, par-
ticularly when the complexity of the parts increases.
Therefore, it seems difficult to use existing methods
on reverse engineered models from inaccurate data in
a generic manner, without taking particular cases into
account.
3 PROPOSED PATTERN
RECOGNITION
In CAD modeling, we often construct some patterns
of primitives according to standard rules. In our con-
text, we need to recognize them from a combination
of geometric primitives. Firstly, we focus on neighbor
primitive sets, which can define features. Secondly,
we propose to recognize repetitions. In the context
of reverse engineering, we also propose an applica-
tion to model beautification (Langbein, 2003), which
regularizes primitive parameters with respect to geo-
metric constraints.
3.1 Feature Recognition
In mechanics, each part can correspond to a specific
function. When we focus on them more locally, we
can also find sub-parts which have their own func-
tions. We call these sub-parts features. These fea-
tures correspond to specific mechanical functions or
machining processes, and give some information con-
cerning geometrical relations between primitives. In
this work, we focus on two features, counterbored and
countersunk holes (see Fig. 1), which essentially im-
ply parallelism and concentricity relations. Since we
do not have any a priori information on the part, we
only analyze the geometry of these structures without
infering associated mechanical functions or machin-
ing processes. To recognize these features, we pro-
pose a rule-based method where the rules are defined
by geometrical relations between primitives. First, we
construct a graph which contains relations between
each pair of primitives: neighborhood, parallelism,
orthogonality and concentricity. Then, we define a
convexity relation between two primitives by analyz-
ing the convexity of their intersections. Finally, our
CAD-driven Pattern Recognition in Reverse Engineered Models
245