0% found this document useful (0 votes)
31 views

Solid Modeling B Rep Final

The document discusses boundary representation (B-rep), which represents a solid as a collection of boundary surfaces. A B-rep model is based on topological notions - it is comprised of faces, edges, and vertices that are linked together. Faces are bounded regions on closed, orientable surfaces. Edges are bounded by vertices. Euler operators ensure the integrity and validity of B-rep models by checking for closeness and no dangling faces or edges. Both the topology and geometry of a model must be compatible.

Uploaded by

timepass9580
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
31 views

Solid Modeling B Rep Final

The document discusses boundary representation (B-rep), which represents a solid as a collection of boundary surfaces. A B-rep model is based on topological notions - it is comprised of faces, edges, and vertices that are linked together. Faces are bounded regions on closed, orientable surfaces. Edges are bounded by vertices. Euler operators ensure the integrity and validity of B-rep models by checking for closeness and no dangling faces or edges. Both the topology and geometry of a model must be compatible.

Uploaded by

timepass9580
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 68

Solid Geometry -3

Boundary Representation (B-rep)


Boundary Representation (B-rep)

• The boundary representation


method represents a solid as a
collection of boundary surfaces.

• The database records both of the


surface geometry and the topological
relations among these surfaces.
• A B-rep model or boundary model is based on the topological notion that a
physical object is bounded by a set of faces.
• These faces are regions or subsets of closed and orientable surfaces.
• A closed surface is one that is continuous without breaks.
• An orientable surface is one in which it is possible to distinguish two sides by
using the direction of the surface normal to point to the inside or outside of the
solid model under construction
• Each face is bounded by edges and each edge is bounded by vertices.

Thus, topologically, a boundary model of an object is comprised of faces, edges


and vertices of the object and are linked together to ensure the topological
consistency of the model
• Euler operators, as boolean operators, ensure
the integrity (closeness, no dangling faces or
edges, etc.) of boundary models.
• They offer a mechanism to check the validity
of these models.

• Topology and geometry both must be


compatible otherwise nonsense objects may
result.( see fig)

• In addition to ensuring the validity of B-rep


models, Euler operators provide designers with
drafting functionality.
Effect of Topology and Geometry on
• These allow solid models to be built Boundary Models
graphically by incrementally adding individual
vertices, edges and faces to the model in such
a way as to always obey Euler's laws
• Boundary representation does not guarantee that a group of boundary surfaces
(often polygons) form a closed solid.

• This representation is used mainly for graphical displays.

• Many CAD systems have a hybrid data structure, using both CSG and B-rep at the
same time (i.e. Pro/E).
• The database of a boundary model contains both its topology and geometry.

• Both are interrelated and cannot be separated entirely.

• Topology is created by performing Euler operations


and geometry is created by performing euclidean calculations.
Geometry includes coordinates of vertices, rigid motion and transformation (translation,
rotation, etc.) and metric information such as distances, angles, areas, volumes and
inertia tensors.
• Euler operations are used to create, manipulate and edit the faces, edges and vertices of a
boundary models (similar to the set (boolean) operations create, manipulate and edit
primitives of CSG models.)
B-rep systems store only the bounding surfaces of the solid,

it is still possible to compute volumetric properties such as mass properties


(assuming uniform density) by virtue of the Gauss divergence theorem which
relates volume integrals to surface ones.

The speed and accuracy of these calculations depend on the types of surfaces
used by the models.

However, these models are not unique because the boundary of any object
can be divided into faces, edges and vertices in many ways.

Verification of uniqueness of boundary models is computationally expensive


and is not performed in practice.
BASIC ELEMENTS

If a solid modeling system is to be designed


• The domain of its representation scheme (objects that can be modeled) must be defined,

• The basic elements (primitives) needed to cover such modeling domain must be identified,

• The proper operators that enable the system users to build complex objects by combining

the primitives must be developed

• Finally a suitable data structure must be designed to store all relevant data and information

of the solid model.

• Other system and geometric utilities (such as intersection algorithms) may also need to be

designed. Let us apply these ingredients to a B-rep systems


Classification of Objects used in engineering applications :
Object is defined in terms of its surface boundaries, vertices, edges and faces.

Curved surfaces are always approximated with polygons – piecewise linear/planar.

polyhedral or curved objects.


1. Polyhedral Object: It consists of planar faces (or sides) connected at straight
(linear) edges which, in turn, are connected at vertices. A cube or a tetrahedron is
an obvious example.

2. Curved Object: It is similar to a polyhedral object but with curved faces and
edges instead. The identification of faces, edges and vertices for curved closed
objects such as a sphere
Polyhedral Objects

1. Simple Polyhedral: These do not have


holes (through or not through) and each
face is bounded by a single set of
connected edgthates, is, bounded by one
loop of edges.

(a) Simple polyhedral


Polyhedral with faces of inner loops:
It is similar to simple polyhedral with the
exception that a face may be bounded
by more than one loop of edges (inner
loops are sometimes called rings).
Polyhedral with not through holes: It includes objects with holes that do not go through
the entire object.
For this class, a hole may have a face coincident with the object boundary; in this case we
call it a boundary hole.

On the other hand, if it is an interior hole (as a void or crack inside the object), it has
no faces on the boundary.
Polyhedral with handles (through holes):
It includes objects that have holes that go through the entire objects. Topologically, these
through holes are called handles. The topological name for the number of handles in an
object is genus.
A “not” through hole is defined as a depression in a face of an object.
A handle (or through hole) is defined as a passageway that pierces the object
completely..
Examples of Genus
The primitives of a B-rep scheme are faces, edges and vertices.

What is faces, edges and vertices ?

How they combined to create valid objects?


What is faces, edges and vertices ?

A vertex is a unique point (an ordered triplet) in space.

An edge is a finite, non-self-intersecting, directed space curve bounded by two vertices


that are not necessarily distinct.

A face is defined as a finite connected, non-self-intersecting, two-dimensional


homogeneous regions.
Faces a have areas and no dangling edges.

In addition, a face is a subset of some underlying closed oriented surface bounded by


one or more loops.
A loop is an ordered alternating sequence of vertices and edges.

A loop defines a non-self-intersecting, piecewise, closed space curve which, in


turn, may be a boundary of a face.
Or

loop on a face—closed chain of edges bounding the face

Ex: nut with 2 loops for each of top and bottom faces
Each face has one loop
Below fig shows two loops each (one inner and one outer) on the top and
the right- side faces of the object.

Inner
Loop
Body (sometimes called a shell).

It is a set of faces that bound a single connected closed volume.


Body is an entity that has faces, edges and vertices.
Such an entity may be a useful solid or an intermediate polyhedron.

A minimum body is a point.


Topologically this body has one face, one vertex and no edges. It is called a seminal
or singular body. It is initially attached as part of the world.
The object inFigs. has two bodies (the exterior and interior )
The representation of a face and solid interiors

The model has an interior and a boundary

Faces of boundary models possess certain essential properties


and characteristics that ensure the regularity of the model;

At each point on the face, there is a surface normal N that has a


sign associated with it to the inside or outside of the model.

One convention is to assume N positive if it points away from the


solid.

some CAD/CAM systems store the surface normal and its sign as
part of the face data
(although it could be computed from the surface equation)

It is a useful parameter in many applications such as generating


graphics displays or NC machining data.
Traversal examples for determination of Interior of face

The face interior can be determined by traversing


the face loops in a certain direction or assigning
flags to them. Piecewise linear loops

Let,
The edges of the face outer loop is traversed,
in a counterclockwise direction
Circular loops
and the edges of the inner loops are traversed in
the opposite direction, i.e the clockwise
direction.
General curve loops
The primitives of a B-rep scheme are faces, edges and vertices.

How they combined to create valid objects?


Solids with boundaries
with 2-manifolds

Solids with boundaries


but not 2-manifolds
Euler’s formula for simple polyhedron

Let ,
V be the number of vertices,
E the number of edges,
and F the number of faces of a simple polyhedron.
Then,
V–E+F=2
Euler's Formula for Simple Polyhedra
V - E + F =2
Applying this formula to a cube yields 8 - 12 + 6 = 2
and to an octahedron yields 6 - 12 + 8 = 2.

To apply Euler's formula, other conditions must also be met:

1.All faces must be bounded by a single ring of edges, with no holes in the faces.
2. The polyhedron must have no holes through it.
3. Each edge is shared by exactly two faces and is terminated by a vertex at each end.
4. At least three edges must meet at each vertex.
Verify Euler’s formula with these examples:

V = 8 5 6
V–E+F=2 E = 12 8 12
F = 6 5 9

Also applicable for curved edges and non-planar faces 6


Actual: 12
8
V–E+F=2
What about this structure ? J
V = 10;
D C
E = 15;
G
F = 7.
H
I Formula still holds good,
A B
but this is not a bound volume.

Need additional constraints to guarantee a solid object:


E F

• Each edge must contain two vertices

• Must be shared exactly by two faces

• At least three edges must meet to form a vertex

• Faces must not interpenetrate


Euler's Formula for Nonsimple Polyhedra
If we subdivide a polyhedron into C polyhedral cells,

V-E+F-C=1

A cell is, itself, a closed polyhedron.


Adding a vertex to the interior of a cube and
joining it with edges to each of the other eight
vertices creates a six-cell polyhedron with
V = 9, E = 20, F = 18, and C = 6
Six-cell polyhedron
The Euler-Poincaré Formula
It has been generalized to include potholes and holes that penetrate the solid.
F – E + V – L = 2 (B – G)
• V: the number of vertices
• E: the number of edges
• F: the number of faces
• G: the number of holes that penetrate the solid, usually referred to as genus in
topology
• B: the number of bodys/ shells. A shell is an internal void of a solid. A shell is
bounded by a 2-manifold surface, which can have its own genus value. Note that
the solid itself is counted as a shell. Therefore, the value for S is at least 1.
• L: the number of loops, all outer and inner loops of faces are counted.
• A cube has eight vertices (V = 8),
• 12 edges (E = 12)
• and six faces (F = 6),
• no holes and one body/shell (B=1);
• but no inner loop hence L = 0
• since each face has only one outer loop.
• Therefore,

F – E + V – L = 2 (B – G)

8- 12 + 6- 0 = 2 (1- 0 )
V –E + F- L =2(B-G)
= 16- 24 + 11 – 1 = 2(1-0)
=2

V –E + F- L =2(B-G)
= 16- 24 + 10 – 2 = 2(1-1)
=0
If a polyhedron has one or more holes (L) in its faces, has passages (G)
through it, and/or consists of disjoint bodies (B), then

V-E + F-L = 2(B-G)

V = 16, E = 32, F = 16, L = 0,


G = 1, and B = 1

A cube with a passage through it


Generalized Euler’s formula for objects with 2-manifolds, and faces which may
have holes:
V – E + F – L = 2(B - G)
where, L - No. of inner loops ;

G - No. of holes that pass through the object;

B - No. of separate COMPONENTS (or parts) of the object.


Through
hole
V = 24

E = 36

F = 15

L=3

G=1
V – E + F – L = 2(B - G)

F E V L B G
F E V L B G
12 24 16 0 2 0
16 36 24 2 1 0
V – E + F – L = 2(B - G)
Euler (in 1752) proved that polyhedral that are homomorphic to a
sphere (i.e., their faces are non-self-intersecting and belong to closed
orientable surfaces) are topologically valid if they satisfy the following
equation:
F – E + V – L = 2 (B – G)
How to count genus correctly?.

What is the genus value G ?

• We know that the genus value counts the number of


penetrating holes.
• But, in this example, it is somewhat ambiguous.
• In fact, by combining any two center-going tunnels we
will have three penetrating holes.
• However, this is incorrect!
V - E + F - L - 2(B - G) = 0
• The above Euler-Poincaré Formula describes the topological property amount vertices, edges, faces,
loops, shells and genus.
Any topological transformation applied to the model will not alter this relationship.
Intuitively, applying topological transformations means we can twist, stretch and squash the
model but we cannot cut some parts off nor glue some parts together.
Let us apply some intuitive topological transformations to this model for computing the genus.
push the "walls" surrounding the three tunnels so that the interior of the model becomes a
thin shell.
Stretch the top hole so that it is large enough (below left).
Then, collapse the top portion to flatten the model.

Tow many penetrating holes are there?


Two! Therefore, G is 2.
Euler’s law for open Objects:
F–E+V–L=B–G
The boundary model of a cylinder has three
faces (top, bottom and cylindrical face itself ),
two vertices and three edges connecting the
two vertices. The other “edges” are for
visualization purposes. They are called limbs,
virtual edges, or silhouette edges.

The boundary model of a sphere, consists


of one face, one vertex and no edges.
both models satisfy Euler laws

F – E + V = 2 for simple polyhedra.


Exact B-rep of Cylinder and a Sphere
If the curved objects are represented by storing the equations of the underlying
curves and surfaces of the object edges and faces respectively, the resulting
boundary scheme is known as an exact B-rep scheme.

The representation of curved edges is more complex than representing piecewise


linear edges. There are direct and indirect schemes.

In direct schemes, an edge is represented by a curve equation and ordered endpoints.

In indirect schemes, the edge is represented by the intersection of two surfaces.


Faceted B-rep of a Cylinder and a Sphere

In practice, indirect schemes are


probably preferred because the
intersection of two underlying surfaces
of two faces produces the curved edge
of the two faces. sometimes called
tessellation rep.
In this scheme, any curved face is
divided into planar facets—hence the
name faceted B-rep.
Continued…

This representation, although continuous, will no longer be smooth and

as the number of facets increases to give a more accurate

representation, the computing time involved increases dramatically.


General Data Structure for Boundary Modeling
A general data structure for a
boundary model should have
both topological and
geometrical information.
A relational database model is
very effective to implement such
a data structure. Lists for bodies,
faces, loops, edges and vertices
are generated and stored in
tables. Each line in Fig.
represents a pointer in the
database.
The Winged Edge Date Structure
In this structure, all the adjacency
relations of each edge are described
explicitly. Since an edge is adjacent to
exactly two faces, it is a component in
two loops, one for each face. If these
loops are oriented, that is, edges of a
loop are traversed in a given direction,
say counterclockwise, the edge has a
predecessor and a successor in
addition to the two bounding vertices
(see Fig.).
This edge structure together with its implication on the loop and face
elements is extremely efficient for manipulation purposes. ( adding or
deleting vertices, edges, or faces) using Euler’s law. For example, the
insertion of a new edge in the structure changes the
predecessor/successor relationship of its adjacent edges, possibly splitting
Building Operations

F – E + V – L = 2 (B – G) ----This Equation forms the basis to develop


building operations to create boundary models of complex objects.
Euler operators (or Euler primitives) are based on this equation.

Euler Operators: Euler operators are used for building boundary


models for complex objects.
There are many operators such as MEV, KEV, MBFV, etc.
these operators, M refers to ‘ Make’ and K refers to ‘ Kill’,
while other letters have the same meaning as in the Euler equation
Some sample Euler operators

These set of operators are used for adding some elements into the existing model
creating a new one,

while a Make–Kill operator is used for adding and deleting some elements at the
same time.
The Make Group
Transition states of Make operators
Note that adding a face
produces a loop, the
outer loop of that face.
Therefore, when F is
increased, L should also
The change of values of V, E, F, L, B and G with the operators is shown
be increased

Make operators in b-rep models MEKL is adding an edge


connecting the outer loop
and the inner loop of a face.

In this case, the number of


edges E is increased by 1 and
the number of loops L is
decreased by 1 since that
loop is killed
The Kill Group
The Kill group is used to perform the opposite function of what the Make group
does. The details of these operators are given below

The geometric changes that occur with the Kill operators are shown below
Body, Face, Polygon
(Edge Loop), Edge, Vertex

Euler Operators
MBFV: Make body, face,
vertex
MME: Make multi edges
MEF: Make edge, face
KEML: Kill edge, make loop

KFMLG: Kill face, make loop,


genus
The Connectivity Matrix

A connectivity matrix is a two-dimensional list or table that describes how vertices


are connected by edges to form a polyhedron. This matrix is always square, with as
many rows and columns as vertices. A connectivity matrix is symmetric about its
main diagonal, which is comprised of all zeros. For example
connectivity matrix C
V1
Vertex Table Edge Table

V1: X1, Y1, Z1 E1: V1, V2 E1 E6


E3
V2: X2, Y2, Z2 E2: V2, V3 S1
V3: X3, Y 3, Z 3 E3: V 3, V 1
V4: X4, Y4, Z4 E4: V3, V4 S2 V5
V3
V5: X5, Y5, Z5 E5: V4, V5 V2 E2
V6: X6, Y6, Z6 E6: V5, V1 E5
E4

Polygon Surface Table V4


S1: E1, E2, E3
S2: E3, E4, E5, E6
Complete (expanded) Edge Table

E1: V1, V2, S1


E2: V2, V3 , S1
E3: V3, V1 , S1 , S2
E4: V3, V4 , S2
E5: V4, V5 , S2
E6: V5, V1 , S2
A graph based model
connectivity matrix C

The information in the V and C


matrices defines a wireframe model of
the block.
For example, row 3 gives the vertices surrounding face 3.
This means that the vertices are connected by edges in the order given, including an
implied closing or loop-completing edge: 5-to-6-to-2-to-1-to-5, producing the correct
four edges.
The vertex sequences are consistently given in counterclockwise order when we view
the face from outside the solid.
This convention helps us determine which side of a face is inside and which is outside
.
If you curl the finger of your right hand in the counterclockwise
direction around the edges of a face (that is, in the order in
which the vertices surrounding that face are listed), then your
thumb points outward from the interior of the polyhedron.
Octrees
Let us visualize 2D Quadtree representation of an image or view.

0 1 2 3

0 1
0 1 2 3

0 1 2 3
3 2

0 1 2 3

For an image with n*n pixels, the maximum number of levels is log(n).
Octrees

4 1 0 1 2 3 4 5 6 7
0
6
2
Individual elements are called
Volume elements or
7 3
VOXELS
Some Solid Modeling Software
◼ SolidWorks
◼ Fusion 360
◼ BowlerStudio (Developed at WPI)
◼ 3D Studio Max
◼ Maya
◼ Blender
◼ Etc

You might also like