SOLID MODELING
4/25/2015   I/C: Regalla Srinivasa Prakash   1
        CHARACTERISTICS SOLID MODELING
 Solids models are known to be complete, valid,
  and unambiguous representations of objects.
 A complete solid is one which enables a point in
  space to be classified relative to the object, if it is
  inside, outside or on the object.
 This classification is called as spatial
  addressability or set membership classification.
 A valid solid should not have dangling edges or
  faces, then only it will allow interference
  analysis, mass property calculations, finite
  element modeling and analysis, CAPP, machine
  vision, and NC part programming.
4/25/2015          I/C: Regalla Srinivasa Prakash       2
 SOLID MODELING APPROACHES IN CAD PACKAGES
     All commercial CAD packages offer one or
      both of two different solid modeling
      approaches:
             1) Primitives based
             2) Feature based
UNIGRAPHICS (EDS Technologies), CATIA
    (Dassault Systems), I-DEAS (Structural
    Dynamics Research Corporation) offer both
    approaches.
SolidWorks (Dassault Systems), Pro/Engineer
    (Parametric Technology Corporation).
4/25/2015        I/C: Regalla Srinivasa Prakash   3
  PRIMITIVE BASED SOLID MODELING
 This approach allows designers to use
  predefined shapes (primitives) as building
  blocks to create complex solids.
 Designers must use Boolean operations to
  combine the primitives
 This approach is limited by the restricted
  shapes of the primitives.
                A, B and C are primitive solids.
                A = Block
            C
                B = Cylinder
      B         C = Cylinder
                ABC=D            :Boolean operation; Create block A and
 A              subtract two cylinders from it using primitives approach.
4/25/2015           I/C: Regalla Srinivasa Prakash                    4
                D = Final  solid
               FEATURE BASED SOLID MODELING
 This method is more flexible because it allows the construction of more
  complicated objects and more elaborate solids more readily than the
  primitive based modeling.
 Feature based modeling is in fact a generalization of primitives approach.
  Boolean operations are still used, but are hidden from the user. For
  example, creating a protrusion on the face of a cube is a Boolean union
  and creating a cut in the cube is a Boolean subtraction. These operations
  are must for creation of the final solid.
                              * Create a rectangle
                              * Subtract two circles
                              * Extrude the resulting feature
                              * The required solid is obtained
                             Alternatively,
                             * Create a rectangle
                             * Extrude the rectangle to create the block
                             * Selecting the top face of the block as
                             sketching plane, draw two circles
                             * Create through cuts by extrusion to
                             obtain the final solid
   4/25/2015               I/C: Regalla Srinivasa Prakash                  5
            SOLID MODELING
   Geometry and topology
   Solid entities
   Solid representation
   Fundamentals of solid modeling
   Half-spaces
   Boundary representation (B-Rep)
   Constructive Solid Geometry (CSG)
   Sweeps
   Solid Manipulations
4/25/2015       I/C: Regalla Srinivasa Prakash   6
            Geometry and topology
 Geometry is the actual dimensions that define
  the entities of the object. It is also sometimes
  called as metric information.
 Topology (sometimes called as combinatorial
  structure) is the connectivity and associativity of
  the object entities.
4/25/2015          I/C: Regalla Srinivasa Prakash       7
4/25/2015       I/C: Regalla Srinivasa Prakash
            NON-UNIQUENESS                       8
               SOLID ENTITIES
            APPROACH                                ENTITIES
Primitives based                   Solid primitives (block,
approach                           cylinder, cone, sphere,
                                   wedge and torus)
Feature based approach Sketches
4/25/2015          I/C: Regalla Srinivasa Prakash              9
            Solid primitives
4/25/2015     I/C: Regalla Srinivasa Prakash   10
4/25/2015   I/C: Regalla Srinivasa Prakash   11
 Another Example of
  Regularized Boolean
  Operations
  4/25/2015         I/C: Regalla Srinivasa Prakash   12
              Solid representation
 A physical object divides an En (n-dimensional
  space) into two portions:
      Interior
      Exterior
which are separated by the object boundary.
Object = Set of points S in E3.
Boundary = bS.
Exterior complement of S is = cS.
Objects interior = iS.
                      S=bS  iS
The universal set of points
            W = S  cS = iS  bS  cS
4/25/2015         I/C: Regalla Srinivasa Prakash   13
Geometric Closure:
 Defined as kS = iS  bS.
 Ideally, therefore, ks=S.
 But the geometric closure may some times
  be not equal to S. When kSS, there is
  said to be incompleteness and ambiguity.
            +                                    =
      iS                   bS                        kS
4/25/2015       I/C: Regalla Srinivasa Prakash            14
Desirable properties of solid models:
1) Rigidity: Shape of the solid model is invariant
2) Homogeneous 3-Dimensionality: No dangling
   portions, no isolated portions, solid boundaries
   are in contact with the interiors
3) Finiteness and finite describability: The two are
   different; a (P, R, H) set describe a finite
   cylinder but may have infinite faces to describe
4) Closure under rigid motion and Boolean
   operations: Should produce valid solids
5) Boundary determinism: Boundary must clearly
   determine the solid
4/25/2015         I/C: Regalla Srinivasa Prakash   15
Concept of Regularized Set of points (r-set):
 r-sets are curved polyhedra with well-
  behaved boundaries and hence possess
  the following properties:
 It is a closed regular set  no dangling
  portions
 It is a semi-analytic set  does not oscillate
  infinitely fast anywhere in the set; for
  example sin(x)<0 is a semi-analytic set but
  sin (1/x)<0 is not because the latter
  oscillates infinitely as x->0.
4/25/2015       I/C: Regalla Srinivasa Prakash   16
Representation Schemes:
 A representation scheme usually operates on r-sets to produce valid
  solid models. For example, a CSG scheme maps valid primitives
  into valid solids via boolean operations.
 They are relations that map a valid point set into a valid model
 Classification: A representation scheme can be (1) unambiguous,
  complete and unique, (2) unambiguous, complete but not unique, (3)
  ambiguous, incomplete and non-unique
 (2) A representation scheme is unambiguous and complete but not
  unique if more than one model can represent the object.
 (3) A representation scheme is ambiguous and incomplete if one
  model represents many objects, which is true with wireframe
  models.
 Formal properties of representation schemes that are useful:
      Domain: geometric coverage of the scheme
      Validity: producing valid solids
      Completeness or unambiguousness: to support analysis and other engg
       applications
      Uniqueness: positional or permutational
 Information Properties:
       Conciseness
       Ease of creation
       Efficacy: accessibilityI/C:
4/25/2015
                                 toRegalla
                                    downstream      applications
                                           Srinivasa Prakash            17
                                                     A           C
                                                             B
                    b
                                                         C       A
                a                                            B
4/25/2015               I/C: Regalla Srinivasa Prakash               18
Most commonly used representation schemes:
1)    Half-Spaces
2)    B-Rep (boundary representation)
3)    CSG (Constructive Solid Geometry)
4)    Sweeping
5)    Analytic Solid Modeling
6)    Cell decomposition
7)    Octree Encoding
8)    Spatial Enumeration
9)    Primitive instancing
4/25/2015        I/C: Regalla Srinivasa Prakash   19
 FUNDAMENTALS OF SOLID MODELING
 Set Theory
 Regularized Set Operations
 Set Membership Classification
4/25/2015      I/C: Regalla Srinivasa Prakash   20
Set Theory:
 Roster representation of set:
D = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
Read: D is equal to the set of elements 0, 1,
  2, 
 Descriptive representation of set:
 D = {x: x = 0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
Read: D is equal to set of elements x such
  that x equals to 0, 1, 2, 
4/25/2015       I/C: Regalla Srinivasa Prakash   21
Set Theory:
 cP = {x: x  P}
 P  Q = {x: xP or xQ}
 P  Q = {x: xP and xQ}
 P - Q = {x: xP and x  Q}
 Q - P = {x: xQ and xP}
 Commutative law: P  Q = Q  P
 Associative law:
P  (Q  R)= (P  Q)  R
P  (Q  R)= (P  Q)  R
Distributive law:
P  (Q  R)= (P  Q)  (P  R)
4/25/2015         I/C: Regalla Srinivasa Prakash   22
REGULARIZED SET OPERATIONS:
S is a regular set if and only if
S = kiS = closure of (interior of (S))
When no boundary is used for the set (then
  it is called an open set), then
S is a regular open set if and only if
S = ikS = interior of (closure of (S))
 P * Q = ki (P  Q ); P * Q = ki (P  Q )
P  * Q = ki (P  Q ); c*P = ki(cP)
In all above equations, (*) denotes
  regularization.
4/25/2015      I/C: Regalla Srinivasa Prakash   23
 If the given two sets are already regular
  sets, then there is no need to apply ki
  operations to regularize.
                                                          S  S
            i                       k
                  iS                             S=kiS
                                                          S  S
            k                       i
                kS                               S=kiS
4/25/2015       I/C: Regalla Srinivasa Prakash                     24
  BOUNDARY REPRESENTATION (B-Rep)
 One of the two most popular and widely used
  schemes (the other being CSG)
 Based on the concept that a solid is made of a
  set of faces, which are subsets of closed and
  orientable surfaces
 A closed surface is one that is continuous
  without breaks.
 An orientable surface is one where it is
  possible to distinguish two sides by using the
  direction of the surface normal to point inside or
  outside the solid model.
 Each face is bounded by edges and each edge
  is bounded by vertices
4/25/2015         I/C: Regalla Srinivasa Prakash       25
Euler Operations and Euclidean
Calculations:
 Topology is created by Euler operations
      Euler operations can be used to create, manipulate,
       edit the faces, edges, and vertices of a boundary
       model
      Euler operations, similar to Boolean operations,
       ensure the validity (closedness, no dangling faces or
       edges etc.) of B-rep models
 Geometry is created by the Euclidean
  calculations
      Geometry includes coordinates of vertices, rigid
       motion and transformation
4/25/2015             I/C: Regalla Srinivasa Prakash           26
  Elements of B-Rep models: Types of Objects
 Two types of objects:
1) Polyhedral objects
           Consist of plane faces and straight edges
2) Curved objects
     Consist of curvilinear general surfaces and
    general curvilinear edges
4/25/2015                I/C: Regalla Srinivasa Prakash   27
Elements of B-Rep models:
 Faces: Face is a closed, orientable and bounded
  (by edges) surface.
 Edges: Edge is a bouded (by two vertices) curve.
 Vertices: Vertex is a point in E3.
 Loops: Loop is due to a protrusion or blind hole on
  a face. It is counted for that face. Thus it may be
  termed as a 2-D hole.
 Boundary Hole: A blind hole. Results in loop on
  the boundary face it is open to.
 Interior Hole: A hole lying inside and having no
  boundary on the surface of the solid
 Handles: Handle is a through hole in the solid. It
  may be termed as a 3-D hole. The number of
  handles in a solid is called as genus.
4/25/2015         I/C: Regalla Srinivasa Prakash    28
            EULER OPERATIONS
 Euler in 1752 proved that polyhedra that are
  homomorphic to a sphere, that is their faces are
  non self-intersecting and belong to closed
  orientable surfacse, are topologically valid if they
  satisfy the following Euler-Poincare Law
  equation:
              F  E + V  L= 2(B  G)
F= Number of faces
E= Number of edges
V= Number of vertices
L = Inner loops on faces
B= bodies
G = genus (handles)
4/25/2015         I/C: Regalla Srinivasa Prakash    29
                                                               A tetrahedron is the simplest:
A cuboid is a simple solid:
                                                                            F=4
           F=6
                                                                            E=6
          E = 12
                                                                            V=4
           V=8
                                                                 In this case F + V - E = 2.
In this case F + V - E = 2.
                                            The given solid is simple:
                                                       F=8
                                                      E = 18
                                                      V = 12
                                            In this case F + V - E = 2.
4/25/2015                     I/C: Regalla Srinivasa Prakash                            30
4/25/2015   I/C: Regalla Srinivasa Prakash   31
4/25/2015   I/C: Regalla Srinivasa Prakash   32
4/25/2015   I/C: Regalla Srinivasa Prakash   33
4/25/2015   I/C: Regalla Srinivasa Prakash   34
4/25/2015   I/C: Regalla Srinivasa Prakash   35
4/25/2015   I/C: Regalla Srinivasa Prakash   36
        POLYHEDRAL OBJECTS
     Four different classes:
     1. Simple polyhedra
     2. Polyhedra having loops
     3. Polyhedra having boundary (blind) holes
        and interior holes
     4. Polyhedra having through holes or handles
4/25/2015          I/C: Regalla Srinivasa Prakash   37
      Examples:
4/25/2015    I/C: Regalla Srinivasa Prakash   38
   Set Membership Classification
         M[X, S] = (X in S, X on S, X out S)
Where M[.] = membership function
            X = candidate set
             S = reference set
Applications: line/solid intersection to shade or
   calculate mass property calculations of solids
   via ray tracing algorithms; solid/solid interaction
   for interference checking
The implementation of classification depends on
   the representation methodology. Popular are:
1) B-Rep used for representation of X and S
2) CSG used for representation of X and S
4/25/2015          I/C: Regalla Srinivasa Prakash    39
  B-Rep
4/25/2015
            L   I/C: Regalla Srinivasa Prakash   40
                       CSG
L in R = (L in A)  (L in B)
L on R = ((L on A)  (L on B))  ((L in A) &
  (L on B))  ((L on A) & (L in B))
L out R = L - (L in R)  (L on R)
4/25/2015       I/C: Regalla Srinivasa Prakash   41
      L in A
      L on A
      L out A
      L in B
      L on B
       L out B
      L in R
4/25/2015        I/C: Regalla Srinivasa Prakash   42
The complete set membership classification for this CSG problem:
   4/25/2015           I/C: Regalla Srinivasa Prakash      43
    HALF SPACE  FORMAL DEFINITION
A half-space is that portion of
an n-dimensional space
obtained by removing that
part lying on one side of an
(n-1)-dimensional hyperplane.
For example, half a Euclidean
space is given by the three-
dimensional region satisfying
 x >0,               ;
while a half-plane is given by
the two-dimensional region
satisfying x >0 ,
4/25/2015         I/C: Regalla Srinivasa Prakash   44
  Set based definition of half-space:
A half-space is defined as a regular point set in E3 as
follows:      
H  P : P  E 3 and f ( P)  0    
where
P  point set in E 3
f ( P)  0 defines the surface equation of the
half - space boundaries .
                                             f(P)
4/25/2015              I/C: Regalla Srinivasa Prakash       45
Most widely used half-spaces:
   Planar half - space :
     H  P : P( x, z )  E 3 and z  0
     Cylindrica l half - space :
     H  P : P( x, y, z )  E 3 and x 2  y 2  R 2 
     Spherical half - space :
     H  P : P( x, y, z )  E 3 and x 2  y 2  z 2  R 2 
     Conical half - space :
     H  P : P( x, y, z )  E 3 and x 2  y 2  [tan / 2 z ]2 
     Toroidal half - space :
         P : P( x, y, z )  E 3                     
     H                                          2 2
         and x  y  z  R2  R1   4 R R  z  
                   2      2    2  2 2 2    2  2
                                                             2   1
 4/25/2015                  I/C: Regalla Srinivasa Prakash            46
      Unbounded Half-spaces
4/25/2015                     I/C: Regalla Srinivasa Prakash   47
                                                  n     
                                             S   H i 
                                                   i 1 
4/25/2015   I/C: Regalla Srinivasa Prakash               48
Another example of half-space modeling of
 solids: bracket
4/25/2015     I/C: Regalla Srinivasa Prakash   49
Another example of half-spaces modeling of
 solids: solid fillet
4/25/2015     I/C: Regalla Srinivasa Prakash   50
            A DISJOINT SOLID
 A solid having more than one body is
  called as disjoint solid. Thus a hollow
  sphere, a cuboid with internal hole, a solid
  having two pieces that are completely
  disconnected etc. are examples of disjoint
  solids.
 Can you create a disjoint solid in
  Pro/Engineer?
4/25/2015       I/C: Regalla Srinivasa Prakash   51
4/25/2015   I/C: Regalla Srinivasa Prakash   52
            SIMPLE POLYHEDRA
 When L=G=0, B=1, then the solid satisfies
  the following equation and is called as
  simple polyhedron.
                 FE+V=2
4/25/2015       I/C: Regalla Srinivasa Prakash   53
SOLIDS THAT ARE NON-HOMOMORPHIC
    TO A SPHERE (OPEN SOLIDS)
 Open solids satisfy the following version of
  Euler law:
            FE+VL=BG
In this equation B refers to an open body
  which can be a wire, an area or a volume.
4/25/2015       I/C: Regalla Srinivasa Prakash   54
                 Open solids
 WIRE OPEN POLYDRA                     LAMINA OPEN POLYDRA
SHELL OPEN POLYDRA                     OPEN POLYDRA (OBJECTS)
                                       HAVING NO TOP FACE
4/25/2015            I/C: Regalla Srinivasa Prakash             55
            CURVED POLYHEDRA
 Simplest curbed polyhedra are cylinder
  and sphere.
             F = 3; E = 3; V = 2
                                                      F = 1; E = 0; V = 1
4/25/2015            I/C: Regalla Srinivasa Prakash                         56
            CURVED POLYHEDRA
 If the curved objects are represented by storing the equations of
  curves and surfaces of edges and faces, the resulting boundary
  scheme is called as exact B-Rep scheme.
 Alternatively, one may use faceted B-Rep (also called as tesselated
  representation), in which each curved face is divided into planar
  facets. Increasing the number of facets increases accuracy of
  display but takes more time.
 Faceted representation is not good for CNC machining because the
  machine hardware will do one more level of interpolation resulting in
  errors.
4/25/2015                I/C: Regalla Srinivasa Prakash              57
DATA STRUCTURE FOR B-Rep
         SOLIDS
 TOPOLOGY     GEOMETRY
     Model
     Body
    Genus
      Face    Underlying surface
                  equation
      Loop
     Edge     Underlying curve
                 equation
     Vertex
 4/25/2015          I/C: Regalla Srinivasa Prakash   58
4/25/2015   I/C: Regalla Srinivasa Prakash   59
4/25/2015   I/C: Regalla Srinivasa Prakash   60
4/25/2015   I/C: Regalla Srinivasa Prakash   61
4/25/2015   I/C: Regalla Srinivasa Prakash   62
4/25/2015   I/C: Regalla Srinivasa Prakash   63
4/25/2015   I/C: Regalla Srinivasa Prakash   64
4/25/2015   I/C: Regalla Srinivasa Prakash   65
4/25/2015   I/C: Regalla Srinivasa Prakash   66
4/25/2015   I/C: Regalla Srinivasa Prakash   67
    CONSTRUCTIVE SOLID GEOMETRY (CSG)
 Principle: A physical object can be divided into
  a set of primitives that can be combined in a
  certain order following a set of rules (Boolean
  operations) to form the object.
 Primitives themselves are valid CSG models.
  Each primitive is also a solid considered to
  have been built by a B-Rep process of
  combining faces from edges, edges from
  vertices.
 Topology is created by r-set Boolean
  operations that combine primitives.
 Validity check for CSG solids is much simpler
  than B-Rep solids because each primitive is
  already a valid solid.
 For example when you combine a hat-head by
  Union of a cylinder, cone and a sphere, a valid
  hat-head would be produced if just each of
  them have positive dimensions.
4/25/2015              I/C: Regalla Srinivasa Prakash   68
      Data Structure for CSG Solids:
               CSG Trees
4/25/2015      I/C: Regalla Srinivasa Prakash   69
 Data Structure for CSG Solids: CSG Trees
How to divide a given solids into primitives?
                                     OP7
                        OP3
                                                      OP3      n = Total nodes
             OP7                  P4
                                                               OP7
                                            P5
                   P3
       OP1                                                           OP1
                                                          P3
                        nL + nR = 2n  2
              P2
    P1
                                                                           P2
                                                               P1
                        Perfect Tree:
                        nL = n R = n  1
4/25/2015                I/C: Regalla Srinivasa Prakash                          70
            SOLID/SOLID INTERSECTION
 The problem is often basically a surface/surface
  intersection
 Any parametric surface of a solid can be
  represented in a polynomial form and quadratic
  form as:
Ax2+By2+Cz2+2Dxy+2Eyz+2Fxz+2Gx+2Hy+2Jz+K=0
      F(x,y,z) = [V]T[Q][V] = 0 -> quadratic form
[Q] takes appropriate 4*4 matrix form for each of
  planar, cylindrical, spherical, conical and other
  surfaces
Intersection results then can be obtained by solving
                 [V]T([Q1]  [Q2])[V] = 0
 4/25/2015        I/C: Regalla Srinivasa Prakash   71
             NEIGHBORHOOD INFORMATION
      A          L                                A
 P           B                                               B
                                                                 L
      IN R                                            ON R
4/25/2015            I/C: Regalla Srinivasa Prakash                  72
              SWEEPING
 A point set is swept along a directrix.
1. Translational sweep: Along a straightline
   directrix
2. Rotational sweep: axi-symmetric rotation
3. Non-linear sweep: along a curve directrix
4. Hybrid sweep: More than one directrix
5. Invalid Sweep: Produces dangling faces
4/25/2015      I/C: Regalla Srinivasa Prakash   73
4/25/2015   I/C: Regalla Srinivasa Prakash   74
            End of the module
 Thank you!
 Any Questions?
4/25/2015      I/C: Regalla Srinivasa Prakash   75