checked after each model modification. Feature
model validity is usually checked by solving the con-
straints in the model: a valid feature model is a fea-
ture model that satisfies all its constraints. Modelling
systems which guarantee feature model semantics to
be maintained throughout the modelling process are
called semantic feature modelling systems (Bidarra
and Bronsvoort, 2000). So constraints play an im-
portant role during model creation and modification.
Quite some research work has been done on tech-
niques to enable constraint solvers to be used in in-
teractive applications, such as user interface onstruc-
tion (Borning and Duisberg, 1986; Freeman-Benson,
1993; Hosobe, 2001), and geometric modelling sys-
tems (Hsu et al., 1997; van Emmerik, 1991). How-
ever, in current modelling systems, the specification
and the modification of feature parameters that de-
termine its position/orientation and its dimensions,
is still mostly done through the input of values in
dialog boxes, after which the model is updated ac-
cordingly (Parametric Technology Corporation, 2006;
SolidWorks Corporation, 2006; UGS Corporation,
2006). The main disadvantages of this approach are:
inefficient feedback, making the design task much
slower. Each time the designer changes the pa-
rameters of a feature he has to wait for the whole
system of constraints to be solved and only then
can he see the effect of his changes and check the
validity of the model.
lack of insight on the consequences of the modelling
operation. When changing a parameter the user
can only see the original and resulting model of
the operation. In other words, there is no ex-
plicit feedback on which features were affected
and how.
non-intuitiveness due to the fact that the user is sim-
ply editing values in dialog boxes that do not ex-
press how the feature is affected by the parameter.
As a result of these drawbacks, all too often designers
are forced into using a trial-and-error approach to find
the right feature parameter to be changed or to find the
right value for the parameter.
Good interactive facilities for direct manipulation
of features should always deal with the three draw-
backs mentioned above. In this research, we devel-
oped a new approach that allows the designer to se-
lect a parameter of a feature in the model, and sub-
sequently modify its value interactively, while be-
ing provided with real-time feedback on the conse-
quences of the operation. When the designer is sat-
isfied with the model, he can choose to provision-
ally accept the changes and, eventually, let the system
check the model validity.
The most crucial aspect of this approach consists
of being able to provide real-time feedback on the
changes effected to the feature model. Since this vi-
sual feedback has to be generated several times per
second to support interactive modification of a fea-
ture parameter value, all geometric constraints have to
be solved at that same pace. To achieve this, we de-
veloped a technique that (i) reduces the time needed
to solve a geometric model, (ii) can be applied with
a variety of constraint solvers, and (iii) can be eas-
ily implemented. This technique has been recently
presented in (Lourenço et al., 2006), which contains
a detailed description of our model compilation and
constraint solving approach, together with a perfor-
mance analysis of its prototype implementation.
In this paper we focus on how our approach solves
the other two drawbacks mentioned above. Through-
out the paper, we deal with the situation in which
a real-valued feature parameter that determines a di-
mension, or the position or orientation of a feature in
a feature model, is interactively manipulated by a de-
signer. All aspects of our approach described in the
paper were implemented in SPIFF, a prototype fea-
ture modeling system developed at Delft University
of Technology.
We first introduce various aspects involved in our
approach to direct manipulation of features (Section
2). Next we propose several types of feature han-
dles (Section 3), and describe how they are utilised to
yield advanced interactive facilities (Section 4). Fi-
nally, some conclusions are drawn (Section 5).
2 DIRECT MANIPULATION OF
FEATURES
Features can be modified by manipulating their para-
meters. Although a parameter of a feature can also
be a face of another feature to which it is attached,
or with respect to which it is positioned, this paper
only deals with manipulation of real-valued feature
parameters, such as the dimension of a feature, the
distance of a feature with respect to a face of another
feature, etc. An example of a through hole feature
with its parameters is given in Figure 1, showing the
typical entry fields for the various parameter values.
2.1 Feature Manipulation Phases
Direct manipulation of a real-valued feature parame-
ter consists of two phases. In the selection phase, the
parameter to be manipulated has to be selected. In
the interaction phase, the value of the parameter is
ADVANCED DIRECT MANIPULATION OF FEATURE MODELS
131