Digital Manufacturing
ME6L320
Lecture 5 (Solid Modelling)
Dr. Madhusmita
Introduction
• Solid models are known to be a complete, valid and unambiguous
representation of objects
• Complete solid is one which enables a point in a space to be classified
relative to the object, if it is inside, outside, or on the object.
• Valid solid is one which does not have dangling edges or faces.
• An unambiguous solid has one and only one interpretation.
Solid modeling achieves completeness, validity, and unambiguity of
geometric models.
Therefore, the tasks such as interference analysis, mass property calculation,
FEM (Stress, heat transfer, force etc.) analysis, and NC machining is possible.
Geometry and Topology
• A solid model of an object consists of both the topological and
geometrical data of the object.
Geometry (or metric information):
Dimensions defining the entity of the object (length, angle, radius, center etc)
Topology (or combinatorial structure):
Connectivity and associativity of the entities of an object
(Neighbourhood, relational information among the entities)
L1 L1
P
L2 C1 R P L2 C1 R
L3 L3
L1 L1
R P
L2 P R L2
C1 C1
L3 L3
Same geometry but different Different geometry but
topology same topology
• While solid model are complete and unambiguous, they are not unique.
• An object may be constructed in various ways.
Primitive based approach
(PBA)
We can add two block first
and then subtract the
cylinder
Possible solid model of the object
Object
We can subtract the cylinder
from a block and add the
other block to the resulting
subsolid.
Alternative solid model
Feature based approach
(FBA)
Extrude profile A and cut Extrude profile A as shown
extrude profile B and add extrude profile B
Possible sketches of solid Alternative sketches of solid
(Create different cross-sections and extrude them)
Feature = Combination of shape & operation to build the parts.
Shape = 2D-sketch (eg.- Rectangle, square, triangle, circle, ellipse etc.)
Operation = An activity that converts 2D-sketch into a 3D-shape. (eg. Extrude,
revolve, sweep, fillet, shell, chamfer etc.)
Steps in FBA: Create shapes (2D-sketch), create features and combine features.
Common primitives
• Primitives are considered building blocks.
• Primitives are simple, basic shapes which can be combined by a
mathematical set of Boolean operations to create the solid.
• Planes, cylinders, cones and spheres are the most commonly used
primitives.
v Planar surface results from rolling, chamfering and milling
v Cylindrical surface from turning
v Spherical surface from ball end milling tool
v Conical surface from turning
Combining the primitives
• Two or more Primitives can be combined to form a solid.
• The validity of the resulting solid are achieved via Boolean operations.
• The available Boolean operations are union, Intersection and difference.
Example: Boolean operation of
a block A and a cylinder B
Characteristic of a solid model
• The shape of solid model is invariant and does not depend on the model’s
location or its orientation in space.
• Solid boundaries must be in contact with interior. No isolated or dangling
boundaries must be permitted.
• Manipulating solids via Boolean operations must produce other valid
solids .
• The size of solid should be finite and limited amount of information can
describe the solid.
Wire frame modelling
•• This
Thismethod
methodisisperhaps
perhapsone
oneofofthe
theoldest
oldesttotorepresent solids.
represent solids.
• The representation is essentially through a set of key vertices connected
by key edges.
• Two tables are generated for data storage, one storing topology
(connectivity) and other the geometry.
• The edges may be straight or curved.
• In straight edges, the coordinates of the end points are stored.
• For curved edges, the control points, slopes and knot vector may be stored
depending on the Ferguson, Bezier or B-spline segments modeled.
Edge number
Tetrahedron wireframe
Data tables for a tetrahedron wireframe
While data structures used in wireframe models are simple, wireframes are
non-unique and ambiguous, which is because the models do not include the
facet information.
Solid 1
Solid 2
Wireframe
Wireframe hat may represent two solid
• Another example is a block void within a block.
• The opening of the void is not quite discernable and the wireframe can
represent any of the three possibilities shown below.
Wireframe
Solid model interpretation
Block void within block
Boundary representation (B-Rep)
• B-rep for short, this solid modeling scheme can be regarded as an
extension of wireframe modeling to include the face information.
• B-rep model of an object consists of faces, edges, vertices, loops, and
handles.
v A face is closed, orientable and bounded (by edges) surface.
v An edge is bounded (by two vertices) curve
Loop, L
v An vertex is a point in work space. Edge, E
Handle, H Face , F
v An loop is a hole in a face.
2D Hole
v A handle (or Genus) is through hole in a solid (body).
Vertices , V
3D through hole Body (solid), B
• The database of a boundary model contains both its topology and its
geometry.
• Topology is created by performing Euler operations (Boolean operators).
• Geometry is created by performing Euclidean calculations.
• Topology and geometry are interrelated and cannot be separated entirely
from each other.
Nonsense object
Original object
Modified object
• Objects that are often encountered in engineering can be classified as
either polyhedral or curved objects.
• Polyhedral objects are classified into four classes:
Simple polyhedra which do not have holes Polyhedra with faces of inner
loops
Boundary hole
Polyhedral with not through Polyhedral with through holes
holes
Euler’s formula (Euler-Poincare law)
Polyhedra is topologically valid if they satisfy the following equation
F-E+V-L = 2 (B-G) For closed
polyhedral objects
F: Faces L: Faces’ inner Loop
E: Edges B: Bodies
V: Vertices G: Genus
For open
F-E+V-L = B-G polyhedral objects
F=6 L=0 F-E+V-L = 6-12+8-0
V=8 B=1 =2
E = 12 G=0 2 (B-G) = 2 (1-0)
=2
Topologically is valid
F = 14 L=2 F-E+V-L = 14-36+24-2
=0
V = 24 B=1
2 (B-G) = 2 (1-1)
E = 36 G=1
=0
Virtual edges
F=3 L=0 F-E+V-L = 3-3+2-0
V=2 B=1 =2
2 (B-G) = 2 (1-0)
E=3 G=0
=2
Constructive solid geometry (CSG)
• A CSG model is based on the notion that physical object can be divided into
a set of primitives.
• Primitives (Basic elements and shapes) can be combined in a certain order
following a set of rules (Boolean operation) to form the object.
• The validity check of the resulting model is dependent upon the validity
check of the used primitives.
• These checks are simple and are in the form of greater than zero.
For example
If the dimensions of a block are greater than zero and the radius and length of
a cylinder are also greater than zero, combining them produces a valid solid.
CSG Trees
• A CSG tree is defined as an inverted, ordered binary tree whose leaf nodes
are primitives and interior nodes are regularized set operations.
• Inverted means that the tree is upside down, its root is on the top.
• Ordered means that each tree node has a left branch or a right branch.
• Binary means that each tree node has only two branches going into it.
If a solid has n primitives, then there are (n-1) Boolean operations for a total
of (2n-1) nodes in a CSG tree.
For a balanced tree
nL + nR = 2n-2
Nodes of left subtree Nodes of right subtree
OP
7
OP OP
CSG tree with eight primitives (P 1 to P8)
3 6
Seven Boolean operators (OP 1 to OP7)
P8
OP OP
2 P6
5
P5 P7
OP OP
1 4
P1 P3 P4 P2
In practice the leaf nodes
are shown as primitives
names without circle
CSG tree of a solid
Other style of showing a CSG tree may replace primitive names by their
sketches.
Final Object
Set operation
Transformation
Cylindrical Block
primitive primitive
Example of CSG tree
Application of CSG tree
• Trace the creation steps
The designer can walk up and down the tree by clicking any of its leaves.
• Edit a feature or primitive
Allowing the designer to change/modify any values and re-create the feature.
• Prune the tree
The designer can move the entire tree branch to a new location up or down
the tree, or can delete the entire branch
Thank You