Title: Geometric Containment Analysis for Rotational Parts
1Geometric Containment Analysis for Rotational
Parts
- Mukul V. Karnik
- Iktara and Associates, LLC
- Satyandra K. Gupta, Edward B. Magrab
- University of Maryland
2Role 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 is contained in P
P
Q
Cut second slot
Cut first slot
Q
Q?
P
Q can be produced by cutting two slots in P
Q is contained in P
3Mathematical definition of containment
Y
V
Y
U
V
LP
LQ
- 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
-
-
X
U, X
Query Solid - Q
Database Solid - P
Z
W
W
Z
4Problem 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
5Single 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
Cross-section
Off-axis feature
Axis of rotation
Off-axis feature
6Restrictions 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
7System working modes
Working mode 2 Find solids in database that
contain the query solid
Working mode 1 Register solids with database
Query solid
Generation of signature
Generation and registration of signatures
Determine containment
Output
CAD models
Database of parts
8Approach for generating and registering signature
- Determine axis of rotation
- Find bounding cylinder
- Create single axis solid
- Extract off-axis features
- Compute Volume
- Enter signatures from steps 2-5 along with solid
model in the database
9Basic 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
10The 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
11Main steps in approach
Determining containment
Compare zones (prune solids if transformation
space for single axis solid is empty)
Rank order remaining solids based on their
volume difference
Compare bounding cylinder (prune solids with
empty transformation space)
Compare off-axis features (prune solids
if transformation space for off- axis features
is empty)
Signature of query solid
Step 4
Step 1
Step 2
Step 3
Output solids remaining
Database
Pruned solids
Pruned solid
Pruned solid
12Step 1Compare bounding cylinder
- Objective
- Quickly determine if Q has an empty
transformation space - If LQ gt LP or RQ gt RP, then Q does not have a
feasible transformation space ? solid P cannot
contain Q and hence it is pruned
Database solid
Not pruned
LP
Pruned
Query solid Q
Database solid
RP
RQ gt RP
13Step 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 database solid Ps represented as zones
Single axis query solid Qs represented as zones
14Step 2 Details of approach
- Determine the containment status of Qs at t 0
- 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?
- If t? gt LP LQ then stop
- Else, set t t? and go to Step b
15Step 2 Feasible transformation space for single
axis solid
Y
V
X
U
W
Z
Single axis query solid - Qs
Single axis database solid - Ps
- Transformation space for single axis solid
extends to 2? due to rotational symmetry
16Step 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 space for solid with features
17Step 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.
18Step 3Detailed approach
- For each feature of P, determine the
transformation space of Q for the cases when - does not intersect single axis solid Qs
- is a subset of another feature in Q
- Combine feasible transformation spaces of all the
features
19Step 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
20Step 3a (ii)Feature subset of another feature
Feasible transformation space
21Step 3a Example -Feasible transformation space
for in P
22Step 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
Feature
Feature
Combining transformation spaces
Feasible transformation space for solid Q
23Reverse 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
V
Y
U
X
Z
W
Y
V
U, X
W
24Step 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
25Implementation
- 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
26Results
27Computational Experiment
Q1
Q5
Database 1
Q4
Database 2
Q2
Q3
Q2
Database 3
Q1
Increasing Complexity
Q3
Q4
Q5
28Summary 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.