ISSUES ON FEATURE-BASED EDITING AND INTERROGATION OF SOLID MODELS
ION OF SOLID MODELS
JAROSLAW R. ROSSIGNAC
IBM,
Research Division,
T.
J.
Watson Research Center, P.O. Box
704, Yorktown Heights, NY 10598
Abstract
-Operations that create additive
or subtractive volume features, such as bosses or slots, simplify
the computer aided design
of
mechanical parts. Surface features, whether extracted automatically
or selected
interactively, group functionally related boundary elements, and thus provide an expedient interface between
CAD systems and analysis
or
manufacturing applications. Despite much progress in CAD, design remains
an iterative process and involves error-prone modifications of previous solutions. Features should
in
principle
offer
a
high level vocabulary for characterizing errors and for specifying how they should
be
corrected. This
paper points out the semantic ambiguities
of simplistic feature-based commands for editing models. It
recommends procedural models for editing volume features, and corrective volumes for editing surface
features. It shows how space decomposition techniques and CSG expressions based on active zones reduce
the cost of executing an editing command. Error detection may be automated by supporting intentional
features, which correspond to the desired characteristics of the
model,
and by endowing them with domain
dependent validity criteria expressed in terms of associated geometric elements. The paper demonstrates
that validity may be tested by simply interrogating a mixed-dimensional geometric structure which is used
to represent not only the model, but also the interactions between the geometric elements associated with
intentional features.
1.
INTRODUCTION
Solid modelling improves the efficiency of the design
mulating validity checks that assess the compliance
of the model with the designers intent.
process for manufactured parts by supporting the geo-
metric representations of these parts. It provides
Expressing and performing engineering changes or
simply corrections of design errors may be eased by
graphic feedback to the designer and offers interfaces
to some analysis applications. Despite recent Progress
in computer hardware and in interactive graphics,
geometric design of three-dimensional shapes remains
a complex and time consuming task. Since geometric
representations
Of
complex mechanical parts tend to
be
verbose, various abstractions, globally called
geo-
metric features,
are often used to characterize certain
types
of shapes or to refer to Portions of a part model
that may
be
important to the designer
or to an appli-
cation program.
Features are used in Computer Aided Design and
Manufacturing for a variety of purposes:
Geometric features provide a concise description of
the parts characteristics[
1] and thus simplify group
technology and process planning. They also facilitate
the communication between designers and solid
modelling systems.
Features provide a mechanism for attaching product
or manufacturing information and various attributes
to specific parts of a geometric model (see for ex-
ample [2] for attaching tolerance information to
features).
The properties intuitively associated with common
feature types define many convenient shape altering
operations[3] that attempt to create features
of
specified types and dimensions.
Access to the geometric elements that compose a
feature simplifies the interrogation of shape by pro-
viding a naming scheme for sets of boundary ele-
ments [2], a convenient vocabulary for expressing
relevant dimensions and positions [4] and for for-
using geometric features [5]
.
This paper focuses on the last two issues, namely
the use of geometric features to automate-or at least
simplify-the editing of the solid model and the
checking of the models compliance with functional
requirements (validity conditions).
Most C
A
D models of 3D manufactured parts are
crea
t
e
d b
y
combining and incrementally modifying
simple models. These combinations and modifications
are often conveniently expressed in terms of Boolean
operations. The primitive shapes from which the mod-
els are constructed are often restricted to arbitrarily
positioned and sized solid primitives (blocks, cylin-
ders, spheres
...),
generic volume features (holes, slots,
bosses
...),
and linear or circular extrusions of 2D re-
gions. The resulting part models can thus be repre-
sented by a CSG (Constructive Solid Geometry)
tree [6], which leads to certain algorithmic advantages
(see [7-9] for examples) and to an obvious archival
conciseness.
CSG expressions may be complex, and the end-user
often prefers to interact with a boundary model, which
is algorithmically derived from CSG [10] and contains
the list of faces and their adjacency graph [11]. There-
fore, it is important to develop techniques for inter-
actively specifying validity conditions and modifica-
tions in terms of boundary elements (faces, edges, and
their incidence graphs) rather than in terms of CSG.
Domain-dependent features provide a particularly
convenient vocabulary for accessing relevant groups
of boundary elements. On the other hand, direct
boundary editing is error-prone, and editing operations,
even if specified in terms of boundary information,
149
50
J
AROSLAW
R. ROSSIGNAC
should be translated into mathematically well-defined
(nonambiguous) operations, such as Boolean set op-
erations or global rounding and filleting opera-
tions[
12].
Besides, it is important to maintain a CSG
representation of the model and to express validity
conditions
in
terms of CSG
so
that the model can be
parameterized, easily edited, and reused.
This paper studies the translation process, which
takes validity conditions or model modifications ex-
pressed in terms of features (and thus of boundary
elements) and performs the appropriate model mod-
ifications using CSG operations. Due to a lack of for-
malism of the semantics of feature-based specification,
automatic translation remains a challenging research
goal (some pitfalls of a naive translation process are
pointed out in Section 3). Several new or recently de-
veloped techniques are discussed, which do not always
provide the correct translation, but at least increase
the designers vocabulary or can automatically generate
a tentative solution, which may have to be further ad-
justed by the designer. Furthermore, the paper ad-
dresses the issue of efficiently performing the model
modifications or the validity tests by using informa-
tionally rich geometric structures and properties of
Boolean expressions.
The paper is organized as follows:
The basic concepts and terminology are introduced
in Section 2.
Section
3
points out some of the limitations of a
straightforward use of features for editing and inter-
rogating solid models. This section focuses on con-
cepts and techniques rather than on their historical
evolution or implementation, (For a more formal
survey of the literature on features, the reader should
refer t
o [13, 14].)
The importance of procedural models for capturing
the designers intent into a flexible parameterized
sequence is emphasized in Section
4.
To edit a feature
explicitly created by an operation, it may be simpler
to ask the feature what operation created it, change
the parameters of that operation, and reexecute the
entire sequence.
Reexecuting the entire sequence amounts to evalu-
ating the boundary of a CSG representation, and
may be very costly for large CSG models. A new
approach that reduces the reevaluation cost is pre-
sented in Section
5.
It derives a CSG expression for
the regions that must be added to, or subtracted from,
the solid model. Furthermore, Secti
on 5 also presents
a recently developed mixed-dimensional geometric
representation called SGC (Selective Geometric
Complex). Algorithms for SGCs generate a subdi-
vision of space imposed by the features. This sub-
division can be used
to
reduce considerably the
amount of geometric calculations and of logic
expression evaluations necessary to perform the fea-
ture-editing operations.
Some features do not correspond to a single opera-
tion, and it may be too complicated to identify all
the operations in the sequence that must be edited
in order to rectif
y an invalid feature. Section 6
demonstrates
on
some simple examples how correc-
tive volumes, obtained by extruding feature faces,
can be used to perform simple feature alterations
without reexecuting the design sequence.
In
more
complicated situations, these corrective volumes
must be trimmed before they can be added to-or
subtracted from-the model of the part. Without
the trimming step, side-effects may appear, especially
when several features interact or when compound
features incrementally created by successive oper-
ations, are edited. Trimming is best performed using
Boolean operations, but producing a timming CSG
expression may prove difficult and remains the de-
singers responsibility.
Section 7 addresses the problem of feature validity.
Specifically, it shows how features may be efficiently
tested by interrogating the corresponding SGC rep-
resentation.
2.
BASIC CONCEPTS AND TERMINOLOGY
This section clarifies the disti