View
218
Download
1
Embed Size (px)
Citation preview
Geometric Containment Analysis for Rotational Parts
Mukul V. KarnikIktara and Associates, LLC
Satyandra K. Gupta, Edward B. MagrabUniversity 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
20
Step 3a (ii)Feature subset of another feature
Feasible transformation space
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
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
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
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
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
26
Results
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
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.