Professional Documents
Culture Documents
Types of Constraints
Types of Constraints
Types of Constraints
DESIGN
Computer-Aided Design 33 (2001) 17±33
www.elsevier.com/locate/cad
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
Table 1
Survey and classi®cation of general geometric constraint types
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
Geometric Constraints
Same dimensionality or
between dimensionalities
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
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
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
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 p2j 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)
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
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
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.
Present taxonomy (this paper) Current ISO/STEP [1] ENGEN [2] DCM 3D [3] Comments
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
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
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