Skip to content

Making 3D Solids from Surface Data

ADMIN | 19-11-2012

I thought it would make an interesting case study to complete the entire workflow of building a 3D solid model from a set of surfaces.

Hexagon pattern 1

Recently I was looking at some surfacing operations and I thought it would make an interesting case study to complete the entire workflow of building a 3D solid model from a set of surfaces.  My idea was simply to join the surfaces together and then thicken the resulting sheet body to make a thin walled solid.

I chose the Utah teapot1, created by Martin Newell at the University of Utah in 1975.  This data was originally created for graphics developers to use as test data for lighting and rendering algorithms and it is simply a set of surfaces representing the exterior of the teapot, extending as far as the visible portion but without any of the internal details such as the inner faces.

Creating the Surfaces from the Input Data
The data consists of 32 Bezier patches together with a code snippet to read them.  I adapted the code to read in the patches and created a corresponding set of NURBS sheet bodies with relative ease.  I have found it convenient to split the patches into 7 groups to identify them.

3D Solid Teapot

 

Color Description
Blue Sides
Green Rim
Turquoise Spout
Magenta Tip of the Spout
Yellow Handle
Orange Lid
Red Base

 

 

 

 

 

 

 

 

Whilst the data is sufficient for graphical applications, a couple of aspects of the surfaces are different to the ones that I would expect from a 3D modeler.  These differences are where the workflow gets interesting.

Calculating Intersections

“Inside” and “Outside” for Sheet Bodies

The first issue that is not shown up by a rendering application is that some of the surface patches intersect; both the spout and the handle protrude through to the inside of the teapot sides.

Calculating the intersections between the surfaces is straightforward, however when modeling with sheet bodies there is no concept of “inside” and “outside” and typically an application has to decide which pieces are required and tell the geometry kernel what to keep.

The image shows in red the portions of the spout and teapot sides that are not required, in my workflow I had to specify that I did not wish to keep them.

 

Thickening Surfaces into Solids
Offsetting a surface is a standard geometric operation and the basis of a thickening operation; however as the offset approaches the radius of curvature cusps are introduced and with further increased offset self-intersections occur.  A function of the geometric kernel is to devise strategies to avoid these artifacts in the result of the operation whenever possible.

Thickening Surfaces into Solids

An example of this is the rim, where the patch actually represents both sides of the teapot wall.  In  fact it does not make sense to thicken the rim at all, instead the strategy I used to was to construct a blend surface which joins the inside of the teapot side with the inside of the rim.

After construction of this blending surface a closed volume is defined, this can then be combined with the side walls into a single solid body.

 

Completing the Model
To complete my model, the handle and the lid were straightforward, along the lines already described, though the spout required a slightly different thickness and some extra work to make the tip match up. 

The workflow I envisaged at the start turned out to be more complex than I thought and on reviewing the code I had written it seemed too involved for a relatively simple model.  There is a much simpler way to achieve the same result and that will be the subject of my next article.

Ref 1: Download for the data is at http://www.sjbaker.org/teapot/teaset.tgz)

 

You might also like...

5 Min read
3D Modeling
What is digital manufacturing? Here’s a simple digital manufacturing definition: the process of using computer systems...
5 Min read
CGM Modeler
Software components are like the stage crew at a big concert performance: the audience doesn’t see them, but their...
Application Lifecycle Management Flow
4 Min read
CGM Modeler
When you hear the term, Application Lifecycle Management (ALM), you likely think about the process that a software...
9 Min read
CGM Modeler
SLS in Additive Manufacturing is used to convert 3D CAD designs into physical parts, in a matter of hours.
8 Min read
CGM Modeler
There’s a lot of confusion around what the terms additive manufacturing and 3D printing mean.
4 Min read
3D Modeling
Additive manufacturing, often referred to as 3D printing, is a computer-controlled process for creating 3D objects.
5 Min read
CGM Modeler
Computational Fluid Dynamics (CFD) is a type of analysis that provides insight into solving complex problems, and...
2 Min read
CGM Modeler
WRL files are an extension of the Virtual Reality Modeling Language (VRML) format . VRML file types enable browser...
Voxel model example
3 Min read
CGM Modeler
Voxels are to 3D what pixels are to 2D. Firstly -- let’s examine what pixels actually are. Everything you see on your...
Point_cloud_torus
2 Min read
CGM Modeler
Point-cloud modeling is typically used in the process of 3D scanning objects. Rather than defining surfaces through...
Polygonal Modeling
2 Min read
CGM Modeler
Polygonal (or polyhedral) modeling is the most common type of modeling for video games and animation studios. This type...
aerodynamics-CFD
9 Min read
CGM Modeler
Computational fluid dynamics (CFD) is a science that uses data structures to solve issues of fluid flow -- like...
BREP Model example
2 Min read
CGM Modeler
BRep modeling, or Boundary Representation modeling, is, in CAD applications, the most common type of modeling. BRep is...
Feature Recognition Zoomed
5 Min read
CGM Modeler
IN THIS ARTICLE: What is FEA (Finite Element Analysis) Principles of Finite Element Analysis and Simulation Software A...
3YourMind and Spatial
3 Min read
3D Modeling
As manufacturers begin to rely more and more on additive manufacturing (AM), moving from a few select piece parts that...
Voxeldance and Spatial
2 Min read
3D InterOp
To the uninitiated, 3D printing may seem a simple process — download your CAD file and hit print. But the world of...
BIM_word_cloud_web
2 Min read
3D Modeling
The construction industry has long taken advantage of prebuilt components, from prehung doors to prefabbed roof...
Clash-Detection-fig-1
4 Min read
3D Modeling
A major benefit of constructing a building virtually is the cost savings gained by identifying errors in the design...