an algebraic approach to geometric query processing in cad ... · an algebraic abstract approach to...

14
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 conuuercial advantage, the ACM copyright notice and the title of the publication and its date appear, and notice is given that copying is by pemrission of the Association 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

Upload: others

Post on 03-Jun-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: An Algebraic Approach to Geometric Query Processing in CAD ... · An Algebraic Abstract Approach to Geometric Query Processing in CAD/CAM Applications R. E. da Silva, Graduate Research

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

Page 2: An Algebraic Approach to Geometric Query Processing in CAD ... · An Algebraic Abstract Approach to Geometric Query Processing in CAD/CAM Applications R. E. da Silva, Graduate Research

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

Page 3: An Algebraic Approach to Geometric Query Processing in CAD ... · An Algebraic Abstract Approach to Geometric Query Processing in CAD/CAM Applications R. E. da Silva, Graduate Research

(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

Page 4: An Algebraic Approach to Geometric Query Processing in CAD ... · An Algebraic Abstract Approach to Geometric Query Processing in CAD/CAM Applications R. E. da Silva, Graduate Research

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

Page 5: An Algebraic Approach to Geometric Query Processing in CAD ... · An Algebraic Abstract Approach to Geometric Query Processing in CAD/CAM Applications R. E. da Silva, Graduate Research

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

Page 6: An Algebraic Approach to Geometric Query Processing in CAD ... · An Algebraic Abstract Approach to Geometric Query Processing in CAD/CAM Applications R. E. da Silva, Graduate Research

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

Page 7: An Algebraic Approach to Geometric Query Processing in CAD ... · An Algebraic Abstract Approach to Geometric Query Processing in CAD/CAM Applications R. E. da Silva, Graduate Research

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

Page 8: An Algebraic Approach to Geometric Query Processing in CAD ... · An Algebraic Abstract Approach to Geometric Query Processing in CAD/CAM Applications R. E. da Silva, Graduate Research

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

Page 9: An Algebraic Approach to Geometric Query Processing in CAD ... · An Algebraic Abstract Approach to Geometric Query Processing in CAD/CAM Applications R. E. da Silva, Graduate Research

..,, -.

-;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

Page 10: An Algebraic Approach to Geometric Query Processing in CAD ... · An Algebraic Abstract Approach to Geometric Query Processing in CAD/CAM Applications R. E. da Silva, Graduate Research

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

Page 11: An Algebraic Approach to Geometric Query Processing in CAD ... · An Algebraic Abstract Approach to Geometric Query Processing in CAD/CAM Applications R. E. da Silva, Graduate Research

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

Page 12: An Algebraic Approach to Geometric Query Processing in CAD ... · An Algebraic Abstract Approach to Geometric Query Processing in CAD/CAM Applications R. E. da Silva, Graduate Research

[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

Page 13: An Algebraic Approach to Geometric Query Processing in CAD ... · An Algebraic Abstract Approach to Geometric Query Processing in CAD/CAM Applications R. E. da Silva, Graduate Research

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

Page 14: An Algebraic Approach to Geometric Query Processing in CAD ... · An Algebraic Abstract Approach to Geometric Query Processing in CAD/CAM Applications R. E. da Silva, Graduate Research

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