geometric containment analysis for rotational parts mukul v. karnik iktara and associates, llc...

28
Geometric Containment Analysis for Rotational Parts Mukul V. Karnik Iktara and Associates, LLC Satyandra K. Gupta, Edward B. Magrab University of Maryland

Post on 22-Dec-2015

218 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Geometric Containment Analysis for Rotational Parts Mukul V. Karnik Iktara and Associates, LLC Satyandra K. Gupta, Edward B. Magrab University of Maryland

Geometric Containment Analysis for Rotational Parts

Mukul V. KarnikIktara and Associates, LLC

Satyandra K. Gupta, Edward B. MagrabUniversity of Maryland

Page 2: Geometric Containment Analysis for Rotational Parts Mukul V. Karnik Iktara and Associates, LLC Satyandra K. Gupta, Edward B. Magrab University of Maryland

2

Role of containment in part reuse

We say that Q is contained in P, if Q can be machined from P by performing only material removal operations on P.

Q can be produced by cutting two slots in P

Q P

P Q Q

Cut first slotCut

second slot

Q is contained in P

Q is contained in P

Page 3: Geometric Containment Analysis for Rotational Parts Mukul V. Karnik Iktara and Associates, LLC Satyandra K. Gupta, Edward B. Magrab University of Maryland

3

Mathematical definition of containment

Containment:» Solid Q at a location (t, ) with respect to coordinate system of P is

contained in P if• Q * P = Q• Where Q = = TQ

1 0 0

0 cos sin 0

0 sin cos 0

0 0 0 1

T =

t

X

Z

YU

W

V

Database Solid - P Query Solid - Q

{ T , }q q q q Q

U, X

Z

Y

W

VLP LQ

Page 4: Geometric Containment Analysis for Rotational Parts Mukul V. Karnik Iktara and Associates, LLC Satyandra K. Gupta, Edward B. Magrab University of Maryland

4

Problem statement

If Q is a newly designed part, then one should attempt to locate a set of parts P = {P1, P2,…,Pm} in a database of n parts such that Q is contained in P, P P. Determine the rank order of parts in P based on their volume difference with Q.

Assumptions:» Parts being considered are limited types of rotational solids

Page 5: Geometric Containment Analysis for Rotational Parts Mukul V. Karnik Iktara and Associates, LLC Satyandra K. Gupta, Edward B. Magrab University of Maryland

5

Single axis and rotational solids

Single axis solid is a solid whose boundary consists of only axisymmetric faces such that any cross-section that includes the axis of rotation will generate the same 2D region

Rotational solid is a single axis solid with some off-axis features

Axis of rotation

Off-axis feature

Off-axis feature

Axis of rotation

Cross-section

Page 6: Geometric Containment Analysis for Rotational Parts Mukul V. Karnik Iktara and Associates, LLC Satyandra K. Gupta, Edward B. Magrab University of Maryland

6

Restrictions on rotational solids being considered

Internal and external surfaces belonging to the boundary of the underlying single axis solid that are of the following type» Type 1: Cylindrical» Type 2: Conical» Type 3: Spherical» Type 4: Toroidal» Type 5: Planar

Off-axis features that are of the following type» Axis-parallel cylindrical holes» Axis-parallel internal and external slots

Axis-parallel cylindrical holes

Axis-parallel external slot

Axis-parallel internal slot

Axis of rotation

Conical

SphericalCylindrical

ToroidalPlanar

Page 7: Geometric Containment Analysis for Rotational Parts Mukul V. Karnik Iktara and Associates, LLC Satyandra K. Gupta, Edward B. Magrab University of Maryland

7

System working modes

Generation and registration of

signatures Determine

containment

Working mode 2: Find solids in database that contain the

query solidQuery solid

CAD modelsOutput

Working mode 1: Register solids with database

Database of parts

Generation ofsignature

Page 8: Geometric Containment Analysis for Rotational Parts Mukul V. Karnik Iktara and Associates, LLC Satyandra K. Gupta, Edward B. Magrab University of Maryland

8

Approach for generating and registering signature

1. Determine axis of rotation

2. Find bounding cylinder

3. Create single axis solid

4. Extract off-axis features

5. Compute Volume

6. Enter signatures from steps 2-5 along with solid model in the database

Page 9: Geometric Containment Analysis for Rotational Parts Mukul V. Karnik Iktara and Associates, LLC Satyandra K. Gupta, Edward B. Magrab University of Maryland

9

Basic idea behind determining containment

Goal: For every solid P in database» Examine signatures of P to determine if there exists a location (t,)

for Q such that P contains Q.» We refer to the set of all possible locations where P contains Q as

the feasible transformation space of Q.

Our approach is based on » Showing that the feasible transformation space is empty, or» Explicitly constructing the feasible transformation space

Page 10: Geometric Containment Analysis for Rotational Parts Mukul V. Karnik Iktara and Associates, LLC Satyandra K. Gupta, Edward B. Magrab University of Maryland

10

The extent of transformation space that needs to be examined

Locating Q outside this transformation space will indicate either of the following:» Q is not contained

in P» Location is a repeat

of a location in the maximum feasible finite transformation space

Figure 3.6 Extent of transformation space that needs to be analyzed.

t

Page 11: Geometric Containment Analysis for Rotational Parts Mukul V. Karnik Iktara and Associates, LLC Satyandra K. Gupta, Edward B. Magrab University of Maryland

11

Main steps in approach

Compare bounding

cylinder (prune solids with empty

transformation space)

Signature of query solid

Database

Pruned solid

Determining containment

Output – solids

remaining

Pruned solid

Step 1 Step 2 Step 3

Compare zones(prune solids

if transformation space for single

axis solid is empty)

Compare off-axisfeatures (prune

solids iftransformation space for off-

axis features is empty)

Rank orderremaining

solids based ontheir volumedifference

Step 4

Pruned solids

Page 12: Geometric Containment Analysis for Rotational Parts Mukul V. Karnik Iktara and Associates, LLC Satyandra K. Gupta, Edward B. Magrab University of Maryland

12

Step 1Compare bounding cylinder

Objective: » Quickly determine if Q has an empty transformation space

If LQ > LP or RQ > RP, then Q does not have a feasible transformation space solid P cannot contain Q and hence it is pruned

Query solid Q

Database solidLQ

RQ

LP

RP

LP

RP

Database solid

Not pruned

Pruned

RQ > RP

Page 13: Geometric Containment Analysis for Rotational Parts Mukul V. Karnik Iktara and Associates, LLC Satyandra K. Gupta, Edward B. Magrab University of Maryland

13

Step 2 Compare zones of single axis solid

Objective: » To determine the feasible transformation space in which single axis solid Qs is

contained in single axis solid Ps

If no feasible transformation space exists then prune P Due to rotational symmetry, the transformation space for a single axis solid

is independent of

Single axis query solid Qs represented as zones

Single axis database solid Ps

represented as zones

Page 14: Geometric Containment Analysis for Rotational Parts Mukul V. Karnik Iktara and Associates, LLC Satyandra K. Gupta, Edward B. Magrab University of Maryland

14

Step 2 Details of approach

a. Determine the containment status of Qs at t = 0

b. Determine the next location t of Qs farthest from t such that containment status of Qs with respect to Ps is still the same as at t

• If Qs is contained in P at t, then Qs is contained in Ps at all locations between t and t

• If Qs is not contained in Ps at t, then Qs is not contained in Ps at all locations between t and t

c. If t > LP – LQ then stop

d. Else, set t = t and go to Step b

Page 15: Geometric Containment Analysis for Rotational Parts Mukul V. Karnik Iktara and Associates, LLC Satyandra K. Gupta, Edward B. Magrab University of Maryland

15

Step 2: Feasible transformation space for single axis solid

Transformation space for single axis solid extends to 2 due to rotational symmetry

Single axis database solid - Ps Single axis query solid - Qs

X

Z

Y

U

W

V

Page 16: Geometric Containment Analysis for Rotational Parts Mukul V. Karnik Iktara and Associates, LLC Satyandra K. Gupta, Edward B. Magrab University of Maryland

16

Step 3Pruning based on off-axis features

Objective:» To determine the feasible transformation space for which Q is

contained in P

If no feasible transformation space exists then prune P Presence of features changes feasible transformation

space

Change in transformation space due to

presence of features

Transformation space for solid without features (single axis solid)

Transformation spacefor solid with features

Page 17: Geometric Containment Analysis for Rotational Parts Mukul V. Karnik Iktara and Associates, LLC Satyandra K. Gupta, Edward B. Magrab University of Maryland

17

Step 3Basic idea

The feasible transformation space of Q should be such that no feature of P intersects Q

If Q is located at location (t, ), then for containment of Q in P, feature *Q = , where Q = TQ

Thus for containment of Q in P, each feature of P is either» Not intersecting single axis solid Qs

» Contained in feature of Q, or» Partially contained in feature of Q and remaining portion not

intersecting single axis solid Qs.

Pjf

Page 18: Geometric Containment Analysis for Rotational Parts Mukul V. Karnik Iktara and Associates, LLC Satyandra K. Gupta, Edward B. Magrab University of Maryland

18

Step 3Detailed approach

a. For each feature of P, determine the transformation space of Q for the cases when

i. does not intersect single axis solid Qs

ii. is a subset of another feature in Q

b. Combine feasible transformation spaces of all the features

Pjf

Pjf

Qif

Pjf

Page 19: Geometric Containment Analysis for Rotational Parts Mukul V. Karnik Iktara and Associates, LLC Satyandra K. Gupta, Edward B. Magrab University of Maryland

19

Step 3a (i): Feature does not intersect single axis solid Qs

Determine the transformation space of Q such that feature does not intersect single axis solid Qs

Pjf

Pjf

Page 20: Geometric Containment Analysis for Rotational Parts Mukul V. Karnik Iktara and Associates, LLC Satyandra K. Gupta, Edward B. Magrab University of Maryland

20

Step 3a (ii)Feature subset of another feature

Feasible transformation space

Page 21: Geometric Containment Analysis for Rotational Parts Mukul V. Karnik Iktara and Associates, LLC Satyandra K. Gupta, Edward B. Magrab University of Maryland

21

Step 3a: Example -Feasible transformation space for in

P 1Pf

Solid Q

Feature

FeatureFeature

Feature

Feature

4Qf

1Qf

3Qf

2Qf

5Qf

Solid P

Feature

Feature 2Pf

1Pf

Page 22: Geometric Containment Analysis for Rotational Parts Mukul V. Karnik Iktara and Associates, LLC Satyandra K. Gupta, Edward B. Magrab University of Maryland

22

Step 3b: Combining feasible transformation spaces of all features

Combine feasible transformation spaces for each of the features in P such that only intersecting feasible transformation spaces remain

Combining transformation spaces

Feature 2Pf

1Pf

Feasible transformation space for solid Q

Feature

Page 23: Geometric Containment Analysis for Rotational Parts Mukul V. Karnik Iktara and Associates, LLC Satyandra K. Gupta, Edward B. Magrab University of Maryland

23

Reverse solid Q

Solid Q is rotated by 180° about the Z-axis and the parts are aligned again

Steps 2 and 3 are repeated for the reversed solid QR and solid P and the feasible transformation space is determined

Solid P Solid QR

X

Z

Y

U

W

V

U, X

Y

W

V

Page 24: Geometric Containment Analysis for Rotational Parts Mukul V. Karnik Iktara and Associates, LLC Satyandra K. Gupta, Edward B. Magrab University of Maryland

24

Step 4Rank order by volume difference

Objective:» To rank order the set of database solids P that contain the query

solid Q

Sort the solids in P based on the volume difference:

» Where, VP = Volume of database solid stored as a signature

VQ = Volume of query solid stored as a signature

P QV V V

Page 25: Geometric Containment Analysis for Rotational Parts Mukul V. Karnik Iktara and Associates, LLC Satyandra K. Gupta, Edward B. Magrab University of Maryland

25

Implementation

Implemented on Windows 2000 platform using Visual C++ 6.0

Libraries used:» Microsoft

Foundation Classes (MFC)

» ACIS

» OpenGL More than 10,000

lines of code

Page 26: Geometric Containment Analysis for Rotational Parts Mukul V. Karnik Iktara and Associates, LLC Satyandra K. Gupta, Edward B. Magrab University of Maryland

26

Results

Page 27: Geometric Containment Analysis for Rotational Parts Mukul V. Karnik Iktara and Associates, LLC Satyandra K. Gupta, Edward B. Magrab University of Maryland

27

Computational Experiment

Num. of faces vs. Time

0

5

10

15

20

25

0 10 20 30 40 50 60 70 80

Num of faces of query solid

Tim

e ta

ken

(s

)

Q1

Q2

Q3

Q4

Q5 Database 1

Database 2

Database 3

Database Solids pruned in Step 1

Solids pruned in Step 2

Solids pruned in Step 3

Solids containing query solid

Database 1 50 25 15 10 Database 2 55 25 15 5 Database 3 59 25 15 1

Q1

Q2

Q3

Q4

Q5

Increasing Complexity

Page 28: Geometric Containment Analysis for Rotational Parts Mukul V. Karnik Iktara and Associates, LLC Satyandra K. Gupta, Edward B. Magrab University of Maryland

28

Summary and Future Work

The system can test if the newly designed part is contained in an existing part. » some material removal operations can be performed on the

existing part to obtain the newly designed part.» reduces part inventory

The transformation space of features can provide suggestions for part redesign.» If the new part is not contained in an existing part, then it can be

redesigned

The type of features supported need to be extended.