Professional Documents
Culture Documents
Solid Modeling 1
Solid Modeling 1
1
Solid Modeling ?
The totality of data needed for particular scope of
problems is called the object model
A geometric model is a subset of object model
which is deals with purely geometrical
information.
Solid modeling is a branch of geometrical
modeling that emphasizes the general applicability
of models, and insists on creating only ‘complete’
representation of physical solid objects, i.e.
representations that are adequate for answer
arbitrary geometric questions algorithmically(with
help of interaction with a human user) 2/62
Solid Modeling ?
3/62
Solid Modeling ?
A solid model is a digital representation of the
geometry of an existing or envisioned physical
object. Solid models are used in many
industries, from entertainment to health care
They play a major role in the discrete-part
manufacturing industries, where precise models
of parts and assemblies are created using solid
modeling software or more general computer-
aided design (CAD)systems. The design process
is usually incremental
4/62
Solid Modeling ?
It is a computer program that provides facilities for
storing and manipulating data structures that
represent the geometry of individual objects or
assemblies
These representations can be created either by a
human through a graphic user interface (GUI), or
specified by software applications via an application
programming interface(API).
5/62
Solid Modeling ?
6/62
Type of Solid Modeling ?
Octree
Voxel
Constructive Solid Geometry
Boundary representation
Feature based design
Properties of Solid Modeling
• Rigidity: Shape of the solid is invariant w.r.t
location/orientation
• Homogeneous 3-dimensionality: The solid
boundaries must be in contact with the
interior. No isolated and dangling edges are
permitted.
8/62
Properties of Solid Model
10/62
Parametric Solids
A parametric surface is a solid in euclidean space
which defined by the parametric equation with three
parameter f:R3->R3presentation.
Parametric equation of solid can be written as
X=F(u,v,w)
Y = G(u,v,w)
Z= M(u,v,w)
Parametric Solids
Parametric Solids
Tricubic Solids
l m n
P(u, v, w) a i , j ,k
i
uv wj k
i 0 j 0 k 0
i 0 j 0 k 0
If l=m=n=3, then there are 64
coefficient in each coordinate direction
Sweep Solids?
Translation Sweep Solid.
Rotational Sweep Solid
Sweep along a path
16/62
Generalized translational Sweeping
1 0 0 0
0 1 0 0
P(u, v, w) X(u, v) Y(u, v) Z(u, v) 1 0 0 1 0
l m n 1
Translational Sweep in X-direction
1 0 0 0
P(u, v, w) X(u, v) Y(u, v) Z(u, v) 1 0
1 0 0
C 0 0 1 0
G
D
H aw 0 0 1
B
F
A
E
Translational Sweep surface in Y-direction
1 0 0 0
P(u, v, w) X(u, v) Y(u, v) Z(u, v) 1 0 1
0 0
0 0 1 0
0 aw 0 1
Translational Sweep surface in z-direction
1 0 00
P(u, v, w) X(u, v) Y(u, v) Z(u, v) 1 0 1 0
0
0 0 1 0
0 0 aw 1
Rotational Surface obtained by rotation about X-
axis by =2pw
1 0 0 0
0 cos sin 0
P (u, v, w) [X(u) Y(u, v) Z(u, v) 1 ]
0 sin cos 0
0 0 0 1
X-axis
Rotational Surface obtained by rotation about Y-
axis by =2pw
cos 0 sin 0
0 1 0 0
P (u, v, w) [X(u, v) Y(u, v) Z(u, v) 1 ]
sin 0 cos 0
0 0 0 1
Y-axis
Rotational Surface obtained by rotation about z-axis
by =2pw
cos sin 0 0
sin cos 0 0
P (u, v, w) [X(u, v) Y(u, v) Z(u, v) 1 ]
0 0 1 0
0 0 0 1
Z-axix
Sweeping a profile surface along a path
1 0 0 0
0 1 0 0
P (u, v, w) [X(u, v) Y(u, v) Z(u, v) 1 ]
0 0 1 0
e( w) f ( w) g ( w) 1
Derivation of equation of slid rectangular spring
1 0 0 0
0 1 0 0
P (u, v, w) [ x1 (x2 - x1)u y1 (y2- y1)v 0 1 ]
0 0 1 0
r cos r cos aw 1
Sweep a profile surface along a path
Profile (section)
Path (guide)
Sweep feature
26
Creating Solids - Sweep
A Sweep feature requires a profile and a path. The profile will follow the path to create the solid.
Profile (section)
Path (guide)
Round profile
Ken Youssefi
Introduction to Engineering, E10.
28
Creating Features from Sketches
Loft in SolidWorks
31/62
Physical and Mathemetical object of modeling
32/62
Representation view of modeling
33/62
Solid Modeling Representations
What makes a good solid representation?
Accurate
Concise
Affine invariant
Easy acquisition
Guaranteed validity
Efficient display
Lorensen
Representation scheme of a solid
has following properties
Expressive Power: What objects are included in the
domain D covered by the representation scheme? Is it
possible to extend the domain? One aspect of the
expressive power is the precision of the representation
scheme: how accurately can complicated objects be
modelled?
Validity: Are all admissible representations valid, i.e.,
do they designate some solids of M? A scheme with this
desirable property is termed syntactically valid as it
enforces validity of all solid descriptions that obey its
syntax rules.
Properties of representation scheme
Unambiguity and uniqueness: Do all valid representations
model exactly one solid? Do some solids have more that one
valid representation?
Description languages: What kinds of solid description
languages can be supported in a modelling system based on
the representation scheme? Are they self-contained, i.e.,
directly based on the representations of the scheme, or are
they based on a conversion from other representations?
Conciseness: How large (in terms of computer storage) do
representations of practically interesting solids become?
(This property is often in contradiction with the precision of
the representation.)
Properties of representation scheme
Closure of operations: Do solid description and
manipulation operations preserve the validity of solid
representations? How general are the manipulations that
can be supported?
38/62
Wireframes
v1 x1 y1 z1
v2 x2 y2 z2
v3 x3 y2 z3
Vertex tabel
v4 x4 y2 z4
v5 x5 y2 z5
v6 x6 y2 z6
v3 e9 v7 x7 y2 z7
v7
e7 v8 x8 y2 z6
e3
v8 e1 v1 v1
v4 e10 e2 v2 v2
e3 v3 v4
e4 v4 v1
Edge tabel
e5 v5 v6
e2 e6 e6 v6 v7
e8 e7 v7 v2
e8 v8 v5
e4
v2 e11 e9 v3 v7
v6 e10 v8 v4
e11 v6 y2
e1 e12 e5 e12 v1 v5
v1
v5
WIREFRAME MODELING
Uniqueness problem
Ambiguity problem
Advantages of Wireframe modeling
Simple to construct for 2D and simple and
symmetric 3D objects
Designer needs little training
System needs little memory
Take less manipulation time
Retrieving and editing can be done easy
Consumes less time
Best suitable for manipulations as
orthographic isometric and perspective views.
Disadvantages of wireframe modeling
46/62
Voxels
Partition space into uniform grid
Grid cells are called Voxel (like pixels)
Color
Density
Temperature
Disadvantages
Approximate
Expensive display
Voxels
Voxels
Voxels
Voxels
Octrees
Models space as a tree with 8 children
Nodes can be 3 types
Interior Nodes
Solid
Empty
54/62
Octrees
An octree encoding scheme divide regions of
3-D space(usually a cube) in to octants and
stores 8 data elements in each node of the tree.
Individual elements of a 3-D space are called
volume elements or voxels.
When all voxels in an octant are of the same
type, this type value is stored in the
corresponding data element of the node. Any
heterogeneous octant is subdivided into octants
and the corresponding data element in the node
points to the next node in the octree.
Octrees
Models space as a tree with 8 children
Nodes can be 3 types
Interior Nodes
Solid
Empty
56/62
Octrees
57
Octrees
58
Octrees
59
Octrees
60
Octrees
61
Quatree illustraion in 2D
62
Quadtree Display
Extend voxel methods
Slicing
Isosurface extraction
Ray casting
Finding neighbor cell
requires traversal of
hierarchy (O(1))
64/62
Octrees
Advantages
Storage space proportional to surface area
Inside/Outside trivial
Volume trivial
shape
Disadvantages
Blocky appearance
65/62
2D(Uniform voxels Quadtrees)
Refine resolution of voxels hierarchically
More concise and efficient for non-
uniform objects
Size of building cubes are same for Voxel and different for Octree
Octree can not be started from scrach,a representation scheme is
needed for it where as in Voxel representation, it is not needed.
In octree volume is decomposed to get different size of cuboids at
different level which is not needed in in Voxel representation
For same accuracy the Octree is more concise
Octree data structure is a tree having eight children where as in
Voxel one level tree is needed in which all cuboids are combined
together to give final model.
Accuracy of model depends on level of tree in octree where as in
voxel accuracy depends on size of voxel.
All other properties are all most the same for both.
Constructive Solid Geometry
cylinder
sphere cylinder
74/62
CSG Primitives
Subtract
Union
Intersection
1- Constructive Solid Geometry
Intersection
Difference
If T is a solid,
compute all intersections of R with T
If T is a transformation
apply inverse transformation to R and recur
apply inverse transpose of transformation to normals
return parameter values
79/62
Inside/Outside Test for CSG Trees
Given a point p and a tree T, determine if p is inside/outside the solid defined by T
If T is a solid
Determine if p is inside T and return
If T is a transformation
Apply the inverse transformation to p and recur
Otherwise T is a boolean operation
Recur to determine inside/outside of left/right children
If T is Union
If T is Intersection
80/62
Application: Computing Volume
Monte Carlo method
Put bounding box around object
Pick n random points inside the box
Determine if each point is inside/outside
the CSG Tree
Volume
# inside
n
81/62
Application: Computing Volume
# inside
n
82/62
1- Constructive Solid Geometry
Advantages of CSG
1- Constructive Solid Geometry
Disavantages of CSG
Boundary Representation(B-Rep)
B-rep
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 a
point inside or outside of the solid model.
Each face is bounded by edges and each
edge is bounded by vertices
B-Rep (Complete skin of model)
2- Boundary Representation (B-Rep)
B-rep data structure
93/62
Three tables of Boundary representation
v1 x1 y1 z1
v2 x2 y2 z2
v3 x3 y2 z3
Vertex tabel
v4 x4 y2 z4
v5 x5 y2 z5
v6 x6 y2 z6
v3 e9 v7 x7 y2 z7
v7
e7 v8 x8 y2 z6
e3
f3
v8 Edge tabel
v4 e10 facetable
e1 v1 v1
e2 v2 v2
e3 v3 v4 f1 v1 v2 v3 v4
e2 f5 e6 e4 v4 v1 f2 v5 v6 v7 v8
f1 e8 f2 e5 v5 v6 f3 v3 v4 v6 v7
f6 e6 v6 v7
e4 e7 v7 v2 f4 v4 v5 v6 v2
v2 e11
e8 v8 v5 f5 v2,\ v6 v7 v3
v6 f6 v1 v5 v8 v4
e9 v3 v7
e1 f4
e12 e5 e10 v8 v4
v1 e11 v6 y2
v5
e12 v1 v5
2- Boundary Representation (B-Rep)
Validity of B-Rep
• To ensure topological validation of the boundary model, special
operators are used to create and manipulate the topological
entities. These are called Euler Operators
• The Euler’s Law gives a quantitative relationship among faces,
edges, vertices, loops, bodies or genus in solids
F E V L 2( B G)
Euler Law
Where
F = number of faces
E = number of edges
V = number of vertices
L = Faces inner loops
B = number of bodies
G = number of genus (handles)
A B-rep model of an object consists of faces, edges, vertices,
loops, genes (handle) and body.
• Through holes
• Topologically holes are called as handle
• Topological name for no. of handles in object is genus
Curved and Faceted B-rep model
103/62
Validity Criteria of B-Rep
104/62
Validity Criteria of B-Rep
105/62
Combinatorial criteria for triangulated
face(Stereolithography files)
106/62
Validity of B-rep
107/62
Validity Criteria of B-Rep
108/62
B-Rep must address the following
109/62
2- Boundary Representation (B-Rep)
2- Boundary Representation (B-Rep)
Boundary Representations
Stores the boundary of a solid
Geometry: vertex locations
Vertices
Edges
Faces
112/62
Boundary Representations
Constant time adjacency information
For each vertex,
113/62
Type of B-rep
114/62
Vertex based B-rep
v1 x1 y1 z1
v2 x2 y2 z2
v3 x3 y2 z3
Vertex tabel
v4 x4 y2 z4
v5 x5 y2 z5
v6 x6 y2 z6
v3 e9 v7 x7 y2 z7
v7
e7 v8 x8 y2 z6
e3
f3
v8 Edge tabel
v4 e10 facetable
e1 v1 v1
e2 v2 v2
e3 v3 v4 f1 v1 v2 v3 v4
e2 f5 e6 e4 v4 v1 f2 v5 v6 v7 v8
f1 e8 f2 e5 v5 v6 f3 v3 v4 v6 v7
f6 e6 v6 v7
e4 e7 v7 v2 f4 v4 v5 v6 v2
v2 e11
e8 v8 v5 f5 v2,\ v6 v7 v3
v6 f6 v1 v5 v8 v4
e9 v3 v7
e1 f4
e12 e5 e10 v8 v4
v1 e11 v6 y2
v5
e12 v1 v5
2- Boundary Representation (B-Rep)
Edged based b-rep
Winged Edge Data Structure
Each vertex/face points to a single edge
containing that vertex/face
NL NR
N
P
PL PR
117/62
Winged Edge Data Structure
WingedEdge {
WingedEdge nextLeft, nextRight,
prevLeft, prevRight;
Face leftFace, rightFace;
Vertex prevVert, nextVert;
}
NL NR
Face { N
WingedEdge edge;
}
Left face E Right face
Vertex {
WingedEdge edge;
} P
PL PR
118/62
Winged Edge Data Structure
Given a face, find all vertices touching that
face
Given a vertex, find all
edge-adjacent vertices NL NR
N
Given a face, find all
adjacent faces Left face E Right face
P
PL PR
119/62
Half Edge Data Structure
NHE
face HE E Flip
PHE
V
120/62
Half Edge Data Structure
HalfEdge {
HalfEdge next, prev, flip;
Face face;
Vertex origin;
Edge edge;
}
Face { NHE
HalfEdge edge; // part of this face
}
Vertex { face HE E Flip
HalfEdge edge; // points away
}
PHE
Edge { V
HalfEdge he;
} 121/62
Half Edge Data Structure
Given a face, find all vertices touching that
face
Given a vertex, find all
edge-adjacent vertices NHE
Given a face, find all
adjacent faces face HE Flip
E
PHE
V
122/62
Half Edge Data Structure
Very similar to WingedEdge Data Structure,
but edges have unique orientation
Slightly more storage
Less conditional operations NHE
Assumes polygons are oriented
face HE E Flip
PHE
V
123/62
Building a Topological Data Structure
PHE
V
124/62
Boundary Representations
125/62
Boundary Representations
Advantages
Explicitly stores neighbor information
Easy to render
Disadvantages
CSG very difficult
126/62
Properties of B-rep
Expressive Power: The modeling space of Boundary
representation depend on the selection of surfaces that can be
used. There is no inherent reason to limit this collection to mere
half-spaces. Hence boundary models can be used to represent
objects from a more general modeling space than that possible in
CSG. Some object that can be represented in CSG have no
convenient representation as Boundary models. Such problem
can by overcome by conversion of CSG into boundary model
Validity: Validity of boundary models in general very difficult
to eatablish. Validity criteria split into topological contrains and
geometrical constrains. Topological validity can be managed
without large over head, but geometrical validity is
comparatively slow down interactive design.
Properties of B-rep
Unambiquity and uniqueness: All valid B-rep are
unambiguous. They are not unique.
Description languages: Boundary models are
tedious to describe directly. It is possible to build
description languages that are based on graphical
drawing and sweep operations or on a CSG-like
input on top of boundary model
Conciseness: Boundary models of useful objects
become large, especially if curves objects are
approximated with polyhedral models.
Properties of B-rep
Closures of operations: B-rep are usually not close
under set operations. In this theoretical sense
boundary model description mechanism bas CSG
conversion or set operations are vulnerable. The
nature closure operations in B-rep are Euler operaors
Computation ease and applicability: B-rep is useful
for generating graphical output, because they readily
include the data needed for driving graphical
display. Analysis algorithm directly based on b-rep
become quite difficult if representation of objects
from more general modelling spaces than polyhedral
must be processed.
CONSTRAINT BASED MODELLING
CONSTRAINT BASED MODELLING
CONSTRAINT BASED MODELLING
CONSTRAINT BASED MODELLING
CONSTRAINT BASED MODELLING
Comparison of CSG and Octree
Sr Octree Representation CSG
1. Initial model is needed Initialmodel is not needed
2. Different sizes of Cuboids CSG primitives(cuboid, wedges,
are used cylinder, sphere, torus,cone) are used
3. Union is used Union, intersection and subtraction
operartion is used
4. Octree is used Binary tree is used
5. Unique Non-unique
6. Approximate Comparatively adjact
7. Storage requirement is Less memory space
comparatively more
8. Domain is comparatively Domain is restricted to CSG primitive
large 135/62
Comparison of B-rep and Octree
Sr Octree Representation Boundary
representation
1. It is volume based It is surface based
representation representation
2. It can be started from scratch, It can be started from
initial model is needed scratch
3. Solid is represented by cuboids Difference faces is
of different sizes needed to represent the
solid which makes a
closed envelop
4. Data structure used is an Graph data structure is
Octree used for B-rep
136/62
Comparison of B-rep and Octree
Sr Octree Representation Boundary representation
137/62
Comparison of B-rep and CSG
138/62
Comparison Representation schemes
Comparison of different representtaions
Different representation by standard
Different representation by standard
Why hybrid modeler
Why hybrid modeler
Architecture for hybrid modeler
Architecture for hybrid modeler
Feature Definition
Set of faces having distinct topology and geometry
This the volume of the materil remove in a machining operartion
Feature Definition
Interacting features
Feature based design
Feature based design
Inside/Outside test
CSG operations
152/62
Advantages
Inside/Outside test
CSG operations
Union
153/62
Advantages
No topology to maintain
Always defines a closed surface!
Inside/Outside test
CSG operations
Union
154/62
Advantages
No topology to maintain
Always defines a closed surface!
Inside/Outside test
CSG operations
Union +
+
+ - -
- +
+ - -
+ 155/62
Advantages
No topology to maintain
Always defines a closed surface!
Inside/Outside test
+ +
CSG operations
Union + - -
- +
+ - -
+
156/62
Advantages
No topology to maintain
Always defines a closed surface!
Inside/Outside test
+ +
CSG operations
Union + -+ -
+ - +
+ -+ - - -
- + +
+ - -
+ 157/62
Advantages
No topology to maintain
Always defines a closed surface!
Inside/Outside test
+
CSG operations
-- -
Union +
- - +
- - -- -
-
- -- +
+
+ 158/62
Advantages
No topology to maintain
Always defines a closed surface!
Inside/Outside test
+ +
CSG operations
Union + - -
+ + -
Intersection +
+ + - - - -
- + +
+ - -
+ 159/62
Advantages
No topology to maintain
Always defines a closed surface!
Inside/Outside test
CSG operations
Union +
+
Intersection
-
-
+
+
160/62
Advantages
No topology to maintain
Always defines a closed surface!
Inside/Outside test
+ +
CSG operations
Union + - -
+ + -
Intersection +
+ + - - - -
Subtraction - + +
+ - -
+ 161/62
Advantages
No topology to maintain
Always defines a closed surface!
Inside/Outside test
- -
CSG operations
+ +
Union
+
- +
Intersection
+ -
+ - +
+
- +
Subtraction - +
- - -
+
+ 162/62
Advantages
Inside/Outside test
CSG operations
Union
Intersection +
Subtraction
- +
+
- - +
+ 163/62