Figure 2: Cylinders are often represented by a low number
of sides (left). However, subdividing them in order to im-
prove triangle regularity is not possible, because the result-
ing shape (right) is rather interpreted as a flat sided prism
than a cylinder.
the sampling device. A CAD exported model, on the
other hand, usually has a tessellation that is minimal
with respect to the original shape. Therefore there are
many elongated triangles, and even important parts
are often represented by only a very few triangles.
Resampling a CAD exported model regularly, al-
though possible, is generally not a viable approach. A
CAD-exported model usually has all vertices exactly
(up to numerical error) lying on the analytic surfaces
used in the design process. Any resampling always
introduces additional vertices, whose position cannot
be determined so that they also lie on the actual sur-
face of the model (for illustration see Figure 2). On
the other hand, the vertex positions in scanned data
always contain noise that must be taken into account,
which is an issue that rarely occurs with CAD exports.
We have experimented with two fundamentally
different approaches to the problem at hand. First
is based on estimating principal curvatures for each
mesh vertex, which in turn allows us to classify ver-
tices as either planar, cylindrical and possibly spher-
ical. Next, continuous patches of vertices that lie on
a common plane, cylinder or sphere are created using
a region growing technique. Finally, the equation of
each segment is refined.
The curvature based approach depends strongly
on the quality of curvature estimation, which is in
turn dictated by the sampling quality that is typically
rather poor with CAD exported models. Therefore
we have experimented with another, more direct ap-
proach to the problem at hand. Basic primitives, such
as planes, cylinders, spheres and cones are fitted to
local patches of triangles. If a good fit is found, the
segment is then grown by traversing the surface. The
parameters of the representing primitives are refined
using a gradient descent based approach.
After reviewing related work in the following sec-
tion, sections 3.1 and 3.2 will discuss both approaches
in more detail. Note that although some of the de-
sign choices in the algorithm description may seem
arbitrary, we have performed extensive testing of a
plethora of variations, trying to achieve best possible
results in experiments that will be described in section
4. The algorithm flow and parameters described here
result from these experiments and provide the best re-
sults we were able to achieve by either method. Fi-
nally, section 5 will compare the two approaches and
section 6 will conclude the paper.
2 RELATED WORK
Previous work mostly addresses the problem of find-
ing analytic surfaces in dense scanned meshes, mostly
in the context of reverse engineering (V
´
arady et al.,
1997)(Benk
¨
o et al., 2001)(Benk
¨
o et al., 2002). A
bottom-up approach fitting planes, spheres and cylin-
ders has been proposed by (Attene et al., 2006). Prim-
itives are fitted to small patches first, and the patches
are merged in a greedy fashion in order to obtain
larger consistent areas.
An approach based on sampling the surface ran-
domly and searching for fitting planes, cylinders,
cones, spheres and tori has been proposed by (Schn-
abel et al., 2007). This approach has been later used
for filling in missing parts of scanned man made ob-
jects (Schnabel et al., 2009).
Another approach based on extracting and opti-
mizing boundary curves on the primitive shapes has
been proposed by (Jenke et al., 2008). The method is
primarily targeted at scanned indoor/outdoor scenes
with noise and outliers.
Fitted surfaces were also used by (Li et al., 2011)
in order to discover global relations, such as symme-
tries and parallel planes. This kind of global relations
help adjusting the parameters of the fitted surfaces and
improve the reconstruction quality.
Identifying local proxies, i.e. planar or other an-
alytical surfaces, is also a key ingredient in Vari-
ational Shape Approximation(VSA) (Cohen-Steiner
et al., 2004) and its more advanced variants (Wu and
Kobbelt, 2005). While the original VSA algorithm
only uses planes as proxies, the Hybrid Variational
Surface Approximation also allows using spheres and
cylinders as well.
The primitive fitting based approach we describe
is closely related to algorithms discussed in the litera-
ture. On the other hand, using curvatures for identify-
ing analytic patches in triangle meshes has to the best
Analytic Surface Detection in CAD Exported Models
279