24-12-2012, 05:40 PM
Solid Modeling
Solid Modeling.pdf (Size: 107.33 KB / Downloads: 35)
1 Introduction
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. Designers may specify points, curves, and surfaces, and stitch them together
to define electronic representations of the boundary of the object. Alternatively, they may select models of simple shapes, such as
blocks or cylinders, specify their dimensions, position, and orientation, and combine them using union, intersection, or difference
operators. The resulting representation is an unambiguous, complete, and detailed digital approximation of the geometry of an
object or of an assembly of objects (such as a car engine or an entire airplane). Interactive three-dimensional (3D) graphic
supports the design activities by providing designers with: (1) easy to understand images of their design, (2) efficient facilities for
graphically selecting or editing features of the part being designed, and (3) immediate feedback, which helps them perform and
check each design step.
Early applications of solid modeling focused on producing correct engineering drawings automatically and on cutter-path
generation for numerically controlled machining [Requicha82, Requicha96]. Today, the engineering drawings still provide a link
to traditional, non-electronic manufacturing or archival processes, but are being rapidly replaced with electronic file transfers.
Solid modeling has evolved to provide the set of fundamental tools for representing a large class of products and processes, and
for performing on them the geometric calculations required by applications. The ultimate goal is to relieve engineers from all of
the low-level or non-creative tasks in designing products; in assessing their manufacturability, assemblability, and other life-cycle
characteristics; and in generating all the information necessary to produce them. Engineers should be able to focus on conceptual,
high-level design decisions, while domain-expert application programs should provide advice on the consequences of design
decisions and generate plans for the manufacture and other activities associated with the product’s life cycle. The total
automation of analysis and manufacturing activities (see for example [Spyridi93]), although in principle made possible by
informationally complete solid models, remains a research challenge in spite of much progress on several fronts.
Solid modeling has rapidly evolved into a large body of knowledge, created by an explosion of research and publications
[Requicha88, Requicha92]. The solid modeling technology is implemented in dozens of commercial solid modeling software
systems, which serve a multi-billion dollar market and have significantly increased design productivity, improved product
quality, and reduced manufacturing and maintenance costs.
Solid modeling systems
A solid modeling system, often called a solid modeler, 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). In a typical interactive application, a user selects and manipulates modeling primitives (parameterized instances of simple
geometric shapes, such as a cylinder or a line) and invokes modeling operations that combine or transform these primitives into
more elaborate representations.
A modeler’s GUI generates 3D graphic feedback to a user by immediately displaying selected portions of the objects being
designed. In addition, it provides facilities for selecting and for graphically editing the displayed entities. Users of modern
modelers can describe objects in terms of features, which are higher-level entities meaningful for their applications, can use
dimensions and other constraints to help in sizing and positioning geometric entities, and can also parameterize the objects so as
to create object families.
The choice of representations used by the modeler determines its domain (i.e., which objects can be modeled), and has a strong
impact on the complexity and performance of the algorithms that create or process the representations. A modeler may support
several distinct representation schemes. Consistency between representations in different schemes is typically enforced by
representation conversion algorithms.
Idealization
First the physical shape is abstracted into a perfect and homogeneous 3D point set, ignoring internal structures and boundary
imperfections. (Modeling of non-homogeneous objects will be discussed briefly later in this article.)
Mathematically, a solid is a subset of 3D Euclidean space. Precise definitions were developed in the mid 1970’s at the University
of Rochester’s Production Automation Project (PAP) and have guided the development of data structures and algorithms that
support high-level design operations and guarantee that valid representations of solids are produced. R-sets, which are bounded,
regular, semi-algebraic sets, were proposed as mathematical models for physical solids [Requicha80]. A set is bounded if it has
finite extent, i.e., if it can be enclosed by a ball of a finite radius. A regular set is homogeneously three-dimensional, and therefore
has no dangling faces or edges. Mathematically, a set is regular if it equals the topological closure of its interior. A semi-algebraic
set is the result of combining through set operations (union, difference, intersection and complement) a finite number of halfspaces,
each defined by an algebraic inequality of the form {(x,y,z) | f(x,y,z)£0}, where f is a polynomial. Note that this definition
does not preclude sets that are bounded by free-form parametric patches, although implicitizing (i.e., converting them) into semialgebraic
form is computationally hard and produces inequalities of very high degree. (Semi-algebraic sets also play an important
role in robotics, constraint satisfaction, and theorem proving.) More precise definitions for these topological terms may be found
in [Alexandroff61].
Surface Approximation
In a second idealization stage, the boundary of the shape is approximated by a relatively small number of faces, each face being a
subset of a surface of a type supported by the modeling system. Much of the variation between solid modeling technologies stems
from the different choices of the primitive surfaces they support. These surfaces essentially determine the geometric domain of a
system, i.e., the objects that can be modeled exactly.
On one hand, planar face primitives, i.e., triangles or more general polygons, provide a poor approximation of the real shape,
unless used in large quantities to define fine tessellations of highly curved geometries. Although algorithms for dealing with
individual triangles are simple and relatively robust, compact data structures for representing very large numbers of triangles and
efficient algorithms for processing or rendering them are complex to develop and to maintain.
On the other hand, a single parametric free-form surface patch [Farin90] which may be smoothly stitched with other patches in a
Non-Uniform Rational B-spline Surface (NURBS), may provide a better fit to the desired geometry than a thousand triangles.
However, detecting and computing intersections of such free-form surfaces involves elaborate mathematical techniques and
algorithms that are significantly slower and less reliable than their counterparts for triangular geometries.