• Nie Znaleziono Wyników

Freeform feature modelling and validity maintenance

N/A
N/A
Protected

Academic year: 2021

Share "Freeform feature modelling and validity maintenance"

Copied!
127
0
0

Pełen tekst

(1)
(2)
(3)

Freeform Feature Modelling and

Validity Maintenance

Proefschrift

ter verkrijging van de graad van doctor aan de Technische Universiteit Delft,

op gezag van de Rector Magnificus prof.dr.ir. J.T. Fokkema, voorzitter van het College voor Promoties,

in het openbaar te verdedigen op dinsdag 19 juni 2007 om 15:00 uur door Cornelis VAN DEN BERG

(4)

Dit proefschrift is goedgekeurd door de promotor: Prof.dr.ir. F.W. Jansen

Samenstelling promotiecommissie: Rector Magnificus, voorzitter

Prof.dr.ir. F.W. Jansen, Technische Universiteit Delft, promotor

Dr. W.F. Bronsvoort, Technische Universiteit Delft, toegevoegd promotor Prof.dr. C.M. Jonker, Technische Universiteit Delft

Prof.dr.ir. M.J.L. van Tooren, Technische Universiteit Delft Dr. J.S.M. Vergeest, Technische Universiteit Delft

Prof.dr. G. Vegter, Rijksuniversiteit Groningen Prof.dr. J.-C. L´eon, ENSHMG-INPG, Grenoble

This work was supported by the Netherlands Organisation for Scientific Research (NWO).

Advanced School for Computing and Imaging

This work was carried out in the ASCI graduate school. ASCI dissertation series number 146.

ISBN 978-90-8559-294-5 c

(5)

Preface

The research described in this thesis was conducted at the Computer Graphics and CAD/CAM Group of the Faculty of Electrical Engineering, Mathematics, and Computer Science of Delft University of Technology. It was supported by the Netherlands Organisation for Scientific Research (NWO). Parts of the research have been published before in [41, 42, 38, 39, 40].

During my time in Delft, which extends from 1993 when I joined the university as a student, many people have helped me gain the skills and knowledge to achieve the work in this thesis. I want to thank all of them, and some in particular.

Wim Bronsvoort, who has been my inspiring mentor for many years. I first met him as a lecturer in a geometric modelling class in 1996, immediately grasping my interest for geometric modelling, and feature modelling in particular. Our co-operation intensified as he became my supervisor when I started my final project in the summer of 1999. After I had obtained my MSc degree in September 2000, our co-operation continued in a PhD project. Together we overcame many obstacles that arose on the way to finishing this work. Besides the many professional discussions we had, Wim was always interested in debating important and not so important non-work related issues, such as politics, cycling and football.

Erik Jansen, my promotor, for his helpful feedback. His comments improved this thesis as a whole.

The other members of the committee, for supplying helpful comments after reading the manuscript.

Rafael Bidarra, Alex Noort and Ruud de Jong, being the core Spiff team, for their efforts to improve the Spiff modelling system and for the many professional discussions on the semantic feature modelling approach that were invaluable for realising this work.

Rick van der Meiden and Remco van Arkel, for joining my project as MSc students, injecting many interesting ideas and lines of source code into this project. All other staff members and students of the Computer Graphics and

CAD/CAM Group, for creating a stimulating working environment. Help

was always available when I needed it.

My colleagues at Finalist IT Group, for being supportive, interested and flex-ible, especially regarding my frequent visits to Delft during the last two years.

(6)

use my abilities in the best possible ways. My father has always been interested, even when he was very ill. Unfortunately, he passed away before he could see the final result of my research. In his memory, his initial, which he often wrote in books he acquired, is printed in the upper right corner on the first page of this thesis.

(7)

Contents

1 Introduction 1

2 Freeform surfaces and freeform features 5

2.1 Representation of freeform curves, surfaces and volumes . . . 5

2.2 Freeform surface modelling techniques . . . 11

2.3 Freeform surface feature modelling . . . 13

2.4 Freeform volumetric feature modelling . . . 17

3 Semantic feature modelling 21 3.1 Specification of feature semantics . . . 21

3.2 The semantic feature model . . . 24

3.3 Feature model validity maintenance . . . 28

3.4 Semantic freeform feature modelling . . . 31

4 Constraint solving for freeform features 33 4.1 Parameterisation of freeform shapes . . . 33

4.2 Constraints for Freeform Feature Definition Points . . . 35

4.3 Constraint solving techniques . . . 37

4.4 Prototype-driven constraint solving . . . 38

5 Specification of freeform feature classes 47 5.1 Freeform feature classes . . . 47

5.2 Validity conditions for freeform features . . . 52

5.3 Validation of freeform feature classes . . . 55

5.4 Classification of freeform features . . . 57

5.5 Examples of freeform feature classes . . . 57

5.6 Freeform Feature Class Editor . . . 65

6 Instantiation of freeform features 69 6.1 Creation of freeform feature instances . . . 69

6.2 Feature attachments . . . 71

(8)

6.4 Attachment of freeform extrusion features . . . 75

6.5 Attachment of freeform wrap features . . . 81

6.6 Attachment of blend features . . . 85

7 Validity maintenance for freeform features 91 7.1 Validity maintenance . . . 91

7.2 Validity checking . . . 92

7.3 Geometric property checking . . . 97

7.4 Boundary and interaction constraint checking . . . 101

7.5 Validity recovery . . . 101

8 Conclusions and future work 107

Bibliography 111

Summary 115

Samenvatting 117

(9)

Chapter 1

Introduction

Computer-aided design has given designers precise control of product develop-ment. At the center of any computer-aided design approach are modelling sys-tems. They have evolved from automated tools, whose primary task was to offer a convenient way for executing detail design tasks, to advanced modelling envi-ronments that support many aspects of the product life-cycle, from conceptual design to manufacturing. Pivotal in this respect has been the introduction of feature modelling [34].

Features are the basic elements from which a feature model is built. A more or less accepted definition establishes a feature as a representation of shape aspects of a product that are mappable to a generic shape and functionally significant for some product life-cycle phase [6]. Features were first used in the context of manufacturing planning, corresponding to volumes in a product that could be machined with a single or a sequence of operations. Typical examples of features are slots, holes and protrusions. Feature modelling allows to describe the product model on a functional level.

Nowadays, many modelling systems are labelled feature modelling systems. The modelling facilities of such systems, however, vary quite a lot. Commercial parametric modelling systems are often referred to as feature modelling systems. In such systems, features usually occur at the user-interface level, but not in the model itself. In real design-by-features systems, on the other hand, functional information is kept with the model and the features it is built from. The system then also guarantees that the meaning, or semantics, of the feature model is maintained when changes are applied.

(10)

Figure 1.1: Product model consisting of several freeform volumetric features.

for designing mechanical parts, where volumetric properties of the product model are very important. The work in this thesis is on volumetric feature modelling, and in particular on freeform volumetric feature modelling, in which features can have freeform shapes. An example of a product that can be modelled with freeform volumetric features is shown in Figure 1.1.

Many concepts have already been developed for feature modelling, particularly for regular-shaped feature modelling, which is restricted to prismatic, cylindrical and other simple shapes. Some concepts that are relevant for this work are de-scribed now.

Following the definition of a feature that was given earlier, features can be instantiated from a generic feature definition by entering values for its parameters. A generic feature definition is referred to as a feature class. An important property of a feature class is its parameterisation, which is the mapping from parameter values to feature geometry. A common way of achieving such a mapping is by introducing geometric and algebraic relations between geometric elements within a feature shape. Such relations can be specified with geometric and algebraic constraints, and are solved with a constraint solver [10].

(11)

faces in the model can automatically be recomputed when one of the faces is repo-sitioned. This shows that attachments fit very well in the constraint-based way of geometric modelling that underlies feature modelling.

Finally, maintaining the design intent of a feature model is an emerging, very important concept. Semantic feature modelling is an approach to feature mod-elling that incorporates both geometric and functional aspects in the product model [2, 3]. It clearly separates feature class specification and feature model maintenance. Functional properties of features are declared by constraints in a feature class, e.g. a constraint that restricts the radius of a hole to be between 8 and 12 mm. In this way, a feature class specifies a well-defined meaning for the feature. Because functional conditions are specified in terms of constraints, check-ing such constraints after each modellcheck-ing operation ensures that invalid models are detected. Such an approach guarantees that all design intent, once captured in a model, is maintained, which brings feature modelling to a level really higher than advanced geometric modelling.

Until now, the shape domain for semantic feature modelling has been restricted to regular shapes. In practice, however, because of strength, flow, aesthetic or other requirements, products often contain freeform features, for example in the automotive and aerospatial industries. Extending the semantic feature modelling approach with freeform features is therefore much desired. Although some feature modelling systems have been developed that can handle certain, relatively sim-ple, freeform volumetric shapes, these systems lack capabilities such as validity maintenance. In this thesis, a semantic feature modelling approach for freeform volumetric features will be presented. The concepts of feature modelling in gen-eral that were mentioned above, re-occur in this approach, but sevgen-eral interesting research issues have to be tackled.

The first issue is to find appropriate ways to parameterise such freeform fea-tures. Whereas the parameterisation of regular-shaped features is straightforward, often posed in terms of their dimensions, such as height, width or radius, param-eterisation of freeform features is much more difficult. Simple geometric relations often do not apply to freeform geometry. For example, the angle between two curved surfaces cannot be established unambiguously. Therefore, new ways of definining and parameterising geometry for freeform features have to be found. Obviously, freeform parameters have to be assigned that are clear to the designers that use the freeform features. They should therefore not be obscure parameters related to, for example, the representation of the geometry, but intuitive param-eters that directly relate to the shape of a freeform feature.

(12)

assigned to freeform features. Examples of specific freeform validity conditions are checks on the maximum curvature within a freeform feature face, the order of continuity within a freeform feature face, and the continuity between faces of different freeform features. These conditions can be very useful in a freeform feature modelling context, as the complexity of freeform models often reduces the overview that a designer has, thereby making freeform modelling especially error-prone. Freeform feature modelling systems therefore cannot really function properly without an extensive validity maintenance scheme.

The main goal of the research presented in this thesis is to offer a semantic feature modelling approach that includes freeform features, and in which the above-mentioned issues are addressed. The existing approach for regular-shaped features is adopted whenever possible, and new concepts are introduced when this is necessary.

(13)

Chapter 2

Freeform surfaces and

freeform features

With many state-of-the-art modelling systems, models can be created that have certain freeform geometric aspects. This chapter will survey several approaches to freeform modelling. First, the most important representations for freeform geometry are elaborated. A number of freeform modelling tools and techniques are further surveyed. Then, the concept of freeform surface features, which provide a high level of interaction with freeform geometry, is described. Finally, freeform volumetric feature modelling is introduced, which is the approach at the basis of the work described in the remainder of this thesis.

2.1

Representation of freeform curves, surfaces

and volumes

Geometric entities can be represented in a number of ways. Two common meth-ods of representing curves and surfaces are implicit equations and parametric functions. Both are described in detail by, for example, Piegl and Tiller [29].

Implicit equations for curves in the xy plane have the form

f (x, y) = 0 (2.1)

All points in 2D space of which the x and y co-ordinates satisfy the equation, lie on the curve.

A particular class of implicit equations describes algebraic curves. These are curves for which all points on the curve satisfy a polynomial equation of two variables that represent the x and y co-ordinates of the points:

(14)

Algebraic curves are specifically suitable for representing simple 2D geometry, such as circular and elliptical edges.

Implicit equations for surfaces have the form

f (x, y, z) = 0 (2.3)

They define a relation between the x, y and z co-ordinates of all points on the surface, i.e. all points in 3D space of which the co-ordinates satisfy the equation, are on the surface.

Similar to algebraic curves, also algebraic surfaces can be described with im-plicit equations. They are 3D surfaces for which all points on the surface satisfy a polynomial equation of three variables that represent the x, y and z co-ordinates of the points: p X i=0 q X j=0 r X k=0 aijk· xi· yj· zk= 0 (2.4)

Algebraic surfaces are specifically suitable for representing simple 3D geometry, such as planar faces, cylinders and spheres. For example, a sphere with radius r and center (0, 0, 0) satisfies the equation

x2

+ y2

+ z2

= r2

(2.5) and is thus an algebraic surface. More complex algebraic surfaces can be created by using higher degree polynomials.

In parametric form, the co-ordinates of a point on a 3D curve C or surface S are represented as an explicit vector function of one or two parameters, respectively:

C(u) = (x(u), y(u), z(u)) a ≤ u ≤ b (2.6)

S(u, v) = (x(u, v), y(u, v), z(u, v)) a ≤ u ≤ b, c ≤ v ≤ d (2.7)

In freeform geometric modelling, the parametric form is usually preferred over implicit equations. The main reason for this is that with parametric functions the shape domain is much larger. Further, due to the declarative nature of parametric functions, they are much more suitable for specifying freeform shapes. Some geo-metric tests are, however, easier to perform if an implicit equation for the involved shape is available. An example of such a test is a point-on-surface algorithm.

The most important parametric functions are now elaborated. They are (ra-tional) B´ezier functions and (ra(ra-tional) B-spline functions.

An nth-degree B´ezier curve is defined by C(u) =

n

X

i=0

(15)

Figure 2.1: Moving one control point causes a global change of the B´ezier curve.

with basis functions Bi,n(u) the classical nth-degree Bernstein polynomials given

by Bi,n(u) = n! i!(n − i)! · u i · (1 − u)n−i (2.9)

The coefficients Pi are called the control points of the B´ezier curve. Together

they form the control polygon of the B´ezier curve.

B´ezier surfaces are defined by a bidirectional net of control points and uni-variate Bernstein polynomials as given in Equation 2.9 such that

S(u, v) = n X i=0 m X j=0

Bi,n(u) · Bj,m(v) · Pi,j 0 ≤ u, v ≤ 1 (2.10)

Important properties of B´ezier curves and surfaces are that their control polygons approximate their shape, and that they are contained in the convex hull of their defining control points. B´ezier curves and surfaces are invariant to affine transfor-mations, i.e. a transformation to the resulting curve or surface can be achieved by transforming the control polygon. An important disadvantage is that changing the position of a single control point causes the shape of a B´ezier curve to change globally (see Figure 2.1).

(16)

An nth-degree rational B´ezier curve is defined by C(u) =

Pn

i=0Bi,n(u) · wi· Pi

Pn

i=0Bi,n(u) · wi

0 ≤ u ≤ 1 (2.11)

Rational B´ezier functions are generalisations of nonrational B´ezier functions.

Be-sides the control points Pi and basis functions Bi,n(u), weights (wi) are used,

which give the user extra modelling facilities. Increasing the weight of a control point will pull the curve towards the control point. Rational B´ezier curves are affine and perspective transformation invariant. A local modification of a control point still results in a global change.

A rational B´ezier surface is defined by S(u, v) =

Pn

i=0

Pm

j=0Bi,n(u) · Bj,m(v) · wi,j· Pi,j

Pn

i=0

Pm

j=0Bi,n(u) · Bj,m(v) · wi,j

0 ≤ u, v ≤ 1 (2.12)

Similar to rational B´ezier curves, rational B´ezier surfaces are affine and perspec-tive transformation invariant, and subject to global changes.

To overcome the shortcomings of B´ezier functions, such as the global change property, B-spline functions were introduced. A pth-degree B-spline curve is de-fined as C(u) = n X i=0 Ni,p(u) · Pi a ≤ u ≤ b (2.13)

where Pi are the control points and Ni,p(u) are the pth-degree B-spline basis

functions defined by Ni,0(u) =  1 if ui≤ u < ui+1 0 otherwise (2.14) Ni,p(u) = u − ui ui+p− ui · Ni,p−1(u) + ui+p+1− u ui+p+1− ui+1 · Ni+1,p−1(u)

most commonly defined on a nonperiodic knot vector U = {a, . . . , a | {z } p+1 , up+1, . . . , um−p−1, b, . . . , b | {z } p+1 } (2.15)

The term nonperiodic, nowadays often substituted with the more appropriate term clamped, refers to the property of a knot vector that the first and last knot values are repeated with multiplicity p + 1. A nonperiodic knot vector results in a curve whose start and end points coincide with control points. A knot vector is

defined to be uniform if it has interior knots {up+1, . . . , um−p−1} for which a real

(17)

Figure 2.2: Moving one control point causes a local change of the B-spline curve.

nonuniform. Unless explicitly stated otherwise, the knot vectors in the formulae given here can be either uniform or nonuniform.

B-spline functions are in fact generalisations of B´ezier functions. For a knot vector with no interior knots

U = {a, . . . , a | {z } p+1 , b, . . . , b | {z } p+1 } (2.16)

the B-spline function degenerates to the B´ezier function that was described earlier. In Figure 2.2, the position of a single control point of a B-spline function is changed, causing a modification to the resulting curve. In contrast to B´ezier curves, this change is only local. In general, changing the position of control point

Pi affects the curve C(u) only on the interval [ui, ui+p+1).

A nonperiodic B-spline surface is defined by a bidirectional net of control points, two knot vectors U and V , and the function

S(u, v) = n X i=0 m X j=0

Ni,p(u) · Nj,q(v) · Pi,j a ≤ u, v ≤ b (2.17)

with U = {a, . . . , a | {z } p+1 , up+1, . . . , ur−p−1, b, . . . , b | {z } p+1 } (2.18) V = {a, . . . , a | {z } q+1 , vq+1, . . . , vs−q−1, b, . . . , b | {z } q+1 } (2.19)

(18)

Figure 2.3: Example of a NURBS surface.

defined by

C(u) =

Pn

i=0Ni,p(u) · wi· Pi

Pn

i=0Ni,p(u) · wi

a ≤ u ≤ b (2.20)

where Pi are the control points, wi are the weights, and Ni,p(u) are the

pth-degree B-spline basis functions defined on a nonperiodic, nonuniform knot vector according to Equation 2.15.

NURBS functions are generalisations of B-spline functions, i.e. if all weights for a NURBS have equal values, a B-spline function is obtained. NURBS functions are affine and perspective transformation invariant.

A NURBS surface of degree p in the u direction and degree q in the v direction is a bivariate vector-valued piecewise polynomial function of the form

S(u, v) =

Pn

i=0

Pm

j=0Ni,p(u) · Nj,q(v) · wi,j· Pi,j

Pn

i=0

Pm

j=0Ni,p(u) · Nj,q(v) · wi,j

a ≤ u ≤ b, c ≤ v ≤ d (2.21)

The control points Pi,j form a bidirectional control net, wi,jare the weights, and

Ni,p(u) and Nj,q(v) are the B-spline basis functions defined on the knot vectors

U and V . An example of a NURBS surface is shown in Figure 2.3.

(19)

latter is the determination of the intersection curves of two surfaces. Altogether, NURBS are frequently chosen as the underlying representation in state-of-the-art modelling systems for their flexibility and convenient properties, in pstate-of-the-articular their capability to represent a wide range of shapes.

In this section, B´ezier and B-spline functions have thus far solely been de-scribed for representing individual curves and surfaces. A number of such surfaces can together enclose a volume. The representation for volumes based on this prin-ciple is the boundary representation (B-rep) [23]. Bounded surface patches are connected at edges to form a structure that defines an enclosed volume. Defining such patches that seamlessly connect at their bounding edges is, however, not easy to achieve without modelling techniques as described in the next section.

2.2

Freeform surface modelling techniques

Traditionally, modelling freeform surfaces was done by directly modifying the ba-sic entities that define the surface. Such operations depend, of course, heavily on the representation that is used for the freeform surface. The representations for freeform surfaces that were described in the previous section all use a control polyhedron that generally lies outside the actual surface, making direct modifi-cation of the surface, e.g. by dragging control points and adjusting weights and knot vectors, difficult to comprehend.

More advanced techniques were therefore developed for constructing freeform surfaces. Piegl and Tiller [29] name, among other examples, swung, skinned, swept, Gordon, and Coons surfaces. Without going into the mathematical details, all techniques have in common that a number of curves are used to create a surface. Swinging and sweeping require trajectory and profile curves, where the profile is guided along the trajectory curve to define a surface. Skinning requires a number of cross-sectional curves, through which a surface is interpolated. Gordon surfaces are created by interpolating two sets of curves, one set lying in the u-direction and the other set lying in the v-direction, i.e. a bi-directional curve network. Coons surfaces are special cases of Gordon surfaces. They are defined by four boundary curves, which are interpolated to obtain the resulting surface. For all types of surfaces mentioned above, it is possible to obtain a NURBS representation or approximation. The problem of specifying surfaces is then reduced to defining curves as input for such surface construction techniques.

(20)

environment.

Induced by the difficulties that exist with manipulating freeform geometry, also other techniques for freeform surface manipulation were developed that require less knowledge of the underlying representation of the surface. One such technique is deformation.

Sederberg and Parry [33] developed a freeform deformation design technique that is based on physically meaningful changes in geometry, such as bending, scal-ing, stretching and twisting deformation operations. A geometric object, either a surface or a volume, is enclosed in a user-defined parallelepiped. A user-defined vector transformation, which deforms the parallelepiped, is executed, after which the proportionately deformed geometric object is extracted again. It is possible to define adjacent parallelepipeds that together enclose an object, and execute different freeform deformations on each of them, while preserving cross-boundary geometric continuity.

L´eon and Trompette [22] present another way of deforming freeform surfaces that is more sophisticated than directly manipulating the control point network of the basic representation. Interaction with a surface results in predictable mod-ifications. The control point network is linked to a model of a mechanical system, which simulates the physical behaviour of a membrane, and reduces the number of parameters controlled by the user. The control point network can be deformed by changing mechanical parameters, i.e. by applying simulated forces. A set of vertices of the control point network, to which the forces are applied, must be selected. Several deformation modes are available, e.g. press, stretch and tweak, each having a different impact on the surface. The mechanical system is repre-sented by a linear system of equations, and therefore deformations can be executed in real-time.

Guillet and L´eon [17] extended the latter method by adding certain non-linear geometric constraints and linear continuity constraints. This makes it possible that, for example, continuity conditions between different surface patches are maintained during the deformation of a composite freeform surface.

Qin and Terzopoulos [31] developed a complex deformation method using a physics-based generalisation of NURBS surfaces. Dynamic NURBS (D-NURBS) incorporate physical quantities, such as deformation energy, into the NURBS for-mulation. Control points and weights respond to applied forces, changing the resulting shape of the surface in a natural and predictable way. Modelling re-quirements can be expressed and satisfied through the use of energies, forces and constraints, taking into account several physical parameters, such as mass and elasticity. The proposed model results in a non-linear system of differential equations, which is solved using an efficient finite-element technique. This allows real-time sculpturing of freeform surfaces. Their method has been implemented in a prototype system, in which conventional geometric design methods, such as defining control point networks and sketching profile curves, are used alongside the physics-based method.

(21)

in-teraction with a model than control point manipulation techniques, a designer may still be confronted with characteristics of the low-level representation. This is one of the reasons that freeform features were introduced: they provide an even higher level of interaction.

2.3

Freeform surface feature modelling

Features, both surface features and volumetric features, can be used to specify geometry, i.e. a completely new shape can be created or an existing shape can be adjusted. A feature class contains a generic description of the resulting geometry of the feature, and the manner in which to create it. Instances of the feature can be created by entering a limited number of parameters that determine its shape. The mapping from parameters to shape is called the parameterisation of the feature. Parameters can be anything from numerical values to geometric elements such as limiting lines or cross-sections. In this section, freeform surface features will be described.

Freeform surface feature modelling systems usually come with a library of predefined feature classes. Which feature classes are included depends on the application domain. Some classification schemes have been proposed, two of which are discussed here.

Poldermann and Horv´ath [30] provide a general classification of freeform

sur-face features. This classification resembles the traditional, regular-shaped fea-ture taxonomies, extended with more complex surfaces. Four major classes of freeform surface features are introduced, namely primary surface features, modi-fying surface features, auxiliary surface features, and transition surface features. The primary surface features define the global shape of a product, whereas the modifying surface features represent secondary features that modify the primary surface features. The auxiliary surface features include well-known mechanical features, such as holes and ribs. The transition surface features, corresponding to blends, are included to be able to enforce continuity at surface boundary connec-tions. All given classes of surface features have freeform geometry, represented by NURBS, and a parameterisation is given for each of them.

(22)

are in fact a subset of the features presented by Poldermann and Horv´ath. Three types of deformations are distinguished, namely border deformations, internal de-formations and n-channel dede-formations, depending on the placement of the feature on the surface. Every deformation can be directed into the product (intrusion) or out of the product (extrusion). Two types of eliminations are listed, namely a sharp cut and a finished cut. A finished cut is a combination of a sharp cut and a deformation around the edge of the cut in order to smoothen the cut. Both sharp and finished cuts can be divided into inlets, holes and n-gaps, depending on the resulting connectivity of the surface, respectively simply connected, connected but not simply connected, and disconnected. Fontana et al do not associate any parameterisations with the proposed freeform feature classes. An indication is, however, given as to which types of parameters and conditions might be useful for design by features. It is, among other things, proposed that designers can mark the boundary of the influence area for a feature operation. It is also postulated that continuity conditions should be supported, so that a designer can specify the degree of continuity at a transition between two features.

Poldermann and Horv´ath and Fontana et al present freeform features as ways

to modify a given freeform surface. They distinguish adding, deforming (or sub-stituting) and removing regions of such a surface, and their freeform features are related to these operations.

In a similar fashion, many other modelling tools and techniques thrive on the concept of features in a surface modelling context. Some of this prior work on freeform surface features is now described in some detail.

Cavendish and Marin [8] describe a feature-based surface design technique.

An influence area (Ω0) is marked on the primary surface (S0) by drawing a closed

curve (C0), as shown in Figure 2.4. Another closed curve (C1) is drawn on a

secondary surface (S1), marking the top or bottom face (Ω1) of the feature. A

transition area (ΩT, not shown) is automatically created, forming a smooth

tran-sition between the primary surface and the feature face marked on the secondary surface. By generating this transition surface, and integrating it with the sec-ondary surface, a new feature surface has been constructed. It is easy to modify this new surface, e.g. by modifying the boundary curve on the primary or sec-ondary surface. Features, once defined, can easily be replicated at other positions on the surface by applying the same sequence of operations there. Cavendish [7] later recommended that a combination of this feature-based technique and Seder-berg and Parry’s surface deformation design techniques should be used, which together constitute a two-stage design-by-freeform-features approach. The com-bination of the techniques allows surfaces to be designed that are unfeasible using only one of the methods.

(23)

y x z S0 S1 C1 C0 Ω'0 Ω'T Ω'1 Ω1 Ω0

Figure 2.4: Feature-based surface design technique by Cavendish and Marin; primary, secondary and transition surfaces.

feature is more explicitly controlled by several parameters, such as displacement distance and slope of the blend, than was the case with the technique described by Cavendish and Marin. Close attention is given to the issue of creating appropriate blends, such that a smooth transition from primary surface to feature surface is achieved, avoiding local self-intersection of the blending geometry.

Pernot et al [28] present an extension to the method proposed by Guillet and L´eon [17], mentioned in Section 2.2. Besides providing a deformation tool based on a rigid bar network, it also provides constraints on properties of that bar net-work. These constraints can be related to geometric or mechanical quantities. Geometric quantities can be node displacement, bar length and bar length varia-tion. Mechanical quantities can be, among others, external force, external force variation and variational strain. The constraints are represented by minimisation functions on the properties of bar networks. Using these constraints in combina-tion with a deformacombina-tion tool that uses target and limiting lines, highly customis-able deformations can be achieved. These deformations can be parameterised by, for example, the target and limiting lines, creating so-called fully freeform

deformation features (δ-F4). They present a designer with surface features that

have many degrees of freedom, while particular properties can be assigned to the resulting surface, indirectly, through the bar network.

(24)

peak pass pass pit height function Reeb graph torus (a) (b)

Figure 2.5: Reeb graph and flow curves for a torus.

graph (right) for a torus. The second step in the modelling process is the creation of flow curves, which are curves that run between the critical points defined in the Reeb graph, and roughly outline the geometry of the object. Figure 2.5(b) shows the flow curves for the torus. A control network for the B´ezier patches that represent the surface of the finished product is automatically generated from the flow curves. The individual patches are joined, blending them into a complete product.

Au and Yuen [1] describe a formal, semantic feature language involving freeform surface features and the relations between them, as in a traditional feature graph. A linguistic approach is followed, where features in a feature library and rules for manipulating them are processed as vocabularies and gram-mar rules respectively. The vocabulary here consists of vertices, representing features and composite objects built from several features, and edges, containing object-feature and feature-feature links. The feature-feature links are used to register adjacent features, so that their continuity can be ensured. The feature language grammar consists of start, terminal and non-terminal symbols, all part of the vocabulary, and production rules. The described feature language provides a generic mechanism for defining and manipulating freeform surface features and their constraints. It allows users to build a custom feature library with so-called user-defined features, suited for a specific application.

(25)

the example are roundness, width, depth, etc. Besides shape information, also simple constraints can be included in the feature model. For example, distances between features can be ensured, and for manufacturing reasons curvature can be restricted. Also manufacturing data, e.g. NC programs, can be attached to features. The system does not, however, have facilities for real validity mainte-nance. Simple constraints can be checked, as mentioned above, but it cannot be guaranteed that design efforts result in a valid model.

In another project at Delft University of Technology, an integrated approach for identifying, defining, instantiating, manipulating and recognising freeform sur-face features in a unified system is pursued. Until now, in particular a generic freeform feature taxonomy [26], a generic definition mechanism for freeform sur-face feature classes [27], and a new method for freeform sursur-face feature recogni-tion [21] have been developed. Future work involves, among other things, validity maintenance for freeform surface features, and integration of design by features and feature recognition in a single system.

Several tools for modelling with freeform surface features have been shown in this section. The shape domain of surface features is very large. Pernot et al show that certain properties or constraints can be set, to which the resulting surface must conform. The above surface feature modelling tools, however, lack the capabilities for real validity maintenance, especially for volumetric properties. In the following section, freeform volumetric feature modelling is elaborated, which can be accommodated with such capabilities.

2.4

Freeform volumetric feature modelling

Modelling systems facilitating the creation of volumetric feature models have been available for a considerable time, but, until now, have not widely been applied in a freeform modelling context. Almost all known volumetric feature modelling systems are restricted to modelling regular-shaped features and simple freeform features, e.g. arising from extrusions of freeform curves. Typically, the shape domain of such modelling systems is limited to relatively simple shapes (see Figure 2.6). Freeform volumetric feature modelling can be regarded as an extension towards a more general freeform shape domain.

Freeform feature modelling operations in a volumetric context differ from fea-ture modelling operations with surface feafea-tures. Surface feafea-ture modelling oper-ations are usually posed as deformoper-ations of an existing shape (see Section 2.3), whereas operations on a freeform volumetric feature model are one of the follow-ing:

1. adding a freeform feature, which involves adding a volume bounded by n freeform faces (n ≥ 0);

(26)

Figure 2.6: Volumetric feature model with simple shapes.

of the feature;

3. removing a freeform feature, which involves removing a volume bounded by freeform faces.

The connection between a volumetric feature shape and the feature model is achieved with an attachment. The attach face is a parameter of the feature, and can be changed during the modification of a feature.

Freeform volumetric feature instances are determined by specifying values for the parameters in the corresponding generic feature definition. For regular-shaped features, it is relatively easy to think of parameters that uniquely specify the shape of a feature, e.g. height and radius of a cylindrical protrusion. Also, it is easy for a user to understand what the influence of changing a parameter like height or radius is. It is more difficult to assign intuitive parameters to freeform volumetric features

than to regular-shaped features. Poldermann and Horv´ath [30] asserted that for

the parameters of freeform surface features, three considerations should be taken into account, which apply to freeform volumetric features as well. First, feature parameters must be related to the entities of their geometric representation, such as the control network, weights and knot vectors of a NURBS surface, as the parameters are eventually mapped to this geometric representation. Second, the user must be able to relate the feature parameters to the parameters that are normally used in design, e.g. radius, height, angle, etc. Third, as a designer can only handle a limited number of parameters at a time, the number of parameters assigned to a feature class should be restricted [46].

(27)

(a) w r l h α c1 c2 (b)

Figure 2.7: Freeform protrusion feature with its parameterisation.

do not have knowledge of the mathematical background of the representation, their behaviour is not perceived as intuitive and predictable. Therefore, a high-level representation with parameters that seem logical to the designer is desired, hiding the details of the low-level representation. In Figure 2.7, an example of a parameterised freeform volumetric feature, a four-sided freeform protrusion, is shown, along with a set of parameters that uniquely defines the feature and is easy to comprehend by a user. To implement the above, a mapping has to be performed from the set of parameters to a set of surface patches, which in the case of NURBS are determined by a control network, weights and knot vectors. An unambiguous mapping must be performed, so that for every feature instance whose parameters have been specified, a unique mathematical representation can be generated. The described parameterisation for the four-sided freeform protrusion, complies with

all three considerations that were mentioned by Poldermann and Horv´ath.

In advanced feature modelling systems, several properties that correspond to functional information can also be specified. In a feature class, feature validity conditions that all instances of the class should satisfy can be given. Examples are that the radius of a blind hole should be between 5 and 15 cm, and that the top face of the hole should remain open, i.e. not be covered by any other feature. In addition to feature validity conditions, there can also be model validity conditions, which specify relations on or between specific feature instances in a model. Examples of model validity conditions are that (the side faces of) two slots should be parallel, and that the diameter of a hole should be half of the width of the protrusion it is attached to. Model validity conditions are specified on the instances involved. Validity conditions can be specified with constraints on feature entities, in particular faces or dimensions of the features. A good set of validity conditions is indispensable for specification of features.

(28)

pro-cess. Ideally, all validity conditions of the features, i.e. their semantics, should be checked by the system after each modelling operation. If some validity condition is no longer satisfied, e.g. the top face of a blind hole is no longer open, this should be notified by the system, and preferably the user should be assisted in over-coming this situation. An approach that supports these ideas for regular-shaped features is semantic feature modelling [2, 3], which will be described in the next chapter. Such an approach can guarantee that all design intent once captured in a model is maintained, which brings feature modelling to a level really higher than advanced geometric modelling. In this thesis, an approach for semantic freeform feature modelling will be developed, i.e. an approach that applies concepts such as validity conditions and validity maintenance to freeform volumetric features.

(29)

Chapter 3

Semantic feature modelling

In the semantic feature modelling approach, functional and geometric information is stored in the feature model. Features are, in this approach, high-level entities of a product model. Besides comprising its geometry, features also specify functional meaning, or semantics, to a product model. They define functional requirements and design intent, which have to be maintained throughout the modelling process in order for the product model to remain valid. The mechanism for maintain-ing the validity, or correctness, of a product model makes the semantic feature modelling approach especially powerful. The approach has been implemented in

Spiff, a prototype feature modelling system developed at the Computer Graphics

and CAD/CAM Group of Delft University of Technology.

In this chapter, an overview of the semantic feature modelling approach is given. An extensive description can be found in [2] and [3]. First, the notion of feature semantics is introduced. The subject of the following section is the semantic feature model, in which specific information on the relations between features is stored to assist in the maintenance of the validity of the model. Valid-ity maintenance for the semantic feature model is then discussed. This includes validity checking and validity recovery of feature models. To conclude this chap-ter, several research issues are mentioned that have to be solved before semantic feature modelling can be extended to semantic freeform feature modelling.

3.1

Specification of feature semantics

All information that is needed to create a feature is declared in a feature class. This information includes the specification of its shape, its validity conditions and its interface to the modelling system. The structure of a feature class is depicted in Figure 3.1.

(30)

Figure 3.1: Feature class structure.

specify a basic shape are its height, width, length and/or radius. A compound feature is the combination of several, possibly overlapping basic shapes, e.g. two cylinders for a stepped hole.

The geometry of a feature is a bounded region of space, i.e. a volumetric shape. Its boundary decomposes into functionally meaningful subsets, called fea-ture faces. Each feafea-ture face is labelled with its own generic name, which can be referred to in modelling operations. For example, a cylindrical shape has a top, a bottom and a side face.

A feature class also has a property that indicates whether its feature instances effectively add or remove material from the feature model. A feature can have either an additive or a subtractive nature.

Besides information on the geometry of a feature, also information on func-tional aspects, or its semantics, can be declared in a feature class. In the semantic feature modelling approach, the following validity conditions are available.

(31)

to values between 1 and 10 cm.

Features can also be constrained by means of explicit relations between their parameters. These relations can be simple equalities between two parameters, but also general algebraic expressions involving two or more parameters and constant values. For this, algebraic constraints are used.

During the creation of a feature instance, a set of feature faces is created that encloses the feature shape. However, not all feature faces are meant to effectively contribute to the boundary of the feature model. Some faces merely bound the feature volume. Such topological properties can be specified in a feature class by boundary constraints. They declare which topological variants of a feature in-stance are allowed, stating the extent to which its feature faces should be on the model boundary. Boundary constraints are of two types: onBoundary and notOn-Boundary. The first declares that a feature face should be present on the model boundary, whereas the latter declares that the feature face should not be present on the model boundary. An example of the first is an onBoundary constraint for the bottom face of a blind hole, an example of the latter a notOnBoundary con-straint for its top face. More specifically, feature faces can be constrained to be either completely onBoundary, partly onBoundary, completely notOnBoundary, or partly notOnBoundary.

Feature interactions are modifications of the shape aspects of a feature that affect its functional meaning. An example of a feature interaction is the trans-mutation of a blind hole feature into a through hole, if the depth parameter of the blind hole is increased too much. A classification of feature interactions is shown in Table 3.1. Interaction constraints, included in a feature class, are used to indicate that a particular interaction type is not allowed for its instances.

Certain external information may be required during the creation of a feature instance, e.g. shape parameters and information on positioning and orientation. These external data elements constitute the feature class interface (see also Figure 3.1). Positioning and orientation, in particular, is performed by so-called attach constraints and geometric constraints. Attach constraints couple a feature face to a face already in the model. The latter is supplied by the user as a parameter. The constraints establish co-planarity between both feature faces, taking into account the nature of both involved features to determine the correct orientation of the new feature. Besides attach constraints, geometric constraints position and orient a feature relative to faces of other features present in the model.

(32)

Interaction type Description

Splitting Splits the boundary of a feature into two (or

more) disconnected subsets

Disconnection Causes the volume of an additive feature (or part

of it) to become disconnected from the model

Boundary clearance Causes (partial) obstruction of a closure face of

a subtractive feature

Volume clearance Causes partial obstruction of the volume of a

sub-tractive feature

Closure Causes some subtractive feature volume(s) to

be-come a closed void inside the model

Absorption Causes a feature to cease completely its

contri-bution to the model shape

Geometric Causes a mismatch between a nominal parameter

value and the actual feature geometry

Transmutation Causes a feature instance to exhibit the shape

imprint characteristic of another feature class

Topologic Corresponds to the violation of a boundary

con-straint in a given feature

Table 3.1: Classification of feature interactions

3.2

The semantic feature model

The semantic feature modelling approach requires a specific representation of the feature model, in which dependencies are clearly defined, which has rich semantics, and which has the appropriate properties for maintaining these semantics. The semantic feature model has all these characteristics. It consists of the Feature Dependency Graph and the Cellular Model.

It was shown earlier that the entities in a feature model are related to each other through a variety of constraints. As a result of this, first of all there can be a dependency relation between different features. This could, for example, mean that when a parameter value for one feature is changed, this results in a modifica-tion of another feature. The dependency between two features is unidirecmodifica-tional, thus one can always distinguish the feature that is determined from the feature

that determines. Formally stated, feature f1 directly depends on feature f2 if

f1 is attached, positioned or constrained in some other way relative to f2. And,

feature f1depends on feature f2, if f1 directly depends on some feature f3that,

in turn, depends on f2. Two features are independent if none of them depends

on the other.

(33)

(a) (b)

Figure 3.2: Feature model with its Feature Dependency Graph.

for example, be aligned or placed at a particular distance from each other. They are handled similarly as features, in that they can be created, edited, maintained and removed from the model. However, the dependencies they create are multi-directional, meaning that a modification in any of the involved features results in propagation of those changes to all other features involved with this constraint. This means that model constraints are, in a way, attached to the involved fea-tures, similarly to feature-feature attachments. Model constraint c depends on feature f if c is attached to f . Model constraints overrule original positioning constraints, because otherwise an overconstrained situation could occur.

(34)

(a) Example of a modelled part (b) The Cellular Model a. block l. blindHoleTop b. pocketLeft m. cornerBotRight c. chamferLeft n. cornerTopRight d. ribLeft o. protrRight e. protrLeft p. blindHoleRight f. blindHoleLeft q. ribRight g. cornerBotLeft r. chamferRight h. cornerTopLeft s. pocketRight1 i. blindHoleBack t. pocketRight2 j. chamferBack u. ribFront k. cylindrProt v. blindSlot

(c) The list of features

1. <block> 2. <cylindrProt> 3. <cylindrProt, blindHoleTop> 4. <block, blindHoleTop> 5. <block, cornerBotRight> 6. <block, cornerTopRight> 7. <protrRight> 8. <protrRight, blindHoleRight> 9. <block, pocketRight1> 10. <block, pocketRight2>

(d) Some cell owner lists

Figure 3.3: Cell owner lists in the Cellular Model

Individual cells are bounded by so-called cell faces. It was earlier described that the boundary of a feature shape is decomposed into functionally meaningful subsets, called feature faces. Each feature face is represented by a connected set of cell faces.

Each cell and cell face has an attribute, called owner list, that indicates which feature shapes or feature faces, respectively, it belongs to. See Figure 3.3 for an example of a modelled part (Figure 3.3(a)), its Cellular Model (Figure 3.3(b)), the list of features (Figure 3.3(c)), and the owner lists for some cells in the Cellular Model (Figure 3.3(d)).

The Cellular Model, including its attribute mechanism to maintain and prop-agate the owner lists of cells and cell faces, was implemented using the Cellular Topology husk of the ACIS Solid Modelling Kernel [36].

After each modelling operation, the semantic feature model has to be updated. This means updating the Feature Dependency Graph and the Cellular Model.

(35)

ad-Figure 3.4: Propagation of owner data in a cellular union operation.

dition, modification or removal of a feature or model constraint. The addition and modification of a feature instance is relatively simple. For a feature add op-eration, a new node in the graph structure must be made, and its dependencies stored. For a feature edit operation, an existing node in the graph structure must be adjusted, and its dependencies updated. For a feature removal operation, it must first be checked that the feature has no dependent entities (features or con-straints) in the Feature Dependency Graph. Otherwise, the user has to remove or modify these dependent entities to eliminate their dependencies to the feature instance that is to be removed.

Then, the Cellular Model must be updated, so that changes in the Feature Dependency Graph are also reflected in the evaluated geometric model. This is carried out in two phases. First, the Cellular Model is incrementally re-evaluated. Then, it is interpreted, according to the feature information stored in its cellular entities and the current dependencies among the features.

Evaluation of the Cellular Model is performed with non-regular cellular model union operations on all feature shapes. Because it is a union operation, the order in which the feature shapes are processed is irrelevant with regard to the final Cellular Model. A simple example of a non-regular cellular union operation is shown in Figure 3.4. It can be seen that, after the operation, shared cells and shared cell faces have owner lists that reference (elements of) both features. Re-evaluation of the Cellular Model takes place in an incremental way, so that only an edited feature, and all its dependent features that are also modified by the operation, need to be taken into account.

(36)

of the feature with the highest precedence number in the owner list of this cell. The precedence among features is a dynamic property, i.e. it is subject to revision after each modelling operation.

A precedence criterion determines the order of precedence among any two features in a feature model. At least two precedence criteria are available. For

two dependent features f1 and f2, where f2 depends on f1, f1 precedes f2 by

definition. This means that for cells whose owner list includes features f1and f2,

f2 has a higher precedence number than f1. For two independent, overlapping

features f1and f2of different natures, where the overlap is caused by a modelling

operation on f2, f1 precedes f2 by definition. These two criteria are sufficient to

establish a global sorting of all features in the model.

Recently, the efficiency of evaluation of the Cellular Model has been compared to the efficiency of boundary evaluation for a boundary representation, which is used in most commercial feature modelling systems [5]. It turned out that eval-uation of the Cellular Model is, in fact, more efficient than boundary evaleval-uation for a boundary representation.

3.3

Feature model validity maintenance

In the previous section, the semantic feature model was described in some detail, including procedures that are required to keep the representation of the feature model up-to-date after a modelling operation has been performed. In this sec-tion, feature model validity maintenance is described. Feature model validity maintenance is the process of monitoring each modelling operation in order to ensure that all features conform to the validity criteria specified in their respec-tive classes, and all model constraints are also still satisfied. It involves validity checking and, in case an invalid situation is found, validity recovery.

3.3.1

Validity checking

Within the semantic feature modelling scheme, the following steps can be identi-fied during the execution of a modelling operation (see Figure 3.5). At several of them, validity checking is performed.

Dependency analysis

(37)

Figure 3.5: Generic scheme of a modelling operation.

Interaction scope determination

During a feature operation, not all features already in the model may be affected. By determining the Feature Interaction Scope (FIS), which includes all feature instances in the model that are potentially affected by the operation, it is ensured that features that at this stage are already known to be unaffected do not need to be considered in the interaction detection step.

Geometric and algebraic constraint solving

This step is taken to determine or update the dimensions, position and orientation of all features in the model. For this purpose, a constraint solver attempts to solve the complete Feature Dependency Graph, including possibly new features. This fails if either an overconstrained or an underconstrained situation occurs [11]. In both cases, the operation enters the validity recovery stage. This step is not required during the removal of a feature from the model.

Dimension constraint checking

(38)

is out of the range that has been set by the dimension constraints on them, the modelling operation is considered invalid, and the operation enters the validity recovery stage.

Cellular Model evaluation

Before this step is reached, all feature shapes have obtained their correct shape, position and orientation. The Cellular Model can now be updated to reflect the ongoing modelling operation, as described in Section 3.2.

Interaction constraint checking

After the Cellular Model has been updated, it is used for detection of disallowed feature interactions. Checking for feature interactions may be limited to the features in the FIS that was previously determined. If any interaction constraint violations occur, these are analysed, and detailed information is forwarded to the validity recovery stage.

3.3.2

Validity recovery

When a modelling operation causes the model to become invalid, intervention must take place to return the model to a valid state. This intervention takes place during the validity recovery stage.

Naturally, one way of returning to a valid state is cancelling the ongoing mod-elling operation entirely, returning to the last known valid state, namely right before the modelling operation was executed. However, more sophisticated meth-ods, involving user intervention, can be used that provide ways to overcome the detected validity violations. By providing the user with hints regarding the nature of the detected problem, corrective actions may be chosen other than backtracking to the valid model state just before execution of the modelling operation.

This process is called validity recovery. It consists of reporting errors to the user, including their causes and scope, and providing, whenever possible, context-sensitive corrective hints. The validity recovery process takes place in the reaction loop shown in Figure 3.5. At four stages during validity checking it can be neces-sary to enter the reaction loop.

First, during a feature remove operation, dependency analysis can detect an involved feature f with dependencies. In such case, the user is presented with a list of features that depend on feature f , so that appropriate action can be taken, e.g. removing with f its dependent entities, or modifying them by making them dependent on other features.

(39)

Figure 3.6: Validity recovery in the Spiff modelling system.

Third, dimension constraint checking can detect an invalid parameter value. The user is alerted about the feature and parameter that cause the violation. Also, the allowed interval for this particular parameter is shown to the user.

And finally, during interaction detection, one or more disallowed feature inter-actions can be detected. For each such interaction detected, the user is notified of its causes and its effects. For a particular interaction type, specific feedback is given, with appropriate options to overcome the violation. For example, when an absorption interaction occurs, the option is given to the user to remove the absorbed feature. In another example, when a transmutation interaction occurs, it may be suggested to the user to replace the involved feature by an instance of the class to which the original feature has transmutated.

In all cases, the options that are presented to the user are restricted to those features and model constraints that are involved in the invalid situation, i.e. fea-tures that overlap or have a dependency relation with the affected feature. In Figure 3.6, the user interface of the Model Validity Manager of the Spiff mod-elling system is shown. An invalid situation has occurred, and information on the context of each disallowed interaction can be reported to the user. By specifying corrective actions, the user can ensure that the model returns to a valid state.

3.4

Semantic freeform feature modelling

(40)

involves many interesting research issues, including the following.

The specification of freeform feature classes involves the parameterisation of freeform feature shapes and the inclusion of feature semantics with new types of constraints.

The creation of freeform feature instances includes their attachment to a fea-ture model. Several difficulties can be expected when freeform feafea-tures are placed in a freeform feature model, such as discontinuities.

Also, validity maintenance for freeform feature modelling will be looked at. Because new types of constraints will be included in freeform feature classes, and a freeform feature model is more complex than a regular-shaped feature model, handling of constraints will be different. This implies, among other things, that the generic scheme for handling a modelling operation has to be re-designed.

In the following chapters, these research issues will be elaborated. The starting point is the definition of freeform shapes by points, and the use of several geometric construction methods.

Defining a set of geometric and algebraic constraints is often sufficient for defining a regular shape in a generic way. Specifying angles between adjacent sur-faces and distances between parallel sursur-faces within, for example, a block shape, unambiguously defines such shape. The values of the angles and distances are con-trolled with geometric constraints. In combination with algebraic constraints, a parameterisation can be defined for the shape. For non-regular, freeform shapes, such an approach is not feasible. Parallelity and angles cannot be established unambiguously for freeform surfaces, and other geometric constraints that could be used to position freeform surfaces relative to each other are not available for freeform geometry.

In Section 2.3, curved-based methods were described, such as the method by Cavendish and Marin [8]. Here, curves are sketched on one or more freeform surfaces, and with these curves shapes are constructed. It is, in this approach, not possible to create shapes according to numeric parameter values.

In our approach, we have chosen a point-based definition scheme for freeform shapes. At the basic level, 3D points are used to define curves. With these curves, freeform shapes can be created by using construction methods such as sweeping and skinning. This approach combines the attractive properties of the constraint-based and curve-based approaches. Geometric constraints can be used to define the positions of the 3D points, because distances and angles can be used to unambiguously position 3D points relative to each other, as will be shown in Chapter 4. The 3D points can then be used to create freeform curves, and other modellling elements, with which freeform shapes can be constructed.

(41)

Chapter 4

Constraint solving for

freeform features

A product model consists of a set of interrelated modelling entities. In almost all modelling systems, the relations between these modelling entities are established by geometric and algebraic constraints. One aspect of this is the parameterisation of shapes. This chapter describes the constraint problems that occur during freeform feature modelling as described in this thesis, and introduces a solving method that is particularly suitable for such constraint problems.

4.1

Parameterisation of freeform shapes

Regular shapes, such as blocks and cylinders, can straightforwardly be created by establishing their length, width, height and/or radius. Specifying shapes by such dimension parameters is very intuitive for a designer, because he does not have to manipulate geometric entities of the shape, e.g. edges and vertices, on a very low level. To allow definition of shapes through numerical parameters, a generic shape definition must be available, containing detailed information on how the shape can be constructed. Part of the generic shape definition is its parameterisation. Here, the mapping from numerical parameters to geometry is defined. A shape can then easily be created, or instantiated, from its generic shape definition by specifying values for the parameters.

(42)

Figure 4.1: Parameterisation of a revoluted protrusion feature.

Poldermann and Horv´ath [30] presented a general classification of freeform

surfaces, including parameterisations for several such surfaces, as already men-tioned in Sections 2.3 and 2.4. The described parameterisations reflect the shapes of the corresponding freeform surfaces by their dimensions and by characteristic angles. In Figure 2.7, the parameterisation for a freeform four-sided protrusion feature was already shown. In Figure 4.1, the parameterisation for a revoluted protrusion feature is shown. These examples show that freeform shapes can indeed be defined, and presented to a designer, with only a limited number of numerical parameters.

In order to map a set of numerical parameters to a freeform shape, both geometric and algebraic relations between entities within the shape have to be specifyable. Geometric relations directly influence the resulting geometry of the shape by properties such as distances and angles between faces, edges and ver-tices. Algebraic relations can then be used for defining relations between different geometric properties. In this way, complex combinations of geometric variables within geometric relations can be reduced to a limited number of intuitive shape parameters.

(43)

FFDPs reflect shape properties of the resulting shape in a direct manner. For example, it is possible to specify the distance between two FFDPs in the contour of a sweeping operation, thereby setting the width of the resulting shape. A set of interrelated FFDPs is referred to as a configuration of FFDPs.

4.2

Constraints for Freeform Feature

Definition Points

In a feature model, all entities are related to others. For example, a feature model consists of features that are attached to other features, but also the entities within a single feature, such as its faces, are related. To specify such relations, constraints are set between entities in the feature model. These are stored in a constraint graph.

Constraint solving is required at more than one stage during the creation and inclusion of a feature in a freeform feature model. First, constraint solving is performed to obtain the initial shape of the new freeform feature. Then, the new feature is included in the global constraint graph of the feature model. When this global constraint graph has subsequently been solved, the new feature shape is positioned in the feature model according to the solved attach and positioning constraints.

Regular shapes can be represented in a constraint graph by basic geometric properties, because the variations of a regular shape are very limited. For example, a planar face can be represented by one geometric variable, consisting of three vectors, one for each co-ordinate direction x, y and z. This is based on the assumption that the face is planar, and that the normal for the face is equal for every point on the surface. A block, consisting of six planar faces, can then be represented by six geometric variables, between which geometric constraints can be set, in particular parallelity and distance constraints between, for example, the top and bottom face variables. The distance constraint in this particular example represents the height parameter of the block.

(44)

P0 P1 P2 P3 P4 P5 a0 a1 a2 d0 d1 d2 d3 d4 d5

Figure 4.2: Distance and angle constraints between FFDPs.

A distance constraint between FFDPs pa, pb ∈ R

3

is defined as:

k pa− pbk = dab dab∈ R

+

(4.1)

where dabcan be a variable or a fixed value.

An angle constraint between FFDPs pa, pb, pc∈ R3is defined as:

pa− pb

kpa− pbk

· pc− pb

kpc− pbk

= cos(αabc) αabc∈ [0, π] (4.2)

where αabccan be a variable or a fixed value.

These two geometric constraint types are sufficient to fix an FFDP anywhere in 3D space, relative to any three already fixed FFDPs in a configuration.

A positional fix constraint on FFDP pa∈ R

3

is defined as:

pa= Pf ixed (4.3)

where Pf ixed ∈ R

3

is a fixed position. Positional fix constraints are used to set the position of an FFDP, and retain it in that position. They can, for example, be used to position an FFDP onto geometry already in a feature model. By specifying several positional fix constraints in a configuration of FFDPs, a number of distance and angle constraints are implicitly defined, thereby reducing the number of explicit constraints that are required.

An example system of several distance and angle constraints, defined between several FFDPs lying in a plane, is shown in Figure 4.2. Not shown are additional constraints that ensure that each FFDP lies in the plane.

Cytaty

Powiązane dokumenty

Instrukcja bezpieczeństwa przemysłowego zawierała następujące wy- magania dotyczące zapewnienia przez wykonawcę odpowiednich warunków ochrony informacji niejawnych:

Tak więc dowiedziałam się, że w domu śpiewają Mickiewicza, mówią Mickiewiczem, że, Boże, ile ja od nich, przez nich mam tego w głowie, w uszach.. Nie wiem, czy matka i

Choiński (2007) podkreśla, iż poznanie morfometrii jezior stanowi podstawę do określenia m.in.: zasobów wodnych, bilansu wodnego, kierunku i tempa ewolucji czy przebiegu

Based on relatively generic partition refinement concepts, a con- crete model checking approach is developed, requiring the inclusion of a TCTL decision making approach, as well as

The organization of this chapter is as follows: first, in Section 7.1, we will propagate the principle of signal processing to the field of shape modeling, and conclude the general

– 2 instructions of different processes that increment the same global variable – 2 instructions of different processes writing to/reading from different

counterexample for AF φ = example for EG ¬φ counterexample for AG φ = example for EF ¬φ ( fair counterexample is always an infinite path ).. OBDDs are routinely used in

In the paper, we present a structural proposal, 3D model and an implemented laboratory device for checking the functionality of the elevator rope sensors, which was as-