Types of Constraints

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 17

COMPUTER-AIDED

DESIGN
Computer-Aided Design 33 (2001) 17±33
www.elsevier.com/locate/cad

Derivation of a standard set of geometric constraints for parametric


modeling and data exchange
B. Bettig a, J. Shah b,*
a
Mechanical Engineering-Engineering Mechanics, Michigan Technological University, Houghton, MI 49931-1295, USA
b
Mechanical and Aerospace Engineering, Arizona State University, Tempe, AZ 85281-6106, USA
Received 7 July 1999; revised 25 February 2000; accepted 1 March 2000

Abstract
This paper describes the derivation of a consistent and comprehensive set of geometrical constraints for shape de®nition in CAD. Such a
set is needed to enable compatibility in parametric data exchange and to promote both standard capabilities and predictable solutions from
constraint solving software kernels. The paper looks at the mathematical basis for constraints present in the literature and elaborates about all
types of constraints that can be described by the same mathematical basis. Exhaustive combinations of distance and angle constraints, on one
point or all points of curves and surfaces, as well as transformations and mappings that are required in mechanical design are included in the
proposed taxonomy and representation. Consistency is promoted by distinguishing necessary constraint types from redundant constraint
types. Comprehensiveness is promoted by including all constraint types from the literature that are within the scope and considering
combinatorial variations of them. q 2000 Elsevier Science Ltd. All rights reserved.
Keywords: Parametric data exchange; Geometric constraints taxonomy and representation; Geometric modeling

1. Introduction are given as parameters. The values of these parameters


can vary, thus providing an ªinstanceº of a part in a part
There is a need in the Computer-Aided Design (CAD) family. If only the geometric entities are transferred, the ®le
community to standardize the classi®cation and speci®ca- only has the data shown in Fig. 1(b) plus topological (e.g. B-
tion of geometric constraints. While the representation of rep) data. The receiver of the ®le is able to know the part
solid models is now well developed and established in the geometry for a single instance. This is enough information
literature, in solid modeling kernels and in exchange stan- to NC machine an instance of the part, for example, but does
dards, the representation and exchange of geometric not provide the design intent necessary for someone else to
constraints is still evolving. Two ISO/STEP sub-committees edit the part and does not identify the controlling parameters
are currently engaged in the development of short and long- for con®guration design. As well, it does not provide suf®-
term solutions to the exchange of parametric data. The work cient information to design a manufacturing plan that can be
presented in this paper is motivated by the desire to provide used for all variations of the part. The additional dimension-
a rational basis for standards of the future. ing information from Fig. 1(c) must also be transferred, or
The use of geometric constraints in shape de®nition is inferred.
also growing, as evidenced by the proliferation of CAD The bene®ts of parameterized descriptions of parts are
software systems supporting parameterized geometry. Para- clear, but what types of dimensioning are necessary and
meterized geometric models are used because they allow the should be supported? In the example, only DISTANCE
geometry to be easily edited, inherently include design and ANGLE dimensions are used, but what other
intent information and allow a family of different sized constraint types are needed for more complex parts?
parts to be represented by a single model. For example, Various parts of proposed standards and constraint solvers
the dimensioned part shown in Fig. 1(a) is dimensioned differ in these respects. For example, the current ISO/
with literal values and three dimensions (d1, d2 and d3) STEP working document [1] has a SAME_DIRECTION
constraint, while ENGEN [2] does not. D-Cubed DCM
* Corresponding author. Tel.: 11-480-965-6145; fax: 11-480-965-2412.
[3], a commercial product, has a single DISTANCE
E-mail addresses: bettig@mtu.edu (B. Bettig), jami.shah@asu.edu constraint, while the standards employ separate constraints
(J. Shah). when dealing with points (POINT_DISTANCE), lines and
0010-4485/00/$ - see front matter q 2000 Elsevier Science Ltd. All rights reserved.
PII: S 0010-448 5(00)00058-0
18 B. Bettig, J. Shah / Computer-Aided Design 33 (2001) 17±33

d1 20 of surfaces for use in tolerance analysis. These relations are


10 all reducible to distance and angle relationships. Kandikjan
5˚ 5˚
and Shah [10] provide distinction between different types of
15 5˚
d2 distance and angle relationships based on degree and direc-
tionality of freedom removed from target entities.
20 In the ISO/STEP community there has been a desire to
d3 develop a standard set of geometric constraints for exchan-
(a) dimensioning ging parametric product data models between commercial
systems. As part of the standards development process, a
#1=PLANE((10.,0.,0.),(0.,-1.,0.));
#2=PLANE… procedural model [11] and a more comprehensive model [2]
#12=LINE((0.,0.,0.),(0.,0.,1.)); have been proposed toward this goal. The latter de®nes not
#13=LINE… only geometric constraints but also algebraic equations and
#28=POINT((0.,0.,-8.25));
#29=POINT… construction history. However, 3D geometric constraints are
(b) geometric entities not included. The issues associated with geometric
constraint representation are described by Pratt [12] and
#40=PARAMETER(‘d1’,30.);
#41=PARAMETER… the current ISO/STEP parameterization and geometric
#43=DISTANCE(#1,#3,#41); constraint standards working document [1] has been devel-
#44=DISTANCE…
#50=ANGLE(#9,#4,5.);
oped. This standard continues to be developed and though
#51=ANGLE… agreement is being achieved it is not clear whether the
(c) parameters and declarative constraints standard contains all types of geometric constraints likely
to be needed in the near future.
Fig. 1. A parameterized part. In the constraint solving literature, many researchers have
also informally described the types and categories of
planes (PARALLEL_WITH_DIMENSION) or general geometric constraints solved by their respective systems
curves and surfaces (PARALLEL_OFFSET_WITH_DI- [13±22]. Though a certain amount of uniformity exists in
MENSION). These differences are summarized in the the types of geometric constraints that are described, there is
Appendix. These differences indicate that a systematically suf®cient diversity to suggest that the problem is not yet
derived standard set of geometric constraint types is neces- completely understood. Anderl and Mendgen [21], in parti-
sary. A standard set of constraint types would be useful for cular, indicate that the exchange of constraint-based models
both parametric data exchange and for the development of is still an open issue. Table 1 classi®es the different kinds of
constraint solving kernels. Parametric data exchange is constraints between points, curves and surfaces in the
considered in this study in order to promote compatibility geometric constraint representation and solving literature
and interchangeability of information. The requirements for and shows the different terminology that is used.
future constraint solving kernels are also considered in order
to promote standard capabilities, predictable solutions and
2. Research overview
standard Application Programming Interfaces (API).
Several researchers have proposed standard sets of
2.1. Scope
geometric constraint types useful for shape de®nition.
These have been proposed for various reasons: data The investigation is limited to considering geometrical
exchange, API to solvers, problem formulation, user inter- entities from the STEP Part 42 geometry schema [23] and
face/geometry construction in CAD software. A formal include only the following entity types and their sub-types:
model was developed by Kramer [4], who proposed
ªmarkersº (a point and two orthogonal axes) as primitives ² Direction
that could be ®xed to bodies in order to relate them to each ² Cartesian point
other by means of six basic binary or ternary constraints ² Curves: Line, Conics, B-Spline Curves
(e.g., coincidence, offset_x). This approach is particularly ² Surfaces: Elementary Surfaces, B-Spline Surfaces.
suited to the representation of kinematic linkages, but is less
suited for shape de®nition since point, curve and surface Directions are included as distinct entity types so that these
entities are not referenced explicitly. Shah and Rogers [5] can be referenced explicitly. In some schemas only resolved
proposed ®ve basic structures (part_of, structuring_relation, directions of lines, planes and axisymmetric entities are
Deg_of_free, motion_limit, and ®t) for declarative model- referenced. The conic curves from STEP Part 42 include
ing of parts, features, and assemblies. [6±8] provide a devel- the circle, ellipse, hyperbola and parabola. The elementary
opment of ªstructuring_relationº constraints between point, surfaces include the planar, cylindrical, conical, spherical
line and plane that also account for positive and negative and toroidal surfaces. B-Spline curves and surfaces can have
line directions and plane normals. CleÂment et al. [9] have knots and can be rational. Topological information is not
also formalized geometric relations between six basic types used.
B. Bettig, J. Shah / Computer-Aided Design 33 (2001) 17±33 19

Table 1
Survey and classi®cation of general geometric constraint types

Constraint type groupings Terminology used by references Comment

1. Distance, angle Dimensional constraint [10,12± Term ªdimensional constraintº


16], metric constraint [17], is most common
geometric design constraint [18]
2. Coincident, incident, Logical constraint [15], Terms ªlogical constraintº,
tangent, concentric, coaxial, geometric constraint [12,13] ªgeometric constraintº and
parallel, perpendicular structural constraint [17], ªstructural constraintº are
dimensional constraint [14,16], sometimes used for constraints
geometric design constraint [18] not involving dimensions
3. Radius, major axis, focal Geometric property de®nition Term ªdimensional constraintº
distance, etc. [18], dimensional constraint is most common. Suzuki et al.
[12,13], metric constraint [17] make a distinction on these
constraints which directly set
property values
4. Fixed, ®xed coordinate, Geometric property de®nition Many references do not include
®xed direction, horizontal, [17±20] constraints which stop rigid
vertical body motion
5. Horizontal distance, Dimensional constraint [16] Most references do not include
vertical distance constraints which are relative to
a coordinate frame
6. Distance along curve, area, Geometric constraint [16], Except for distance along curve,
moment of inertia, etc. engineering constraint [2] these constraints, that may be
described in terms of de®nite
integrals, are seldom mentioned
7. Midpoint, symmetric, etc. Geometric constraint [12], Constraints that involve
structural constraint [17], positioning relative to reference
position constraint [2] geometry(s)

Only constraints referencing the above geometric entity Also out of scope is the problem of distinguishing
types are considered. All classes of constraints from Table 1 between and choosing from multiple solutions. (This will
are considered except for row 6, the integrational be examined in a later paper). Only 3D geometry is consid-
constraints. Integrational constraints are not considered ered, but the constraint de®nitions should be readily conver-
because they depend on topological information. tible to 2D.
Also out of scope are constraints that are not directly used
to generate the positions of geometric entities. The term 2.2. Research objectives
ªactiveº constraint is used to denote a constraint that contri-
butes to the shape generation and the term ªpassiveº denotes The primary objective of this research is to systematically
a constraint that does not. An example of a passive derive a comprehensive and consistent set of geometric
constraint is INSIDE (sphere1, sphere2), where sphere2is constraints for shape de®nition so as to provide a rational
constrained to be inside sphere1. While this constraint can basis for data exchange standards and neutral API's for
bound the possible positions and radii of the spheres, it does geometric constraint solvers.
not take away any degrees of freedom in calculating them. In the geometric constraint representation and constraint
Active constraints can be described in terms of algebraic solving literature, different classes of constraints are
equations, while passive constraints may be described in evident, as shown in Table 1. The most prevalent are
terms of inequalities or in other ways. Passive constraints distance and angle constraints between pairs of geometric
are out of scope for this research. entities. Setting distances and angles to zero derives coin-
The solution methods to satisfy systems of these cident, incident, tangent, concentric, paralleland perpendi-
constraints are not considered, making the derived set of cularconstraints. Setting zero distances to resolved
constraints independent of any particular solving strategy. geometry (center point or axis line of the constrained
Note that the paper does not propose any new solution tech- element) derives concentric and coaxial constraints.
niques nor do we attempt to survey the state of the art in Constraints such as radius, major axis, focal distance, etc.
solving (several good surveys exist). Instead, the paper are used to set intrinsic shape property values. Constraints
focuses on the representation of geometric constraints. As such as ®xed, ®xed point, ®xed_horizontal, etc. set geometric
well, not all constraint types derived here may be solvable property values that limit rigid body motion. Constraints
by current technology, but the research here should provide such as distance along curve, area and volume may be
a framework for future research in geometric constraint described mathematically as de®nite integrals of bounded
solving. geometry. Constraints such as midpoint and symmetric
20 B. Bettig, J. Shah / Computer-Aided Design 33 (2001) 17±33

relate more than two geometric entities and can often be


Design
de®ned in terms of the above constraint types. Rigid setsare Parameters Geometrical
used to position groups of geometric entities as a single unit. Entities
I Value Hold ers
The premise of this paper is that all geometric constraint
types likely to be required in the near future fall into the
II Relationships
eight classes shown in Table 1. By determining all Constraints
constraint types implied by the mathematical basis of each
class a ªcomprehensiveº set of constraint types can be
Fig. 2. The relationship between design parameters, geometrical entities
derived. That is, a set comprising all constraint types from
and constraints.
Table 1 as well as all identi®able variations of these
constraint types. These variations should also consider the
various types of geometric entities constrained, including 3. Assumptions/derivation rules
arbitrary curves and surfaces.
Besides being comprehensive, the set should also be To derive the set of constraint types some assumptions
ªconsistentº. A consistent set is obtained by including are ®rst made:
only the basic, required constraint types. Compound
constraints, which can be modeled as combinations of 1. Separate existence of Constrained Entities and
other constraints, should not be included. For example, a Constraints (Relations) as shown in Fig. 2, an Entity-
constraint equivalent to a prismatic kinematic joint can be Relationship model is followed in which parameters
modeled with one distance constraint and one angle and geometrical entities are used to hold the values of
constraint. Such a constraint should not be included in this variables and constraints are used to specify relation-
set. Overlapping constraints, where different constraint ships. The values of variables give the shape (current
types yield the same results should not be included. Similar instance). Constraints specify relationships between
constraint types, differing only in the type of entities to parameters, between geometrical entities and between
which they apply, should be uni®ed by generalizing parameters and geometrical entities (i.e. algebraic, logi-
constraint de®nitions to encompass both uses. cal and dimensional constraints respectively).
A third requirement is that the constraints be intuitive for By this assumption, the declarative approach to para-
a mechanical designer to use. Standard dimensioning prac- metric design and not the procedural approach is
tice (e.g. as found in ASME [24]) reveals the level of followed. In the procedural approach, a new geometrical
abstraction at which designers operate. This is the level of entity (point, curve or surface) is de®ned in terms of the
abstraction at which geometric constraints are naturally positions of existing geometrical entities (e.g. a new line
added to a design. The derived constraint types should there- is constructed which lies on two existing points). In the
fore be at a similar level of abstraction. Note that this is a procedural approach, the geometrical constraints are
subjective requirement. implied, not explicit. In the declarative, or ªexplicitº
The problem of this paper, then, is to derive a set of constraint approach, the geometric entities are declared
geometric constraints for parametric shape description that ®rst, then constraints between these entities are declared
is: (e.g. create line, then create two INCIDENT constraints
with existing points). These declared constraints are
1. comprehensive, encompassing all constraints in Table 1 referenced individually and can be individually removed
and all constraints having the same mathematical basis as or replaced.
those in Table 1; 2. It is assumed that the number and types of constrained
2. consistent, not including compound constraints, overlap- entities and constraints are constant in any given
ping constraint types or entity-speci®c constraint type problem. In deriving the set of constraint types, we
variations; 1 and assume that evaluation/querying of constraint systems
3. intuitive, being at the same level of abstraction as does not require or cause new entities or constraints to
elements of standard dimensioning practice. be added, removed or to have their types changed. In
particular, the topology is constant. The implication of
Item (1) guarantees that the set includes all currently used this is that ªpatternº constraints specifying arbitrary
constraints and all variations of currently used constraints numbers of repetitions of features are not included.
that might be desirable in the near future. Item (2) leads to 3. All entities can ultimately be de®ned in terms of
simpler schemas for parametric data exchange and easier scalar variables and all constraints can ultimately be
standardization of solver API's. Item (3) leads to more intui- de®ned in terms of scalar variable equations. Passive
tive usage by geometry designers. constraints are disallowed because they are based on
inequality expressions.
1
Even so, some often-used non-fundamental constraints are included. 4. Since topological information is not used, geometrical
These are marked with an asterisk in this paper. entities are considered to be ªunboundedº or ªuntrimmedº.
B. Bettig, J. Shah / Computer-Aided Design 33 (2001) 17±33 21

Geometric Constraints

Distance and Angle-based vs.


Transformation-based Sec. 5.1, 5.2, 5.3, 5.4

No. of ent ities related by (5.*.5) (5.*.6)


constraint: 2/1/>2

Physical or resolved geometry


(5.*.1)
(5.*.2)
Distance or Angle (5.*.3)
(5.*.4)

One point or all points

Dimension is regular, limiting


case or unknown ...

Rigid or non-rigid set Sec. 5.5 Sec. 5.6

Same dimensionality or
between dimensionalities

Fig. 3. Morphology of geometric constraint types.

That is, the geometrical entities do not have explicit bound- Distance and angle-based constraints were separated into
aries speci®ed on them using other geometrical entities. To categories according to the type of geometrical entities
promote uniform treatment of analytic and B-spline curves constrained. Speci®cally, we considered: constraints
and surfaces, B-splines are also considered to be applicable to all directions, points, curves and surfaces
unbounded. (Section 5.1), constraints applicable to linear entities
5. When a particular dimension value causes more than the (lines and planes) (Section 5.2), constraints applicable to
usual degrees of freedom to be constrained, a speci®c conics and selected cyclides (cylinder, sphere, cone, torus)
constraint type is de®ned for that case. (e.g. DISTANCE (Section 5.3) and constraints applicable to free-form curves
(point1, point2, distance_value) usually restricts one and surfaces (Section 5.4). There are ®ve morphological
degree of freedom, but if distance_value ˆ 0., then it will variations that were considered. The ®rst is in the number
restrict three degrees of freedom and COINCIDENT of geometric entities related by the constraint: one, two or
(point1, point2) is used instead.) more than two (unary, binary or n-ary). The second is
6. When a particular dimension value results in less than the whether the constraint applies to the actual curve or surface,
usual number of multiple solutions, a speci®c constraint or whether the constraint applies to resolved geometry (e.g.
type is de®ned for that case. (e.g. DISTANCE (point1, axis of a cylindrical surface). The third variation is whether
surface2, distance_value) usually has two solutions corre- the constraint is based on a distance measure or angle
sponding to point1being on either side of surface2, but if measure. The fourth variation is whether the equation
distance_value ˆ 0., then there can only be one solution applies at a single point or all points of each curve or
and INCIDENT (point1, surface2) is used instead.) surface. The ®fth variation is in whether certain dimension
values result in limiting cases discussed in Assumptions 5 or
6, or whether the dimension can be treated as unknown.
4. Investigation procedure These variations were studied in the following groupings:
distances between constrained elements (Sections 5.*.1 2),
In the investigation, two broad classes of constraints were angles between constrained elements (Sections 5.*.2),
considered as being distinct and were handled differently. distances to resolved geometry of constrained elements
These are distance and angle-based constraints (Rows 1±7 (Sections 5.*.3), angles to resolved directions of constrained
of Table 1), and transformation-based constraints (Row 8 of elements (Sections 5.*.4), unary constraints involving assign-
Table 1). Morphological variations that can be described by ment of constant values to attributes (Sections 5.*.5) and n-ary
differences in the underlying mathematical equations are constraints involving auxiliary geometry (Sections 5.*.6).
considered for each class. Fig. 3 gives a tree showing the
variations. 2
That is 5.1.1, 5.2.1, 5.3.1, 5.4.1. (* represents 1±4).
22 B. Bettig, J. Shah / Computer-Aided Design 33 (2001) 17±33

DISTANCE (P1, P2, r) 5. Derivation results


DISTANCE (P1, C1, r)
C1
DISTANCE (P1, S1, r) P1 r 5.1. Direction, point, generic curve and generic surface
P2
geometry

This ®rst category gives geometric constraints that are


applicable to directions, points and all types of curves and
surfaces. From Assumption 4 in Section 3 points, curves
S1
and surfaces are positioned with respect to each other, but
(a) are considered topologically unrelated. For the purpose of
the investigation, directions have two degrees of freedom in
DISTANCE (C1, C2, r) three-dimensional space, and are described as free unit
DISTANCE (C1, S2, r)
OFFSET_CURVE (C1, S1); DISTA NCE (C1, S1, r)
vectors. Points have three degrees of freedom and may be
OFFSET_CURVE (C3, C1); DISTANCE (C3, C1, r) described as vectors bound at the origin. Curves are de®ned
parametrically as a set of points which can be described by
an equation of the form c ˆ C t†; where c is a vector repre-
C3 senting coordinates in three dimensional space and C t† is a
C2 function, continuous with respect to t and valid, though not
necessarily meaningful, for any real t. Surfaces are de®ned
C1 as a set of points described by s ˆ S u; v† where S u; v† is
r S1 S2 continuous with respect to u and v and valid but not
necessarily meaningful for all real values of u and v.
(b)

DISTANCE (S1, S2, r)


5.1.1. Constraint types derived as distances between pairs of
DISTANCE (S1, C1, r) points, curves and surfaces
OFFSET_CURVE (C2, S1); DISTA NCE (C2, S1, r) Current solvers and constraints schemas apply distance
OFFSET_SURFACE (S3, S1); DISTA NCE (S3, S1, r) constraints to simple geometry such as points, lines and
C1 planes as well as to simple curves in two-dimensional
space. Typically, the dimension value must be a positive
S2 number. Distance constraints between points have the
obvious meaning given by the Pythagorean theorem.
C2 Distances between a point and a curve or surface intuitively
means the distance from the point to the closest point of the
r curve or surface. An alternative interpretation, suggested by
S3
the D-Cubed [3] implementation of distance constraints
S1 against ellipses, is that the distance to the farthest point of
(c) the curve may be used. A more general, commonly accepted
interpretation is that a point of the curve or surface to which
Fig. 4. DISTANCE, OFFSET_CURVE and OFFSET_SURFACE the distance can be measured is a point with no neighboring
constraints. points (in the curve or surface point set) whose distance is
less, or a point with no neighboring points whose distance is
greater. This interpretation is applicable to arbitrary curves
For transformation-based constraints two morphological and surfaces and includes the two cases for ellipses, includes
variations were considered. The ®rst involved variations in the case of parallel offset curves and surfaces and allows for
how the ªbefore-transformationº entities are treated, non-smooth points of curves and surfaces. The interpreta-
whether they are ®xed (rigid) or not ®xed. In the case tion may be visualized in the following way. Imagine that all
where they are ®xed only the relative positions are impor- geometric entities have offset surfaces, where the offset
tant and it is not necessary to have both the ªbeforeº and surface of a point is a spherical surface, of a curve is a
ªafterº entities. In the case where they are not ®xed the tubular surface and of a surface is another surface at the
entities must exist in pairs, for both sides of the transforma- offset distance (Fig. 4). A distance constraint requires one
tion. This morphological variation therefore provided two entity to have a tangent on the offset surface of the other
categories: setsÐrigid (Section 5.5) and mappingsÐnot entity.
rigid (Section 5.6). A second morphological variation For distances between lines in 2D or planes in 3D, this
applicable for mappings was in the dimensionality of de®nition may be applied in two ways: (i) the lines or planes
space of each side of the transformation, be they the same have the same direction and the distance de®nition may be
(e.g. 3D to 3D) or different (e.g. 2D to 3D). applied at any arbitrary point, or (ii) the distance de®nition
B. Bettig, J. Shah / Computer-Aided Design 33 (2001) 17±33 23

applies at ALL points of each line or plane. Elaboration of point S.p in s ˆ S u; v† for which:
the second de®nition leads to a generalization of the
uC:p 2 S:pu ˆ d minus 1 dof†
constraint for arbitrary curves and surfaces in which all points
of a curve or surface must lie on the offset surface of the where: C.d is curve unit tangent vector at C.p,
other curve or surface (i.e. CURVE_OFFSET_DISTANCE S.n is surface unit normal at S.p,
and SURFACE_OFFSET_DISTANCE constraints). In this
C:p 2 S:p†´C:d ˆ 0;
way, this elaboration was established as an important
morphological variation in the derivation procedure. As
C:p 2 S:p† £ S:n ˆ 0;
well, it was noted that for offset curves and surfaces it
might be desirable to dimension against an entity other for TANGENT only: d ˆ 0; C:d´S:n ˆ 0:
than the one from which it is offset. This lead to the consid-
eration for unknown dimensions in offset distance 5.1.2. Constraints that involve angles between pairs of
constraints. Considering the morphological variations: (i) entities
all combinations of distances between point, curve and Only directions can have angles placed against them.
surface; (ii) all combinations of whether the distance applies Directions can occur in geometry as explicit (unit) vectors,
at one point of the curve or surface or all points; and (iii) as curve tangents and as surface normals. In the references,
whether the distance is positive, zero or unknown leads to angle constraints are applied between lines, planes, axi-
the following constraints: symmetric geometry and sometimes direction entities. The
angle dimension is typically allowed to vary from zero to
DISTANCE (entity1, entity2, distance_value) 1808. Generalizing the angle constraint to apply to all the
OFFSET_CURVE (curve1, curve_or_surface2) points of generic curves or surfaces results in types of shape
OFFSET_SURFACE (surface1, curve_or_surface2) control not previously considered in the references. For
COINCIDENT (entity1, entity2) example, specifying all normals of a surface to be perpen-
INCIDENT (entity1, entity2) dicular to a given direction constrains the surface to be
TANGENT (curve_or_surface1, curve_or_surface2) 3 prismatic with respect to that direction. Specifying angle
and offset distance constraints between a curve and a
DISTANCE is de®ned as one entity having a tangent point straight line constrains the curve to be helical. Aside from
on the offset surface of the other entity. OFFSET_CURVE this generalization, the only morphological variation gener-
and OFFSET_SURFACE are de®ned as having all points of ating further constraint types was looking at limiting angle
the curve or surface lying on the offset surface of the other values. The constraints are:
entity, with offset distance unspeci®ed. The case where the
offset distance is speci®ed can be obtained by combining ² ANGLE (curve_or_surface_or_direction1, curve_or_
the OFFSET_CURVE or OFFSET_SURFACE constraint surface_or_direction2, angle_value)
with the DISTANCE constraint. The COINCIDENT ² SAME_DIRECTION (line_or_plane_or_direction1,
constraint is only applicable to similar types of point, curves line_or_plane _or_direction2)
or surfaces and derives from the case where offset constraint ² RIGHT_ANGLE (curve_or_surface_or_direction1,
distances are zero. It requires all points of one entity to lie on curve_or_surface_or_direction2) 4
the other and vice versa. The INCIDENT constraint also
The SAME_DIRECTION constraint derives from the
derives from the case where offset distance is zero but
ANGLE constraint when the angle dimension is zero. It
involves dissimilar types of entities and requires all points
controls one more degree of freedom than the ANGLE
of one entity to lie on the other, but not vice versa. The
constraint. The RIGHT_ANGLE (perpendicular) constraint,
TANGENT constraint derives from the DISTANCE
resulting from an angle dimension of 908, is commonly used
constraint in the case where distance is zero. This constraint
but is excluded by the criteria of this paper because it does
requires curves or surfaces to touch at one point where the
not take away more degrees of freedom than the ANGLE
curve tangent directions or surface normals are also the
constraint and does not result in a different number of multiple
same.
solutions. It is included only because it is commonly used.
These constraints can all be described mathematically by
Although the SAME_DIRECTION and RIGHT_ANGLE
variations to the example:
constraints are equivalent to PARALLEL and PERPENDI-
CULAR constraints from the literature, the present terms
² Distance (d: d $ 0) between curve (C) and surface (S); are used to avoid confusion which occurs with the case
TANGENT(C, S) and DISTANCE(C, S, d) de®ned as: PARALLEL (planar_surface1, straight_line2) which has
there exists a point C.p in c ˆ C t† and an equivalent two interpretations in the literature. The SAME_DIRECTION
constraint is only applicable to straight lines and planes
3
Asterisk indicates non-fundamental constraint. The TANGENT_AT_
4
POINT constraint, derived later, is more general and can be used instead. Indicates non-fundamental constraint.
24 B. Bettig, J. Shah / Computer-Aided Design 33 (2001) 17±33

A Create point P1 incident with L1 and B and point P2


A
B incident with L2 and B
α L1
P1 L1
B
Create distance d3 between P1 and P2
d3
d1 P2 C P1 Look for combinations of d1, d2, d3 and a at limiting
d1 α values, that can not be represented by existing constraints
L2
c
d2
Procedure 2Ðsee Fig. 5(b)
(a) a Procedure 1 combination (b) a Procedure 2 combination
Create 2 entities A, B (considering all combinations of
Fig. 5. Arrangement of entities and constraints for procedures. point, curve and surface) and direction c
Create distance d1 between A/B (considering: (i) distance
because these are the only curve and surface types with applies at one point and (ii) distance applies for all points
constant tangent and normal directions. of curves and surfaces)
Construct line L1 coincident with measured distances d1
5.1.3. Distance constraints on resolved geometry Create angle a between L1 and c
Not applicable for arbitrary geometry. Look for combinations of d1 and a at limiting values, that
can not be represented by existing constraints.
5.1.4. Angle constraints on resolved directions
Not applicable for arbitrary geometry. The result of these procedures is n-ary constraints that can
not be represented as combinations of binary constraints.
5.1.5. Unary constraints The ®rst three can not be represented because they require
Unary constraints involve only one geometric entity and more than one constraint to be true for all points of a curve
are always expressible mathematically as an assignment of or surface. The binary constraints only consider cases where
a literal value to a variable (e.g. ªpoint1x ˆ 3.0º). For a single constraint is true for all points a curve or surface.
arbitrary geometry, these constraints can only be used to The last four constraints can not be represented as combina-
position entities with respect to a coordinate system to tions of binary constraints because they involve limits,
stop rigid body motion. Two constraint types are: which can not be represented using binary constraints.
The constraints are:
FIXED (entity)
FIXED_POINT (curve_or_surface, point_literal) 5 ² TRANSLATED (entity1, entity2, direction, distance_
value)
For the ®rst one, the ®xed entity is forced to keep its ² ROTATED (entity1, entity2, axis_curve, angle_value)
present position with respect to the coordinate frame. The ² SYMMETRIC (entity1, entity2, re¯ection_entity)
FIXED_POINT constraint forces a curve or surface to be ² TANGENT_AT_POINT (curve_or_surface1, curve_or_
incident with a speci®ed point in space with respect to the surface2, point)
coordinate frame. ² TANGENT_AT_CURVE (surface1, surface2, curve)
² CURVE_POINT_ DIRECTION (curve, point, direction)
5.1.6. N-ary distance-based constraints ² SURFACE_POINT_NORMAL (surface, point, direction)
N-ary constraints are found by two procedures that place
combinations of geometric entities and constraints in parti- The TRANSLATED constraint is obtained from the
cular arrangements. These procedures are used because they second procedure when A and B are the same type of entity,
are able to identify the n-ary constraints appearing in the the distance measure applies to all points of A and B and
literature. These procedures are: a ˆ 0: The ROTATED constraint is obtained from the ®rst
procedure when A and C are the same entity type, B is a
Procedure 1Ðsee Fig. 5 (a) curve, the distance measures apply to all points of A and C,
d1 ˆ d2 and d3 ˆ 0: The SYMMETRIC constraint is
Create 3 entities A, B, C (considering all combinations of obtained from the ®rst procedure when A and C are the
point, curve and surface) same entity type, the distance measures apply to all
Create 2 distances d1, d2 between A/B, B/C (considering: points of A and C, d1 ˆ d2; d3 ˆ 0 and a ˆ 1808: The
(i) distance applies at one point and (ii) distance applies TANGENT_AT_POINT constraint is obtained from the
for all points of curves and surfaces) ®rst procedure when A and C are curves or surfaces, B is
Construct lines L1, L2 coincident with measured a point, the distance measures apply at a single point of each
distances d1, d2 curve or surface, a ˆ 1808; d1 ! 0 and d2 ! 0. The
Create angle a between L1 and L2 TANGENT_AT_CURVE constraint is obtained from the
®rst procedure when A and C are surfaces, B is a curve,
5
Not a fundamental constraint. the distances measures apply at all points of B, a ˆ 1808;
B. Bettig, J. Shah / Computer-Aided Design 33 (2001) 17±33 25

d
FIXED_IN_X_DIR (linear_geometry)*
2 2 FIXED_IN_Y_DIR (linear_geometry)*
FIXED_IN_Z_DIR (linear_geometry)*
C1
C1
C2 C2 The resolved directions are the line direction and surface
normal, which can be set directly here. The FIXED_IN_X/
TRANSLATED( C1, C2, d, 2) OFFSET_CURVE(C1, C2) Y_DIR constraints are equivalent to ªHORIZONTALº/
DISTANCE(C1, C2, 2)
ªVERTICALº constraints in 2D.
(a) (b)
5.2.6. N-ary distance-based constraints:
Fig. 6. TRANSLATED constraint versus OFFSET_CURVE constraint in Same as in Section 5.1.
2D.
5.3. Conics and selected cyclides
d1 ! 0 and d2 ! 0. The CURVE_POINT_DIRECTION The ªConics and Selected Cyclidesº category provides
and SURFACE_POINT_NORMAL constraints are entities with constant or uniformly changing curvatures
obtained from the second procedure when A is a curve or and constraints that allow parameters such as radius to be
surface, B is a point, d1 ! 0 and a ˆ 0: Fig. 6 contrasts the set directly. Only entities from STEP Part 42 [23] are
TRANSLATED constraint with the OFFSET_CURVE considered.
constraint for planar curves.
5.3.1. Constraints derived from distances between pairs of
5.2. Linear geometry
points, curves and surfaces
The ªLinear Geometryº sub-group de®nes straight line Same as in Section 5.1.
and plane entities, as well as related constraints. The
straight-line entity has four degrees of freedom and is 5.3.2. Constraints that involve angles between pairs of
de®ned here as a point (with one coordinate chosen arbitra- entities
rily but carefully) and a direction. The plane entity has three Same as in Section 5.1.
degrees of freedom and is de®ned here in terms of a point
(with two coordinates chosen carefully and arbitrarily) and a 5.3.3. Distance constraints on resolved geometry
normal direction. There are only a few constraint types The resolved geometrical entities for conics and the
unique to linear geometry. selected cyclides are the center or focal points of circles,
ellipses, hyperbolas, parabolas, spheres, cones and torii as
5.2.1. Constraints derived from distances between pairs of well as the axes and semi-axes of ellipses, hyperbolas,
points, curves and surfaces parabolas, cones and cylinders. The constraints are required
Same as in Section 5.1. here to access the resolved geometry to use it for position-
ing. These constraints are different from the constraints in
5.3.1 because the constraints in 5.3.1 refer only to the
5.2.2. Constraints that involve angles between pairs of
physical points, curves and surfaces.
entities
Same as in Section 5.1. LOCATING_POINT_DISTANCE (conic_or_cyclide1,
entity2, distance_value) 7
5.2.3. Distance constraints on resolved geometry COINCIDENT_LOCATING_POINT (conic_or_cyclide1,
Nothing applicable in Section 5.2. entity2)
AXIS_DISTANCE (conic_or_cyclide1, entity2, distance
5.2.4. Angle constraints on resolved directions _value)*
ANGLE, SAME_DIRECTION and RIGHT_ANGLE COINCIDENT_AXIS (conic_or_cyclide1, entity2)
constraints have been de®ned in Section 5.1. SEMI_AXIS1_DISTANCE (non_circular_conic1, entity2,
distance_value)*
5.2.5. Unary constraints COINCIDENT_SEMI_AXIS1 (non_circular_conic1,
Constraints that can be represented as assignments state- entity2)
ments on linear geometry are:
5.3.4. Angle constraints on resolved directions
FIXED_DIRECTION (linear_geometry, direction_ Again, these constraints access resolved geometry but to
literal) 6 constrain directions this time. The resolved directions are
the axis and semi-axis directions of these shapes. The
6
These are non-fundamental constraints. They can be expressed using
7
other constraint types. Asterisks denote non-fundamental constraints.
26 B. Bettig, J. Shah / Computer-Aided Design 33 (2001) 17±33

constraints here can all be described in terms of other or surface, to relate them to other points of the shape.
constraints by using the COINCIDENT_AXIS and
COINCIDENT_SEMI_AXIS constraints along with an CURVE_CONTROL_POINTS (b_spline_curve,
auxiliary line. array_of_points)
SURFACE_CONTROL_POINTS (b_spline_surface,
AXIS_ANGLE (conic_or_cylide1, entity_with_direction2, array_of_points)
angle_value)*
PARALLEL_AXIS (conic_or_cylide1, entity_with_
direction2)* 5.4.4. Angle constraints on resolved directions
PERPENDICULAR_AXIS (conic_or_cylide1, entity_ Not applicable for freeform geometry.
with_direction2) *
SEMI_AXIS1_ANGLE (non_circular_conic1, entity_ 5.4.5. Unary constraints
with_direction2, angle_value)* Intrinsic variable values that can be set directly, other
PARALLEL_SEMI_AXIS1 (non_circular_conic1, than control point positions, are the knot and weighting
entity_with_direction2)* values. The corresponding constraint types are:
PERPENDICULAR_SEMI_AXIS1 (non_circular_conic1,
entity_with_direction2)* CURVE_KNOT_VALUES (array_of_numeric_expres-
sions)
SURFACE_KNOT_VALUES (array_of_numeric_
5.3.5. Unary constraints expressions)
The intrinsic parameters that are used to de®ne these CURVE_WEIGHTING_VALUES (array_of_numeric_
shapes include the radius, semi-axes, focal distance and expressions)
minor and major radii of these entities. These constraints SURFACE_WEIGHTING_VALUES (array_of_numeric_
provide a means to set these values directly. expressions)

RADIUS (circle_cylindrical_conical_or_spherical_
surface, radius_value) 5.4.6. N-ary distance-based constraints
SEMI_AXIS1 (ellipse_or_hyperbola, semi_axis_value)
SEMI_AXIS2 (ellipse_or_hyperbola, semi_axis_value) CURVE_CONTINUITY_AT_POINT (bspline_curve1,
FOCAL_DISTANCE (parabola, focal_distance_value) bspline_curve2, point, degree)
SEMI_ANGLE (conical_surface, semi_angle_value) SURFACE_CONTINUITY_AT_CURVE (bspline_
MAJOR_RADIUS (toroidal_surface, radius_value) surface1, bspline_surface2, bspline_curve, degree)
MINOR_RADIUS (toroidal_surface, radius_value)
These constraints follow as per the TANGENT_AT_POINT
and TANGENT_AT_CURVE constraints in 5.1.6, but
5.3.6. N-ary distance-based constraints: apply to b-spline curves and surfaces. They allow the speci-
Same as in Section 5.1. ®cation of the types of continuity conditions typically
applied at the boundaries between adjacent b-spline curves
5.4. Freeform curves and surfaces
or surfaces.
The ªFreeform Curves and Surfacesº group allows for
5.5. Sets
freeform shapes with arbitrary curvatures and any number
of points of in¯ection. In STEP, this only includes b-spline The ªSetsº group allows for the notion of spaces in which
curves and surfaces. geometrical entities are embedded. The positions of entities
are ®xed within the space, so that the have no degrees-of-
5.4.1. Constraints derived from distances between pairs of freedom of their own. Only the degrees of freedom of the
points, curves and surfaces set must be resolved. A small number of set types are
Same as in Section 5.1. The COINCIDENT and considered necessary for engineering problems from the
SURFACE_POINT_NORMAL constraints can be used to in®nite number possible. These are the entity types of this
prescribe an interpolation. group:

5.4.2. Constraints that involve angles between pairs of ² Rigid (Euclidean) setsÐthese have six degrees-of-free-
entities dom (three rotations and three translations) minus the
Same as in Section 5.1. number of degrees of invariance. For instance, if the
geometric entities in the set are arranged axisymmetri-
5.4.3. Distance constraints on resolved geometry cally, only ®ve degrees-of-freedom need to be resolved
These simply reference the component points of the curve (two rotations and three translations).
B. Bettig, J. Shah / Computer-Aided Design 33 (2001) 17±33 27

22
Two Direction Scalable (2D) Set: S1
IN_SET(S1, P1) ... IN_SET(S1, P6)
C1
IN_SET(S1, C1) ... IN_SET(S1, C5)
L1
P2 P3 P4 P5
INCIDENT(P1, L2) 10
TANGENT_AT_POINT (C5, L2, P7)
DISTANCE(P1, L1, 4) C5 P6
P1 C2 C3
DISTANCE(P6, L1, 22)
DISTANCE(C1, L2, 10) P7 L2
4
C4

Fig. 7. Scalable set (2D).

² Scalable setsÐthese have seven degrees-of-freedom Between dimensionalities:


(three rotations, three translations and one scaling
factor) ² Linear MappingЮve DOF (two translations and three
² Three Direction Scalable setsÐthese have nine degrees- rotations)
of-freedom (three rotations, three translations and three ² Rotational MappingЮve DOF (three translations and
independent scaling factors) two rotations)
² Skewable setsÐthese have 12 degrees-of-freedom (three ² Helical MappingÐsix DOF (two translations, three
rotations, three translations, three scaling factors and rotations, one helix angle)
three skewing factors). This is the most general set and
allows for all linear transformations The Euclidean Mapping simply allows for translations and
rotations within the same dimensionality of space. The
The constraints of this group simply relate geometric Linear Mapping provides for in®nite prismatic extrusions
entities to set entities, ®xing the position of the entity within of 2D shapes to 3D space. The Rotational Mapping and
the set: Helical Mapping provide for 2D descriptions of axi-
symmetric and helical shapes. The new constraints simply
IN_SET (set1, entity1) relate one entity to another through the mapping:

Existing constraint types relate geometric entities in the MAP (mapping, entity1, entity2)
set to geometric entities outside the set. Mathematically
this is equivalent to substituting the transformed vectors The relationship is declarative and any of the elements
(points and directions of geometric entities) in place of of the constraint can be used to control the other. An
the original vectors. (For example, for DISTANCE example using the Linear Mapping transformation is
(point1, point2, d): jp1 2 p2j ˆ d becomes jp1 2 T p2†j ˆ shown in Fig. 8. Here the dimensions on the 2D cross-
d where p2 is in a set whose type and parameter values yield section determine the positions of lines C1, C2, C4, C5,
a transformation T( ).) Fig. 7 shows the use of the IN_SET C6 and C8. Surfaces S1 and S2 are dimensioned with
constraint. Here the points and curves of the ªlogoº can be respect to the base allowing the transformation M1to be
positioned and stretched uniformly using the DISTANCE determined, given the positions of C1 and C2. The posi-
constraints. tions of surfaces S4, S5, S6 and S8 then follow from the
positions of C4, C5, C6 and C8 and the transformation
5.6. Mappings M1. An interesting feature of this example is that the
positions of lines C3 and C7 and the reference dimension
The ªMappingsº group allows for specifying mapped ª(6.36)º in the 2D cross-section are actually dependent on
relationships between pairs of similar entities. The most the dimension ª9º and the position of surface S3 in the 3D
typical application is to have copies of geometrical shapes part.
positioned in other parts of a model. Another application is An EXPRESS schema and the mathematical equations
in relating 2D entities positioned in 2D space to 3D entities for each constraint type of Section 5 are given in Bettig
in 3D space. An in®nite number of types of mappings are and Shah [25].
possible but only a small number are useful in engineering
design. The entities of this group are:
Within the same dimensionality: 6. Discussion

² Euclidean MappingÐsix DOF (three translations and Table A1 in Appendix A provides a comparison of the
three rotations) derived constraint types with the constraint types available
28 B. Bettig, J. Shah / Computer-Aided Design 33 (2001) 17±33

S5
S8 7
S7 2 2

S6 C3 C7
S4 S1 C4 C6
S3 S2 (6.36) C8
C5
45˚ C2
2
C1
2

Linear Mapping: M1
9 MAP(M1, C1, S1) ... MAP(M1, C8, S8)
DISTANCE( C2, C4, 2)
DISTANCE( C6, C8, 2)
DISTANCE( C2, C8, 7)
DISTANCE( C1, C5, 2)
COINCIDENT(C3, C7)
RIGHT_ANGLE(C1, C2)

Fig. 8. Linear mapping example.

in selected schemas and solvers: (i) the current ISO/STEP D-Cubed has opposite meanings of PARALLEL (line_x,
parameterization and geometric constraints working docu- plane_y) and PERPENDICULAR (line_x, plane_y) than
ment [1]; (ii) ENGEN [2]; and (iii) DCM 3D [3]. The main ENGEN and the current ISO/STEP working document.
observation is that the constraints of the present taxonomy The FIXED, FIXED_POINT and FIXED_DIRECTION
are more comprehensive and more generally applicable are useful for observing the kinematics of assemblies. They
because of being systematically derived. The present are also necessary when determining over/under-constraint
taxonomy includes offset curves and surfaces, which are of more than one free-¯oating body. Rigid body motion
not included in the others. It includes distance and can be automatically considered (eliminated) for the ®rst
angle constraints that are applicable for all types of points, body, but it is otherwise impossible to determine whether
curves and surfaces thus making it easier to modify a curve subsequent bodies are supposed to be free-¯oating or are
or surface type. It also includes useful generalizations of simply under-constrained.
sets. Comparison of the present taxonomy with the other
ENGEN often requires constraints to directly reference schemas shows that it includes almost all the constraints
the resolved geometry (or sub-geometry) of the element from other schemas as well as others. Some constraints
which is to be constrained, rather than the element itself. are not included in the present taxonomy however.
(E.g. Angle to a cylindrical surface axis is ANGLE The CURVE_LENGTH and CURVE_LENGTH_WITH_
(cyl_surf1.position.axis, other_entity, angle_value) rather DIMENSION constraints from the current ISO/STEP
than AXIS_ANGLE (cyl_surf1, other_entity, angle), working document and LENGTH_EQUAL and LENGTH_
where `.' indicates a reference to a sub-geometry). The RATIO from ENGEN are not included because these
current ISO/STEP working document has a similar situation ªintegrationalº constraints were considered out of scope.
with the DIRECTION constraint. These types of constraints The CENTROID constraint from ENGEN is another type
allow the total number of constraint types to be reduced of ªintegrationalº constraint that is out of scope. The
because different types of geometrical entities do not require PLANE ANGLE constraint from D-Cubed is an n-ary
their own constraint type. On the other hand, referencing constraint for which an axis direction must be speci®ed
sub-geometry of constrained geometry might make about which the rotation takes place. This constraint is not
implementation more dif®cult. included because it is possible to represent this situation by
This issue repeats itself with setting parameters such as introducing two additional ANGLE constraints between the
radius. It is possible to have a different type of constraint for constrained entities and the axis direction. One other poten-
each parameter or alternatively, to have user equations tial type of constraint type, MID_POINT (entity1, entity2,
which reference the parameter directly. Having different entity3) where an entity is directly between two others has
constraint types for each type of parameter increases the not been included. Although it appears in Procedure 1 of
number of constraint types necessary but might make Section 5.1.6, it is possible to represent this constraint using
implementation more dif®cult. other constraint types and additional speci®cation of solu-
ENGEN does not seem to support making axi- tion selection. Barring oversights in examining the morpho-
symmetric shapes coaxial. This does not seem possible, logical variations, the ªcomprehensivenessº requirement set
even indirectly. out in the Problem Statement is met.
B. Bettig, J. Shah / Computer-Aided Design 33 (2001) 17±33 29

(a) DISTANCE constraint between curves (b) equivalent set of constraints

Fig. 9. Two ways of representing the distance between curves.

Comparison of the constraint types with each other shows desired solution through the user interface, but this approach
that the set is consistent, in that no constraints can be used in would be too time consuming for the user, even for small
place of others, except for constraint types marked with problems. The problem of how to represent selection of
asterisks. There is also another exception shown in Fig. 9. multiple solutions must still be resolved.
This case pertains to DISTANCE constraints to curves or
surfaces. For curves, introducing a point and direction
on each curve with a CURVE_POINT_DIRECTION 7. Conclusions
constraint and making an auxiliary line to be incident
with the point and perpendicular to the tangent direction, The schema presented here is systematically derived. It
duplicates the DISTANCE constraint. Similarly, intro- de®nes general constraint types that apply uniformly to
ducing a point and direction on surfaces and using a points, curves and surfaces. Some constraint types are
SURFACE_POINT_NORMAL constraint duplicates the given which are not in other schemas. Since all commonly
distance constraint. Because of the common usage of the used constraint types are included and all constraint types
distance constraint, and the impracticality of the latter set of with equivalent mathematical basis are given, the schema is
constraints, the distance constraint should be kept as ®rst considered comprehensive. Since, combinations of other
introduced. constraint types (except for a noted exception) cannot
The third requirement, that the constraint set be intuitive duplicate constraint types, the constraint set is considered
to use by the geometry designer is also met. Considering the to be consistent. Since the constraints are all at the level of
offset surfaces of geometric entities, one can easily imagine abstraction used by geometry designers, the constraint set is
most of the distance-based constraints. Angle constraints are considered to be intuitive to use. These requirements make
only between directions, curve tangents and surface the representation suitable for data exchange, development
normals. Constraints against resolved geometry (e.g. axis of neutral APIs to constraint solvers as well as for use by
of cylinder) are explicitly indicated. Constraints against designers.
sub-geometry (e.g. point used to de®ne a plane) are not
necessary and not allowed. The transformation-based
constraints are used simply by placing geometric entities
in sets. Distance and angle-based constraints between set Acknowledgements
members and non-set members determine the transforma-
tion parameters. These constraints are all at the abstraction This research has been made possible through funding by
level used by the designer. NSF, grants DMI-9522971 and DMI-9812977. An earlier
A remaining issue important for both representation and version of this paper was presented at the ASME Design
solving of parametric models is how to handle multiple Automation Conference, Las Vegas.
solutions. Multiple solutions are unavoidable because
geometric constraints are nonlinear when expressed as
algebraic equations. The usual approach is to include Appendix A. Comparison of various geometric
additional attributes with constraints or to use heuristics constraint schemas
based on the initial con®guration of the geometry. The
problem with attached attributes is that some multiple This appendix summarizes the explicit geometric
solutions are not attributable to a single constraint. The constraints derived in the text and compares them against
problem with heuristics is that the designer might have other sets of explicit geometric constraints from the litera-
different intents for situations that appear similar to the ture review. Note that Ref. [1] is a working document still
solver. Another suggestion is to let the user choose the undergoing development (Table A1).
Table A1 30
Comparison of speci®c geometric constraint types from selected schemas

Present taxonomy (this paper) Current ISO/STEP [1] ENGEN [2] DCM 3D [3] Comments

1. DISTANCE 1. (speci®c types) 1. (speci®c types) 1. DISTANCE Though D-Cubed has not
To point POINT_DISTANCE, POINT_DISTANCE_ POINT_DISTNCE, To point implemented constraints for all
WITH_DIMENSION (directed only wrt POINT_DISTNCE_RATIO types curves and surfaces, the
curves or surfaces) (directed only wrt line or plane) meaning of the constraints can be
To curve N/A N/A To curve extrapolatedÐnote how DCM 2D
To surface N/A N/A To surface handles distance constraints on
ellipses.
2. COINCIDENT 2. COINCIDENT 2. (speci®c types) 2. COINCIDENT
Point point POINT_COIN-CIDENCE Point
Curve curve COLLINEAR (lines) Curve
Surfaces surfaces COPLANAR (planes) Surfaces

3. INCIDENT 3. INCIDENCE 3. (speci®c types) 3. COINCIDENT D-Cubed also uses the term
Point and curve point and curve POINT_ON_CURVE Point and curve COINCIDENT for ªIncidentº.
Point and surface point and surface N/A Point and surface
Curve and surface curve and surface COPLANAR (line and plane) Curve and surface

4. TANGENT 4. TANGENT 4. (speci®c types) 4. TANGENT [1] provides an enumerated type to


Curves curves TANGENT, MULTIPLE Curves indicate whether the tangency is at a
Curve and surface curve and surface TANGENT Curve and surface point, curve or surface.
Surfaces surfaces N/A Surfaces
N/A

5. OFFSET_CURVE (with 5. PARALLEL/PARALLEL_WITH_DIM/ 5. PARALLEL_ WITH_DISP 5. PARALLEL (with OFFSET_CURVE/SURFACE


DISTANCE) PARALLEL_OFFSET/ lines DISTANCE) (with DISTANCE) are
Curves PARALLEL_OFFSET_WITH_DIMENSION line and plane Lines generalizations of
Curve from surface lines/curves Line and plane PARALLEL_WITH_DIMENSION
line and plane

6. OFFSET_SURFACE (with 6. PARALLEL/PARALLEL_ WITH_DIM/ 6. PARALLEL_ WITH_DISP 6. PARALLEL (with


DISTANCE) PARALLEL_OFFSET/ N/A DISTANCE)
B. Bettig, J. Shah / Computer-Aided Design 33 (2001) 17±33

Surface from curve PARALLEL_OFFSET planes N/A


Surfaces _WITH_DIMENSION Planes
N/A
planes/surfaces

7. ANGLE 7. ANGLE, ANGLE_ 7. ANGLE 7. ANGLE, PLANE_ANGLE ANGLE in present schema applies
To curve WITH_DIM to line to line To line to curves and surfaces in general.
To surface to plane to plane To plane Some schemas do not allow angles
To direction, vector N/A to direction, vector N/A against explicit direction vectors.

8. SAME_DIRECTION 8. (speci®c types) 8. PARALLEL 8. PARALLEL


As line as plane PARALLEL (to line) to line to plane To line
As direction, vector PARALLEL (to plane) to direction, vector To plane
DIRECTION (to direction, vector) N/A
Table A1 (continued)

Present taxonomy (this paper) Current ISO/STEP [1] ENGEN [2] DCM 3D [3] Comments

9. RIGHT_ANGLE 9. PERPENDICULAR 9. PERPENDICULAR 9. PERPENDICULAR


To curve to line to line To line
To surface to plane to plane To plane
To direction, vector N/A to direction, vector N/A

10. (speci®c types) 10. (speci®c types) 10. (speci®c types) 10. (speci®c types) AXIS_DISTANCE and
LOCATING_POINT_DIST, N/A CONCENTRIC CONCENTRIC LOCATING_ POINT_DIST are
COINC_ LOCATING_ POINT COAXIAL N/A CONCENTRIC desirable because they are heavily
AXIS_DIST, COINC_AXIS N/A N/A N/A used in engineering; ENGEN does
COINC_ SEMI_AXIS1 not seem to support co-axiallity.

11. Axis Angles AXIS_ANGLE, 11. Axis Angles 11. Axis Angles 11. Axis Angles DCM ANGLE constraint is also
PARALLEL_AXIS, N/A N/A ANGLE used against curves and surfaces
PERPEND'R_AXIS N/A N/A N/A with axes; ENGEN ANGLE
SEMI_AXIS1_ANGLE, constraint and [1] DIRECTION
PARALLEL_SEMI_AXIS1, constraint directly reference
PERPEND'R_SEMI_AXIS1 direction entity of axis of
constrained shape;
12. Parameter values 12. Parameter values 12. Parameter values 12. Parameter values
RADIUS RADIUS, RADIUS_WITH_ RADIUS_EQUAL, RADIUS
SEMI_AXIS1 DIMENSION RADIUS_ RATIO N/A
SEMI_AXIS2 FOCAL_DIST N/A N/A N/A
SEMI_AXIS MAJOR_RAD N/A N/A N/A
MINOR_RAD N/A N/A N/A
N/A N/A N/A
N/A N/A N/A
N/A N/A

13. (speci®c types) 13. (speci®c types) 13. N/A 13. (speci®c types)
FIXED, FIXED_POINT FIXED_POINT FIXED
FIXED_DIR-ECTION, N/A N/A
B. Bettig, J. Shah / Computer-Aided Design 33 (2001) 17±33

FIXED_IN_X,Y,Z_DIR

14. SYMMETRIC 14. SYMMETRY 14. (speci®c types) 14. N/A


about point N/A RADIAL_SYMMETRY (2D
only)
About axis curve About axis line AXIAL_SYMMETRY (2D
About surface About plane only)
N/A

15. other n-ary 15. other n-ary 15. other n-ary 15. other n-ary
TRANSLATED N/A N/A N/A
ROTATED
TANGENT_AT_POINT
TANGNT_AT_CURVE
CURVE_POINT_DIR
31
32

Table A1 (continued)

Present taxonomy (this paper) Current ISO/STEP [1] ENGEN [2] DCM 3D [3] Comments

SURFACE_POINT_
NORMAL

16. integrational 16. integrational 16. integrational 16. integrational


N/A CURVE_LENGTH, LENGTH_EQUAL, N/A
N/A CURVE_LENGTH_ LENGTH_RATIO N/A
WITH_DIM CENTROID
N/A

17. b-spline constraints 17. b-spline constraints N/A 17. b-spline constraints N/A 17. b-spline constr'nts N/A
CURVE_CNTL_PNTS,
SURF_CNTL_POINTS
CURVE_KNOT/
WEIGHT_VALUES,
SURFACE_KNOT/
WEIGHT_VALUES
CURVE_CONTINUITY_
AT_POINT
SURFACE_CONTINUITY_
AT_CURVE
B. Bettig, J. Shah / Computer-Aided Design 33 (2001) 17±33

18. IN_SET 18. N/A 18. N/A 18. SET In present taxonomy there are
entities to represent various types of
transformations.

19. MAP 19. N/A 19. N/A 19. N/A SETs are currently being addressed
[1]
B. Bettig, J. Shah / Computer-Aided Design 33 (2001) 17±33 33

References [17] Aldefeld B. Variation of geometries based on a geometric-reasoning


method. Computer -Aided Design 1988;20(3):117±26.
[1] Pratt MJ. Product data representation and exchange: integrated [18] Suzuki H, Hidetoshi A, Kimura F. Geometric constraints and
application resource: Parametrization and geometric constraints for reasoning for geometrical CAD systems. Computers and Graphics
explicit geometric product models (working document), ISO TC184/ 1990;14(2):211±24.
SC4/WG12 N440 (ISO/WD 10303-108:1999(E)), 1st November [19] Latham RS, Middleditch AE. Connectivity analysis: a tool for
1999. processing geometric constraints. Computer-Aided Design 1996;
[2] SCRA. Phase 4 Data Model for ENGEN, Technical Report Version 28(11):917±28.
4.6, South Carolina Research Authority, Charleston, SC, 20 July [20] Lee JY, Kim K. Geometric reasoning for knowledge-based para-
1997. metric design using graph representation. Computer-Aided Design
[3] D-Cubed. The 3D DCM Manual Version 2.0.0 D-Cubed Ltd. 1996;28(10):831±41.
Cambridge, England, 1999. [21] Anderl R, Mendgen R. Modelling with constraints: theoretical foun-
[4] Kramer GA. Solving geometric constraint systems. Cambridge, MA: dation and application. Computer-Aided Design 1996;28(3):155±68.
MIT Press, 1992. [22] Chung J, Schussel M. Technical evaluation of variational and para-
[5] Shah J, Rogers M. Assembly modeling as an extension of design by metric design. Computers in Engineering 1990;1:289±98.
features (special issue on advances in CAD). Research in Engineering [23] ISO, Industrial automation systems and integrationÐproduct data
Design 1993;5:218±37. representation and exchange (STEP) ISO 10303 (TC184/SC4), Inter-
[6] Balakrishnan G. Constraint based approach to product modeling, MS national Organization for Standardization, 1994.
thesis, Arizona State University, 1993. [24] ASME, Dimensioning and Tolerancing, ASME Y14.5M-1994, Amer-
[7] Ali A. Declarative Approach to Form Feature De®nition, M.S. Thesis, ican Society of Mechanical Engineers, New York, NY, 1994.
Arizona State University, 1994. [25] Bettig B, Shah J. Systematic Derivation of Geometric Constraints for
[8] Dedhia H. Interactive De®nition of Form Features, MS thesis, Shape De®nition in CAD, Technical Report ASU/DAL/constraints/
Arizona State University, 1997. 98-1, Design Automation Lab, Mechanical and Aerospace Engineer-
[9] CleÂment A, Desroches A, Riviere A. Theory and practice of 3D ing, Arizona State University, 1998.
tolerancing for assembly. In: Proceedings of CIRP Seminar on
Computer-Aided Tolerancing, Penn State University, USA, 1991.
[10] Kandikjan T, Shah J. A Computational model for geometric dimen- Bernie Bettig is an assistant professor of
sions and tolerances consistent with engineering practice. In: Proceed- Mechanical Engineering at Michigan Techno-
ings of 1998 ASME Design Engineering Technical Conferences, 18th logical University. His interest is in geometric
Computers In Engineering Conference, DETC98/CIE-5710, Atlanta, problems in computer-aided design and manu-
GA. facturing and CAD software architectures. His
[11] Pierra G, Ait-Ameur Y, Besnard F, Girard P, Potier J-C. A general degrees are from Arizona State University
framework for parametric product model within STEP and parts (PhD, 1999) and the University of Manitoba
(MSc, 1995; BSc, 1990). He also has industrial
library. In: Proceedings of European Conference Product Data Tech-
experience as an aerospace design engineer.
nology, London, 18±19 April 1996.
[12] Pratt MJ. Requirements analysis for an explicit constraints schema for
STEP, ISO TC184/SC4/WG3 N502 (T1/Parametrics), National Insti-
tute of Standards and Technology, Manufacturing Systems Integra-
tion Division, Gaithersburg, MD, May 1996.
[13] Bouma W, Fudos I, Hoffmann C, Cai J, Paige R. Geometric constraint
solver. Computer-Aided Design 1995;27(6):487±501. Jami Shah is Professor of Mechanical and
[14] Shimizu S, Inoue K, Numao M. An ATMS-based geometric Aerospace Engineering and Director of the
constraint solver for 3D CAD, Proceedings of Third Int. Conf. On Design Automation Lab at Arizona State
Tools for AI, San Jose, CA, November 1991. Los Alamitos, CA: IEEE University. He holds a PhD from the Ohio
Computer Society Press, 1991. State University, 1984. His research includes
[15] Owen JC. Algebraic solution for geometry from dimensional geometric modeling, features technology,
manufacturing planning, and information
constraints, Proceedings of the symposium on solid modeling founda-
modeling.
tions and CAD/CAM applications, Austin, TX, 5±7 June 1991. New
York: ACM press, 1991.
[16] Light R, Gossard D. Modi®cation of geometric models through varia-
tional geometry. Computer-Aided Design 1982;14(4):209±14.

You might also like