An Algebraic Approach to Geometric Query Processing in CAD ... · An Algebraic Abstract Approach to...
Transcript of An Algebraic Approach to Geometric Query Processing in CAD ... · An Algebraic Abstract Approach to...
An Algebraic
Abstract
Approach to Geometric Query Processing
in CAD/CAM Applications
R. E. da Silva, Graduate Research Assistant,
K. L. Wood, Assistant Professor,
and
J. J. Beaman, Professor
University of Texas, Austin
Department of Mechanical Engineering
Austin, TX 78712
February 22, 1991
In the production of discrete parts, there is a growing in-
terest in the use of solid modeling systems (or feature-based
systems) as the link between design and manufacturing ac-
tivities. The use of such systems will be of limited value if
it is not possible to interrogate the solid model of a part or
assembly for geometric and non-geometric data. A theoreti-
cal basis is thus needed for designers and semi-automated
applications (e.g., process planning) to pose queries to a
solid model representation. In this paper, a computational
methodology for geometric query processing is presented,
with interacting and interfeature relationships as the appli-
cation domain. The structural component of geometric rela-
tionships between features is modeled using structural prim-
itives of an intermediate level of abstraction. A set-theoretic
algebraic system, composed of relations and operations of a
relational algebra, provides the necessary “machinery” for
querying and determining a part’s or assembly’s spatial re-
lationships. Two examples of design queries in the areas of
fixture design and process planning illustrate the method.
1 Introduction
1.1 An Overview of Current Technology
Presently, most solid modeling systems represent the ge-
ometry of a discrete part in a machine readable form, using
either boundary representation (b-rep) or constructive solid
geometry (csg) techniques [25]. While such representations
enhance the utility of computers for display graphics and
some quantitative analysis, they provide only limited sup-
port of CAD/CAM applications, such as process planning,
Permission to copy without fee all or part of this material is granted pro-vided that the copies are not made or distributed for direct conuuercialadvantage, the ACM copyright notice and the title of the publication andits date appear, and notice is given that copying is by pemrission of theAssociation for Computing Machinery, To copy otherwise, or to republish,requires a fee and/or specific permission.
@ 1991 ACM 089791-427-9/91/0006/0073 $1.50
fi,xture design, assemblability analysis, and tolerance assign-
ment. The tree (csg) and directed graph (b-rep) data struc-
tures are incomplete in terms of semantic and qualitative
part descriptions. The representation of a discrete part in
terms of low level entities like points, lines and surfaces is
not suitable for describing the part to application software
systems that assist in design and manufacturing. A hole, for
example, will be represented as a cylindrical face, the sur-
face in which the face lies, and the adjacency information
between the cylindrical face and its adjacent faces. Such an
internal representation of a hole however is not suitable for
an adaptive grid refinement algorithm that needs to know
that cylindrical face is a hole feature, a region of stress con-
cent ration, requiring a fine mesh. Similarly, in the case of
a process planner, the topological entity “cylindrical face”
represents a hole which may be mapped to a manufactur-
ing process like drilling, reaming or boring. It is not likely
that a single part representation scheme will accommodate
all design and manufacturing functions of this type.
One solution to this problem that has been proposed pre-
viously [5, 13, 27] is multiple secondary representations, with
the csg/b-rep being the primary representation. A feature-
based description of a part is one such secondary represen-
tation. A part however cannot simply be regarded as a col-
lection of independent features. In fact most problems in
process planning occur as a result of spatial relationships
between features in a component [15]. A secondary rep-
resentation that explicitly models the spatial relationships
between features is therefore necessary for completeness. In
other words, a formalism is needed for determining the affect
one feature will have on another in terms of both functional
and manufacturing criteria. Geometric query processing in
the domain of interacting and interfeature relationships is
described below to address this identified need.
In the next section, geometric reasoning wilt be defined in
the context of the work presented in this paper. An algebra
will also be proposed for geometric query processing.
73
1.2 Geometric Reasoning: A Proposed
Algebraic Approach
The authors have not found an app~opriate definition of
geometric reasoning in the literature reviewed, and hence
will define the term in context of the research presented in
this paper.
Geometric reasoning is understood as a compu-
tational methodology that will permit interpre-
tations and deductions to solve spatial problems
concerning location and orientation of discrete
parts or assemblies represented in solid modeling
systems.
This view of geometric reasoning is restricted to computa-
tion on logic machines (classical von Neumann computers)
and makes no claim for being a basis for simulating human
cognitive abilities. The above definition of geometric rea-
soning dictates that a computational basis requires the fol-
lowing:
1. Acontext-free definition of geometric concepts.
2. Aninternal representation of thepre-defined geometric
concepts.
3. Aforrnalism that will permit query processing to solve
problems related to location and orientation.
In our earlier work [6], we have introduced geometric con-
cepts to represent spatiaf relations between features. In the
work reported here, we will extend [6] and formalize the geo-
metric concepts using the mathematical notion of a relation.
The general idea here is that the analytic view of the geome-
try between features (spatial relations) is expressed in terms
of a set of relations l?,. A set of operations, defined over ‘R,
provides the algebraic machinery required to solve problems
of location and orientation. The set ‘R together with the
operations form an algebraic system d, expressed as:
A = { ‘R ; Operations }
The domain of the set 7? and specific operations needed for
geometric reasoning will be defined in the forth-coming sec-
tions.
The proposed afgebraic approach introduced above will
transform geometric reasoning to symbolic computation, a
known capabihty of logic machines. To illustrate the need
and use of this approach, the scope of the project will be
discussed in the next section, followed by related work, the
mathematical notation and machinery needed to compute
with an algebra, and the geometric reasoning formalism of
the algebraic system. Subsequent sections present applica-
tions of the algebraic approach and conclusions about the
work.
2 Project Scope
A digital equivalent ofaneugineering drawing will, in the
future, lead to theelirnination of engineering drawings as a
language of communication between design andmanufactur-
ing. The engineering drawings referred to in this work are
detail drawings of mechanical parts manufactured from stock
material. The features in this work are standard cavity-type
>ize features encountered in discrete prismatic-parts manu-
facturing. These features have been selected from literature
on feature extraction and from Computer Aided Manufac-
turing International’s (CAM-I) glossary of form features [2].
The feature interactions will be considered as those where
the features can be parsed unambiguously, with no loss of
edge(s) as a result of the interaction.
Specifically, we will use interacting and interfeature
relationships in mechanical parts to demonstrate the pre-
posed algebraic approach to geometric query processing. In
a CAD model, geometric relationships between features are
not explicit, but are embedded within the data structure.
Any attempt toreduce dependence on engineering drawings
will require that such implicit geometry be explicitly repre-
sented by suitable mathernaticaf abstractions of interacting
and interfeature relationships. An internal representation
(data model) of geometric relationships wilf be difficult to
develop \vithout the ability to first express geometric rela-
tionships in a language (not necessarily natural languages)
that has a precisely defined meaning. In [6], we hypoth-
esize that geometric relationships between features can be
expressed in a language made up of precise context-free
dejinitionsof structural primitives at an intermediate level
of abstraction, and mathematically defined geometric con-
cepts. It is reasonable, based on the face-set representation
of features, to decompose features into a level of abstrac-
tion in which the geometric relationships occur. A level of
abstraction that is intermediate between the feature level
and the point, line and surface level is one such abstrac-
tion level. The primitives of this abstraction level are “top”,
“side’), “bottom’’, and “end”. Themathernatica ldescription
of the relationships can be specified in terms of determi-
nate geometric concepts (see Section 4 for definitions), such
as “planar”, “coplanar”, “parallel”, “orthogonal”, “offset”,
“collinear”, and “angular”. Figures 2 and 6 illustrate the
structural primitives associated with parts XYZ and ABC
in Section 6. Tables 3 and 5 illustrate the application of the
geometric concepts.
The definitions and geometric concepts of the language
must be precisely defined if context resolution is to be
avoided. The strategy for geometric reasoning adopted in
this paper is to develop an approach for representing geo-
metric and topological properties and then implement pro-
cedures that manipulate these representations. The geomet-
ric and topological properties of geometric relationships can
be expressed in terms of the language primitives described
above. Relations will be the mathematical abstraction of ge-
ometric relationships between features. A query posed by an
application, e.g., process planning, is derived as an expres-
sion of a relational algebra, where the algebraic expression
can be computed to respond to the query. The work pre-
sented relates to a class of problems of geometric reasoning
1Defined, respectively, in [6] as when two or more feature
volumes physically interact or when two or more feature
volumes do not physically intersect, but have spatial rela-
tionships such as parallel, planar, etc.
74
(e.g., process planning, fixture design, NC tool path plan-
ning, GT coding, etc. ) which can be cast in the form of a
query as follows:
“Does a specified group of features possess a
certain predefine geometric property?” or,
rephrased, “Find the group of features that pos-
sess a specified geometric property”.
Previous research [15, 26] has identified the need for geomet-
ric query processing, where [26] identifies a query domain for
geometric and feature modelers that we believe can be han-
dled by the algebraic approach of this work.
3 Related Work
3.1 Past Investigations
Researchers in the past have used many mathematicalabstractions to represent and manipulate spatial knowl-edge. The three most commonly used abstractions are a
graph-based representation [13, 27, 17, 23], location
predicates [8, 10, 12, 7], and coordinate transforma-
tions [1, 21, 11].
3.2 Relevance of an Algebraic Approach
In this paper, the mathematical abstraction of geometric
concepts is a relation. Spatial relations are expressed as
mappings (tuples), and mappings are used to represent the
geometric and topological properties of interacting and inter-
feature relationships. The set of mappings (relation) is oper-
ated on by operations to respond to queries on geometric and
topological properties of spatial relations between features.
Past investigations on spatiaf relations, as cited above, em-
phasize the modeling of the structural aspects of spatial rela-
tions between features, while geometric query processing of
the spatial relationships is not emphasized. The cited work
lacks a mathematical formalism required for query process-
ing. Representing the structure of spatiaf relations with-
out corresponding operators or inferencing techniques will
make geometric reasoning for solving the spatial problems
of location and orientation a difficult task. Matrix algebra
for manipulating coordinate transformations, used in earlier
investigations, does not adequately support symbolic com-
putation as the algebra is defined over real and complex
numbers only. Matrix operations are sensitive to the order-
ing of rows and columns. Like matrices, relations may also
be viewed as rectangular arrays (with rows and columns)
but the notion of a relation is set-theoretic. The algebra of
relations is defined over sets, and set membership is not re-
stricted to data types. The ordering of rows and columns is
likewise unimportant to the operations of relational algebra.
Prior investigations of spatial relationships between fea-
tures, while capturing some feature connectivity, do not
demonstrate geometric qnery processing which is essential
to support geometric reasoning. The algebra approach de-
scribed in this document will provide such a capability.
4
4.1
Geometric and Structural
Primitives
Geometric Reasoning Definitions
Appendix A presents the nomenclature that will be used
in the remainder of this paper. The geometric primitives,
specific to geometric reasoning with discrete prismatic parts,
will be defined below. The geometric primitive definitions
will be used, in conjunction with the structural primitives, to
construct the relations for the geometric query algebra. The
structural and geometric primitive definitions are w follows:
Definition I The bottom b:j of a feature Fi, where i is the
feature index and j is a bottom element for the z‘tk feature, 1s
an actual (real) face of Fi that is: (1) bound by a closed loop
of actuaf (real) concave edge(s); or (2) bound by two non-
intersecting actual concave edges; or (3) bound by greater
than two acturd concave edges.
Definition 2 The side ~i~ of a feature is an actuaf face
that is not a bottom of F,.
Definition 3 The top tij of a feature Fi is a virtual face
of Fi that is bound by a closed loop of actual convex edge(s)
or bound by two non-intersecting actual convex edges.
Definition 4 The end eij of a feature Fi is a virtual face
that is not a top of Fi.
Definition 5 Fi is planar with F,, expressed as FiPLFj,
if ~ jfla E fi, $j’p c fj I tiia . fijp = 1 and eia, ejp C P where
P is a real face of the part.
Definition 6 F: is coplanar with Fj, expressed as
FiCOPFj, if 3.f~a c fij f~’p c f] I fticrfi~~ = 1 and
(flia –$jp).fit~ = 0 v (fljp-fiia).fijp = o and W’ I eia,ejp C
P where P is a real face of the part.
Definition 7 Fi is offset with F,, expressed as Fi 033Fj$if 3~~a E fi,-f~~ c fj I fiia.fij~ ~ 1 and (.%m– fjp) . fiia # o
v (fij@ ‘@is) . fi~p # O.
Definition 8 Fi is orthogonal with F,, expressed as
F:J-&, if ~i~j + uiPJ + vi~j = O, where J,p, v are the
direction cosines of the feature axes of Fi and FJ, and Fi
and Fj are features of the same class, e.g., hole-l and hole-2
are features of the class holes.
Definition 9 F, is parallel with Fj, expressed as F, IIFJ,if ~i~j + ~ipj + vivj = 1, where A, P, v are the direction
cosines of the feature axis of Fi and Fj. Fi and Fj are
features of the same class, e.g., hole-l and hole-2.
Definition 10 Fi is collinear with Fj, expressed as
Fi@Fj) if Ai = Aj, pi = Pj, vi = ~j where A,p, v are the di-
rection cosines of the feature axis of Fi and F,. Additionally,FiandFJ must be features of the same class.
Deflnitiou 11 Feature F. and feature Fj are angular if
the feature axis of F; is oriented with the feature axis of F,
such that F] and F: are not parallel, orthogonal, or collinear.
F,andFj must be features of the same class.
75
4.2 Sufficiency and Completeness
The definitions for the geometric and structural primitives
form the language by which interacting and interfeature rela-
tions can be represented for discrete, prismatic parts. These
definitions will also provide a basis for specifying the rela-
tions of a geometric reasoning algebra. A question becomes
apparent, however: is this set of primitives sufficient and
complete for application in an industrial setting? It can be
argued that an infinite number of such primitives will be re-
quired to determine the entirety of spatial relationships for
all manufacturing processes. The same argument holds for
the number of features needed to describe and represent all
parts and assemblies produced by the world’s industries. In
the case of features, CAM-I [2] has defined a finite number
of features for a tgpicalindustrial environment, where the in-
tent is not to handle the unwieldy problem of an infinity of
feature types, but instead to define features for the majority
of cases encountered. By so doing, the feature set becomes
manageable and aids the “main stream” manufacturing ac-
tivities.
Similarly, the set of primitives defined in this paper does
not address all types of spatial relationships for every man-
ufacturing scenario. Instead, the primitives have been care-
fully defined and selected based on the need to show feasibil-
ity of the query approach and on the need to represent and
query spatial relationships for cavity-type features (e.g., a
slot, blind hole, blind pocket, step, open pocket, re-entrant,
round slot, thru hole, etc. ) in discrete-part manufacturing.
Many industries rely heavily on 3D-machining centers for the
majority of material-removal manufacturing. The concepts
of orthogonal, parallel, angular, collinear, etc. are central to
the needs of fixturing, process planning, etc. for this manu-
facturing arena. The example applications, described in [6]
and in Section 6 of this paper, demonstrate the potentiaf
usefulness of the geometric and structural primitives in a
real-world manufacturing setting, beyond a mere academic
exercise. Of course, to completely represent the spatial rela-
tionships for the class of features defined by CAM-I [2], the
set of primitives will require additional geometric and struc-
tural primitive definitions; yet, this set will remain finite
based on the finite character of the feature set.
5 Formalism of the Algebraic
System
5.1 Formalization of a Relation
As discussed in Section 1, once the definitions and ge-
ometric concepts for geometric reasoning have been iden-
tified, the next step is a formalism for the internal repre-
sentation of the language primitives. Such a formalism pro-
vides the mechanism for extracting required geometric infor-
mation from a solid model representation. The formalism,
adopted in this paper, for the internal representation is the
relational data model introduced by E.F. Codd in 1970 [3, 4].
For additional reading on the relational data model and re-
lational algebra, readers can refer to texts [22, 28, 20]. A
relation scheme R is defined as a finite set of attribute names
{A,, Az, AJ, . . .,A~}. For every Ai there exists a set Di,
1< i < n, called the domain of Ai, denoted by dom(A, ). Let
D= DIu Dz u... U D~. A relation r is defined as a finite
set of mappings {tl ,tz, . . . . tP} from R to D, with the re-
striction that for each mapping t E r, t(Ai) ~ Di, 1< i < n.
Abstractly, a relation is a subset r c R x D. If the setsR and D are finite, then T may can represented by a rectan-
gular n x n array. A relation r is associated with a relation
scheme R, and is written as T(R). In mathematical theory
of relations, mappings which are members of a relation r are
called tuples. A tuple is a set of pairs (A: u), where A is an
attribute and u is a value drawn from the domain of attribute
A. Mathematically a tuple t is expressed as t : A ~ t(A)
; where t(A) G dom(A) = u. A relation then becomes a set
of tuples{tl ,t2,....tp},each tuple having the same set of
attributes.
The above formalization transforms the logical view of a
relation to a physical view that is suitable for an internal
representation. In other words, the logical view is based on
sets and mappings between sets, but the physical represen-
tation of the logical view is a table of rows and columns.
Sets and mappings cannot be directly implemented as en-
tities in machines, whereas tables facilitate such a capa-
bility. An example will illustrate the formalization. The
logical view of the geometric primitive ‘planar’ is expressed
by the definition of this primitive in Subsection 4.1, where
the relation ‘planar’ in Table 5 of Appendix B represents
the physical representation of the logicaJ view. The rela-
tion scheme of the relation ‘planar’ is the set of attributes
{Fi, F.i, fro, f,~, AcCe9sdirection, Par-trio}. Table 5 of
Appendix B shows that the relation consists of the set of
tuples {tl ,t2, . . . . tlo},where each tuple has the same set
of attributes as the relation. The domain of each attribute
of the relation ‘planar’ is specified in Relation 1 of Sub-
section 5.2. A physical representation (or an internal repre-
sentation) now makes it possible to perform any pre-defined
mathematical operations to add, delete or query for infor-
mation.
5.2 Relations
This section describes the set of base relations [4] of the
algebraic system A discussed in Section 1. Base relations
are those which are defined independently of other relations,
where no base relation is derivable from other relations. De-
rived relations are those which can be derived completely
from base relations. The set ‘R is made up of base relations
and derived relations. Geometric primitives are associated
with a finite set of attributes and a finite set of domains,
each attribute in turn being associated with a single domain.
The primitives can now be expressed as mappings from the
attribute set to the domain set. The geometric primitives
described in Section 2 will be formalized as base relations,
and the relation scheme of each relation and the domain
of each attribute will be specified. The algebraic system A
consists of two types of base relations, relations associated
with an intrinsic geometric concept or geometric primitives,
e.g., planar, coplanar, parallel, etc., and relations that nave
76
no geometric meaning or are not associated with geometric
primitives, e.g., Feature-interactior~, real-faces, etc. The for-
mer are denoted as Type I relations and the latter as Type II
relations.
A relation can be viewed aa a constrained tabular repre-
sent at ion [3, 4] such that:
1.
2.
3.
4.
~t,, t2 E r I t, = tz.
No ordering exists between the attributes (columns)
and the tuples (rows).
Domains are atomic value sets and non-distinct do-
mains are permissible.
The attribute names in a relation scheme are distinct.
Based on these constraints, the relations which form the
operands of the algebra will be defined below, including both
Type I and Type II relations. The Type I relation schemes
are constructed so aa to support geometric queries on inter-
acting and interfeature relationships (query domain). The
attribute set of each relation scheme is not restricted to the
schemes shown below, e.g., planar can be implemented as
pzanar{F’i, Fj, .fia, .fjp, Access.direction, Partno, Assem-
bly-no}, The additional attribute Assembly -noindicates the
assembly to which the part belongs. The attribute names
have been selected in a way that will denote thesernantics
of the attributes, e.g., Access-direction is the direction in
which a tool can approach the feature. For simplicity, the
domain of the attribute Access-directionis restricted to the
six degrees of freedom (linear) in 3D space.
Relation 1 The relation planar s
R{ Fi,FJ ,fi~, fJp,Access-direction, Partno}
dom(F:)=dom(F1) ={@F}
dom(fi.)=dorn(fj~ )={ top, end}
dom(Accessdirection) ={x, y, z, -x, -y, -z}
dom(Partno)={~p}
Relation 2 The relation coplanar G
R{Fi ,Fj ,fi~,fJ~,Access.direction, Partno}dom(Fi)=dom(Fj) ={tip}dom(fi.)=dom(flp)={ top, end}dom(dccessdirection) ={x, y, z, -x, -y, -z}dom(Partno)={~p}
Relation 3 The relation offset - R{Fi ,Fj ,A~i9i,Azi9j }
dom(Fi)=dom(Fj) ={$F}
dom(Azisi)=dom(Azi9j) ={x, y, Z, -x, -y, -z}dom(Partno)={q$p}
Relation 4 The relation parallel s
R.{ Fi,Fj,A~is,Partno}
dom(Azis)={z, y, z}
dom(Fi)=dom(Fj) ={q3F]
dom(Partno)={q5p}
Relation 5 The relation orthogonal E
R{Fi ,Fj,A~i~i,A~isj ,Partno]dom(F8)=d.rn(FJ )={4~)dom(Azis:)=dom(Azis3 )={x, y, z}dom(Partno)={dP}
Relation 6 The relation angular s
IL{ Fi,Fj, Theta, Partno}
dom(Fi)=dom(FJ) ={~F]
dom(Theta)={O I O <0< 360°}
dom(Partno)={q$P}
Relation 7 The relation Feature_List ~
R{ Feature-id, Feature-type, Partno}
dom(Feature-id) ={~F}
donl(Feature-type) ={ slot, blind-hole, thru~oie,
open-pocket, b/ind-pocket, thru-pocket, step, re-entrant}
dom(Partno)={~p}
Relation 8 The relation Interacting-Features ~
R{ Fi,Fj,ji~,.fjp, Partno}
dom(Fi)=dom(Fj) ={dF~
dorn(fia)=dom(fjp)={ top, end, bottom, side}
dom(Partno)={q$p}
Relation 9 The relation Real_Faces ~
R{ Face-id, Feature-id, FaceJype, Partno}
dom(Face-icl)={~f }
dom(Feat ure-id)={#F}
dom(Face-type)={ side, bottom}
dom(Partno)={q$p}
Relation 10 The relation Virtuallaces ~
R{ Face-id, Feature-id, Face_type,Partno}
dom(Face-id)={+f}
dom(Feature-id) ={4F}
dom(Face-type)={ top, end}
dom(Partno)={@p}
5.3 Operations
Now that we have the necessary relations on sets for the
geometric reasoning algebra, we discuss the operations on
sets. Although an operation is a mapping like a relation, an
operation differs from a relation in that a relation merely
states a relationship that exists between sets, where~ an
operation actually forms a set from all or parts of other sets.
The operations discussed in this section facilitate the com-
putation of new relations with base and/or derived relations
as the operands. Relations being sets, the usual boolean set
operations of union, intersection, difference, and cartesian
product are applicable to them so long aa the result is a re-
lation. Let @ be an arbitrary binary operation, and r, s be
the operands. The general form of an operation is given
r@3s={tl P(t)}; where P(t) is a predicate
Based on this general definition, the operations needed
the geometric reasoning algebra are given below:
by:
for
Operation I The union operation [22, 28] is a boolean
operation on two operands z and y, on the same relation
scheme R such that x u y is a relation r(ll.) that contains
all tuples that are either in z or in y.
z(R) u u(R) = r(R) = {t,It,G z(R) or t, E Y(R)}
77
Operation 2 The intersection operation [22, 28] is a
boolean operation on two operands x and y, on tlze same
relation scheme R such that x ny is a relation r(n) that
contains all tuples that are in x and in y.
x(R.) n Y(R) = T(W = {t, I tr c x(R) andt. ~ Y(R)}
Operation 3 The difference operation [2% 28] is uboolean operation on two operands x and y, on the same
relation scheme R such that z – y. is a relation r(n) that
contains all tuples that are in x but not in y.
z(R) - v(R) = T(R) = {L [ t, E z(R) a~dtr @’Y(R)}
Operation 4 The select operation, denoted by CTP(T),
when applied to a relation r(R) yields another relation s(R)
C T(R) such that the predicate P is true. The predicate P
allows attributes in R, values of attributes in R, arithmetic
comparison operators <, =, >, <, #, ?, and logical connec-
tive A, VI and 1. Select is a unary operator. In addition to
comparison between a attribute and a constant as in UAoa(T),the select operation also permitg comparison between two at-
tributes having the same domain as in u~e~ (r) where A and
B are any two attributes that are 13 comparable and O is a
arithmetic comparator.
u A>a * ~=,(r) is a relation s(R) = {t, 6 r I t,(A) >
a A t,(B) = b with a c dom(A) A b c dom(B))
In this paper, E. F. Codd’s origird select operation is
extended to allow for arithmetic operations of addition and
multiplication on the attributes. The general form of our
extended select operation is UA,F,B (r) = {t G r I F(A, B)},
where F is a formula of the form A = 5+B or -4>5*B. The
restriction here is that the arithmetic operations must be
valid on dom(A) and dom(B).
Operation 5 The project operation [22, 28], denoted by
~S (r), when applied to a relation T(R) yields another rela-
tion s(S), where S C R. Relation s is made up of attributes
that belong to the scheme S only. Project is a unary opera-
tor.
If R = {Z1, Z2, ZS,... Z~} and S = {z~,zz} then IIs(r) =
s(s) = {t,(s) I t, e r}
Operation 6 The natural-join operation [22, 28] is a bi-
nary operation on relations T(R.) and s(S) that combines two
relations on all their common attributes. The naturaljoin
applied to operands r and s, denoted by r w S, yields a
relation q(T) where RS = T. The common attributes of theoperands must have identical names and equal domains.
v(R) W s(S) = q(l’) = {t I there existst~ E r and t~ c s
such that t, = t (R) and ta = t(S). Since by definition R n
S is a subset of both R and S, t,(ll. (1 S) = t,(ll. n S).
Operation 7 The theta-join operation is used for com-
paring domain values using the binary relations <, <, ~,
and >. The attributes over which the O comparator is applied
must be 8 – comparable, i.e., 6 is over dom(A) x dom[B)
where A and B are arbitrary attributes and O is a member
of the above comparator set. Let T(R) and s(S) be two re-
lations and let A ~ R and B G S be @ comparable, where ~
is a binary comparator. Then r[A9B]s is the relation q(RS)
= {t I for some t, c r and some t, G s such that t,(A) O
t,(B), t(A) = t, and t(S) = t,}.
In this paper E. F. Codd’s original theta-join operation
is extended to allow for arithmetic operations of addition
and multiplication on the attributes. The general form of
our extended theta-join operation is r[A. F(A, B). B]s, where
F is a formula of the form A = 5+B or A = 5*B. The
restriction here is that the arithmetic operations must be
valid on dom(A) and dom(B).
r[A. F(A, B). B]s = q(RS) = {t I for some t~ c T and some
t, G s such that F(t, (A), t,(B)) is true, and t(A) = tr and
t(s) = t,}
Operation 8 The split operation [22, 28], written as
SPLITP(T), takes one relation as argument and returns a
pair of relations. By definition an operation returns a single
relation as the result, and hence the SPLIT operation is not
included in relational algebra. It is however convenient forquery processing. The Let T be a relation on IL and let ~(t)
be a boolean predicate on tuples over R. Then SPLITP (r)
is the pair of relations s = {t ~ r I ,8(t)} and q =
{t c r I = $(t)}, whereq =r –s.
Operation 9 The rename operation [22, 28], written as
6A-B, where A is a attribute in T(R), renames the attribute
A in R to B, where B @ R - A. The attribute B has the
same domain as the renamed attribute A.
6~_B(~) = r’(R’) = {t’ I there is a triple t G
r with t’(R – A) = t(R – A) and t’(B) = t(A)}, where
R=(R-A)B.
Operation 10 The delta operator, written as A~,B,
where A and B are attributes in R having the same domain,
returns a single attribute relation by performing a union op-
eration on the value sets of attributes A and B.r’ = {t I t C ~~(~) U ~D(~)}
The delta operator and the extended Select and Theta-Join
operators are introduced by the authors for convenience in
processing geometric queries in CAD/CAM applications.
An algebraic expression over A is any expression legally
formed (according to restrictions on operators) with the re-
lations in 7Z as operands and the operations introduced in
Section 5.4. Parentheses are permissible in aJgebraic expres-
sions and no precedence of the binary operators is assumed,
except for the usual precedence of n over U. The arithmetic
comparison operators and the logical connective are used
for convenience in constructing compound predicates. The
arithmetic comparators and the logical connective do not
add to the expressive power of the algebra. Six fundamen-
tal operators Union, Difference, NaturaJ-Join or Cartesian
Product, Select, Project, and Rename are sufficient to trans-
form a query into an algebraic expression. However, if the
algebra over 7? is restricted to just the six fundamental op
erators then the algebraic expressions become long and un-
wieldy. Therefore, additional operators Theta-Join, SPLIT,
and Delta have been defined to simplify writing algebraic
78
ZOnlo paw)
L.
top ,,0I ‘kide,2
end2, end3,,
~ bo%n ,3 PI
Figure 1: Part XYZ.
expressions, e.g., Theta-join is a natural join and a selection
combined into one operation. The additional operators do
not add to the expressive power of the algebra but simplify
the construction of algebraic expressions.
6 Applications
In this section, two example applications in process plan-
ning and fixture design, will be presented to illustrate the
use of the algebraic system A,
A = {1?; U, n, -, U, II, W, 0, 6A-B, A~,B}
The applications have been developed on the premise of pro-
viding insight into the actual use of the rdgebraic system A.
It is not the intent of this section to contain the complexity
which normally besets automation of design and manufac-
turing tasks, but to simply illustrate how relational algebra
can be used as a computational basis for a class of problems
in geometric reasoning.
6.1 Computer-Aided Fixturing
A fixturing setup is specified by the orientation of the
part with respect to the tool axis, the clamping and po-
sitioning surfaces, and the devices required to restrict the
12 degrees of freedom of the part during machining in the
specified orientation. The task of setup selection involves
grouping machining features into categories, in a way that
minimizes the number of part orientations required for ma-
chining. Presently, setup selection is usually carried out by
fixture designers using a pictorial representation of the part
along with the process plan,
Consider the part XYZ shown in Figure 1 that is to be
machined from bar stock. The features and the primitives of
the intermediate level of abstraction ace shown in Figure 2.
Consider a query that is posed by a semi-automated CAD
fixturing or process-planning system;
II
IIs[de23
II
II
II, , side33
IIo
end32
00I I end,, —
$7
end41
en 22—
side33
top~~top~6
end52end62
&@
side53
side
end, 0 0
side63
end6,0 side64
bottom55
bottom65 side73top ,6 1r-+ I‘rid”
‘rid” LJ%O,,O.7Sside74
Figure 2: Intermediate-Level Feature Representa-
tion.
Figure 3: Expression tree for query Q.1.Q.1: “List all holes in the part XYZ which can be
machined from the + y direction .“
79
This is a composite query with two parts, and will be com-
puted by translating the query into a legal algebraic expres-
sion (according to restrictions on operators) in A. An al-
gebraic expression can be viewed as a function that maps a
set of relations to a single relation. The algebraic expression
that computes the response to the query Q.1 is represented
as an expression tree (Figure 3). The operators and op-
erations of the algebra are represented by the nodes, and
relations of 7L are represented by leaves of the tree.
To understand the steps associated with geometric query
processing, consider the following process description:
1.
2.
3.
4.
It is assumed that the part or assembly (in this case
XYZ) exists in a feature-based system.
Under this assumption, the intermediate-level of fea-
ture representation (Figure 2) is generated and used to
algorithmically determine the interacting and interfea-
ture relationships [6]. Table 4 in Appendix B lists the
interacting-features relation created through this pro-
cess. For example, in Figure 2, the thru hole feature
(F’,), represented intermediately by eruils, endll, and
side3s, interacts with slots Fs and FS through the sides:
Sideed and side~3, Besides the interacting-features re-
lation, the geometric primitives are used to generate
the tabular interfeature relations, including relation
orthogonal (Table 3), relation parallel (Table 3), and
relations planar, coplanar, and offset (Table 5) which
carry access direction information. The feature model
is also used to create the feature-list relation (Table 4),
the real.faces relation (Table 6), and the virtual-faces
relation (Table 6).
With these tabular relations formed and stored in the
query system, queries can be formulated, either by the
designer or application software. The query Q. 1, for
example, will be input to the query system through a
translator [20] which relates possible query commands
directly with the operations in the algebraic system A.
In this case, the part XYZ is chosen from the parts
available in the query system, followed by commands
which identify the feature class (holes) and the access
direction (+y). These commands are directly trans-
lated into the following algebraic expressions:
S2 = 6F-rea,U,e-id [AFi,Fj (S1)] (2)
S3 = ~(F-rypes{blindAolo, )V(cthruh.de, )A(Pno=’XYZ, (3)
[(SZ M (Feature-list))]
Equation 2 corresponds to the algebraic expression for
selecting the features for the part XYZ, where only
the +y access direction is considered from the rela-
tions planar, coplanar, and offset. This selection is
projected into a new relation scheme with attributes
5.
F: FjFl F5F1 FSF1 F7F2 F5Fz FeFz F7F5 FSF5 F7Fe F7
F1 F2
F2 F3
F1 F3
F3 F5
F3 Fe
F3 F,
0 ‘laFeatureid
FIFz
Expression S2 * F3
F5
FcF7
oExpression S3 +
‘m
Table 1: Evaluation of query Q1.
I’i and Fj. The S2 expression (Equation 2) transforms
the results of S1 into a new relation, with the singular
attribute of the Feature_id for those features of part
XYZ with access direction +y. Finally, expression Sa
(Equation 4) completes the query by joining the relw
tion created by S2 with the FeatureList relation, and
selecting the features in the “holen class.
The compound expression SI-S3 is represented by the
expression tree shown in Figure 3. To generate this
tree, the expressions are recursively parsed (similarly
to equation parsing in symbolic manipulators), such
that the leaves correspond to previously generated re-
lations of the query system. The operations then em-
anate from the root of the tree, which corresponds to
the final operation needed to respond to the query.
Section 7 presents a number of theorems which may be
~@ed tO tl~;~ tree ~tructure to S;mphfy and reduce the
number of operations. After simplification, the query
system computes the relation for Q.1 by traversing the
tree. As shown in Table 1, the execution of the alge.
braic expressions result in the identification of features
F1, F2, and F3 in response to the query. This infor-
mation can now be combined with other query results
and used by application software for fixture design, ma-
chine setup selection, etc.
80
..,, -.
-;EJ?ag%J-.>,.-*.~..-_.
n
Figure 4: Flange Nut Clamp - Part ABC [9].
6.2 Machining Constraints due to Fea-
ture Interactions
Consider the flange-nut clamp ABC shown in Figure 4.
The part is a common prismatic-type fixturing element used
as a work-holding device and is taken from [9]. The list of
features to be machined is included in Table 4 of Appendix B
and the intermediate level of feature abstraction is shown in
Figure 5. Usually, the interaction of two size features re-
sults in a partial ordering of machining operations required
to manufacture the size features. Feature interactions re-
duce the combinatorics of choices in machining operations
selection, tool orientation, setup selection, etc. Fixturing
systems must assess the effects of feature interaction on cut-
ting and clamping strategies. Query Q.2 is an example query
u
Figure 5: Face-set representation of part ABC.
‘~:~e;@&o,“4 ,,,.., em.<.
:.rd.ro,e.:,”.. O ‘? F, Rs,de,,
Ca,m”’hw~,d.hae
0
Figure 6: Intermediate-level abstraction of part
ABC.
that could be posed by an application program extracting
machining constraints due to feature interactions.
Q.2 “Determine the feature interactions in part ABC which
constrain the ordering oi machining operations.”
To respond to this query, steps 1-3 of the query process
are completed as in Section 6.1. In this case, the following
expressions will be created by the query translator:
S1 = u(fim=i3id.l )V(fia=<bottoml) A(Partno=iABC, ) (4)
(Interacting.features)
S2 = fF-Fac.-id [Ajtajfjp (sl )1 (5)
S3 = SZ W (a(pa,~.O=,AEC,) (ReaL~aces) U (6)
C(Part.o=lABCr) (Virtual-faces))
S4 = ~~-id(sPLIT(~~-tvPe= ’side’) v(’bottom’)(s3)) (7)
These legal expressions in d are subsequently parsed, gen-
erating an expression tree for the query Q. 2. Expression S1,
a branch of the expression tree, selects attributes from the
Interacting-Features relation which include a side or a bot-
tom in the interaction (part ABC). The resulting relation
is transformed into a single attribute relation, Face-id, by
expression S2 (Equation 5). Expression S3 joins the FaceJd
relation to the selected real and virtual faces for part ABC,
creating a relation which includes Face-type and Featureid
data. The final expression, S4, extracts the feature iden-
tification for each feature involved in the interaction, and
splits the result into two relations. It is implied that the
features in one of the relations interacts with the features in
the remaining relation.
Table 2 lists the intermediate relations created by expres-
sions S1 -S3, along with the response to the query from ex-
pression S4. Notice that two relations result from the oper-
ations in .!&. In the context of machine operations selection,
the application software will use the two relations to de-
termine which features should be machined prior to other
features. In this case, the choice is between FT and F3/F6.
The choice will depend on the type of machining processes
available, as well as the functional requirements associated
!vith the features.
81
uExpression S2 w
‘IEll
-.. -”O
siderh
t Opaa
11 Exmession .% = n. “
I Face.id I Facet ype I Feature.id Partno
endgq end F. I ABC 11
H.-
sidev~ I side I F; I ABC H.t Opaa top I F; I ABC U
uExpression S4 I+U-
D ‘RIFeature-id
Expression S4 i+ F6F3
Table 2: Evaluation of query Q2.
7 Computation
7.1 Fundamental Theorelns
With the algebraic system, i.e., relations and operations,
constructed for the geometric reasoning algebra, we now con-
sider methods for reducing the combinatorial complexity of
the algebra. This section will present some fundamental
theorems applicable to relational algebra. For the sake of
brevity} the theorems will not be explicitly proved. The the-
orems lead to the simplification and optimization (compu-
tational effort, order of operations) of the algebraic expres-
sions. Many of the theorems are based on the familiar laws
of the algebra of natural numbers, but have been extended
here for the geometric reasoning algebra.
Theorem 1 The select operator commutes under composi-
tion:
~A=a(uB=b(~)) = uB=b(CA=a(~))
Theorem 2 The select operator is distributive over binary
boolean operations:
1. U.k(r U S) = UA=a(r) U CA=.(S)
2. 17A=,(T n S) = UA=a(7_) n C7A=a(S)
3. 6A=.(r – S) = uA=a(~) – UA=.(S)
Theorem 3 The project operator commutes with selection
when the attribute or attributes for selection are among the
attributes in the set onto which the projection is taking place:
~x(C7.A=a(r)) = ~A=a(~X(?_))
Theorem 4 The project operator is distributive over binary
boolean operations:
1. ffx(r us) = rfx(r) Urfx(s)
2. IIx(T ns) = IIX(I-) n f’fx(s)
3. ffx(r – s) = IIx(r) – rfx(s)
Theorem 5 The join operation is commutative:
TLNS=SMT
where T(R) and s(S) are relations on the schemes R and
s.
Theorem 6 The join operation is distributive over binary
boolean operations:
l.(ruq) xls=(r’cds)u(qcd 3)
2.(r”nq) Cd9=(r C49)n(g C4 S)
3.(r–q)Ns=(r Ws)–(q Ws)
where T(R), q(’R), and s(S) are relations on the schemes
R and S.
Theorem 7 The join operation is associative:
(qw?-)ws=qw(, tx s)’
where r(R), q[R), and s(S) are relations on the schemes
R and S.
7.2 Example Application
To illustrate the use of these theorems for reducing com-
binatorial complexity, consider the example in Section 6.1.
Expression SI (Equation 2) unions the relations generated
by the three projection operations. Because the project op-
erator is distributive over the binary boolean operators, the
expression tree can be simplified to include only one union
operation for this expression, as shown in Figure 3. By so
doing, the three project operations will be carried out before
the union. Thus, the relations with smaller attribute lists
can be unioned preceding a union with the larger relation.
The result is a reduction in the number of logical operations
for a given union, based on the application of Theorem 4.
8 Conclusions
The work described in this paper focuses on the problem
of extracting implicit, spatial relationship information from
solid model representations of geometry. Traditionally, this
problem has been solved using ad hoc, hueristic methods,
relying on the engineer and/or process planner to interpret
design drawings. The algebraic approach presented in the
previous sections provides querying capabilities to the de-
signer or application software, automating and formalizing
the task of geometric reasoning with solid models.
The geometric primitives defined in Section 4.1 apply to
the feature domain of prismatic parts. These primitive def-
initions, in a truistic sense, are incomplete – there exists an
infinity geometric primitives to represent spatial relation-
ships. However, these geometric primitives form the set
82
Of primitives needed to construct the relations (Section 5) [7]
for the algebraic system and the application solutions (Sec-
tion 6).
The laws and theorems discussed in Section 7 provide
a means of reducing the combinatorial complexity of the
algebra expressions. While the computer implementation of
the algebra has not been presented in this paper, these laws
and theorems have been applied to the application queries,
resulting in the expressions md expression trees shown in
Tables 1-7 and Figure 3, respectively.
In general, the algebra approach to geometric query pro-
cessing represents a significant departure from recent re-
search efforts. Instead of concentrating on the representa-
tion ofgeometric structure, the algebra approach provides a
powerful mechanism for extracting spatial relationships di-
rectly from a feature representation. As shown in the Appli-
cations Section, necessary information for process planning
and fixture design can be obtained without relying on the
designer’s and/or process planner’s interpretation. Future
work will extend the algebra approach to other feature and
application domains.
9 Acknowledgements
The material presented in this document is based on work
supported, in part, by: a University of Texas URI Research
Grant, URI Project No. R-442; and a University of Texas
BER Equipment Grant. Any opinions, findings, conclusions
or recommendations expressed in this publication are those
of the authors and do not necessarily reflect the views of the
sponsors.
References
[1]
[2]
[3]
[4]
[5]
[6]
A. P. Ambler and R. J. Popplestone. Inferring the posi-
tions of bodies from specified spatiaf relationships. Ar-
tificial Intelligence, 6:157–174, 1975.
CAM-I. Illustrated glossary of workpiece form fea-
tures. Technical Report R-80-PPP-02.1, Computer
Aided Manufacturing International, 1980.
E. F. Codd. A relational model of data for large shared
data banks. Communications of ACM, 13(6):377-387,
June 1970.
E. F. Codd. Relational completeness ofdatabase sub-
languages. In R. Rustin, editor, Database Systems,
pages 65–98. Courant Computer Science Symposia 6,
Prentice-Hall, Englewood Cliffs, NJ, 1971.
M. Cutkoksky and J. Tenebaum. CAD/CAM integra-
tion through concurrent process and product design.
Submitted to the Symposium on Intelligent and Inte-
grated Mantr~acturing, ASME Winter Meeting, 1987.
R. E. da Silva, K, L. Wood, and J. J. Beaman. Repre-
senting and manipulating interacting and interfeature
relationships in engineering design and manufacture.
In 1990 ASME Design Automation Conference. ASME,
September 1990.
[8]
[9]
[10]
[11]
[12]
[13]
[14]
[15]
[16]
[17]
[18]
[19]
[20]
[21]
Y. Descotte and J. C. Latombe. GARI: A problem
solver that plans how to machine mechanical parts. In
Proceedings, International Joint Conference on Artifi-
cial Intelligence, pages 766–772, Vancouver, 1981.
M. R. Duffey and J. R. Dixon. Automating the design
of extrusions: A case study in geometric and topolog-
ical reasoning for mechanical design. In Computers in
Engineering 1988, pages 505-511. ASME, 1988.
J. H. Earle. Engineering Design Graphics. Addison-
Wesley Publishing Company, sixth edition, 1990.
S. J. Fenves and N. C. Baker. Spatial and functional
representation language for structural design. In IFIP
Conference on Expert Systems in Computer-Aided De-
sign, Sydney, Australia, February 1987. Working Group
5.2, IFIP Conference.
M. V. Gandhi and B. S. Thompson. Automated design
of modular fixtures for flexible manufacturing systems.
Journal of Manufacturing Systems, 5(4):243–252, 1988.
J. Gips and G. Stiny. Production systems and gram-
mars: a uniform characterization. Environment and
Planning B, 7:399-408, 1980.
M. R. Henderson. Extraction of Feature Information
from Three Dimensional CAD Data. PhD thesis, Pur-
due University, West Lafayette, Indiana, 1984.
F. E. Hohn. Applied Boolean Algebra. The MacMillan
Company, second edition, 1966.
P. Husbands et al. Part representation in process plan-
ning for complex parts. In J. Woodwark, editor, Geo-
metric Reasoning, chapter 12, pages 203–215. Claren-
don Press, Oxford, U. K., Oxford Press, New York,
1989.
M. Inui et al. Generation and verification of process
plans using dedicated models of products in computers.
In S. C-Y. LU and R. Komanduri, editors, Knotuledge-
Based Expert Systems for Manufacturing, pages 275-
286, New York, December 1986. ASME.
S. Joshi and T. Chang. Graph based heuristics for
recognition of machined features from a 3d solid model.
Computer Aided Design, 20(2), March 1988.
J. J. Kim and D. C. Gossard. Toward automation of
assembly packaging. In NSF Engineering Design Re-
search Conference, pages 267-284, University of Mas-
sachusetts, Amherst, June 1989. NSF.
M. S. King et al. Knowledge-based systems: How they
will affect manufacturing in the 80 ‘s? In Computers in
Engineering, pages 383-390. ASME, 1986.
H. F. Korth and A. Silberschatz. Database System Con-
cepts. McGraw- Hill Advanced Computer Science Series.
McGraw-Hill Book Company, University of Texas at
Austin, 1986.
K. Lee and G. Andrews. Inference of the position of
components in an assembly :part 2. Computer-Aided
Design, 17(1):20-24, January 1985.
83
[22]
[23]
[24]
[25]
[26]
[27]
[28]
A
D. Maier. The Theory of Relational Databases. Com-
puter Software Engineering Series. Computer Science
Press, 1803 Research Blvd, Rockville, MD 20850, first
edition, 1983.
M. Mantyla et al. Generative process planning of pris-
matic parts by feature relaxation. In 1988 Computers
in Engineering, pages 49–60, Lab of Info. Proc. Sci-
ence, I%poo, Finland, 1988. Helsinki Univ. of Technol-
ogy, ASME.
G. D. Mostow et al. Fundamental Structures of Algebra.
The McGraw Hill Book Company, 1963.
A. A. Requicha. Representations of rigid solids: The-
ory methods and systems. ACM Computing Surveys,
12(4):437–464, 1980.
J. Shah et al. Functional requirements for feature
based modeling systems. Technicaf Report R-89-GM-
03, Computer Aided Manufacturing International, Ar-
lington, Texas, July 1989.
J. J. Shah and M. T. Rogers. Feature based modeling
shell: Design and implementation. In 1988 Comput-
ers in Engineering, pages 255–261, Dept. of Mech. and
Aerospace Engg., 1988. Arizona State Univ, Tempe,
AZ.
J. D. Unman. Principles o} Database and I{nowledge-
Base Systems, volume 1 of Principles of Computer Sci.
ence Series. Computer Science Press, 1803 Research
Blvd, Rockville, MD 20850, first edition, 1988.
Nomenclature
Geometric Definitions Nomenclature:
denotes the irh feature
denotes the ath face (real or virtual) ‘f ‘$
denotes the virtual ath face of Fi
denotes the real a’h face of Fi
the unit outward normal associated with face
a point that lies on face (real or virtual) f,~
the kth edge of face fia
the feature axis of feature Fi
an arbitrary real face of a part’s b-repm
U fia ; the set effaces (reaf or virtual)
Ct=l
binding the feature volume of .FI.
the set of reaf edges that bind the face ~ia
the empty set
an ordered set of coordinates of a point
on face fiaan ordered set of coefflcieuts of the outward
surface normal face (rerd or virtual) f,.
an ordered set of coefficients of the equation
for the face fi=
Algebra Nomenclature:
{1———
c
~
c
3
$A, V
-1
r
R
r(R)
ttlA
dom(A)
ter, tr
t,(A)
4P, @F, ~f
a set is denoted by elements within braces
symbol denoting “defined by” or
“defined over”
symbol denoting set membership
symbol denoting inclusion
symbol denoting strict inclusion
existential quantifier denoting “there exists”
negated existential quantifier
logicaf connective “and” and “or”,
respectively
logical negation
italicized lower-case letter (except t)denotes an arbitrary relation
bold upper-case letter, a relation scheme
relation r defined over a relation scheme R
italicized t denotes an arbitrary tuple
specialization of tuple t.an plain upper-case letter denotes
an attribute
domain of attribute A
tuple t is a member of relation T
value of the attribute A of t E r
a permissible alphanumeric string to
uniquely identify the part instance,
feature instance, or face instance of a
feature, respectively
84
B Geometric Base Relations R
Fi Fj Axis; Axisj Partno
F7 y x XYZ
F6 F7 y x XYZ
F1 F3 z
- : ‘5
Y ABC
F2 F3 z Y ABC
Fl Fb z Y ABC
Fz z Y ABC
F1 F; z Y ABC
F2 F5 z Y ABC
‘ FI F] Axis Partno
F1 F2 y XYZF3 y XYZ
Fz F3 y XYZ
F5 F6 z XYZ
IEal : “
F4 F7 x XYZ
F3 F4 z ABC
F3 F5 z ABC
Fh F3 z ABC
F4 F5 z ABC
F5 F3 z ABC
F5 F4 z ABC
Table 3: Relations Orthogonal
I Relations)
and Parallel. (Type
r Featureid Featuredype Partno
F1 blind~ole XYZF1 blindllole ABC
F2 blind-hole ABC
blind-hole ABC
F2 thru-hole XYZF3
- : ‘3
thru-hole XYZ
F4 thru-hole XYZF4 thru-hole ABC
F5 thruhole ABC
Fs slot XYZF6 slot XYZF7 slot XYZ
F. roundslot ABC
nF; I steD I ABC n
Relation
Interacting
Features:
‘ F; Fj fia f jp Accesulirection Partno
F1 F2 topll endz I +y XYZF2 F3 end22 end3z +y XYZF4 F5 end41 end51 +y ABC
F4 F6 end~ ~ endsl +y ABC
F5 F4 end51 endd 1 +y ABC
F5 F6 end51 endsl +y ABC
F6 F4 end61 end41 +y ABC
F6 F5 endcl end51 +y ABC
F6 F3 endc3 topss -y ABC
F5 F4 end53 end43 -y ABC
nRelation 11II cl-ndall.ar: II
tlwiia
F1 Fj fia f]p AccessAirection Partno
F1 F5 topll t 0p5s +y XYZF1 Fe topll tOpCj6 +y XYZF1 F7 topll tOpre +y XYZF2 F5 endzl t op5s +y XYZ
~? F6 end21 topoe +y XYZ—
t OP76 +y XYZt OP66 +y XYZ
F5 F7 t 0p5c t0p7s +y XYZF6 F7 topss t0p7s +y XYZF5 F6 end51 endsl +Z XYZF5 F6 end52 endez -z XYZF, F, torha endv- -z ABC
F1 F7 topls end71 +2 ABC
F7 F5 end76 end53 -y ABC
F7 F4 end7e end43 -y ABC J
Ilx2Fll
Table 5: Relations Planar, Coplanar and Offset.
(Type I Relations)
Table 4: Relations Feature-List and Interacting
Features. (Type II Relations)
85
rRelation
Real
Faces:
n Faceid [
Elside12bottom13
side23
side33
side~z
side5S
side<A
Facet ype I Feature3d
side F,
Partno
XYZbottom F; XYZ
side F2 XYZ
side F3 XYZ
side F4 XYZside F5 XYZ
1 -. side F5 XYZside55 bottom F5 XYZ
side64 side F’ XYZ
sidem side F; XYZ.9idec5 bottom F6 XYZ
1 ~
side73 side F7 XYZside74 side F7 XYZside75 bottom F.
side~ ~ sic
1 \r. r” tiI AX,4 II
u .Sideez side F6 ABC
u
Side64 side Fe ABC
side~~ side FR ABC
ERelation
Virtual
Faces:
‘aceid Facedype Featureid Partnu utopll top F1 XYZendzl end F2 XYZendzz end F2 XYZend31 end F3 XYZend32 end F3 XYZenddl end F4 XYZend43 end F4 XYZendsl end F5 XYZend5z end F5 XYZtopse top F5 XYZendel end Fe XYZendGz end Fe XYZ
1 :-
tof)r,c top F6 XYZendTl end F7 XYZendr2 end F7 XYZt0p76 top F7 XYZtop13 top F1 ABC
t Opzs top F2 ABC
topaz top F3 ABC
end41 end F4 ABC
endq3 end F4 ABC
end51 end F5 ABC
end53 end F5 ABC
end~ v end F. ABC
u .-end7c I end I F; 1 ABC u
Table 6: Relations Real-Faces and Virtual-Faces,
(Type II Relations)
86