ebook img

General Fuse Algorithm, Partition Algorithm, Boolean Operations Algorithm PDF

56 Pages·2010·2.67 MB·English
by  
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview General Fuse Algorithm, Partition Algorithm, Boolean Operations Algorithm

SALOME : The Open Source Integration Platform for Numerical Simulation General Fuse Algorithm, Partition Algorithm, m r Boolean Operations Algorithm o f t a l Backgrounds P E M O L A S Copyright © 2001- 2010. All rights reserved. Page 1 of 56 SALOME : The Open Source Integration Platform for Numerical Simulation TABLE OF CONTENTS 1. INTRODUCTION.....................................................................................................................................................4 2. OVERVIEW..............................................................................................................................................................4 3. ANALYSIS OF OPERATORS................................................................................................................................5 4. TERMS AND DEFINITIONS..................................................................................................................................5 4.1. TOLERANCES.......................................................................................................................................................5 4.2. INTERFERENCES...................................................................................................................................................5 4.2.1. Vertex/Vertex interference...........................................................................................................................5 4.2.2. Vertex/Edge interference.............................................................................................................................5 4.2.3. Vertex/Face interference.............................................................................................................................5 4.2.4. Edge/Edge interference...............................................................................................................................5 4.2.5. Edge/Face interference...............................................................................................................................5 4.2.6. Face/Face Interference...............................................................................................................................5 4.2.7. Computation Order.....................................................................................................................................5 4.2.8. Results.........................................................................................................................................................5 4.3. PAVES..................................................................................................................................................................5 4.4. PAVE BLOCKS......................................................................................................................................................5 m 4.5. SHRUNK RANGE...................................................................................................................................................5 4.6. COMMON BLOCKS................................................................................................................................................5 r 4.7. CONNEXITY CHAINS............................................................................................................................................5 o 4.8. SPLIT EDGES........................................................................................................................................................5 f 4.9. SECTION EDGES...................................................................................................................................................5 t 5. MAIN PARTS OF ALGORITHMS........................................................................................................................5 a 5.1. DATA STRUCTURE...............................................................................................................................................5 l 5.2. INTERSECTION PART............................................................................................................................................5 P 5.3. BUILDING PART...................................................................................................................................................5 6. GENERAL FUSE ALGORITHM...........................................................................................................................5 E 6.1. ARGUMENTS........................................................................................................................................................5 6.2. RESULTS..............................................................................................................................................................5 M 6.2.1. Example 1....................................................................................................................................................5 6.2.2. Example 2....................................................................................................................................................5 O 6.2.3. Example 3....................................................................................................................................................5 6.2.4. Example 4....................................................................................................................................................5 L 6.2.5. Example 5....................................................................................................................................................5 A 6.2.6. Example 6....................................................................................................................................................5 6.2.7. Example 7....................................................................................................................................................5 S 6.2.8. Example 8....................................................................................................................................................5 6.2.9. Example 9....................................................................................................................................................5 6.2.10. Example 10..................................................................................................................................................5 7. PARTITION ALGORITHM...................................................................................................................................5 7.1. ARGUMENTS........................................................................................................................................................5 7.2. RESULTS..............................................................................................................................................................5 7.2.1. Example 1....................................................................................................................................................5 7.2.2. Example 2....................................................................................................................................................5 7.2.3. Example 3....................................................................................................................................................5 8. BOOLEAN OPERATIONS ALGORITHM...........................................................................................................5 8.1. ARGUMENTS........................................................................................................................................................5 8.2. RESULTS..............................................................................................................................................................5 8.2.1. Example 1....................................................................................................................................................5 8.2.2. Example 2....................................................................................................................................................5 8.2.3. Example 3....................................................................................................................................................5 8.2.4. Example 4....................................................................................................................................................5 9. LIMITATIONS OF ALGORITHMS......................................................................................................................5 Copyright © 2001- 2010. All rights reserved. Page 2 of 56 SALOME : The Open Source Integration Platform for Numerical Simulation 9.1. ARGUMENTS........................................................................................................................................................5 9.1.1. Common requirements................................................................................................................................5 9.1.2. Pure self-interference..................................................................................................................................5 9.1.3. Self-interferences due to tolerances............................................................................................................5 9.1.4. Parametric representation..........................................................................................................................5 9.1.5. Stop-gaps.....................................................................................................................................................5 9.2. INTERSECTION PROBLEMS....................................................................................................................................5 9.2.1. Pure intersections and common zones........................................................................................................5 9.2.2. Tolerances...................................................................................................................................................5 m r o f t a l P E M O L A S Copyright © 2001- 2010. All rights reserved. Page 3 of 56 SALOME : The Open Source Integration Platform for Numerical Simulation 1. INTRODUCTION This document describes the backgrounds of the following algorithms: General Fuse Algorithm, Partition Algorithm, Boolean Operation Algorithm (hereafter Algorithms). 2. OVERVIEW For the moment there are two algorithms that solve similar tasks: • Boolean Operations Algorithm in Open CASCADE 6x (BOA). BOA has been designed and developed in 2000. Since 2000 the algorithm is modified to fix the problems upon requests (in general the modifications were bug fixes). • Partition Algorithm for SALOME platform (PA). m PA has been designed and developed in 2005 and uses modern (at that time) algorithms of OCC as r auxiliary tools, for e.g. unbalanced binary tree of overlapped bounding boxes. o PA has the following features: f t o PA is based on General Fuse Algorithm (GF). a o PA was developed taking into account the problems faced in BOA between 2000-2005 years. l P o The architecture of PA is history-based and has been designed to support modern trends in topology science. E o The architecture of PA is expandable, that allows to create a lot of specific algorithms upon requests. M O L A S Copyright © 2001- 2010. All rights reserved. Page 4 of 56 SALOME : The Open Source Integration Platform for Numerical Simulation 3. ANALYSIS OF OPERATORS • The General Fuse operator can be applied to arbitrary number of arguments (in terms of TopoDS_Shape). The operator can be represented as the following: R =GF (S , S … S ) GF 1 2 n (3.1.1) where R GF – result of the operation, S , S … S 1 2 n - Arguments of the operation, n - Number of arguments (n>1) m r • The Partition operator can be applied to arbitrary number of arguments (in terms of TopoDS_Shape). o The operator can be represented as the following: f t R =PA (S , S … S [T , T … T ]) PA 1 2 nOB, 1 2 nT (3.1.2) a l where P R PA – result of the operation, E S , S … S M 1 2 nOB - Arguments of the operation (Objects), O nOB - number of Objects (nOB>1) L T , T … T 1 2 nT - Arguments of the operation (Tools), A S nT - number of Tools It is evident that for nT=0 R =PA (S , S … S )=R (3.1.3) PA 1 2 nOB GF Thus, PA is particular case of GF. Copyright © 2001- 2010. All rights reserved. Page 5 of 56 SALOME : The Open Source Integration Platform for Numerical Simulation • BOA provides the operations (Common, Fuse, Cut) between two arguments (in terms of TopoDS_Shape). The operator can be represented as the following: R =B (S , S ) BOA j 1 2 (3.1.4) where R BOA – result of the operation Bj – operation of type j (Common, Fuse, Cut), S , S 1 2 - Arguments of the operation. m The result R (3.1.4) can be obtained from R (3.1.1). BOA GF r For e.g. for the two arguments S , S (see the Figure 1) the result R will be o 1 2 GF f R =GF (S , S ) = S +S +S (3.1.5) GF 1 2 p1 p2 p12 t a l P S S 1 p1 E M O S p12 L A S S S 2 p2 Figure 1 Copyright © 2001- 2010. All rights reserved. Page 6 of 56 SALOME : The Open Source Integration Platform for Numerical Simulation On the other hand B (S , S ) = S common 1 2 p12 B (S , S ) = S cut12 1 2 p1 (3.1.6) B (S , S ) = S cut21 1 2 p2 B (S , S ) = S +S +S = R fuse 1 2 p1 p2 p12 GF R =GF (S , S ) = B = B + B + B (3.1.7) GF 1 2 fuse common cut12 cut21 The fact that the R contains the components of R (3.1.7) allows to consider that GF is the general GF B case of BOA. Thus it is possible to implement BOA, PA as subclasses of GF using C++ inheritance m mechanism. r o f t a l P E M O L A S Copyright © 2001- 2010. All rights reserved. Page 7 of 56 SALOME : The Open Source Integration Platform for Numerical Simulation 4. TERMS AND DEFINITIONS The chapter contains the background, terms, definitions that are necessary to understand how the algorithms work. 4.1. TOLERANCES Each shape that has boundary representation in the Open CASCADE contains its own internal value of geometrical tolerance. The meaning of the tolerance is different for different shapes (Table 1). Table 1 No Picture Description Vertex m Tol Value of the tolerance for a vertex V is the value r o of radii of a imaginary circumscribed sphere f V around the 3-D point of the vertex V 1 t a l P Edge E Value of the tolerance for an edge E is the value M 2 of radii of a imaginary circumscribed pipe around E the 3-D curve of the edge E O Tol L A S Face Value of the tolerance for a face F is the value of thickness of a imaginary offset surfaces to F underlying surface of the face F 3 2 Tol Copyright © 2001- 2010. All rights reserved. Page 8 of 56 SALOME : The Open Source Integration Platform for Numerical Simulation Tolerance is a way of stating how much precision is needed or conversely, how much error can be to accept the shape. The tolerances in Open CASCADE are absolute values (in some units: mm, in, etc). Absolute tolerance defines the maximum permissible distance apart that two shapes (or sub-shapes) are permitted to be and still be considered to be “close enough”, i.e. that these two shapes will be capable of being joined. There are the following rules for the values of tolerances: • For any edge E with vertices V: i Tol (E) ≤ max (Tol (V)), i=1, 2…Nb (4.1.1) i V where NbV – Number of vertices of the edge E. • For any edge face F with edges E: i m Tol (F) ≤ max (Tol (E)), i=1, 2…Nb (4.1.2) i E r o where NbE - Number of edges of the face F. f t a l P E M O L A S Copyright © 2001- 2010. All rights reserved. Page 9 of 56 SALOME : The Open Source Integration Platform for Numerical Simulation 4.2. INTERFERENCES The shapes interferes between each other in terms of theirs tolerances. Shapes are interfered when there is a part of 3D space where the distance between the underlying geometry of shapes is less or equal to the sum of tolerances of the shapes. For the three types of shapes (vertex, edge, face) there are six types of interferences. 4.2.1. Vertex/Vertex interference A vertex V and a vertex V have Vertex/Vertex interference when V and V have the distance between i j I j corresponding 3D points that is less then sum of the tolerances Tol(V) and Tol(V) of the vertices (Figure 2). i j Tol(Vn) T s m Tol (Vj) Tol (Vi) Pn r Vj Vi Vn o f D t a l Figure 2 P Result: New vertex V with 3D point P and tolerance value Tol(V ) that can be computed by the formulas: n n n E P = 0.5•(P + P) M new i j O Tol (V ) = max (Tol(V), Tol(V)) + 0.5•D n i j L where A S D=distance (P, P) i j Copyright © 2001- 2010. All rights reserved. Page 10 of 56

Description:
PVNbPV (NbPV – number of the pave blocks) have the same bounding As for IP of Algorithms it uses result of pure intersection Vx instead of CZ,
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.