Techniques
Designed, Written,
and Illustrated by
Mark Banas
© 2005 solidThinking Ltd. All rights reserved.
This documentation is copyright solidThinking Ltd. and your rights are subject to
the limitations and restrictions imposed by the copyright laws.
solidThinking Ltd. reserves the right to make changes in specifications at any time
and without notice. The information in this book is distributed on an “as is” basis,
without warranty. While every precaution has been taken in the preparation of this
book, neither the author nor solidThinking Ltd. shall have any liability to be caused
directly or indirectly by the instructions contained in this book or the computer
hardware or software products described herein.
ii solidThinking Techniques
Contents
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . iv Tutorial 1 –Toy Car . . . . . . . . . . . . . . . . . . . . . . 1
Interface, primitives, and transforms
Technology brief . . . . . . . . . . . . . . . . . . . . . . . . . vi
Tutorial 2 – 3D Glasses . . . . . . . . . . . . . . . . . 39
Conventions and use . . . . . . . . . . . . . . . . . . . . . xii Curves, surfaces, and history
iii
Welcome!
Welcome to solidThinking Techniques, and congratulations on taking this first, important step toward
learning more about the functions and philosophy of your 3D design software. This manual is designed to help
everyone from new users to experienced modelers learn how to use solidThinking quickly and effectively, and to
design whatever 3D object can be conceived. This manual will not only walk you through the interface and tools of
the application, but also the reasons and techniques behind each step, and how to solve common problems. If you
are new to solidThinking, or even new to 3D design in general, this book is designed to bring you up to a high level
of proficiency and comfort in a very short time. If you are an experienced solidThinking user, you will find that all
of the lessons are full of tips, tricks, and insights into why the software works the way it does. Regardless of your
level, as you progress through these tutorials you will gain speed, confidence, and a knowledge of solidThinking
that can easily be applied to your own projects
This book is organized into three distinct sections. This introductory section is first, and it includes all
of the information needed to accelerate your learning and understanding of not just solidThinking, but 3D
design in general. In this section you will find a “Technology Brief ” which contains explanations of the underlying
technology and terms used in solidThinking. This information is not absolutely necessary for working with
the program or completing the tutorials, but it is referenced throughout the book, and will help to make your
understanding of the tools and terminology that we will be using much more complete and thorough. You can also
easily “skim” this technical information and then refer back to it whenever you need to.
The next section will be the tutorials themselves. This is the majority of this manual in terms of pages
and content. These tutorials are written and designed in concert with one another. The early tutorials form a
foundation of common tools and techniques that all of the later tutorials will build upon and expect that the
reader already knows. We will start out with the absolute basics of solidThinking, including the navigation of the
user interface, and the helpful shortcuts and manipulation tools you will be using throughout the lessons. Even
if you are a very experienced user, you will find tips and information in these “beginner” lessons that will not
only help you in later tutorials, but will enrich your understanding of solidThinking in general. Therefore, it is
recommended that everyone at the very least read these early tutorials.
iv solidThinking Techniques
Every tutorial is a self-contained project that has a final, recognizable product as its goal. These products
gain in complexity as you work your way up through the tutorials, but after the first four tutorials have been
completed, you can easily “skip around” to the projects that interest you, or contain the tools and techniques
you are most interested in. If you find that you are working on a project and you do not understand how a tool
functions or the reason behind a certain action, take a moment to go to the Index of Tips at the back of the book
and see if perhaps you skipped the tutorial where this was fully explained.
The final section of this book is the appendices and indices. This is where you can find information that
will help you at any point in your progress through the tutorials. There is a partial list of keyboard shortcuts, an
index of the tools that are used (and where to find them explained and expanded), and an index of all of the tips,
hints, and brief explanations throughout the book. These tips and explanations are organized and placed within
the tutorials to have immediate relevance to the task or tool at hand. They are separated from the main text of the
tutorial by a shaded box and are intended as supplemental information to what you are working on. You do not
need to read these tips to complete each project, but they will deepen your understanding of solidThinking and 3D
design in general.
This book follows the philosophy that every project is a series of decisions and explorations. This is
not just for these tutorials, but every design project you will use this software for. By presenting a step-by-step
explanation of how an object is made and why each step is taken, this book strives to not only explain the tools
in solidThinking, but also the technique behind the decision to use that tool. It is hoped that understanding
these techniques will bring a higher level of comfort and confidence when using the software. Once you have this
confidence, you can then enjoy the true exploration of 3D forms. The ultimate goal of this book is to make any
technical decisions easier and more transparent as you work with solidThinking, which will give you the freedom
to explore and design without restriction.
The technology in solidThinking
solidThinking is a 3D application with some very advanced technologies integrated into it. In this chapter
we will try to very briefly explain some of these technologies and their terms. This book is not a technical manual,
but because much of the power in solidThinking rests in this technology, a brief explanation of the major points
will help quite a bit when using this power.
The primary concepts that this chapter will explain are related to the terms used in this accurate
description of the application: “solidThinking is a 3D, NURBS modeling and rendering program with parametric
tools and objects, and full construction history.” These terms may or may not make sense to you, but understanding
these attributes of solidThinking will make using this tutorial book much more satisfying.
What is 3D Space?
One of the most basic concepts in 3D modeling is the organization of the 3D “World” inside your software.
This determines where your objects are in relation to each other inside that space. solidThinking, like most 3D
applications, uses “Cartesian Coordinate Space” as its method of placing objects in this 3D space. Think of this as
three intersecting sheets of graph paper and any point in space can be described by its location on all three sheets.
In a 3D Cartesian system there are three axes labeled X, Y, and Z at right angles to each other. (In solidThinking,
the Z axis is always pointing “up.”) These three axes meet in our virtual space at a location called the “Origin,”
which is where the values of all three axes are 0. The position of a point in space can then be defined by its location
along each axis, in either positive or negative values in relation to the Origin.
These three axes are used as a reference not only for position, but also for dimensions as well. In this
virtual space, the sizes of objects are relative only to other objects in that 3D World. We can easily see how defining
the units of the axis values can become critical when you are designing a real-world object. In this way you are
positioning things in a “realistic” space, and you are also able to accurately create and evaluate objects before they
are produced in the real world.
vi solidThinking Techniques
What are NURBS?
solidThinking uses a very flexible and accurate method for creating and defining 3D geometry that is
called “NURBS geometry.” The acronym NURBS stands for “Non-Uniform, Rational, Basis-Splines.” The precise
definition of these terms is beyond the scope of this book, but we can simplify them greatly by saying that NURBS
geometry is a mathematical expressions of curves and surfaces in a virtual, 3D space. This means that most of the
models that you create in solidThinking will be composed of curves and surfaces that are defined by calculations
done for you by your computer. These algorithms are extremely fast and stable, and because of this, NURBS are
capable of representing any desired shape, both analytic and free form. Even though much of this information is
handled by the computer, knowing the terminology and technology behind these calculations will greatly help you
to understand why things are happening on your computer screen, and how you can work efficiently with this type
of 3D geometry.
NURBS curves and surfaces are very similar to each other and share common elements and behaviors. The
most important thing to know about this type of geometry is that their shapes are controlled by points in space
called Control Vertices or “CVs.” Throughout this book we will also refer to these simply as “points,” since most
of our work is done with NURBS geometry. These CVs serve as both the start and end point of a NURBS curve
or surface, and also define the shape between these points if that curve is not a straight line. As we can see in the
illustration below, these “inner” points do not lay directly on the resulting curve or surface, but rather exert an
influence on the part of the NURBS object that lies near the point.
The influence amount of each of these CVs is determined by another unique feature of NURBS, called a
“weight” value. This value can be increased arbitrarily for each point on a curve or surface to change the shape of
the object with more local control. By default, all points initially have an equal weight value of 1 in solidThinking.
vii
What are Parametric Objects?
A parametric object in solidThinking is an object that is defined by the values of certain parameters. A
cylinder, for example, can be defined by the numeric values of its radius and its height. These two numbers are
sufficient to describe the shape of a basic cylinder, but in many cases it may desirable to have more than just these
two parameters. Adding separate top and bottom radii will allow for a cylinder that is tapered, but still parametric.
Sometimes parameters for an object are even non-numeric in nature, such as having the option for a cylinder to be
open or closed at either end.
Being parametric in nature is not just reserved for objects in solidThinking, but most of the tools that you
would use to create or modify an object are also parametric. In the case of the “Mirror” tool, there is a parameter to
determine which 3D axis the object is mirrored across. Naturally, changing this axis will greatly affect the result of
the action.
A very powerful aspect of parametric objects in solidThinking is that they do not lose of “forget” their
parametric controls after they have been created. You can work on other objects, build from or modify a parametric
object, and even save the file and come back to it much later, and the parameters that defined each object when you
first created it will still be there, and still have the same direct control over the object. This “memory” that these
objects have is part of a larger concept called “construction history.”
The concept of Construction History is easy to understand if you imagine that all of the parts of a model
with Construction History are similar to the individual parameters of a parametric object or action. Modifying any
one of the parts will affect the shape of the overall model because they are calculated together to create the final
object. Unlike parametric geometry, you can easily add or delete parameters (parts) within the History of your
object, as well as modify them. As you do this, the end result will dynamically change. To make it easy to visualize
the Construction History of an object in solidThinking there is the Construction Tree.
The Construction Tree in solidThinking is a graphic flow-chart of the Construction History of each selected
object in your scene. It updates automatically as you build, and you can select “branches” of the Tree to edit within
the context of the rest of the Tree. When you edit an object or action that is “inside” the Construction Tree, all of
the objects that are furhter down the branch from it will automatically update. You do not have to manually rebuild
anything, nor do you have to explicitly tell the Tree to rebuild itself. If you desire, you can prune objects from the
tree, replace objects inside the tree, or delete the Construction History of an object entirely.
ix
What is Surface Continuity?
When two surfaces meet at a common edge, it is sometimes desirable to have them appear to be one
continuous surface across that edge by aligning one or both of the surfaces at their point of contact. This
“continuity” comes in a variety of forms: The most basic form is Tangential (or G1) continuity, where the edge
areas of each surface lie on the same plane at the point of contact. A more advanced form is Curvature (G2)
continuity, where the areas near the edge of each surface “flow” from each other by matching the overall curve
of one or both surfaces across the point of contact. There are further and more complex forms of curvature
continuity, but most of these tutorials deal with G1 or G2 only.
None G1
G2 G3
solidThinking Techniques
What is 3D Tolerance?
3D Tolerance is a customizable parameter used when geometry is created by commands that cannot be
performed with absolute precision (e.g. trimming, boolean and rounding operations). The “tolerance” is a measure
of how close to a perfect fit a given tool will try to get before failing to build anything at all. Absolute precision in
these instances is nearly impossible given the infinite levels of detail possible. This tolerance level can be set in the
Units pane of the solidThinking Preferences. It is advisable to set the proper tolerance at the beginning of each
project and to maintain it in all associated projects as well.
Some suggestions about how to set a proper tolerance level are the following:
• The 3D Tolerance should be less than 1/100 of the smallest values used in modeling operations
(e.g. if a filleting radius in Round is 0.1, the 3D tolerance for it to build must be 0.001 or smaller).
• With the typical 3D Tolerance values of either 0.01 or 0.001, the best results are obtained when
the overall model size does not exceed about 100,000 units.
• 3D Tolerance values smaller than 0.0001 can result in slower operations and very complicated
surfaces in terms of memory usage due to the increased precision that must be maintained.
• If your model is to be exported, the 3D Tolerance setting should be the same as, or typically
slightly smaller, than is required by the target CAD application.
xi
Conventions used in this book
There are certain visual and typographic conventions that are used in this manual. They are intended to make it
easier to read instructions and descriptions and easily find the important or descriptive elements. In the case of
critical actions, the font and type style will change. These conventions are outlined below.
“Quoted and Italics” is the literal text that appears somewhere on the screen, typically in the Console.
Bold Italics denotes an important object or element in the sentence, but is not critical to the action.
Whenever you use a specific tool or action, the Toolbar icon for that tool will appear to the left of the text
that starts the use of the tool. In some cases, you will use a keyboard shortcut to initiate the action, but the
icon will be shown anyway, as a visual reminder. This way you can quickly tell when a new tool is going to
be used while you are reading.
Throughout this book there are “Tips” that are not a literal part of the action you are performing, but are either
extra information, or a further explanation of tools and events that are happening at that point in the tutorial.
These are enclosed in “shaded boxes” such as this one. Tips are not required for the completion of a tutorial, but
frequently will be quite helpful. If you either miss or forget a Tip, there is an index to these Tips at the back of
this book, arranged by topic. Aren’t you glad you read this first Tip?
Note: This manual and all of the proceeding tutorials assume that you are familiar with the basic functions of your
computer and its Operating System (OS). This includes the use of a mouse and keyboard, launching an application,
and using common interface elements like drop-down menus and buttons. If you need assistance with any of these
things, please consult your computer’s documentation.
Modeling Toolbar
World Browser
Viewport Controls
Collapsed Tabs
Construction Tree
xiii
xiv solidThinking Techniques
Tutorial 1 - Toy Car 1
Welcome to the first tutorial in solidThinking Techniques. This tutorial will familiarize you with
the user interface and basic workflow of solidThinking. You will be assembling a very simplified “toy”
automobile from basic, pre-made 3D shapes, called “primitives.” You will learn how to navigate the overall
solidThinking interface, and how to create and manipulate 3D objects in your scene.
Although this lesson is very basic, it is short and contains many useful keyboard shortcuts and
common techniques that will be used in later lessons. As the complexity of the tutorials increases from
lesson to lesson, most of these basic concepts will not be mentioned and it will be assumed that you already
know how to quickly and effectively use the interface while working in solidThinking. Therefore it is highly
recommended that all levels of users at least read this lesson and confirm that they understand what it
covers.
Before we begin to build our model, we will go over the basic methods for understanding and manipulating the user
interface in solidThinking. In the preceding pages of this book there is a “map” of the solidThinking interface that will
help you to identify each part of the screen with the name it has been given.
Wherever possible, an illustration will be provided to show you exactly which on-screen item the text of the tutorial is
referring to. However, these illustrations will only show limited areas of the interface, so it is a good idea to go back to
the User Interface Map whenever you are unsure of the location of an item.
The interface illustrations in these tutorials are based on the default interface arrangement of the Windows
XP version of solidThinking. The interface for the Macintosh OS X version is identical in content and
item location to these illustrations, but uses the OS X “Aqua” interface theme instead.
If you have not done so already, launch the solidThinking application on your computer. The
solidThinking user interface will, by default, fill the display of your computer system.
Across the top of the screen you will see what is referred to as the “Application Title Bar.” This area (shown
below) tells you that the solidThinking application is currently the active application and provides the
name, if any, of the current scene you have open.
solidThinking Techniques
Below the Application Title Bar (or above it, in the Mac OS X version) you will find the Pull-Down Menus.
These menus provide you with access to all of the tools, settings, interface elements and other parts of
solidThinking. Most of what they provide is also accessible by keyboard shortcuts and/or on-screen icons.
1
Along the left side of the default interface arrangement you will find the Modeling Toolbar.
This is where you can locate the icons for most of the tools in solidThinking. (These tools are
also accessible through the “Tool” menu in the Pull-Down Menus described above.)
You can “scroll” through the icons by clicking-and-dragging anywhere in the palette with the
Right Mouse Button (“RMB”) (Win) or clicking-and-dragging with the Command (“”) key
held down (Mac).
To see fewer icons in the Modeling Toolbar, you can “collapse” each tabbed section (such as
“Transform” or “Curves”) by double-clicking on the Section Title tab. The effect of this action
is shown at the bottom of the image to the left.
A temporary “fly-out” panel will appear with all of the stacked icons visible for selection. (This fly-out will
stay visible until you select a tool icon or move the mouse away. You do not have to hold the mouse button
down all the time.)
Because not all of these tool icons will be immediately familiar to you, “tool-tips” are provided for each icon
in the solidThinking interface. These provide the title of the tool or icon in a floating, yellow box beneath
your cursor.
Tool-tips will automatically appear if you simply hover (or hold without clicking) the mouse cursor above
the icon for one second. (This also works inside the fly-out icon menus, as shown above!)
Other parts of the interface will be explained as we continue on in our tutorials. And, as always, if you
cannot find an interface element or icon that is mentioned in a tutorial, refer to the Interface Map that
precedes the tutorials, or the index at the back of this or any other solidThinking manual.
solidThinking Techniques
Part 2: Creating a NURBS primitive
To better understand the function and feedback of the solidThinking interface, we will take some time to
examine the process of creating this first element of our simple 3D model.
1
Select the Cube primitive tool from the Surfaces tab of the Modeling Toolbar by pressing on its icon (it
may be beneath the Plane tool icon in the fly-out menu) and observe the changes that occur. If the Cube tool
icon is not initially visible, click-and-hold on the Sphere (or other NURBS primitive) icon to activate the fly-
out menu of icons, and select the Cube tool from there.
These initial changes that we are going to observe are referred to as the “creation phase” of our object or
tool. During this phase, solidThinking is requesting input and providing visual feedback, so that you can
efficiently and correctly complete the action. If you would like to cancel the tool during this phase, simply
press the ESC key.
After clicking the Cube tool icon, a temporary placeholder for our Cube has appeared in all of our 3D
workspace views! It is represented by Magenta lines (in Wireframe display mode) and dark Blue “hotspots”
(or control points) as shown in the orthographic view below.
At the top of the workspace, near the Drop-Down Menus, the Console now has active text that is awaiting
keyboard or mouse input to determine the Local Axes Origin for the Cube. (This “origin” point serves as a
reference point in space for the object we are creating.)
solidThinking Techniques
And if we look at the World Browser (a list of the objects in our scene, found in the lower right corner
of the interface) we will see that a Cube object has been added to the list. We will also see the construction
history of the Cube surface expanded in the Construction Tree graph just below the World Browser.
1
This is all part of the “creation phase” of a tool. Some of these changes are temporary (such as the Console
activity) and others (like the new object listed in the World Browser) will continue as long as the object
exists in the scene.
The “creation phase” is not just for primitive objects or surfaces, but also exists for certain transformations
and modifications that do not, literally, create another object. However, during this phase all tools are
requesting input from you to guide the creation process, and the interface is also providing tools and
feedback to you to aid in the process.
Click-and-drag in the Top view to place the Local Axes Origin (which is the first vertex of the Cube
primitive) to the point shown below. The temporary Cube will follow the mouse cursor as you drag, and a
white “crosshair” will appear to indicate the precise position you will be choosing.
Clicking-and-dragging in the 3D views is the best way to place objects and manipulate hotspots while in
the creation phase of any object. By clicking-and-dragging you can adjust the placement of your object
before releasing the mouse button and you have an on-screen preview of where it is going to be.
After placing the Origin, the Console prompts us to define the “Opposite Vertex (Width, Thickness,
Height)” and has provided a default value of “(1,1,1).” Again, the Cube shown in our 3D views already
displays these dimensions.
solidThinking Techniques
During this next step, watch the Cube Tool Panel in the upper right corner of the interface, and notice that
the dimension amounts change interactively to tell you precisely how large a Cube you are making.
1
Click-and-drag anywhere in the Top view to place the Opposite Vertex (which is the second vertex of the
Cube primitive) to the point shown below. This will give the Cube approximate dimensions of 13 units in
Width, 8 units in Thickness, and 1 unit of height (default). These do not have to be precise dimensions.
Although the creation phase of our Cube is finished, we can still adjust its parameters in the Cube Tool Panel
(and we can continue to do so any time it is selected!). Click in the “Height” numeric input field of the Tool
Panel and type a value of 3 units and press Return when finished, to give our Cube some vertical dimension.
10 solidThinking Techniques
Congratulations! You have just created your first 3D object for this tutorial. We can now inspect this new
object in the 3D views to insure that it is the shape we desire.
1
In the Perspective view, press the “S” button at the top of the view title bar to change to the Shaded
display mode for that view. This will show our Cube dimensions much clearer.
The Zoom Selected button (and its neighbor, Zoom All) pans, zooms, and centers the rotation of the
camera (or Orbit point) upon the center of the selected object (or all geometry, if Zoom All is used).
These same buttons in the Orthographic views will only pan and zoom to the selected geometry.
12 solidThinking Techniques
Deselect the Cube geometry that we have created by either selecting the drop-down “Selection” menu and
choosing the option for “None,” or by simply clicking somewhere off of the Cube, in any of the 3D views.
We can see that the NURBS Cube object we created changes color to light blue, and the Modeling Toolbar
returns to its default “blank” state. This indicates that the geometry is not selected.
1
Select the Cube geometry again by clicking on it in the Shaded display of the Perspective view. We can
immediately see that it turns Red to indicate that it is selected, and the Cube Tool Panel returns.
In solidThinking, Blue colored geometry (in either Shaded or Wireframe display) indicates an object
that is “inactive,” or not currently selected, while Red indicates that the object is selected and active.
Magenta, as we have seen, indicates that the object is either being created, or it is affected by the control
point or “hotspot” you are currently manipulating. Geometry displayed in Green, which have not seen yet,
indicates a related, “source” object.
We can easily manipulate objects in our scene by using the Transform tools. Throughout this tutorial we will
be “adjusting” the objects we create simply to use the Transform tools in various ways.
While the Cube is still selected (Red) click on the Translate tool icon from the Transform tab of the
Modeling Toolbar.
You will notice immediately that there is no Console prompt for this action at all. This is because there
is no “creation phase” for the Translate tool, since it does not actually create another object. However, the
Tool Panel has options for the Translate tool, and a small “hotspot” has appeared in our scene by the
Local Axis Origin of our Cube.
Click in the far left input field of the Translate Tool Panel under the heading of “To.” This input field corresponds to
the X axis, and any number entered here will be the amount of Translation applied (relative to the “From” value above
it) for that axis. The other input fields are for the Y and Z axes, respectively.
Enter a value of -3 in this input field and press Return to see the effect it has on our Cube. (You will not “complete” the
Translate action in this way, but accept the text input and allow other values to be changed as well.)
14 solidThinking Techniques
Our cube has moved 3 units in the negative X direction from where it was previously. The “hotspot” visible
in the lower left corner of the image below (the Top view) shows the green line that indicates the distance
and direction of the translation, relative to the starting point.
1
While the numeric input box for the X axis “To” is still selected, enter a value of -1 to make the translation
slightly less dramatic. This will leave our cube roughly centered in the Top view of the workspace.
The input boxes for the Translate, Rotate, and Scale tools will accept numeric input at any time until the
action is closed. This means that you can “preview” the effects of the value you entered and still enter
another value to replace the previous one. These values are not cumulative, so entering a value of -3 and
then a value of -1 will not equal -4.
Press the ESC key to complete the Translate action and “fix” the new position of our selected object. (Note
that for other actions that have a “creation phase,” the ESC key will cancel them, rather than finish them.)
Double-click on the title bar of the Right view window to expand this view to fill the entire 3D workspace.
This will make it easier for us to place the next item in the view. (The other view windows still exist, but are
temporarily hidden by this “expanded” view.)
Select the icon for the Cylinder primitive tool from the Primitives tab of the Modeling Toolbar. (It will be in
the fly-out menu “underneath” the Cube primitive tool.)
The Console will prompt you to define the “Local Axes Origin,” and a Cylinder will appear, by default, at
the World Origin. Click-and-drag to place the Cylinder origin at the center of the top edge of our Cube, as
shown below:
16 solidThinking Techniques
After releasing the mouse button, the Console will now prompt you for a “Top Radius.” Using the keyboard,
enter a value of 4 units at the Console input line and press Return to accept this value.
1
This gives the top of our Cylinder a radius just about equal to the with of our Cube in this view.
When the Cylinder tool Console prompts you for the “Bottom Radius,” enter a value of 4 again, and press
Return to accept equal radii for both the top and bottom.
Next, the Cylinder tool Console prompts you for the “Height.” We can interactively define the Height,
however, the height is not visible in the Right view because we are looking at the base of the cylinder.
In the Front view, click-and-drag to position the Height hotspot so that the top of the Cylinder is close to
meeting the “back” of the Cube that is the base of our toy car. Again, the white “crosshairs” will show you the
precise location you are choosing.
Once we have positioned the Height hotspot in the appropriate location and released the mouse button,
we have input all of the variables that define the size and shape of our Cylinder primitive and completed its
creation phase. Although the Console is not prompting us to define other parameters, we can look at the
Tool Panel and see that the Cylinder primitive has many more parameters and options that we can adjust.
18 solidThinking Techniques
This Cylinder will form the back “roof ” of our toy car, so it should not extend below the simple Cube that
we are using as a base. We can change one simple parameter to accomplish this!
1
In the Cylinder Tool Panel, change the End Angle parameter to be 180. This will cause the Cylinder to
become only a half cylinder above the Cube.
The Start and End Angle parameters equate to the amount of degrees that the Cylinder profile is revolved
around its center point. This parameter is related to fact that all primitives in solidThinking are calculated as
NURBS surfaces, and all of these surfaces have been constructed using common NURBS surface techniques,
such as the Revolve.
Certain objects in solidThinking, such as parametric Primitives, have “view-relative creation.” This
means that when you are working with the Front view active, and invoke the NURBS Cylinder tool,
your cylinder will be created relative to the Front view. This is because solidThinking places a “preview
object” in our scene at the moment that we click on the tool icon. We then use this object to interactively
view and manipulate the “creation phase” of our object. So when working with certain curve and surface
Primitives, you should activate the view you want the creation to take place in before invoking the tool.
We can get a better look at the whole of our object by manipulating the view through each of our viewports.
There are many ways to do this. At the top of the Perspective viewport, in the title bar area, there are 5
buttons that you can click-and-drag on to adjust the Perspective view.
20 solidThinking Techniques
The first button in this group is the Orbit button. Click-and-drag on the Orbit button and your Perspective
viewing angle will change.
1
You can access the Orbit view manipulation tool at any time by simply clicking-and-dragging with the Right
Mouse Button (Win) or -Mouse Button (Mac). Using this Orbit keyboard shortcut and/or the mouse
button is a very intuitive way to inspect the overall shape of your objects in 3D space.
When you Orbit your view, your objects are staying in the same place, but the location of your Perspective
view camera is changing. The Perspective camera Orbits around an arbitrary center point in your view.
This “center of view” can be adjusted with the another view manipulator called “Pan.”
While the Front view is still active, we can place a primitive object that will become the windshield (or
screen) of our simple toy car.
Select the Sphere primitive tool from the Primitives tab of the Modeling Toolbar.
When the Console prompts you to define the “Local Axes Origin,” click-and-drag in the Front view to place
the Sphere at the approximate point where the Cylinder and Cube meet in the Front view.
22 solidThinking Techniques
Next, the Console will prompt you to define the “Radius.” Click-and-drag to interactively set the radius for
the Sphere to be approximately the same as the radius of the Cylinder that is already in our scene.
1
This action will end the “creation phase” of our Sphere primitive, and allow us to modify the parameters in
the Sphere Tool Panel to achieve the shape of the windshield that we desire.
In the Sphere Tool Panel, change the Long. (-itude) End Angle to have a value of 90 degrees.
Orbit your viewing angle in the Perspective view until you are close to the angle of view shown below.
In the lower, left corner of the Perspective view is the World Axis Trident. This device rolls as you Orbit
within the scene, and displays the positive direction of each axis at all times. The two axes that are “active”
for transformations at any time are highlighted in Red. Not all axes are “active” at the same time because
the Perspective view displays all three axes and only two of them can be kept relatively consistent in terms
of size. The third is always “foreshortened” and is difficult to work with because its grid is compressed by
the effects of perspective.
24 solidThinking Techniques
When the X and Y axes of the World Axis Trident are “active” in the Perspective view, we will be roughly in
the same view as shown before.
1
You will notice that all of the Orthographic view windows (Front, Top, Right, etc.) also have an “active
axes” display in the lower, left corner. Because these views only show two axes at a time, they are always
red, but they still display the positive direction for the axes that each view has active.
Zoom out in the Perspective view a bit by using the Zoom (or Dolly) click-and-drag shortcut of Shift-
Right Mouse Button (Win), -Shift-Mouse Button (Mac). This will give us some visual room around our
objects to clearly see what we are doing in the Perspective view.
Select the Cylinder primitive tool from the Primitives tab of the Modeling Toolbar.
The “creation phase” of our Cylinder has begun with the placement of a “temporary object” in our scene, but
we cannot see this object immediately in the Shaded display of the Perspective view because it is “inside” the
shaded forms of our other objects.
The next Console prompt for the Cylinder will ask for the “Top Radius.” Although we can enter values for
this and the rest of the parameters in the creation process, instead we will simply press Ctrl-Return (Win) or
-Return (Mac) which will automatically accept the default values (1 unit each) for every prompt after this.
This will complete the creation phase and we will have a Cylinder that is the same size as the “default” object
that appears when we invoke the tool.
26 solidThinking Techniques
Now, rather than adjusting each parameter separately, we will increase the size of this “wheel” Cylinder in all
directions at once.
While this Cylinder is still selected, click on the Scale tool in the Transform tab of the Modeling Toolbar (or
1
press the “S” key on the keyboard to invoke the Scale via its shortcut key).
Remember that the Scale tool, like Translate and Rotate, has no Console prompts or “creation phase”
so the object that is selected is the object that we will Scale, and the Tool Panel is immediately active as
well. Like all basic Transform tools, we can either enter exact values in the Tool Panel or simply click-and-
drag in the workspace to interactively perform the action. (For these simple Transforms, it doesn’t matter
where we click-and-drag while the tool is active.)
We can now simply click-and-drag just outside of the Cylinder to interactively Scale it. While dragging, watch
the Tool Panel for this tool, and release the mouse button when the Scale amount is close to 2.
Select the Rotate tool from the Transforms tab of the Modeling Toolbar (or press the “R” key on the
keyboard to invoke the Rotate via its shortcut key).
In the Right view, click-and-drag to interactively Rotate the Cylinder 90 degrees (approximately) along the
axis perpendicular to this view. (It does not matter how far from the Cylinder you click and drag, but the
degree of change will be smaller the further away from the rotational axis you click-and-drag.)
28 solidThinking Techniques
Our “wheel” is now rotated in (roughly) the right direction, but it is not touching the body of the toy car
at all. We can move this object into the correct position by simply clicking-and-dragging on it in two of the
orthographic views.
1
Click-and-drag directly on the wireframe of the Cylinder in the Right view, and you will find that the
Translate action is automatically initiated. The Cylinder then follows your mouse movements until you
release the mouse button, while the white “crosshairs” indicate the new location.
Using the click-and-drag method of Translation performs two very basic actions at the same time: The
initial “click” on an object selects that object, and then the “drag” performs the Translate action with
the selection fixed to that object. Because moving objects is one of the most common activities in 3D
modeling, there is no need to press a key or icon to do this.
We have now created a simple Cylinder primitive, scaled it, Rotated it, and Translated it interactively to be in
the position that would typically be taken by the front wheel of the toy car we are creating.
30 solidThinking Techniques
Select the Inspector tool from the Transforms tab of the Modeling Toolbar.
Immediately, the Inspector Tool Panel will show the various basic transformations that have been applied to this
object since we created it. (Your actual numbers will be different, since we have been using approximations.)
1
To correct our Rotation amount, click in the X axis input field (the first one) under the “Rotation” heading
and replace whatever approximate value is there with 90 (degrees). Press Return when you are finished
editing the numeric amount.
Press ESC to exit the Inspector tool and to return to the selected object’s (Cylinder) default Tool Panel.
Our first wheel is positioned correctly, but now we need to create 3 more wheels that line up with the body
of the car and our original wheel. We can quickly accomplish this by using the common Copy and Paste
functions that are present in every application.
Select the wheel Cylinder (if it isn’t already selected) and press the keyboard shortcut for Copy (Ctrl-
C (Win), -C (Mac)). This will make a copy of the selected geometry and place it on our application’s
“clipboard.”
Now we can immediately Paste this wheel Cylinder into our scene by pressing the common keyboard
shortcut for Paste (Ctrl-V (Win), -V (Mac)). Although it may appear as if nothing has happened, a copy of
our wheel cylinder has been placed in the scene in the exact same location as the original wheel cylinder.
The reason that Copy and Paste places the duplicate item in our scene at the same location of our original
is because the Copy function copies every aspect of that geometry, including its location.
32 solidThinking Techniques
The Copy of our wheel cylinder is the actively selected geometry, so we can immediately transform it to
better match the location of a second wheel.
1
Press the “T” shortcut key to invoke the Translate action. (In this instance it is better to use the literal
Translate tool than to simply “click-and-drag” on the geometry. We don’t want any accidental movement.)
While the Translate tool is active, hold down the “Y” key to constrain our interactive Translation to the Y
axis, and then click-and-drag the copied geometry across to the other side of the body of the toy car.
In this situation, we can also notice that the “crosshair” indicator will move in the other axes, but the objects
will not. This is useful when you want to snap or line your object up to another object in along onl one axis.
When we release the mouse button, we have positioned our second wheel in the exact location along the Y
axis as our first wheel. Holding down the letter of any axis will lock the interactive action to that axis.
In the Right View, drag a selection box around our two wheel cylinders to select both of them, than Copy
and Paste the selected geometry back into our scene. This will give us another pair of wheel cylinders in the
exact same location.
Press the “T” shortcut to initiate the Translate action, and in the Front view, click-and-drag while holding
the “X” key down to position the copies close to the back of the car body.
34 solidThinking Techniques
Part 6: Saving the Scene
Congratulations! You have just completed your first model in solidThinking! Although this model is very
simple, it is always good to save what you have done so you have a sense of accomplishment and can refer to
it again if you need to
1
To Save your scene (which includes all of the 3D geometry, the viewport settings, and many other parts of
your scene) you can either use the application menu File -> Save As… (shown below) or the F12 key.
The default location for solidThinking files is in the “Projects” folder. This is the first place that
solidThinking will go to when you Save or Open files. You can save your files elsewhere, but it may be
easier to create new folders inside the “Projects” folder to organize your work. If required, you can place an
alias to another folder inside this folder.
And with the Save dialog, this tutorial is concluded. In the next tutorial we will be expanding upon the
lessons learned in this tutorial, so be sure to go back to any parts you did not fully understand. Feel free to
continue to explore the objects that we have created in this scene by moving them around, and adjusting
their parameters. Perhaps create entirely new “toy vehicles” to practice these new skills.
36 solidThinking Techniques
In this simple, first tutorial we have learned how to understand and manipulate the user interface in
solidThinking, create parametric 3D objects using NURBS Primitives, alter those parametric objects by using
their Tool Panels, Translate, Rotate, and Scale interactively in our scene, Copy and Paste geometry to create
multiple copies, and Snap the movement of objects to a single Axis! This is quite a lot of information.
1
The tutorials that follow this one will build increasingly complex objects and more involved scenes while
introducing new tools and techniques. While the basic concepts introduced in this tutorial will be used again
and again, they will not be explained as thoroughly as they just have been. Therefore, if any of the concepts
or actions that have been discussed in this tutorial are still not clear, take some time to experiment with
them outside of the tutorials in this book, and re-read any portions of this tutorial until you are completely
comfortable with these “basics” of using solidThinking.
This lesson will introduce you to the basics of NURBS curves and surfaces in solidThinking, and
will also further explain construction history as well. The project is to build a simple pair of disposable
glasses for viewing anaglyph stereoscopic 3D images. (These are images where two offset images of an object
are superimposed upon each other in different colors to provide a 3D “depth” effect.) While the accuracy
of this model is not the main concern, you will learn how to snap to the various working grids and how to
control objects in your scene using basic principles of NURBS curve and surface design.
NURBS modeling is, at its core, about creating curves and then creating surfaces from them. This
lesson will demonstrate many of the principles that make NURBS modeling so powerful. One of the most
powerful attributes of NURBS surfaces is the ability to “trim” them using a curve. You can create very
complex shapes by trimming away parts of an existing surface. Using trimmed surfaces extends the power
of NURBS modeling by removing barriers to creating very complex and accurate shapes. This will also be
explained as we progress.
Tutorial 2 - 3D viewers 39
Part 1: Drawing and Editing NURBS Curves
NURBS curves and surfaces are defined by “points in space” that control the shape of the NURBS object
through their influence on the region near them. These points are called Control Vertices, or CVs. We
will begin the lesson by creating a simple NURBS curve through the placement and editing of CVs at
predetermined places in our scene. It is easier to control the spacing and location of these points by
“snapping” to the predefined grids in solidThinking. After drawing the curve, we will then “extend” the
curve into the third dimension by creating a NURBS surface from it.
Turn on the Grid Snap #3 (which should still be set to its default values) by clicking on the snap icon for
this grid in the Snaps Toolbar, or by selecting it from the “Edit” menu at the top of your screen under the
submenu of “Active Snaps.”
The Snaps Toolbar is located, by default, at the top of your workspace, near the Application Toolbar. If this
palette of grids and snap icons is not visible in your workspace then you can make it visible by going to the
“Managers” drop-down menu at the top of your screen and selecting “Snaps Toolbar” from the list. It will
then have a “check mark” in front of its name within the menu to indicate that it is now visible.
You can “dock” this palette of helpful snap tools by clicking on the title bar and dragging the palette to
the top of your workspace until it is near the Applications Toolbar (generally to the right of it) and a grey
“box” appears in the open area next to the Applications Toolbar. This indicates that the palette is ready to
be “docked.” When you release the mouse button, the Snaps Toolbar will snap into and assume the shape
of the open area next to your Application Toolbar icons.
40 solidThinking Techniques
Click the icon for the NURBS Curve tool that can be found in the Curves tab of the Modeling Toolbar that
can be found (by default) vertically positioned along the left side of the screen.
2
Once you have clicked on the icon, you will begin the “creation phase” of the NURBS Curve object, and the
Console will prompt you for the location of the “Local Axes Origin.”
Just like the Local Axes Origins of the parametric primitives in the previous lesson, this point defines the
default translation, rotation, and scale “center” for the curve. However, the Local Axes Origin of a simple
NURBS Curve is not the same as the Start Point, or first point of the curve. The curve will extend beyond
this point, and no points even have to be close to the Local Axes Origin, but the whole curve will be tied to
this point for later operations.
We will be drawing the NURBS Curve by placing points in the Top view, so it will be helpful to Zoom Out a
bit in that view before continuing. (This action does not affect point placement or the active tool at all.) You
can either use the Zoom button at the top of the Top view window, or the click-and-drag shortcuts of Shift-
RMB (Win) or -Shift-MB (Mac).
Tutorial 2 - 3D viewers 41
The Console now prompts you to enter “Point #1 (Spacebar to End).” Click-and-drag to interactively place
4 points in the locations shown below to define the NURBS curve. (The familiar white “crosshair” will
indicate the precise position of each point.) Each time you release the mouse button, the console will prompt
you to place the next point.
(The active Grid Snap #3 will make positioning the points very easy and accurate, but may inhibit dragging.)
Once you have set these 4 points, press the Spacebar to end the point placement.
42 solidThinking Techniques
Now we can create a simple, 3D NURBS surface from this curve by Extruding it into the third dimension.
Select the Extrude tool from the Surface tab of the Modeling Toolbar. As soon as you click on the tool icon,
2
the creation phase of our surface has now begun, and the Console becomes active to instruct you.
When the Console first prompts you to “Pick Profile Curve,” select the NURBS curve that is visible in any
one of our working views by clicking on it.
When you click on the curve in our scene, almost immediately an initial surface is created (using the default
direction and length of the Extrude tool) and is visible in our workspace as seen below:
The Extrude tool is not finished yet because the Console is still active and the Modeling tool panel for the
Extrude tool is greyed out (inactive). This indicates that we are still in the “creation phase” and that further
input is required.
Tutorial 2 - 3D viewers 43
At the second Console prompt you are asked to enter the “Extrude Length.” Enter a value of 6 units by
typing “6” on the keyboard and pressing Return. This will end the “creation phase” of the Extrude action
and create the surface seen below:
Change the Perspective view window to the Shaded display mode by pressing the “S” button in the upper
right corner of view window. We can now clearly see that we have an extruded surface.
44 solidThinking Techniques
The Extrude surface we have just created is now linked to the “source” NURBS curve through construction
history. This means that if we modify the source curve, the Extrude surface will also change to reflect this
modification. We can now demonstrate this link interactively.
2
If we look at the World Browser (by default in the lower right corner of the workspace, under the Modeling
Tool Panel) we will see that our Extrude surface is highlighted in Red to show that it is currently selected.
We will also see the construction history of the Extrude surface expanded in the Construction Tree graph
just below the World Browser.
The Construction Tree browser displays a “Tree Graph” of all of the “source” objects and actions whenever
you select an object. The topmost item is the currently selected object, and underneath it are all of the
source objects that it is linked to. For objects that have no construction history, like our basic NURBS
curve, the Construction Tree will consist of only that object, and will not show whatever objects might be
built from it. In this sense, the Construction Tree only shows the “past” of the construction of an object.
Tutorial 2 - 3D viewers 45
Select the “source curve” of the Extrude object by clicking on its node in the Construction Tree graph.
(Either the name or the blue box icon will work for selecting objects, just as in the World Browser.)
After selecting the curve (it will turn Red in the 3D views), press the Spacebar to enter the Edit Mode.
Entering this mode will display the CVs (or points) of our NURBS curve that we previously placed, and will
allow us to select and manipulate them.
Whenever you toggle into Edit Mode (either by using the Spacebar or the button at the top of the
workspace) you are able to see the interactively editable parameters of the selected object, which are
not normally visible in the Object Mode. You can always edit certain parameters of an object by simply
selecting it in Object Mode and modifying values in the Tool Panel, but frequently there are “hotspots” for
parameters that are only visible in Edit Mode. A NURBS curve, for instance, has many parameters in the
Tool Panel, but to change individual CVs we need to enter the Edit Mode.
We will now edit this curve by manipulating its points to get closer to the shape we desire.
Change the Active Snap to be Grid Snap #2. This will let us make finer adjustments in the rest of the
modeling process while maintaining a very accurate placement.
46 solidThinking Techniques
Clicking and dragging on a point (or points) will both Select and Translate the point. This is the same as
selecting the point and pressing the “T” key to invoke the Translate command, since Translate is the default
action when clicking-and-dragging on objects in solidThinking.
2
Translate the #3 point of the curve by clicking on it to select it (it will turn Yellow) and dragging it 3 units in
the negative Y direction, which is the same as dragging it “down” in the Top view. After you drag the point
and release the mouse button, you will end the quick Translate.
Translating this point will change the shape of the interior portion of our curve. We can see in our
Perspective view that the surface that is linked to this curve also changed its shape as well.
This direct and “live” feedback of surfaces updating immediately while you manipulate their source
objects is the most basic level of construction history in solidThinking. The Construction Tree not only
shows us what objects are linked through history, but also allows us to modify those linked objects to
affect our entire model.
Tutorial 2 - 3D viewers 47
We can also edit the curve through a combination of settings in the Tool Panel and interactive changes in the
3D views.
First, click-and-drag to create a selection box around the two “bottom” CVs to select them both at the same
time, as shown below:
Now, in the NURBS curve Modeling Tool Panel, check the box near the top that is labeled “Insert.” This will
activate the Insert Mode for this tool, which will allow us to place additional CVs in our curve at any time
after the initial “creation phase.”
48 solidThinking Techniques
In the Top view, click-and-drag to Insert a new point at the location shown below. By adding this extra CV
near to the “corner” of our curve, we will “tighten” the corner of our curve.
2
We can see the effect of adding this point to our curve reflected in the Extrude surface, which is shown
clearly in the Perspective view.
Tutorial 2 - 3D viewers 49
Once you have placed this new point inside the curve, either uncheck the “Insert” check box in the NURBS
curve tool panel, or press the Spacebar to “toggle off ” the Insert Mode.
Be sure to toggle the Insert mode “off ” before clicking elsewhere in your scene, since each click in any 3D
view will always place another new point inside the NURBS curve, even if the point is very far away from the
original curve.
Press the Spacebar again to exit the Edit Mode for this curve and to return to Object Mode.
Edit Mode is considered a “temporary mode” in solidThinking. This means that solidThinking
functions best if you “toggle into” the Edit Mode, make your interactive modifications, and then
“toggle out” again. The reason for this is because while you are in Edit Mode, you are able to select
and manipulate only the “hotspots” or parameter controls for the object you are editing. You cannot
change your selected object by simply clicking on another object while in Edit Mode (although there are
keyboard shortcuts to do this). This allows you complete freedom for editing purposes, but can make
other actions (like interactive selection) very difficult. This is why it is best to “toggle in,” edit, and then
“toggle out” again, returning to Object Mode.
50 solidThinking Techniques
Part 2: Trimming the Surface
We have just created and edited a simple NURBS curve, and then created a NURBS surface from it. This is
NURBS modeling at its most basic level, and we will expand on this by creating different types of curves and
by altering our surface through the use of “trims.” Although this is all still very basic, this is the foundation
2
for understanding NURBS modeling and being able to create more complex objects in the future.
Our first Trim will be used to create the area in our 3D viewing “glasses” where the anaglyph colored lenses
will eventually be placed.
Select the Open Polyline tool from the Curves tab of the Modeling Toolbar. The “creation phase” of this
curve is very similar to the simple NURBS curve tool. We will set the Origin and interactively place points to
define the shape of the curve.
The Console will first prompt you to set the “Local Axes Origin.” Press Return to accept the default location
of (0,0,0).
We will be drawing the curve in the Front view, so make that view active for point placement.
Tutorial 2 - 3D viewers 51
When the Console prompts you to place “Point #1 (Spacebar to end),” click-and-drag in the Front view to place 4
points in the locations shown below:
By clicking-and-dragging while placing points you have the freedom to change the position of a point
before releasing the mouse button and “fixing” it in place. Although it may be a bit difficult to “drag” these
particular points with the Grid Snap on, it is a good habit to get into, since doing this also provides you
with a preview of what your object will look like while you are placing each point.
When you have placed all of the points, press the Spacebar to end the point placement “creation phase” for
this curve.
We can see that we have created a Polyline (or a curve with straight line segments between its points).
However, we are going to manipulate some of its parameters to create the closed region for our Trim action.
52 solidThinking Techniques
Press the ESC key to exit the Open Polyline tool panel, and to bring up the NURBS curve tool panel instead.
(The Open Polyline is actually a simple NURBS curve with a “curve order” of 2. (See the technical notes in
the introduction for a description of NURBS curve “order.”)
2
Because the Open Polyline tool allows us to draw a NURBS curve with a default order of 2 (or linear
segments), we retain all of the controls that a simple NURBS curve has. This is helpful for us now, because
we would like to create an enclosed region for the “lens opening” in our surface.
In the NURBS curve tool panel, change the “Curve Type” to be Closed as shown below.
Tutorial 2 - 3D viewers 53
We now have a closed curve that is composed of linear segments and is defined by 4 points, as seen below:
This closed curve will now be used to “trim” out a section of the Extrude surface that we created earlier. The
curve does not have to be “on” the surface to be trimmed, but rather will be “projected” onto it based on
either user input or the “curve normal.” A curve normal is the direction perpendicular to the plane that the
curve lies on, but the Trim direction can manipulated as well..
The Trim surface tool in solidThinking works by projecting a curve onto a surface and then dividing
that surface into regions that are either on one side or the other of that projected curve. The Trim tool
then removes one of the regions without changing the shape or contour of the remaining surface, right up
to the edge where the Trim curve would lie upon it. Because all NURBS surfaces are created from highly
precise curves, using a NURBS curve to do this also retains the inherent precision of NURBS.
54 solidThinking Techniques
Select the Trim surface tool from the Surface tab of the Modeling Toolbar.
At the Console prompt to “Pick a Curve,” select the Polyline that we just created and modified.
2
When the Trim tool Console prompts you to “Pick a Surface,” select the Extrude surface that we built from
our first NURBS curve. This interactive selection will end the action and create the trimmed surface.
Although it may appear that the Trim action has simply cut a hole into our Extrude surface, the Trim tool
has actually hidden the original, untrimmed surface and replaced it with a new surface that is Trimmed,
but linked to the original through the Construction Tree.
Tutorial 2 - 3D viewers 55
Part 3: Creating Parametric Curves
Many of the curve tools in solidThinking create what are known as “parametric curves.” These are still
NURBS curves that have CVs, but they are also controlled by specific parameters and “hotspots” that make
them easier to create and manipulate. Parametric curves also make it easier to create precise and common
curves, like circles.
We can use one of these types of parametric curves to create the more complex and precise outline for the
bottom of our 3D lenses.
Select the Rounded Polyline tool from the Curves tab of the Modeling Toolbar. (It may be “hidden” under
the Polyline tool, so click and hold on that icon to expand the “fly-out” menu to see all of the polyline tools.)
The “creation phase” of this curve is very similar to the simple NURBS curve tool. We will set the Origin and
interactively place points to define the shape of the curve, however this type of curve has parametric controls
that make it very easy to produce specific shapes.
The Console will first prompt you to set the “Local Axes Origin.”
56 solidThinking Techniques
When the Console prompts you to place “Point #1 (Spacebar to end),” click-and-drag in the Front view to
place 6 points in the locations shown below:
2
When you have placed all of the points, press the Spacebar to end the point placement and the “creation
phase” for this curve.
While in most tools the “creation phase” shows you an interactive preview of what the finished object will
look like, curves that are created by placing points to define the shape will only preview as much of the
curve as you have placed points for. The Rounded Polyline is a special type of polyline where the creation
phase is only the setup to a more powerful and flexible object.
Tutorial 2 - 3D viewers 57
We can see that we have created a Polyline (or a curve with straight line segments between its points).
However, we are going to manipulate some of its parameters to create the “Rounded Polyline.”
In the Rounded Polyline tool panel, change the “Radius” value to be 0.8 as shown below.
58 solidThinking Techniques
We can see that this has “rounded” the sharp corners of our polyline by this specific radius, while retaining
the straight line segments between each corner radius. This is a powerful curve tool indeed!
2
Press the Spacebar to enter the Edit Mode for this tool. This will allow us to see all of the Radius Points of
this parametric curve. We can select them individually and set unique radius values for each one.
Select the Radius Point shown below and change its “Radius” value in the tool panel to be 1.5.
Tutorial 2 - 3D viewers 59
Press the Spacebar again to return to the Object Mode, and to clearly see the change we have made.
This parametric curve, with its precise radii and straight lines, will be perfect to “carve out” the profile for
our 3D viewing lenses from the “L” shaped surface we have already made.
Select the Trim surface tool from the Surface tab of the Modeling Toolbar.
At the Console prompt to “Pick a Curve,” select the Rounded Polyline that we just created and modified.
When the Trim tool Console prompts you to “Pick a Surface,” select the Extrude surface that we just
trimmed a square hole into previously. This interactive selection will end the action and create the trimmed
surface.
60 solidThinking Techniques
Unfortunately, the default setting is to remove the region that is “interior” to curve, which in our case is the
region we want to keep. This is not a problem, since we can easily fix this using the Trim tool’s parametric
controls after the Trim has been made. (Trims do not break construction history in solidThinking.)
2
In the Trim surface tool panel, check the Loop Exterior option for “Trim Exterior.” This will invert the
selection for the trim region to be removed and provided a trimmed region that is interior to our curve.
This reverses our trim region selection, and provides us with the shape we would like.
Tutorial 2 - 3D viewers 61
Part 4: Trimming Out the Details
So far we have learned to create and manipulate both curves and surfaces, and our 3D viewing lenses are
taking shape. (We can at least recognize that we have half of the viewers roughed out.) What follows are
steps that repeat our earlier actions with the purpose of creating a 3D object that matches our expectations.
Select the NURBS Curve tool from the Curves tab of the Modeling toolbar again, and when the Console
prompts for “Local Axes Origin,” press Return to accept the default value of (0,0,0).
We will be working in the Right view window for this next portion, so make it the active view.
Next, as the Console prompts you to place “Point #1,” click-and-drag in the Right view to place 5 points in
the locations shown below. (Remember to press Spacebar when you are finished placing the CVs.)
62 solidThinking Techniques
This curve is drawn along the Y axis with the intention of trimming out a portion of the remaining surface
from this viewpoint.
2
Select the Trim surface tool again, and when the Console prompts you to “Pick a Curve,” select the NURBS
Curve we just created.
At the Console prompt to “Pick a Surface,” select the Trim surface that we made from our original Extrude.
This quick Trim creates a more ergonomic shape that will allow our 3D viewer lenses to be worn like glasses.
You can also tell that there is no problem with “stacking” Trims, one after the other, in the solidThinking
Construction Tree, and all of them remain editable.
Tutorial 2 - 3D viewers 63
The actual colored lens of our anaglyph 3D glasses is the one detail that is missing from the half of our 3D
viewers we have constructed so far. As we mentioned earlier, the Trim operation conserves both the Trim
curve and the original, untrimmed surface in the World Browser, so we can easily create the lens by repeating
the first, lens opening Trim with slightly different settings.
Select the Trim surface tool again, and when the Console prompts you to “Pick a Curve,” select the square
Polyline.
When the Console prompts you to “Pick a Surface,” go to the World Browser and select the “hidden”
surface that is our original Extrude surface. Items in the World Browser are listed by default in the order
they were created, so the second item down (and hidden) that is labeled “Surf#_” is the surface we want.
64 solidThinking Techniques
After selecting the hidden Extrude surface, we have another surface visible in our scene. Once again, the
default setting of keeping the exterior region is the inverse of what we need to make the lens.
2
In the Trim surface tool panel, check the Loop Exterior option for “Trim Exterior.” This will provide us with
the region inside our lens Trim curve region.
This results in having both the interior and exterior of our trimmed region.
Tutorial 2 - 3D viewers 65
While the lens area Trim surface is still selected, browse down in the Construction Tree and select the
“source” NURBS curve for the Trim. (You will also see the History of the Extrude as well.)
Press the Spacebar to enter the Edit Mode, and to see the points (or CVs) for this NURBS curve.
Click-and-drag on the upper left CV of this closed, linear NURBS curve to Translate it 1 unit to the left (or
in the negative X direction).
Press the Spacebar to return to Object Mode once you have moved this point.
66 solidThinking Techniques
Part 5: Mirroring and Coloring
One half of our 3D viewer glasses is almost finished, but without seeing the other half, it is difficult to
decide what other modifications need to be made. We can easily create symmetric copies of our geometry to
visualize the other half, and even finish off the model.
2
Select the Mirror tool from the Transforms tab of the Modeling Toolbar.
At the Console prompt to “Pick Objects to Mirror (Spacebar to end),” select the outer “frame” surface of the
3D glasses and press the Spacebar to end the selection process.
Next the Console prompts us for the “Start of Mirror Plane.” A mirror plane is used to define which axis the
Mirror will occur across. Press Enter to accept the default location of (0,0,0).
All Mirror actions create a “copy” of the selected object that is flipped across a mirror plane. This
virtual mirror plane works just like the surface of a real mirror, because it shows the object with its
dimensions inverted across this one axis, but the dimensions in all other respects are the same as before.
In solidThinking this copy, or Mirror Object, is linked to the original through the History Tree and any
changes you make to the original are reflected, literally, in the copy.
Tutorial 2 - 3D viewers 67
Next the Console prompts us for the “End of Mirror Plane.” To define the mirror axis as going from the right
to the left side (across the X axis) click-and-drag in the Front view to place the end point above the model
and along the white “Origin Line” that bisects the X axis. (The Grid Snap will make this very easy.)
This will finish the “creation phase” of the Mirror action and place a copy of our chosen geometry along the
X axis.
Although we only mirrored the “frame” of our 3D glasses, we could have chosen both the frame and
lens surfaces to Mirror, since there is no restriction on the number of objects that can be mirrored at
once. However, this would combine our lens and frame into one Mirror object on the other side of our
mirror plane. In this case, we want our lenses to be separate from the frame so that they can be assigned
different materials after this.
68 solidThinking Techniques
Press Ctrl-Spacebar which is the keyboard shortcut to repeat the last tool used (for both Win and Mac).
This will repeat the Mirror action a second time.
When the Console prompts you to “Pick Objects to Mirror,” select the inner “lens” surface that is not yet
2
mirrored and press the Spacebar.
At the Console prompt for the “Start of Mirror Plane” press Enter again to accept the default location of (0,0,0).
When the Console prompts for the “End of Mirror Plane,” type in the Console line the exact values of “0,1,0”
(including the commas) and press Enter. These values correspond to the same X, Y, and Z coordinates of the
mirror plane in our previous, interactive Mirror, and will produce the same results in a second object.
Tutorial 2 - 3D viewers 69
Our 3D (in more ways than one) anaglyph viewing glasses are completely modeled, but the default light
blue shading in the current on-screen, interactive display method does not give us a clear sense of what these
simple glasses are supposed to look like.
Expand the Perspective view to fill your workspace. There are two ways to do this: Press and hold the Ctrl
key (Win) or key (Mac) to make the Perspective view active, and then press the “V” key to expand it.
Alternately, you can simply double-click on the title bar of the viewport to expand it as well.
Next, change the Perspective view’s interactive Display Mode to be “Textured Display” by pressing the small
“T” button at the upper right of the Perspective view title bar.
We can see that all of the surfaces in our scene still have the default white shader applied to them. While
this is a good choice for the paperboard that makes up the frame of our 3D viewers, we might like to see the
typical Red/Blue colors for the anaglyph lenses.
70 solidThinking Techniques
While still in Textured display mode, select the lens on the left side of the viewers, as seen from the front.
(It may be hard to tell it is selected because the active object color of red is overridden by the white of the
texture, except at the edges.)
2
To select and apply a material Shader of a different color (other than the default white) to this surface,
change to the Materials Toolbar on the left, by either pressing the “paint palette” button in the Application
Toolbar, or by using the keyboard shortcut Alt-4 (Win) or Option-4 (Mac).
The Materials Toolbar in solidThinking temporarily replaces the Modeling Toolbar within the main
program interface, and can be navigated in the same way by scrolling through the icons and double-
clicking to collapse folders. The main difference is that you can save your own materials (and folders) in
this toolbar for access at any time. (This is also covered in Tutorial #4 - Basic Rendering.)
Click on the icon for the simple Blue colored material in the Colors tab or the Materials Toolbar. This will
immediately apply this shader material to the selected lens surface.
Tutorial 2 - 3D viewers 71
We can now repeat this simple process to assign a red color to the right lens as well.
Select the right lens surface and press the icon for simple Red material in the Colors tab of the Materials
Toolbar.
Now we have a very simple, but useful preview of what the various parts of our 3D viewer glasses will look
like now that each part is properly colored.
Transparency, shadows and other “photorealistic” effects are not possible with the OpenGL or DirectX
interactive renderers used in the 3D workspace, so this basic “coloring” is meant only to distinguish the
objects in the modeling phase. A much more accurate and realistic representation can be attained using
more complex materials and the non-interactive, raster-based renderer in solidThinking. Again, this is
covered in Tutorial #4 - Rendering Basics.
72 solidThinking Techniques
Part 6: Adjustments and Wrap-up
We have completed the modeling of the 3D viewer frame and lenses, and we have a very good, textured
display of the relevant colors and shading of the object. At this point it is a good idea to save the model as it
is (using the common keyboard shortcuts of Ctrl-S (Win) or -S (Mac)). After saving the file we can now
2
freely make some modifications to the shape using the construction history in solidThinking.
Select the first simple NURBS curve we drew for this tutorial (the “L” shape) by either clicking on it in the
Perspective view or by selecting it in the World Browser.
Press the Spacebar to enter the Edit Mode so that we can see and modify the CVs of the NURBS curve.
Click-and-drag a “selection box” around the first two points at the bottom of the “L” shape as shown below:
Tutorial 2 - 3D viewers 73
Translate the selected 2 CVs by 3 units in the negative Y direction by either clicking on one of them and
dragging 3 units “down” in the Top view or by entering a value of -3 in the Y column of the “To” area of the
Translate tool panel.
We can immediately see that all of the surfaces (both visible and hidden) have interactively changed to meet
this modification of the original “source” curve. This is logical because all of the surfaces have their “root” at
the profile curve, but perhaps this is still a bit surprising that so much power is in the Construction Tree.
As always, when you have modified the object to your satisfaction in the Edit Mode, press the Spacebar again
to return to the Object Mode.
74 solidThinking Techniques
As we end this lesson it is important to note that the interactive changes we made to our objects are a natural
part of the modeling process in solidThinking. At no point during the tutorial did we explicitly have to
set anything or remember to “keep” any actions in the Construction Tree. The Tree automatically retains
the relationship between the original curve and all of the various surfaces we created! The entire modeling
environment in solidThinking is built around this automatic, flexible and accessible construction history, so
it will always be there for us as an additional “tool” to manipulate if we choose to.
2
You can also notice that the original “source curve” we drew at the very beginning of this tutorial was
explicitly used only once; to create our first Extrude surface. Thereafter, we modified that surface by
trimming it, and then by repeatedly trimming and mirroring the results of each action. Since each successive
action “hid” the input objects instead of destroying them, and because each new object is linked to its hidden
source objects in the Construction Tree, any modification of an existing object or action results in every
linked step after it changing as well.
Finally, it is a good idea at this point to examine the Construction Tree for each of the objects visible in our
scene. You can select each surface in the scene and scroll down in the Construction Tree to see which tool
was used and what source objects were involved in each step. If at any point you are confused as to what a
hidden object may have looked like at that step, simply select the object from the Construction Tree and it
will be displayed in the 3D workspace in red (selected) but semi-transparent as well to indicate that it is still
hidden.
So although this simple tutorial began with the basics of NURBS curves and surfaces, and how we can “trim”
them to suit our needs, it also shows the underlying structure of construction history in solidThinking as
well. This concept will be repeated and expanded upon in later lessons, so if the way construction history
works is not entirely clear to you right now, don’t worry.
Tutorial 2 - 3D viewers 75
76 solidThinking Techniques
Tutorial 3 - Beverage Bottle 3
In this lesson you will be building a beverage bottle using curves to define its shape and surfaces
to enclose it. Manipulating curves and surfaces at the Control Vertex level will be the most important and
challenging part of this lesson. In previous lessons you manipulated the CVs (or points) of simple, non-
parametric curves, but in this lesson you will be altering the CVs of parametric curves and surfaces. These
objects will still be controlled by their parameters, but you can achieve finer control by editing them on the
point level.
This tutorial will also introduce the concept of surface continuity, and the use of transitional surfaces
to maintain that continuity. The Construction Tree will also be a very large part of this lesson as you modify
curves and surfaces that will affect other, “linked” curves and surfaces.
The first step in creating our bottle is to define its shape with an overall element. Since bottles are circular in
plan, we can start with a simple, but powerful, parametric curve called the Circle primitive.
Because primitive objects are created relative to the active viewport (“view-relative creation”), make the Top
view active by clicking inside it or by pressing and holding the Ctrl-key (Win) or the -key (Mac) while the
cursor is above the view window. The title of the view will become darker when it is active.
When the title bar of the Top view is active, select the Circle tool from the Curves tab of the Modeling
Toolbar. This will place a temporary circle in our scene for visible feedback of the “creation phase” of our
parametric Circle. (During this phase of creation, we can also see the interactive “hotspots” that control the
parameters of our object.)
The Console will prompt you to define the “Local Axis Origin” and provide a default value of (0,0,0). Press
Return to accept this default value, which will center our circle on the World Origin.
78 solidThinking Techniques
The Console will now prompt you to enter the “Radius.” Enter a value of 6 in the Console and press Return
to complete the entry. We will now have a Circle with a radius of 6 units at the World Origin, oriented
relative to the Top view as shown below:
3
Positioning objects in this lesson will need to be more precise, so we will use the Grid Snaps to insure that
our placement of objects is at regular intervals.
Make Grid Snap #2 the active snap by either clicking on the icon from the Snaps Toolbar, or by selecting it
from the Edit -> Active Snaps submenu.
While the Circle is still selected, Copy it with the Crtl-C (Win) or -C (Mac) keyboard command. This will
place a copy of this parametric curve into our application clipboard.
Now Paste a copy of our initial Circle back into our scene with Crtl-V (Win) or -V (Mac). Our pasted
Circle will be in the same location as the original, so it may appear in the 3D views that no change has taken
place.
In the Front view, Translate the copied Circle by clicking-and-dragging it “upward” 7 units in the positive
Z direction. The active Grid Snap will make it easy to move by unit increments.
80 solidThinking Techniques
This gives us a second Circle that is identical to the first but is located 7 units above the original. We need
one more curve, so we can Paste a second time (because the original Circle copy is still in the application
clipboard).
3
Paste a second time to place a third Circle in our scene. It will, of course, be in the exact location as our
original Circle (the one that was copied at the World Origin) so we must Translate it as well.
Invoke the Translate tool by either clicking the Translate tool icon, or (faster) pressing the “T” shortcut.
Because the Translate tool has no “creation phase,” the Tool Panel is immediately active. The Translate tool
panel has numeric input fields for coordinates to move your object “To.” The input fields are in the order
of X, Y, and then Z, from left to right, which correspond to units along each axis.
Click in the “To” section’s Z input area and enter a value of 13 units. Press Return to accept the value and
then press ESC to end the Translate action.
While the third Circle is still selected, press the Spacebar to enter the object Edit Mode. This will show
us the “hotspots” of the Circle primitive once again. (Tool tips will tell us what each hotspot is, as shown
below.)
As mentioned in the previous tutorial, the Edit Mode allows us to see interactive controls that are not
normally visible when simply selecting an object. The parameters and options displayed in the Tool Panel
do not change from Object Mode to Edit Mode, but some options have an interactive component, or
“hotspot” that is only displayed in Edit Mode.
82 solidThinking Techniques
In the Top view, click-and-drag the “Radius Point” hotspot “inward” toward the center of the Circle until the
Radius value displayed in the Circle tool panel is 4. (The active Grid Snap will make this easier.)
3
As you drag the Radius hotspot, you may notice that it does not always “snap” to whole unit increments
(as displayed in the Radius value in the Tool Panel). This is because the Grid Snap in solidThinking
affects the Mouse Cursor location, not necessarily the hotspot or object being dragged. This is where the
white “cross locator” shows you the difference between where your mouse is pointing, and the small white
box that shows the point in space that you are actually snapping to.
When the Radius is set, press Spacebar again to exit Edit Mode and return to the Object Mode.
This will clear the previous Circle from the clipboard and place a copy of this smaller one into our scene well
“above” the earlier Circles.
While the pasted Circle is selected, invoke the Translate tool (“T”). Once the Translate is active, hold
down the “Z” key to constrain the translationg to the Z axis, and click-and-drag in the Perspective view to
Translate it 2 units upward.
If you cannot move the circle at all while holding the “Z” key, check in the lower left corner of the
Perspective view to see if the Z axis is Red (active). If not, readjust your view so that you are seeing more of
the side of the model, rather than the top.
84 solidThinking Techniques
Once this fourth Circle is positioned, change its Radius to be 2 by entering this value in the Circle tool
panel. (We do not have to enter Edit Mode to make this modification to the Radius parameter in the Tool
Panel.)
3
If we look at our curves in the Perspective view, we can see that we have four NURBS Circle primitives
positioned above each other, and that some have different radii. These will form the “ribs” of a surface that
we will create next.
As we have done in the previous lesson, we can use these parametric NURBS curves to create NURBS
surfaces. In this case, we will be using more than one curve to define the shape of our surface.
Select the Skin tool from the Surfaces tab of the Modeling Toolbar. (A Skin surface is so named because it is
created by “stretching” a surface, like skin, over the “ribs” that we specify.)
When the Console prompts us to “Pick Curves to Skin,” select the four Circles in our scene starting either
from the bottom to the top or from the top down. (The direction of our selection does not matter in this
instance, but the curves should be selected, in sequence, by their height.)
86 solidThinking Techniques
The selected curves will turn Dark Blue as we select them, and a surface (in Magenta) will be created by
interpolating from one profile to the next as we click.
3
Press Spacebar when you have picked all four curves in order. This will end the selection process and create
the Skin surface.
The “creation phase” of this type of surface object is similar to the creation of NURBS primitives and
other objects because it shows you the surface that you are creating while you are defining the required
parameters. In this case, those parameters are the curves in our scene that we are using as “ribs.” Notice
again that the colors of objects in the scene are also affected so that we can clearly see what is involved.
The yellow line in the Skin tool shows both the order of the ribs and the “seam” of the surface.
This Skin surface is connected to the four parametric Circles in our scene through the Construction
Tree. This means that there is a active relationship between the position, orientation, and shape of each
Circle, and the resulting shape of the Skin surface. We can see that the parameters for the Skin surface
are extensive, and we know from the previous tutorial that modifying any of the “source curves” will also
change the surface. However, in this case, our source curves are parametric Circle primitives which seem
to only have certain parameters to edit. Part of the true power in solidThinking is that all parametric
curves and surfaces also are NURBS objects with editable points (or Control Vertices) that we can access
and manipulate.
88 solidThinking Techniques
Part 3: Editing Points on Parametric Objects
We are now going to touch on one of the most powerful features of solidThinking - the ability to edit the
NURBS points of a parametric object without losing any of its parameters. Not only this, but we will be
editing this object “inside” our Construction Tree, so the changes we make will be reflected instantly in the
3
objects that are linked to it.
Whenever an object is selected (either Red or Magenta) we can see the “source” curves in our scene
highlighted in Green. This makes it easier to see and select the source objects if they are visible in our
scene. It is also easier to select curves in Wireframe display mode because curves have “pick priority” over
surfaces in this display mode, while in Shaded display, surfaces have priority.
While our Skin object is still selected, we can clearly see our original “source” Circles in the Wireframe dis-
play of either the Front or Right views, as shown below . (The Top view has too many “wires” in the way.)
Press the Spacebar to enter the Edit Mode for this object. This will show the parameter “hotspots” in Dark
Blue in our interactive views. This normal state is called Parameter Edit and is denoted by the typical icons
seen to the left.
Next, press Alt-Spacebar (Win) or Option-Spacebar (Mac), which will change our Parameter Edit over to
Point Edit. This is a “special state” of the Edit Mode and is denoted by the icon combination seen to the left.
(The difference in icons is slight, but the difference on screen is quite large!)
90 solidThinking Techniques
We can see two very distinct differences in our modeling views and workspace. The first, and most obvious, is
the appearance of the NURBS Control Vertices (the Dark Blue “points”) of our parametric Circle primitive.
(One of the points is circled in below.)
3
The second difference is that the Circle tool panel has changed to be the Point Edit tool panel.
The Point Edit and Parameter Edit are sub-states of the Edit Mode. The “normal” working mode in
solidThinking is the Object Mode, which allows us to easily transform whole objects as well as access
most parameters. The Edit Mode is “normally” in Parameter Edit, which adds hotspots to our parameters.
Point Edit is therefore a “special state” of a “special mode.” This denotes both the power of this state, and
the limits it places on other actions.
Press the keyboard shortcut to exit the Point Edit state (Alt-Spacebar (Win), Option-Spacebar (Mac)).
This will return us to Parameter Edit so we can see the Circle tool panel again, but we are still in Edit
Mode.
If we wanted to select another object and view its hotspots and parameters at this point, we could not
simply select it like we normally do in the Object Mode. This is because in the Edit Mode, either hotspots
or points are displayed on screen to be selected. Selecting these “parts” of an object without accidentally
selecting another entire object in the scene would be difficult, so the interactive selection of other objects
is disabled while in Edit Mode.
92 solidThinking Techniques
We can see the “Points” parameter in the Tool Panel, which defines the number of CVs that make our Circle.
Edit this “Points” parameter and enter a value of 32 (and press Return to accept that value) so that we will
have many more CVs around our Circle.
It is good to keep in mind that changing some parameters in your Tool Panel may not have an immediately
visible effect on the object. In this case, we can only see the effect of increasing the “Points” parameter if we
are in Edit Mode and switch to Point Edit.
Because these “new” CVs are selectable and editable, just like the “hotspots” in Parameter Edit, we can now
manipulate our parametric Circle on the point level. This can be done without losing any of the parametric
qualities of the original NURBS circle primitive!
94 solidThinking Techniques
Selecting these points is similar to selecting other objects, or the CVs of a non-parametric object. You can
drag a selection box around multiple points, and then hold down the Ctrl key to add to this selection.
3
Select the four highlighted points shown below by clicking-and-dragging a “selection box” around them.
(They will turn Yellow after you have released the mouse button, unlike the illustration below which shows
them already yellow only for clarity.)
You can see in the example above that it is easy to select points that lie next to each other, or even across
from each other, by using a selection box instead of clicking on each separate point while holding the Ctrl
key down. We will use this method of selecting points to select half of the points in this Circle in a specific
pattern, but only using four click-and-drag actions.
We can also edit these selected points as a group using the standard transformation tools of Translate,
Rotate, and Scale.
Invoke the Scale tool by either pressing the “S” shortcut, or selecting its icon from the Transform tab of the
Modeling Toolbar.
96 solidThinking Techniques
When the Scale tool panel appears, select the “Scale” input area and enter a value of 0.9, and then press
Return.
3
Press ESC to end the Scale action and to clearly see the effect that this simple change has on the location of
the points of our parametric Circle.
We can see clearly in the Shaded display of the Perspective view that changing the points of one of the
“source curves” of the Skin surface automatically changes the shape of the resulting surface as well.
Editing these CVs does not change the parametric settings of the selected object, only the position of its
internal points. When you switch back to Parameter Edit, or even Object Mode, you can still access all of
the parameters for the object, and these parametric controls will still have their intended effect on your
object.
98 solidThinking Techniques
Although it is not necessary, you can also experiment with altering the parameters of the Circle after editing
the points. In the Top view, Click-and-drag on the Radius hotspot of this selected Circle , and watch the
effect it has on the Skin surface in the Shaded Perspective view.
3
Return the Radius of the Circle to a value of 6, by either dragging the hotspot back to its original position,
or by entering a value of 6 directly in the Radius input box of the Circle tool panel.
After you are done experimenting with the Radius parameter of our edited curve, press the Spacebar to exit
the Edit Mode. This will return us to the Object Mode, where we can freely work with all of the objects in
our scene.
The surface we have already created will be the top half of our bottle. We will need to add a “mouth” to the
bottle, so that we can represent the opening accurately. It will also provide a place for a “cap” to rest on our
finished bottle as well.
In the Top view, select the innermost curve of the Skin object, as shown below. (Because the Wireframe
display method gives pick “priority” to curves, it will be easy to do this in this view without selecting the
Skin itself.)
While this smaller Circle is still selected, Copy and Paste it back into our scene.
In the Circle tool panel for this copied curve, enter a value of 1.5 in the Radius input box, and press Return
to accept this value.
The Console will prompt you to “Pick Profile Curve.” Select the most recent copy we made of our Circle
primitive.
At the next Console prompt “Extrusion Length,” enter a value of 2, and press Return to accept this value
and to complete the creation phase of this tool.
This surface will be the base of the “mouth” of our bottle. Next we will connect this simple surface to the
Skin surface to visually “blend” between the nearest edges of the two, separated surfaces.
The Console will first prompt you to “Pick Surface #1.” Select the Extrude surface we just created.
The Blend Surface tool will then highlight the “edges” of the selected surface in Dark Blue and show “points”
at the Start point of each edge (as shown below).
The Blend Surface tool is requesting that you specify which edge of the first surface will be used in the
Blend, and which side of the edge’s Start point that the Blend surface will begin from. (This means that one
click will both define the edge and the starting point.)
To pick the Edge near the Start point that we want, select the bottom edge by clicking on it to the right of
the dark blue Start point.
Press the Spacebar to end the edge selection for this first surface.
A Blend Surface is created by “sweeping” a profile between the surface edges that it is blending between,
and creating a surface with this sweeping action. Because of this, the tool needs to know where to begin
the sweep and which direction to go. The shape of the profile is decided by the parameters of the Blend
Surface tool.
The edges of this surface will now be highlighted in the same way as the first surface we selected for this tool.
3
When the Console prompts you to “Pick Edges near Start on Surface #2...” select the top edge of the Skin
surface, again to the right of the dark blue Start Point. Press Spacebar to end the edge selection.
Selecting the second edge will end the “creation phase” and will create a Blend Surface between the specified
edges of the two surfaces.
In the Blend Surface tool panel, select the Tangents option to “Invert surface #2.” This will correct the
“bulge” we see at the bottom of our blend.
The edge of a surface has two possible tangent directions: toward the surface, and away from it. In this
case, the Blend Surface tool simply chose the “wrong” direction for our current purposes.
We will explore surface continuity more in later lessons, but here is a quick explanation. When two
surfaces meet at a common edge, it is sometimes desirable to have them appear to be one “continuous”
surface across that edge by aligning one or both of the surfaces at their point of contact. This “continuity”
comes in a variety of forms: The most basic form is Tangential (or G1) continuity, where the edge areas
of each surface lie on the same plane at the point of contact. A more advanced form is Curvature (G2)
continuity, where the areas near the edge of each surface “flow” from each other by matching the overall
curve of one or both surfaces across the point of contact. This is the case in the illustration above, because
the “ridges” in our skin affect the Blend Surface.
Now we have a smooth Blend Surface between the edge of the Skin and the Extrude that is the “mouth” of
our bottle.
The body of our beverage bottle needs to be cylindrical to easily accept a label, and it also needs to have some
features on the bottom to provide an easy way to stack these bottles. We will create the cylindrical center
section and then the modified base and blend them to each other and to the top half of our bottle.
3
With the Top view active, select the Cylinder primitive from the Primitives tab of the Modeling Toolbar.
When the Console prompts for the “Local Axis Origin,” press Return to accept the default value of (0,0,0).
This will begin the creation phase of our Cylinder and place it at the center of our existing geometry.
At the Console prompt for “Height,” enter a value of -10. This will enter the creation phase, and then you
should have a cylinder of the size and location shown in the image below:
You may notice in the screen image above that the 3D grid is not visible. This is because it was turned
off to provide an uninterrupted view of our bottle as it crosses the World Origin. You can turn this grid
display off by going to the application Preferences, and in the Views tab, toggle the option for “Grid in 3D
views.”
Once this Cylinder has been dragged a short distance away from the top of the bottle, we can see that it is still
closed at the top and bottom.
We will be using this cylinder as a “tube” rather than a solid, so in the Cylinder Tool Panel, uncheck the
Caps options for both “Top” and “Bottom.”
Select the Blend Surface tool from the Surfaces tab of the Modeling Toolbar.
At the first Console prompt to “Pick Surface #1,” select the open Cylinder primitive we just created. The
tool will then color all of the available edges in Dark Blue.
When the Console prompts you to “Pick Edges near Start on Surface #1,” click on the top edge of the
Cylinder, just to the right of the Start point, as shown below.
Press the Spacebar after you have selected the top edge, to continue the creation phase of the Blend Surface
tool.
Press the Spacebar to end the edge selection for Surface #2, and to end the creation phase for our Blend
Surface. This will provide us with a very good Blend between these two surfaces without needing to adjust
any parameters at all.
Now that our cylindrical body is attached to the top of our Bottle, it is time to make the bottom of the bottle
and blend that to the body as well. We will start by drawing a free form profile for our base.
In the Front view, Pan down (RMB (Win) -MB (Mac)) until the bottom, right corner of the Cylinder is
centered in this orthographic view.
Select the NURBS Curve tool from the Curves tab of the Modeling Toolbar, and press Return to accept the
default “Local Axis Origin” of (0,0,0).
When the Console prompts you to “Pick Profile Curve,” select the NURBS Curve that we just created below
the Cylinder body of our bottle.
The creation phase of our Lathe will begin with the placement of an interactive guide object to give us
feedback while working. In this case, this initial object is exactly what we want, so we can skip all of the rest
of the Console prompts by pressing Ctrl-Enter (Win) or -Return (Mac). This will end the creation phase
immediately.
Select the Blend Surface tool from the Surfaces tab of the Modeling Toolbar.
When the Console prompts you to “Pick Surface #1,” select the Cylinder that we just created below the
Cylinder body of our bottle.
When the Console prompts you to “Pick Edges near Start on Surface #1,” click on the top edge of the
Lathe, just to the right of the Start point, as shown below.
3
The Console will now prompt you to “Pick Surface #2.” Select the open-ended Cylinder primitive that is the
body of our beverage bottle design.
Next, when the Console asks you to “Pick Edges near Start on Surface #2,” click on the bottom edge of the
Cylinder, and to stay consistent, click to the right of the Start point, as shown below.
Press the Spacebar when you have selected the Edge. This will end the creation phase and provide us with
our Blend Surface.
We can easily change the Tangent direction, by going to the Blend Surface tool panel and checking the
Tangent option to “Invert Surface #2.”
This will provide us with the smoothly blended surface that we are after.
We can get an overall view of our Bottle at this stage by pressing the Zoom All button at the top of the
Perspective view window. We will see something like the image below:
3
It is fairly obvious from this view that the “body” of our Bottle, made from the open-ended Cylinder, is too
narrow in relation to the rest of the form.
This thickens the center portion of our bottle, and the Blends above and below the Cylinder automatically
adjust to meet the surface as it changes.
Press the Spacebar to enter the Edit Mode, so we can see the interactive controls of the Skin. We will see
Dark Blue lines in the approximate locations of the “ribs,” or source curves, that we used when building this
Skin.
Select the second line from the bottom. It will turn Yellow to show it is selected and a Tool Tip will come
up and tell us which curve the hotspot represents.
Changing the Seam Position at one “rib” hotspot changes the point at which the Skin surface “flows”
across the source curve that is associated with that hotspot. However, we are not moving or affecting
the source curve in any way. Only the seam of the surface is moving. We could derive a similar shape by
actually rotating our source curve along the same axis as the Skin progresses, but this is not always easy to
do, and in some cases may disturb other geometry built from that curve. By changing only this parameter,
we have direct control over the surface and can “reset” our rib rotation at any time, after any number of
interactive changes.
You can continue to evaluate the various shapes that adjusting these positions can create. When you are satisfied with a
final Seam Position value, press the Spacebar to exit Edit Mode and return to Object Mode.
Our Beverage Bottle is just about complete, but it needs some additional features on the bottom of it, to aid
in stacking it for distribution and to add stability to the shape when it is resting on a shelf. In this portion
of the tutorial we will again be editing the points of a parametric object, but in this case it is a surface, not a
3
curve.
First we will set up our workspace so that we can concentrate on this one part of our model.
Select the Lathe surface that is the base of our bottle, and press the large Zoom Selected button in the
Application Toolbar. (This button differs from the individual Zoom buttons in each view, because it will
Zoom all of the orthographic windows at once.)
In order to keep all of these Orthographic views aligned to one another, we can make the Ortho Adjust
mode active by clicking the icon for this mode that is in the Application Toolbar, right next to the global
Zoom Selected from above.
And finally, while the Lathe surface is still selected, press the Zoom Selected button that is at the top of
Perspective view, so that the camera is focused on this surface as well.
The global Zoom Selected button does not zoom in our Perspective view as well, because that view is not
orthographic, and zooming in it can sometimes have very different results from the orthographic views.
Press the Spacebar to enter Edit Mode, and then press Alt-Spacebar (Win) or Option-Spacebar (Mac) to
use the Point Edit modifier of Edit Mode.
Again, this allows us to see and edit the individual points that make up the NURBS surface, even though it
remains a parametric object with all of its controls intact.
We can see on screen that the CVs of our parametric object match the position of the CVs of the source
curve, and are repeated around the Lathe at 8 regular intervals. This corresponds to the number of points
specified in the parametric controls of our Lathe. Therefore, the number and position of the CVs in our
Lathe are simply the multiplication of the source curve CVs around the Lathe axis.
In the Lathe tool panel, change the number of Points to be 16. This will give us greater local control over
our surface when we edit its points.
After making this adjustment, return to Point Edit by pressing Alt-Spacebar (Win) or Option-Spacebar
(Mac) again. (After this lesson, this keyboard shortcut will not be explicitly written every time.)
Just like our earlier work with the parametric Circle, we can see that the parameters of the Lathe have a
direct effect on the underlying points of the surface.
In the Top view, drag a selection box around each set of points shown selected below. (Remember to hold
down the Ctrl key while clicking-and-dragging to select additional points.)
From this view, it will appear that 16 points have been selected, but we have actually selected the points
“below” the ones visible as well, which is what we want.
(You can interactively Translate these points by invoking the Translate tool with the “T” shortcut, and then
clicking-and-dragging outside of the model to avoid selecting other points.)
3
We can see the dramatic effect this change has on our Lathe and the associated Blends. This is perhaps too
dramatic.
While this new set of points is selected, press the Un-Edit Selected button in the Tool Panel for the Point
Edit environment. (Be sure not to press the “All” button, as that would reset all of our points, and we only
want some reset.)
There are two important things to note about this Un-Edit function. Nothing happened to the points that
were already in their original, parametric positions, because they were never “edited.” In addition, the points
we did edit “remembered” their original positions, despite the fact that the Translate tool is not a part of our
Construction Tree.
These behaviors are due to the persistent nature of parametric objects in solidThinking. If our Lathe surface
was not a parametric object, then its individual points would not have a parametric state to “remember.”
The Un-Edit function in the Point Edit environment will work at any time, after any number of
modifications. Even after you have gone on to other actions, or closed and re-opened the file. The reason
that the points of a parametric object “remember” their original positions is because the parameters that
defined their original positions are still intact, even after many point-edits. This is a very powerful tool,
but it has one disadvantage, however: the points only “remember” their original parametric position, even
if you have made multiple changes to their positions. This is why it is called “Un-Edit” instead of Undo.
Deselect the Lathe and press the Zoom All button in the Perspective view to get a clear look at our
beverage bottle.
The only object that is missing from our bottle is a cap. We can use a simple primitive because this bottle is
only a rough design of a bottle, not detailed enough to be produced.
3
With the Top view active, select the Cylinder primitive tool and press Return to accept the default “Local
Axis Origin” of 0,0,0. This will align our new object with the center of our existing bottle.
The Console will then prompt for the “Top” and “Bottom Radii.” Enter a value of 2 for both radii, and when
the Console asks for the Height of the Cylinder, enter a value of 3 units. This will provide us with a suitable
sized Cylinder for our cap.
The cap surface is complete, but we can see from the Right view that the Cylinder has been created inside
our bottle (at the World Origin).
The Alignment tools in solidThinking act upon the currently selected object at the time you invoke the
tool. This is because the alignment action is a combination of Translation and Rotation (if needed) and
functions in a similar way.
At the Console prompt to “Choose Reference Object,” select the top of the bottle (the Extrusion) and the
“creation phase” will be ended and the Axes Align to Object tool panel will become active.
And this will perfectly align our cap Cylinder and the top “mouth” of our bottle, finishing off our model!
Congratulations! You have successfully created a beverage bottle using some of the powerful tools and
techniques in solidThinking. The relationships between curves and surfaces should be a little clearer to
3
you, and you have also gotten a glimpse of the relationship between object parameters and the underlying
NURBS technology in solidThinking.
Now that we are done with the tutorial modeling, it is important to Save your file so that you can return
to it for reference at a later time, and to complete the next tutorial. After saving the file as it currently is, feel
free to experiment further with the parameters and points of the objects in your scene, and see what kind of
different bottle styles and shapes will emerge. If you have regularly saved your work up to this point, then do
not be afraid to make radical changes, or even deleting and rebuilding parts.
In this lesson we have learned how to create and edit parametric curves and surfaces, including the Circle
primitive, and the Skin, Lathe and Blend Surface types. The Blend Surface tool, in particular, will be better
explained and explored in later lessons, but it serves as an introduction to the creation of surfaces from other
surfaces, instead of simply from curves.
During the process of building the bottle, we have also tapped into the true power of solidThinking’s
parametric NURBS geometry. Specifically, we learned how to edit the points (or CVs) of a parametric
curve or surface while retaining all of the parametric controls of that object. This is one of the cornerstone
technologies of solidThinking, and works in conjunction with the Construction Tree to provide an almost
limitless flexibility to the process of NURBS modeling.
In later tutorials we will expand upon these basic principles and concepts to explore designs and forms in the
free range of this flexibility. We will also be adding unique and exciting modeling techniques to our workflow
through the use of these basic solidThinking principles of parametric NURBS and construction history.
In order to have an object in our scene that we can apply Materials to and render, we will need to first open
up a previously created file. You can always apply Materials and render at any point in the process of creating
an object or scene, but for the sake of clarity, this lesson focuses solely on the shading, lighting and rendering
process.
Use the File: Open drop-down menu at the top of the solidThinking application window (or use Ctrl-O
(Win) or -O (Mac)) to load the saved “.st” model of the Beverage Bottle from the previous lesson (#3).
This will provide us with suitable geometry for exploring the process of shading, lighting and rendering an
object or scene in 3D.
Once the file has been loaded into solidThinking, it is a good idea to immediately do a File: Save As...
(or F12) and rename this scene as something other than your previous model. This way you preserve the
original model for reference, and you can freely add objects and Materials to this scene for rendering.
Depending on what you were doing when you last saved your Beverage Bottle file, you may have more
than just the 8 surfaces that make up the “shell” of the design visible in the scene. Because curves cannot be
rendered (they are not three-dimensional) it will be a good idea to Hide all of the curves in the scene and
keep only the final surfaces visible in our scene.
Press Okay when you have unchecked this option. The Perspective view (and any further cameras you add to
the scene, will not display the working grids.
The easiest way to use and explore Shaders (also called “textures” or “materials”) is to browse the large
library of Materials included with solidThinking. To see the Material library in solidThinking, press Alt-4
(Win) or Option-4 (Mac), or select the Materials toolbar icon from the Application toolbar at the top.
This will change your toolbar on the left (by default) to a selection of backgrounds and surface Materials.
You can create and save your own custom Materials, and they will also show up
in this toolbar. You can also create your own categories to save Materials into.
(We will get more into this later on in this tutorial.)
The quickest way to apply textures is to select your object or entity and then to click
on a Preset or Saved Shader button from this toolbar. This will apply the selected
Material to your selected geometry.
Click on the “Cyan” color in the Colors tab of the Materials Toolbar. (You can see the name for a Material icon
the same way you can with tool icons - by hovering your mouse cursor over it and displaying the “tool tip.”)
This clearly shows that we have changed the “shading color” of this surface to be something other than the
default white surface.
In solidThinking, an object can only have a single material applied to it. If you select a surface and
press the icon for a different Material, you will replace whatever Material may have been placed on that
surface previously with the one you have clicked on in the Materials Toolbar. Therefore it is important to
know which surface is selected at all times.
Next, select the Render -> Render Current View menu item from the application drop-down menus at the
top of the workspace, or press Ctrl-R (Win) or -R (Mac).
We can immediately see the difference between the interactive Textured display method and the quality and
color of a full rendering. You can freely close this window by clicking on the standard “close” button of the
floating window.
Just as the command says, Render current view will always render the view that is currently active in your
workspace. This means that if you select an object in the Front view and press the Render shortcut, you
will render the Front view, not the Perspective window. Just click on the Perspective view to make it active.
Another way to apply textures is to open the Shading panel from the drop-down menu Managers: Shading
or press Ctrl-3 (Win) or -3 (Mac).
4
The Shading panel is another “dockable” tool panel that can be used at any time while floating over your
workspace. (The small image below is just to show what the panel will look like, but we will go into more
depth in a moment.)
The active tab is “Surface” which means we are creating and editing the Surface Shader of the selected
object(s) in the scene. The section on the left of this tab is the “Shader tree” which has each component of a
Surface Shader ready to be selected and edited.
Select the “Color” component of the current Shader (which should be Cyan because we assigned this simple
color to this surface). We can immediately see that clicking on the Color component allows us to see and edit
this Material parameter (a “Plain” color).
The drop-down menus above the Render Preview control the object that is displayed in the window
and the relative resolution of the rendering. If the preview renders very slow or seems to “hang” your
computer for a few seconds, then turn the Resolution down to “Coarse,” which will speed things up.
Check the box for “Auto Apply Material” if it is not already checked. This will mean that any changes you
make in the Shading panel will immediately be applied to the selected geometry. This way you do not have
to press the “Apply” button below it every time you want to assign the altered Material to selected geometry.
Materials in solidThinking are stored with the description of each piece of geometry in your scene,
whether you have used a pre-set Material or created and saved your own. There is no need to Save every
Material you create, especially when you are trying out different looks for a surface. The “Auto Apply”
checkbox, or the literal “Apply” button will assign the parameters that you see in the Shading panel to
the selected objects. These shading parameters will “stay” with the surface(s) until you either assign a
new Material by clicking on a pre-set or saved Material in the Materials Toolbar, or when you open the
Shading panel again and change some of the parameters and apply (or auto-apply) them again.
We now have an acceptable color for the top surface of our Bottle, but the Render Preview still shows a
“matte” looking surface. We can change the other components in our Shading Tree to accurately simulate
real materials like plastic, glass, metal, and other surfaces.
4
Using the RMB (Win) or -MB (Mac), click on the Shader tree component labeled “Reflectance.” This will
bring up a “pop-up” menu of Material reflectance models. This large number of names and terms refers to
the way the actual shading (not color) of the surface will behave when struck by light in our scene.
While the menu is still “popped-up,” scroll to the Reflectance model labeled “Plastic” and click on it. (We are
only showing a portion of the full menu here because there are so many choices!)
Click in the numeric input box of the “Roughness” parameter and enter a value of 0.05 and press Return.
This has made the surface of the Bottle appear to made from blue plastic when it is rendered. However, the
rest of the surfaces still render as matte white. Close the Rendering window after looking at it.
We can Save this modified version of the Cyan Material so that we can easily apply it to all of the other
required surfaces in our model.
Under the Group heading type in a new group name of “My Plastics” (Or whatever you would like) and in
the Name area, type in something descriptive like “Light Blue Shiny,” to indicate what kind of plastic it is.
Press the “OK” button and solidThinking will save the parameters we have set into the overall library of pre-
set Materials. Scroll down in the Materials Toolbar to see the new “tab” for your plastics, and the icon for
the pre-set you just created.
Once you have selected all of the surfaces in the scene, press the newly created icon for our “Light Blue Shiny”
Material, and invoke the Render current view command again (Ctrl-R (Win), -R (Mac)).
You will note that we have been simply closing the rendering windows after they pop up and we look at the
image. This is because solidThinking saves the last 10 renderings in the Renderings Browser so that we can
compare them and save or delete them if we would like.
From the “Rendering” drop-down menu, select the Renderings Browser, or use the keyboard shortcut of
Ctrl-Alt-R (Win) or -Option-R (Mac). This will bring up the large Renderings Browser window.
Beneath each image thumbnail is the temporary rendering name (usually based off of your current
solidThinking file name) and the date and time the rendering was completed.
At the top of the Browser are three buttons that, from left to right, correspond to “Save Current Image”
(which will open a file browser), “Delete Current Image, Delete All Images.” This last button will clear the
Renderings Buffer for solidThinking.
So far every rendering that we have made in this tutorial has had the exact same lighting. This is because
solidThinking places a “default” light source in our scene if there are no other lights present. Without a light
source all of our renderings would be completely black, since all objects are only visible when there is some
light hitting them to allow our “eyes” to see them.
When you add a new light to your scene, solidThinking will automatically disable the default lighting,
allowing you to design the scene as you would like. This is why it sometimes seems that the scene goes
“black” if you simply insert a light into your scene. You need to point your light source at your objects.
Select the Light tool from the Cam/Light tab, and when the Console prompts for the “Local Axis Origin,”
click-and-drag in the Front view to place the light approximately 15 units to the left of the top area of the
Bottle. (The exact location of the light is not important.)
Lights in solidThinking are treated as special objects that have a “light” Material applied to them. These
objects do not have a surface to them to be shaded in the regular sense, but the light parameters can be
save d and applied in a similar fashion to a surface Material.
In the Shader tree of the active Light tab, you can see a “Light”
component that is currently set to “<None>.” Click on this
component with the RMB (Win) or the -MB (Mac) to bring up
the list of available Shaders for this light object.
Select the “Point” light type from the pop-up menu. This will
change our light object into a point light (similar to a light bulb
that emits light from its center outward), and the “jack” in our
scene will change to a “radiating star” object.
Orbit in the Perspective view to examine the effect of the new point light on our scene. We can see how our
lighting is now directional, meaning one side of our object will not be lit because it is on the opposite side of
our light source.
Repeat the last modeling action of the Light tool by pressing the Ctrl-Spacebar shortcut, and when the
Console prompts for the “Local Axis Origin” of this new jack, click-and-drag in the Right view to position
the new placeholder above and to the left of the top of the Bottle.
In the Right view, click-and-drag on the Target hotspot and drag it to the center of the Bottle geometry in
our scene. This will reorient the direction of the spotlight so that it casts light onto the bottle as well.
Orbit the Perspective view until the Spotlight is on the right of the Bottle, and the Point Light is just to the
left of the bottle. This will insure that we are looking at the “lit” side of our object.
Press the Render current view keyboard shortcut, and examine the lighting we have set up.
This simple lighting setup that we have created is called “2 Point Lighting” in photographic and film terms.
When the Console prompts for the “Local Axis Origin,” click-and-drag to position one corner of the plane
to the lower left of the bottle, and then click-and-drag to place the “Opposite Vertex” at the upper right as
shown below.
This is initially small and high up for a ground plane, but we will enlarge and position it more appropriately.
This will give a more reasonable size to the ground plane, but the location of the ground plane intersects
the middle of our Bottle. This is because our Bottle is centered at the World Axis, and all Top view relative
creation occurs on that axis.
In the Right or Front view, click-and-drag on the Plane to Translate it in the negative Z axis until it is just
below the bottom of the Bottle. (It will be easier if the Grid Snaps are temporarily disabled.)
Once we have positioned this larger ground plane, we can now check the “look” of the ground plane by
making the Perspective view active and Render the Current View.
Scroll down in the Spotlight parameters until you reach the Shadows activation checkbox. Check this option
to be on so that our Spotlight will cast a shadow in the scene.
Make sure that the Perspective camera is the active view, and in the Render Preview column of the Shading
panel, change the Object (of the render preview) to be “Current Camera” from the drop down menu.
(Again, if your Preview takes a long time to render due to your processor speed, change the Resolution to
“Coarse.”)
This Render Preview is not exactly what our final rendering will look like because it is a square window,
while our actual render region of the camera view is typically not precisely square. Because of this, what
we see in the Preview is exactly that, an interactive preview that our final rendering will confirm.
We will want the Bottle to be the focus of our scene and to still not be floating in a black void. The ground
plane helps to achieve this, but using a Background Material will make things much easier. Also, while the
Shader panel and its Preview Render window are still open, we can interactively adjust the Perspective
4
camera to show our Bottle at the best angle.
Orbit and Zoom in the Perspective view until the Point light is nearly between the Bottle and the camera,
and the Preview looks similar to what is seen below. (Again, this does not show all of our final rendered view,
but the angle will be the same.)
In the Shading panel, select the “Image” tab at the top to see the options for the applicable foreground and
background aspects of our scene.
Right-click (Win) or -click (Mac) on the Background component of this Shader tree, and select
“Graduated” from the list of available shaders. This will apply a default black-to-white gradation to our
visible background.
Change the Reflectance of this ground plane to be the “Shadowcatcher” type. In the Preview Render it will
appear that the ground plane has “disappeared” from the scene, or become completely black.
The Shadowcatcher is a unique shading property that allows the object(s) with this Material to be invisible
in the rendering but to still accept and display any shadows cast upon them. This is typically used to
integrate a 3D object into a photographic background where the object would not normally have a shadow.
We can see that when the Graduated Background is displayed, the shadow that is cast by our Spotlight upon
the ground plane is now overlaid onto the Background! This is a very special way to eliminate confusing
visual elements in our scene and yet still show our objects as “grounded.”
We can now alter the Background to be more interesting and to highlight the color of our object a bit more.
In the Image tab, change the Background component to be the “Mixed” type. This adds two more
component items “underneath” the Background listing in our Shader tree. These new items indicate that we
are creating a “layered” Background Material. (This will also temporarily set our background to black until
we choose the elements to be mixed.)
To achieve the subtle look that we are after, change the Scale of the
Clouds pattern to be 3, and make the “Background Color” a medium
Purple. This will help to highlight the bottle, and not detract from it.
Select the Base Shader component (Graduated) and change the Top color to be a very dark purple. This
will blend better with the purple of the Clouds pattern.
Next, select the overall Background component (Mixed) and change the Mixing Ratio to be 0.2. This will
allow the gradation to be more obvious and the pattern much more subtle.
Finally, press the keyboard shortcut to Render the current view and take a look at the scene and background
that we have created so far.
We can now easily tell from the preliminary rendering of our scene that our Bottle looks realistic, and that
the background and lighting focus attention on the design and form of it. However, most real bottles have a
label on them.
4
While the Shading panel is open, select the center section of our bottle (the Cylinder surface) and, in the
Shader tree for this surface’s Material, change the Color component to be a “Wrapped Image” type. (This is
near the bottom of the very large list of options.)
Click on the “Browse...” button and locate the image file (included with this manual) named “4-
bottlelabel.bmp.” (The file itself looks like the image below. A “model beverage” indeed!)
Once you have loaded this image file, the Render Preview of this surface will no longer show the black color
of no image selected, but will now show the image we selected repeating along the surface of the Cylinder
and very small. The reason for this is because we have not chosen a Texture Space for this Material yet.
In the Shader tree, select the Texture Space component and change it to be “UV Label,” instead of the
default, unassigned texture space. (This Texture Space component has no impact on solid colored items like
the rest of our bottle, which is why we have not altered it before this.)
Texture Space refers to the method in which a Material is applied to a surface or object. This is similar to
the X, Y, Z “Coordinate Space” that is used to locate objects within the arbitrary world of the 3D modeling
program. In order to accurately place many of the 2D Materials or images used in solidThinking, we
assign a “Texture Space” to the Material that helps us to locate the 2D Material upon a 3D surface.
The last adjustment we should make to this Material is to make it a bit brighter than the blue plastic around
it in our scene. Click on the Reflectance component (Plastic) and change the Ambient and Diffuse
Factors to be 1. (Which corresponds to accepting 100% of the light in the scene.)
This shows that our UV Label mapped image is correctly oriented and lit, but we are looking at the “edge”
of the label and not the center part, which would be the curved text of the label. We actually do not have to
open our Shading panel again to adjust this offset problem.
In the Texture Position tool panel, slide the “U Origin” slider until the Label in our scene appears to be
centered on the bottle relative to our Perspective camera view. (The actual value will be different for
everyone based on where you have positioned your camera, but it will be close to 0.35)
Press ESC to end the Texture Positioning action. This has provided us with a very interactive way to
position our image map without having to go into the Shading panel and either squinting at the Preview
Render, or repeatedly rendering the same scene.
In most typical bottles, the cap is a different color than the rest of the bottle in order to add color and to
distinguish it from the rest of the surfaces. Bottle caps also typically have vertical “grooves” that make it
easier to grip them. Our current bottle cap is only a plain Cylinder, but we can simulate these tiny surface
4
details using a Displacement component.
Select the cap Cylinder of our bottle in the Perspective view, and open the Shading panel using the
keyboard shortcut (Ctrl-3 (Win) or -3 (Mac)). This will show the parameters of our original Blue Plastic
surface.
Click on the Color component to see its Parameters listed, and then change the Plain color of this Material
to be a medium green, similar to what is on the label we just placed.
Our Cylinder has changed its color in both the Render Preview and in the Textured display mode of the
Perspective view, but the cap is so small that it is hard to see in our scene. We can focus on this surface by
changing the Object of the Render Preview to be the “Current Object.”
We can see that this Displacement component only has three parameters, and yet it produces a dramatic
effect that simulates the indentations of a knurled grip on our Cylinder. This is because this is a “procedural”
Material that is pre-set to simulate this type of pattern.
There are many Shader types in solidThinking that are Procedural. A procedural Material is dynamically
computed from its Parameter settings, and can have features that are difficult or impossible to achieve
with just image maps and simple colors. These features can include true 3D “depth,” infinite detail
resolution, and options for randomness and noise.
Change the Scale of the Wrapped Knurl pattern to be 3. This will help us when we next alter the Texture
Space of this surface Material.
It should be noted that the Displacement component of the Shader tree does not actually change the
geometry of the object that it is applied to. It works by altering the way the surface responds to local
lighting - in essence it is simulating details added to the otherwise smooth surface. For this reason the
“bumps” of your Displacement Material will not extend beyond the surface of the object, and might look
a little strange when the effect is viewed near the edge of a curving surface. This is why it is best to use
Displacement for small or very shallow details on larger surfaces.
Save this procedural Material to a folder in your Materials Library in case you would like to re-use this for
other objects in other models. Name it something logical like “bottle cap grip.”
At this point our Bottle is looking very realistic with a textured label and cap, and a dramatic background
and shadowing lights. We could stop at this point for any bottles that are made of opaque plastic, but this
object would look much more dramatic and interesting if it was made of transparent plastic and simulated
the liquid inside it.
Close the Shading panel to make it easier to see the objects in our 3D views.
In the Front view, drag a selection box around the bottle and all of its surfaces. When every surface is
selected, use the Ctrl-click method to deselect the bottle cap Cylinder and the label Cylinder.
Change the Reflectance component of the selected surfaces to “Glass,” and then Render the Current View.
This quick change will add a default transparency to the surfaces, as well as some interesting effects from
refractions.
We need to tweak all of the settings in our new Glass reflectance to simulate a plastic bottle that is filled with
liquid. (Glass behaves differently from water and plastic in many ways, but this Material can be adjusted to
simulate the correct effect.)
In the Glass Parameters, change the Specular Factor to be 0.7, the Transmission to be 0.8, the Mirror to
be 0.2, the Roughness to be 0.02, and the Refraction to be 1.1, as shown below.
Setting the Shadow Resolution to 0 forces the renderer to use Raytraced shadows, instead of the default
Shadow Map method. Raytraced shadows are always “hard edged,” but are very accurate and can simulate
these types of transparency and colored shadow effects. Shadow Maps, however, are faster, can have
their “softness” adjusted, and can be equally accurate (by increasing the Resolution), but cannot show
transparency and colors in the shaded areas.
Render the scene again and we can see that the shadow shows the transparency and color of our bottle as if
light is actually passing through the transparent surface.
Our Materials have all been set and we are ready to Render this image at a larger resolution. Open the
Rendering Options panel from the drop-down menu of Render -> Options... and change the image
Resolution to 400 x 1200. This will create a taller image area that is perfectly suited for our bottle design.
Lowering the camera along the bottle will also create some extra drama for this image.
With our rendering finished it is a good idea to Save the file and then continue to adjust settings and colors
and label files until you have the best representation of the bottle that you ultimately desire. All renderings
are subjective, so the image is not done until it is the representation of your design that you think shows it in
the best light.
In this tutorial we have introduced many common concepts of assigning and creating Materials, editing
Materials, Lights and Backgrounds in the multi-purpose Shading panel, and using lights and shadows to
emphasize the design of a 3D product. The interactive texture mapping of a label or other graphic is also
very common to many renderings that you may do, so it is a good idea to review the key points of this
lesson before going on to similar rendering projects.
In this lesson you will be creating a pair of modern, monoframe sunglasses. This lesson focuses on
the Construction Tree relationships between parametric CVs, curves and surfaces and how you can create
objects using those relationships as tools.
You have already used a curve to create and control a surface in the earlier lessons, and now you
will learn how to use a surface to create and control a curve. This lesson includes some more curve tools
and interactive methods for creating the curves you want very quickly. You will also find advantages in re-
using elements in your scene using the Construction Tree in solidThinking. This lesson will also include
tips on the practice of simplifying your final surfaces so that you can make changes more interactively while
retaining a precise shape.
Because sunglasses are symmetrical across their centerline, we will model one half of them and
then Mirror it over the other side to see our whole object. This technique will also introduce the concept of
surface continuity. This is how our mirrored halves will look like they are actually one “continuous” surface
across the centerline.
We will start by drawing a NURBS curve to “define” the shape of our right-side sunglass lens and then build
further profile curves for our sunglass frames from this original curve.
Turn on the Grid Snap #2 (default spacing) for this process, if it is not already active.
Click the icon for the NURBS Curve tool, then press Return to accept the default Axis Origin (0,0,0), and
using the grid in the Front view, place your points in the pattern shown below:
6
Now go to the Tool Panel for the NURBS Curve and check the Curve Type option box for “Closed.”
This closed curve will be the guide for the shape of our sunglass lenses.
In the World Browser, double-click the name portion of this curve (“Curve #_”) and rename it “lens profile”
so that we can locate it quickly later on.
Select the Offset Curve tool from the Curves tab of the Modeling Toolbar. When the Console prompts
you to “Select a curve,” select the NURBS curve we just created. When prompted for the “Offset distance,”
enter a value of 0.7.
Creating a second curve in this way allows us to interactively control the distance from the lens that our
frame curves will be offset.
In the World Browser, double-click this curve’s name and change it to be “frame offset.” We will also need
to locate this curve later on after we create a few more curves.
Draw a Line between the two points shown below: (It is important that the line crosses the Origin (white
line) on the Z-axis line for later operations)
Copy (“Ctrl-C” (Win), “ - C” (Mac)) the Line we just created and Paste it (“Ctrl-V” (Win), “ - V”
(Mac)) immediately back into our scene. It will be pasted in the exact same location of the original curve.
Translate the selected copies by 12 units in the positive X direction as shown below:
Select the two lower Line curves on both sides, and Translate them (by either clicking-and-dragging or
entering a To value in the Translate tool panel) both “up” by 0.5 units in the positive Z direction.
6
Turn Grid Snap #2 back on to make it easier to place the control points in the following steps.
Select the Fillet Curves tool (you may have to click and hold to expand the “fly-out” menu of Arc tools)
from the Curves tab of the Modeling Toolbar.
When the Console prompts you to “Pick Tangent #1” click-and-drag on the top left Line and position the
Tangency Hotspot (a dark blue dot) at the white, vertical Origin Axis. (It will snap to that point due to the
Grid Snap #2 being active.)
If you want to control the exact location of your second point, you can numerically enter the value in the
Point #2 location of the Fillet Curves tool panel. However, this will shorten your arc.
While the Fillet Curve is still selected, go to the tool panel for this action and check the Option for “Trim
Tangents.”
This “trimming” option does not break construction history, so we can still adjust the location of our
tangency points, or our two source curves, at any time and the entire Fillet Curve will update!
Repeat the Fillet Curve tool by pressing the Ctrl-Spacebar keyboard shortcut.
For “Tangent #1” click-and-drag on the top right Line and position the Tangent Hotspot (allowing the Grid
to Snap) at this location:
Again, check the Trim Tangents option in the Fillet Curve tool panel.
Now we have a continuous “profile curve” for the upper part of our sunglass frame that follows the offset shape of
our “lens curve” exactly. It is also tangent to a horizontal curve on either side of the profile. We will now repeat this
process for the lower profile of our frame.
In the World Browser select the object we named “frame offset” and then click with the Right Mouse
Button (Win) or -Mouse Button (Mac) to access the contextual pop-up menu for the World Browser.
Toggle the option for Hidden in Interactive Views to bring our original curve back into visibility.
Now we can easily continue to create more objects that are linked in the Construction Tree to this curve.
(And this curve is linked to our first curve, the “lens profile,” which is still visible in the scene.)
Again, check the option in the Fillet Curve tool panel to Trim Tangents so we have one continuous curve.
We now have the top and bottom profile curves for our sunglass frame!
They are linked through the Construction Tree to the original lens profile, so we can modify the original
NURBS Curve (in the center) and both of our frame curves will update automatically.
A “Guide” surface is any surface object that exists to help us to position items in 3D space. Think of it as
an alignment surface for certain functions and objects. Sometimes it does not become a surface on our
6
final object, but it allows us to create complex shapes quicker and easier than if we did not use it.
Because this new “wraparound” profile curve lies on the X-Y plane (or “ground plane”) we must extend it
into a surface to use it to create and control other curves.
Click on the icon for the Extrude tool in the Surfaces tab of the Modeling Toolbar. When the Console
prompts you to “Pick the Profile Curve,” select the NURBS Curve we just created and give it an Extrude
Height of 10 units.
When the Console prompts you to “Pick a Curve” select the top curve of our two sunglass frame profiles,
and then to “Pick a Surface” select the Extrude we just created
We now have a properly curved (and extended) profile for the frame of our sunglasses.
When prompted, select the lower frame profile as the Curve to cast and then select the Extrude object again
as the Surface to project onto.
In the Perspective view, Orbit around our newly created curves by clicking and dragging with the Right
Mouse Button (Win) or the -Mouse Button (Mac).
We can clearly see that the planar curves that we created in the Front view are now projected into all three
dimensions and can be used to create a more complicated surface.
We want to edit the CVs of this parametric object without breaking its Construction Tree relationship
with the curves that created it, or to the PathCast curves that are laying along it. We can do this by using
the Point Edit modifier in the Edit Mode as we have done in previous lessons with other parametric
surfaces. In this instance, we are editing an object that is “inside” the Construction Tree, nested between
other Actions. This is a powerful part of working within solidThinking.
With the Extrude surface still selected, press the Spacebar to enter the Edit Mode, and then press Alt-
Spacebar (Win) or Option-Spacebar (Mac) to enter Point Edit.
Translate these selected CVs in the positive Y direction by 2 units, either using the interactive method of
clicking-and-dragging or by entering a value of 2 in the Y axis To input box of the Translate tool panel and
press ESC when done.
Return to Parameter Edit by pressing Alt-Spacebar (Win) or Option-Spacebar (Mac) and then exit the
Edit Mode by pressing the Spacebar again. You will now be in Object Mode with no CVs displayed.
You can see by Orbiting in the Perspective view that our PathCast curves follow this surface to create more
fluid and interesting profile curves for our glasses.
When the Console prompts you to “Pick a Curve” select the “lens profile curve” that we created at the very
beginning of this tutorial. (It should still be visible in the center of your Front view.)
This has trimmed the interior portion of our surface away, which we would like to keep. To reverse this, go
to the Trim Surface tool panel, and check the Loop Exterior option for Trim Exterior.
We can now create a frame to hold our sunglass lens using the projected profile curves we have just
manipulated. We will start by defining a cross-section that our frame will have over most of its length.
Select the Ellipse Curve (2 axis) tool from the Curves tab of the Modeling Toolbar.
In the Front view, click to place the Center Point of the Ellipse somewhere outside of the curves and
surfaces we have already made.
Click-and-drag Axis Endpoint #1 to be 2 units above that Center Point (in the positive Z direction) to
define the first axis dimension, and then click 1 unit to either side of the Center Point to define the Axis
Endpoint #2.
Press the “S” key to invoke the Scale action. In the Scale tool panel, enter a scale amount of 0.5 and then
press ESC to accept this value and to end the Scale action.
Scaling these parametric points provides us with a flattened Ellipse that we can use as the cross-section of
our frame.
Select the Birail tool from the Surfaces tab of the Modeling Toolbar.
When the Console prompts you to “Pick Profile Curve,” select the flattened Ellipse.
When prompted for “Rail Curve #2,” select the bottom frame profile curve near the Origin:
In the Birail tool panel, check the Option to Maintain Height. This will keep the Birail surface set to the
height of our profile curve.
We can see that this immediately “thins” out the Birail at the point that it crosses the lens area. In fact our
lens surface now intersects the frame surface!
We can see that there are many CVs along the length of this Birail surface. More than is necessary,
in this case. This complexity is a result of the surface accuracy of the Birail being multiplied by the
accuracy of the PathCast of the already complex Fillet curves. The result is an extremely “heavy” surface
(or a surface with many more CVs than is needed). Working with this surface will slow our system
down and not provide any greater degree of accuracy for our project due to the large number of points
on such a relatively small surface.
Scroll down to the bottom of the Birail tool panel and check the “Simplify” option, and enter a Tolerance
amount of 0.055. This will dramatically reduce the number of points across our surface and still provide us
with a very smooth and continuous shape.
We entered a value of 0.055 instead of a more round value of 0.05 because solidThinking works with
tolerance values in a strict decimal system. Adding that extra 5 one thousandths at the end keeps the
overall tolerance of 5 one hundredths but adds the constant precision of going to the thousandths
decimal place. This will keep our number of surface CVs from varying whenever the Construction Tree
rebuilds the Birail surface.
Because our Birail is a single surface that does not have to align precisely to any other surfaces, we can use a
lower tolerance (or higher numeric value) to further reduce the total number of points. (We want to have a
small enough number of points so that we can easily see and edit them individually.)
To modify this area smoothly, we can use the Taper deformer. This will give us a continuous taper.
Select the Taper tool from the Deformers fly-out menu. (The icon may be hidden under the Twist deformer.)
The Console will prompt us to “Select an object.” Select the newly Simplified Birail surface by clicking
near the end of the “ear piece” to avoid selecting the lens surface.
We can see that our entire frame has been deformed, but we can localize the effect by manipulating the Tool
Panel values and the interactive deformer “Hot-Spots.”
We can start by going to the Taper tool panel and changing the Default Taper Axis to be the Y axis.
This will limit the Taper to just the area of our frame behind the lens, from the X-axis Origin line and back.
At this point we have modified our frame geometry to have a smooth taper in both thickness and curvature
along the length of the ear piece. We can now continue to modify these surfaces to create the finished
sunglasses.
Our sunglasses are starting to take shape, and now we can make an opening in the frame for the lens surface
that we have already modeled, and use the Blend Surface tool to creatively bridge the gap across the inside
and outside of our frame opening.
6
Select the Trim Surface tool from the Surface tab of the Modeling Toolbar.
At the Console prompt to “Pick a Curve,” select the original lens profile curve at the center of our frame to
be the Trim curve. (You may have to Orbit the camera up above our model in the shaded Perspective view to
see the curve clearly.)
We can see by zooming in on our Trim area that we have a pretty big gap between the back surface and the
front of the frame.
When the Console prompts “Pick Surface #1,” select our open frame surface as Surface #1.
After we select the frame surface, all of the eligible edges for the Blend Surface are highlighted in dark blue
with “Start point” dots at the seams of the surface edges.
To Blend between the front and back edges of the lens area Trim, select the front trimmed edge of the frame
below the “Edge Start Point” as shown below:
The image above shows the information that is presented when you “float” the mouse cursor above any
of the dark blue “edge hotspots.” This is especially helpful when selected edges that are part of the same
surface, because you can notice if you are about to select the same edge twice for both edges.
Press the Spacebar to end the edge selection for Surface #1.
Because we want to create a Blend Surface across two Trim edges of the same surface, select the trimmed
6
frame surface again as Surface #2. All of the edges of this surface are highlighted in dark blue again.
To “Pick edges near start of Surface #2” you can Orbit the Perspective view until you can see the back of the
sunglass frame surface, and then select the back edge of the lens opening beneath the “Start point.”
Press the Spacebar to end the second edge selection and to finish the action.
This “incorrect” surface is due to the tangent direction being inverted for the front edge. Because the
edge of a surface can have tangency in either direction, the Blend surface tool may need to be explicitly
instructed which direction you would prefer.
We can invert this tangent direction by checking the Tangent option for “Invert surface #1.”
This gives us a much nicer, but still smoothly tangent, surface between the front and back edges of our
frame’s opening for the lens.
One half of our sunglasses is nearly complete, but we need to add some final details to create an accurate
representation of something that could actually be comfortably worn. It is easier to understand what we are
doing if we can see both halves of our sunglasses and view our changes simultaneously on both sides. We can
do this by mirroring the surfaces we have created so far.
Select the Mirror tool from the Transform tab of the Modeling Toolbar.
When the Console prompts you to “Pick the objects to Mirror,” select the Trimmed “frame” surface and the
Blend Surface between the front and back edges of the lens opening. (Press the Spacebar once you have
selected both objects.)
The Console now asks for the “Start of mirror plane.” Press Enter to accept the default value of (0,0,0).
At the Console prompt for the “End of mirror plane,” type a value of “0,1,0” (with commas) into Console
line, and press Enter to accept these values. This effectively uses the Y axis as a mirror plane.
6
Select the trimmed frame surface (on the non-mirrored side) and enter the Edit Mode and then Point Edit
so that you can see the CVs of the parametric Trimmed surface. They should appear as shown below.
It is a very good thing that we have already Simplified the Birail surface that this Trim was made from. If we
had not done that action, we would again be looking at over 800 points to manipulate!
Translate these selected points 1 unit “forward” in the negative Y direction (toward the front of the
glasses), by invoking the Translate tool (“T”) and then using the Tool Panel input boxes or interactively
clicking-and-dragging 1 unit in the Right or Top views.
Press ESC to end the Translate action, but don’t exit Point Edit mode yet.
The reason for putting those two CVs right next to each other when we drew our “wraparound” curve
was to create this tangent. Although we have created many other objects in the Construction Tree from
that defining curve, the position of the CVs of this curve continue to influence the position of CVs on all
of the future objects. Even the Simplify Surface action retains the location of these original CVs.
Now that we have a place in our sunglasses for the “bridge” of the nose, we can also add some nose-pads to
keep our glasses from sliding off of the nose.
While still remaining in the Edit Mode and Point Edit, deselect the two columns of CVs we just adjusted.
Clicking and dragging while using the “Pan in Perspective” keyboard shortcut (Ctrl-Shift-RMB (Win) or
-Ctrl-Shift (Mac)) will also help to control the view.
Select the two back CVs shown below by clicking on one and then Ctrl-clicking on the second one to add
to the selection without dragging a selection box. (It will help to have the Perspective view in Shaded mode
so that you can tell which CVs are in the front and which are in the back.)
Notice how not only did the mirrored half of our glasses update instantly, but also the Blend surface that
bridges the gap between the front and back trimmed edges of our lens opening. This is how solidThinking’s
extensive and intelligent Construction Tree makes alterations like this very easy and fluid.
Exit the Point Edit mode and the Edit mode using the keyboard shortcuts and zoom out in the Perspective
view to see both halves of our model.
Select the Mirror tool a second time and when prompted in the Console to “Pick objects to Mirror,” select
the lens surface and press the Spacebar to end the selection.
The Console now asks for the “Start of mirror plane.” Press Enter to accept the default value of (0,0,0).
At the Console prompt for the “End of mirror plane,” type a value of “0,1,0” (with commas) into Console
line, and press Enter to accept these values.
While the front design of our sunglasses is quite complete, and we have an accurate description of the shape
and look we are after, the ends of our frames by the ear pieces are still “open.” We can now close them off to
finish the look of the glasses.
6
To easily move our Perspective view to see the end of our frame, select the original, non-Mirrored, half of
the frame, and press the “Zoom Selected” button at the top of the Perspective view window. We can now
Orbit our view around to see the back edge of the frame.
Select the Edge Extract tool from the Curves tab of the Modeling Toolbar.
When the Console prompts “Pick a Surface,” select the original frame surface that we are focused on. This
will highlight all of the available “edges” in dark blue.
When prompted to “Pick Edges,” select the edge of the frame surface at the “opening” at the back of the ear
piece, as shown below:
Press the Spacebar to end the selection process and to create the new curve.
Select the Offset Curve tool from the Curves tab of the Modeling Toolbar, and when the Console prompt
asks to “Pick a Curve,” select the edge curve we just extracted. (It may be helpful to switch to the Wireframe
display mode to see, and pick, our edge curve easier.)
When prompted for an “Offset Distance,” enter a value of –0.1 to inset the curve. This will end the action
and give us an Offset curve slightly smaller than our original edge:
Switch to the Top view and Pan and Zoom the view until you can clearly see the area around the edge we are
working on. (You can also select the edge curve and use the “Zoom Selected” button in this window, but you
will need to Zoom Out afterwards since it places the view a bit too close to such a small object.)
Create a Sphere primitive in this view by selecting the Sphere tool icon from the Primitives tab of the
Modeling Toolbar.
When prompted for the “Local Axes Origin,” click in the Top view near the working edge, so that the Sphere
slightly overlaps the end of the frame as shown below.
6
Because we interactively positioned this sphere using the Top view, it lies on the X-Y Origin plane, which is
about 5.6 units below the area we are working on.
With the Sphere still selected, invoke the Translate tool (“T”) and enter 5.6 in the “To” Z axis input box and
press ESC to end the Translate action.
Now that our Sphere is correctly positioned, we can use the Trim tool to create a cap surface from it.
This will Trim two holes in our Sphere, but we actually want to keep only the interior portion of one side of
our Trim area. To do this, go to the Trim tool panel and check the Loop Exterior direction to “Trim Exterior”
and set the Projection Direction to be “Curve Normal” only.
Although this is a pretty good place for the first part of our cap surface, we will want to fine tune the Trim
direction to insure that this new surface lies along the same vector as the rest of our frame ear piece (as we
would expect from an end cap).
While the Trim surface is still selected, press the Spacebar to enter the Edit Mode for this tool. This will
show us the Trim “Hotspots” and allow us to interactively manipulate the Projection Direction of our Trim.
In the Top view, click-and-drag to move the Projection Start Point until it lines up with an arbitrary point
along the center of the frame arm, similar to the image below:
The changes we have made to the trim direction are very slight in this case, but they will help us to get a
very natural transition from the frame surface to this end cap, and it is very helpful to know that you can
alter your trims interactively in this way.
Now that our cap surface is being trimmed from the source Sphere in the correct position, we can create a
Blend between this endcap and the rest of the sunglass frame to completely enclose the end. (It will also be
helpful to set the Perspective view to use the Shaded display mode for these next steps.)
Select the Blend Surface tool from the Surface tab of the Modeling Toolbar.
Now select the Trimmed end cap as “Surface #2” and pick its edge to the (relative) right of its Start Point
and press the Spacebar to create our Blend Surface.
The reason this surface “bulges” so much at the edge of the Trimmed end cap is because the Blend surface
tool automatically maintains a curvature continuous tangency from one surface edge to the other. The
“Smoothness” setting controls how much influence each surface has upon the resulting Blend.
To reduce the “bulge” of this surface, go to the Blend tool panel and set Smoothness #2 (corresponding to
Surface #2) to have a value of 0.1.
However, because our Mirror action is included in the Construction Tree, we can not only alter parameters
relating to the Mirror (such as axis or center point), we can also add or subtract items that should be
mirrored. In this case we would like to add our trimmed end cap and the associated Blend surface
After saving this “completed” version of the file, we can now use solidThinking’s extensive and flexible
Construction Tree to explore the overall shape and design of the glasses and come up with a range of
different versions to evaluate. If we go all the way back to the original, closed NURBS curve that we created
as the visual guide for our lens-shape, we can select that basic curve and edit it to completely alter the look
and style of our sunglasses.
Select the curve named “Lens Profile” from the World Browser and press Spacebar to enter Edit Mode.
(Because this is a simple NURBS curve, we can see the CVs of the curve without having to enter Point Edit.)
Select the CV point that is at the bottom right-hand corner of the curve, as shown below:
Feel free to continue to either adjust this most basic curve, or any of the actions or objects within the
Construction Tree, to arrive at the style of sunglasses you prefer.
As you work, keep in mind that many parts of the Construction Tree are dependant on the parameters
of previous steps, which can change dramatically depending on the earlier construction history of each
object. This may help to explain why sometimes parts of your model will seem to change dramatically or
even “disappear” while you are altering objects in the model’s Construction Tree. If you “Undo” your last
action (“Ctrl-Z” (Win) or “-Z” (Mac)) you will go back to state you were just in, but it always a good
idea to save your file before making these global adjustments.
An example of this is shown in the image below using a model of a human head. (The head model shown
below is not included with this manual. Sorry!)
6
The creation of the simplified faucet (or “tap”) for this lesson will introduce and discuss the
concepts of surface continuity and curvature analysis. These are important concepts whenever you design
an object that will be highly reflective or that needs to have the appearance of one smooth, flowing shape.
In the case of this faucet, we will create the object from multiple surfaces, but maintain the appearance that
it is cast and polished from a single mold. The design, however, will continue to be very flexible and easy to
manipulate using the Construction Tree.
Many of the tools used in this tutorial have been previously introduced, but their finer functions and
options will be explored here. All of these tools will also have their ability to produce “curvature continuous”
surfaces used at all times. For a more thorough discussion of curvature continuity, see the “Technical Brief ”
at the beginning of this book.
This lesson uses precise dimensions and complex surfacing tools that require very strict tolerances. Set the
Positional 3D Tolerance in your solidThinking Preferences to be .001 for this project, if it is not already
the default in your preferences. If you do not complete this step, some functions as described in this
tutorial will fail to build any surfaces at all due to the small unit numbers of the model being created.
Because our faucet design will be composed of many different surfaces, it is a good idea to “block out” the
scene and try to use as few curves and surfaces as possible when starting so that things are less confusing as
we progress and being to create all of the surfaces necessary to represent the design of this object. The first
steps will be to define the overall base, “neck” and handle areas of the faucet design.
At the final Console prompt for the “Height” of the Cylinder, enter a value of 12 units. This will end the
creation phase and produce a slightly tapered cylinder.
This Cylinder will become the “base” of our faucet. This is the point at which the “spout” and handle will be
attached. Next we will define the direction and curvature of our “spout.”
Select the NURBS Curve tool from the Curves tab of the Modeling Toolbar, and press Return to accept the
default “Local Axis Origin” of 0,0,0.
In the Right view, click-and-drag to place the four points of this curve in the approximate locations shown
below, going from right to left, and press Spacebar when you have placed all four points.
This small curve will define the overall curvature of the spout as seen from the side, but we also need some
curves to define the shape of the spout surface as well.
At the Console prompt to define the “Center,” click to the right of the Cylinder at any location in the Front
7
view. (The precise location does not matter, even though we will be using this curve in modeling functions.)
At the next Console prompt for the “Axis Endpoint #1” click-and-drag to place this axis endpoint 3 units to
the right of the center point, and then place “Axis Endpoint #2” by clicking and dragging 2 units above the
center point.
This curve will be used to define one of the cross-sections of our “spout” surface. We will use a different type
of curve for the second cross-section.
Select the Rounded Polyline tool from the Surfaces tab of the Modeling Toolbar. (It may be hidden
beneath the Open Polyline tool in the “fly-out” icon menu of Polyline tools.)
Press the Spacebar when you are done placing the points in the scene, which will finish the creation phase of
this tool, and in the Rounded Polyline tool panel (which is active now), toggle the Option for a “Closed” curve.
In the Rounded Polyline tool panel, change the Radius (for all points) to be 0.6.
Select the Loft tool from the Surfaces tab of the Modeling Toolbar.
When the Console prompts us to “Pick Profile Curves,” first select the Ellipse by clicking on it in our scene,
and then select the Rounded Polyline second, after this press the Spacebar. (The order in which you select
these profiles affects the final surface.)
The Extrusion Path curve is considered the “spine” of the resulting Loft surface, and the surface will be
built along this path, without any regard to the placement of the profile curves. This is why it was okay to
place one profile “inside” the other.
In the Loft tool panel, scroll down to the Options, and check the option for an “End Cap.” This will close off
the ends of our Loft that faces “away” from the Cylinder base of the faucet.
The two parts that we have created will need to be connected somehow in order to represent a functional faucet
spout and base. However, these parts are typically cast as one solid construction, and therefore have perfectly
smooth transitions from one shape to another. In order to maintain this we will have to pay attention to
7
curvature continuity between our surfaces.
The first part is to provide a location for the two surfaces to join each other. The Loft is open on one end, which
is ideal, but the Cylinder is a completely closed object.
Select the Trim surface tool from the Surfaces tab, and when the Console prompts us to “Pick Curve,” select
the Circle we just created.
At the next Console prompt to “Pick Surface,” select the tapered Cylinder in our scene. This will trim out a
rounded portion of the side of the Cylinder, which we can use to blend another surface into.
When the Console prompts “Pick Edges near Start on Surface #2,” select the open edge of the Loft surface
at the upper right of the “Start Point” along the edge, as shown below.
Press Spacebar to finish the edge selection, and to build the Blend Surface.
The Blend Surface has created G2, or curvature continuous, tangency with both surfaces. This is why the
Blend appears so smooth and fluid as it passes from one disparate edge to the next. This is a very complex
surface that requires a lot of calculation to correctly build. In solidThinking, this is an important and
common tool for creating flowing shapes and bridging between objects in a smooth manner.
The Blend Surface has many parameters with possibly confusing terms associated with them. Most of these
are related to this tool’s inherent ability to create G2, curvature continuous transitions between disparate
surfaces. We can use the graphical analysis tools in solidThinking to understand and adjust these parameters
in the context of their continuity
Select the Loft surface we have built in the scene (which will deselect the Blend Surface) and then Ctrl-click
to select the trimmed Cylinder. Finally, Ctrl-click to reselect the Blend Surface. (This will leave the Tool
Panel with the options for the Blend Surface.)
In the drop-down menus at the top of the application, select the View -> Curvature... menu item (Alt-
Shift-C (Win) or -Shift-C (Mac)) This will open the surface analysis Curvature Display window.
In the Blend Surface tool panel, change the “Smoothness #2” value to be 0.3. (This will soften the edge of the
Blend where it enters the Loft surface.) Observe the change in the shading of our curvature display.
We can see that some of the “ripples” in the surface (that were not apparent in the general 3D shaded view)
were reduced by this change. This is the power and purpose behind this interactive display.
The colors that are displayed are what is known as a “false color display.” This means that they are an
arbitrary gradient of colors (red does not mean a bad area, nor does blue indicate “cool”) that are only
there to make it easier to distinguish between changes in the relative curvature of the surface. The scale for
the curvature is set in the Curvature Display panel.
Uncheck the G1 Continuity option to return our Blend to all G2 continuity with the adjoining surfaces.
Change the Smoothness #1 to be 0.3 in the Blend Surfaces tool panel. This will reduce the “ripples” to an
almost invisible level. (Keep in mind that we are analyzing a very narrow spectrum of curvature change, so
the remaining minor ripples are not to be worried about.)
We can also detect a very slight “ring” of color changing right at the point where the Blend meets the Loft
surface. (Check this on screen, because the color variations are so slight they may not be visible in print.)
Our Blend Surface, although very smooth as far as Curvature Continuity is concerned, is also less “curved”
than before we started because of the Smoothness changes we made. So the final change we can make is to set
the Smoothness #2 back up to 0.5. (After making other adjustments, the Blend remains continuous to a high
tolerance with this setting now.)
When you are done making adjustments to the Blend Surface, go to the Curvature Display panel and check
the option for “None” and press the “Display for currently selected objects” button again. This will return our
display back to normal and we can close the Curvature Display panel.
Now that we have a curvature continuous Blend between our two surfaces, we can Combine them into a single object.
Because we added an End Cap to the Loft surface, and because the Cylinder was closed before we trimmed it, combin-
ing these with the Blend will create a manifold solid surface.
Select the Combine tool from the Transforms tab, and when the Console prompts to “Pick Objects to Combine,”
select the trimmed Cylinder, the Loft surface, and the Blend Surface between them. They will turn Magenta when
selected.
Press the Spacebar when all three surfaces have been selected.
When the Console prompts you to define the “Local Axis Origin,” click-and-drag in the Right view to place
the Sphere at the location shown below, near the end of the spout.
The next Console prompt will ask you for the “Radius” of our new Sphere. Enter a value of 3.5, so that the edge of
the Sphere is close to the end of the spout.
Click-and-drag on this second Sphere to Translate it 5 units in the negative Y direction, or to the left of the
original Sphere.
Select the Boolean Operator from the Surfaces tab of the Modeling Toolbar, and when prompted to “Pick
Surface #1,” select the Sphere on the left, in the Right view.
When the Console prompts to “Pick Surface #2,” select the first Sphere (on the right).
This series of actions has created a custom Boolean “cut shape” that we can use to remove the flat end of the
spout of our solid faucet base.
Press Ctrl-Spacebar to repeat the Boolean Operator tool, and when the Console prompts us to “Pick
Surface #1,” select the solid base and spout of our faucet.
Because Boolean operations are so (relatively) fast, stable and repeatable, we can “stack” them in this way
to create the precise surfaces that we desire, while maintaining the Construction Tree history behind all
of the operations. This way we can modify any of the parameters (such as the radii of the Spheres) at any
point later on.
In the Top view, select the Cylinder primitive from the Primitives tab of the Modeling Toolbar. We will use
this tool to create the actual “outlet” for water from our faucet design.
At the Console prompt to define the “Top Radius,” enter a value of 1.5 units, and for the “Bottom Radius”
enter a value of 1.2 units. (Again this will provide us with a slightly tapered Cylinder.)
The final Console prompt will ask for the “Height.” Press Return to accept the default value of 1 unit.
This tapered Cylinder will be the “spout” of our Faucet design. Because we are concerned with the overall
design of our shape and not the mechanics of how the water will flow through it, this simple primitive will
work as a representation of a mechanical detail that can be added later.
IF you would like to make a very complete Faucet, you can come back to this “spout” element after
completing the rest of the tutorial and either join it to the rest of the Faucet body using the flexibility of
the Construction Tree, or you can add details such as mounting rings and a screen to it on its own.
Select the Round tool, and when the Console prompts “Select Surface,” pick the solid faucet base object.
7
When the Console prompts you to “Click edges where you want to insert radii,” click on the front edge of the
faucet spout, and then on the top edge of the cylindrical base. Press Spacebar after selecting these two edges.
Enter a value of 0.5 for the “Default radius for new insertion,” when the Console prompts you for it.
This has given us a very finished spout and base for our faucet. We did not Round the edge where the water
outlet attaches to the “neck” of the faucet, but if you would like you can Insert a radius hotspot there and
rebuild the surface with this additional small detail.
It should be noted that the Round surfaces that are built by default are only G1 continuity. In other words,
reflections may “jump” as they pass over these abrupt curvature changes, while with the G2 continuity
of the Blend Surface, we will see no such jump. This is the primary reason for using G2 continuity on
larger surfaces. Very shiny or reflective surfaces will “look” better and seem more organic that the slightly
less continuous Rounds that use the default “Circular” cross-section. (In this case, using the Blend cross-
section in the Round Options would produce a G2 continuous surface.)
Now that we have finished the first part of our faucet design, we can see that our 3D workspace is getting
crowded. We have all of the “source curves” for our objects displayed, and the rounded solid of the faucet
base is very dense in Wireframe display mode. A quick way to organize our workspace is to use Layers.
7
Layers in solidThinking function just like layers in other 3D or graphics applications. You can create
multiple layers and keep certain objects on those layers for reference, and then you can hide entire layers
(and their contents) or “lock” the layer to prevent the accidental selection or modification of items. You
can also change the display color for all objects in the layer, or browse only the objects in each layer. The
Layers in solidThinking are also “drag-and-drop” from within the World Browser, so moving objects to
and from layers is very easy.
To start with Layers, scroll to the bottom of your World Browser list (which is easier if you “close” the
World icon at the top of the list) and you will see the “Layers” section of the Browser.
Select the Default layer, and we will see that this automatically selects all items in that layer! In many cases, as
you work with many more than just one, default layer, this will be desirable. If you only have one layer, you
never need to select it.
At the top of the World Browser, the last 3 buttons are related to layer management. Hold your mouse
cursor to see the “tool tip” description of the button, and click on the Layer Off button. This will turn the
active (Default) layer “off.”
Wow! We can immediately see a dramatic difference in our workspace. All of the items that we have spend all
this time building are gone from view, and we did not manually set them all to “Hidden.” The layer icon for
the Default layer is also “ghosted” to indicate that it is off.
While every visible object deselected, press the Layer Locked button. The icon for the layer will show a small
padlock to indicate that it is, indeed, locked.
Now try to select any item in our 3D views by clicking on it. We find that although they are visible, they
cannot be selected to be modified. They are “locked,” which is helpful for using objects as reference only.
Select the New Layer item from this pop-up menu. This will create a new, empty layer in our World Browser
and scene. (We can also see that the Layer Controls for “Off/On/Locked” are also accessible through this
context menu.)
This new layer is automatically set to be the “Active Layer,” (it is highlighted in Yellow) and any new objects we create
will be placed on this layer while it is active.
Each layer has two indicators in addition to being On/Off/Locked. When highlighted in Yellow, the layer is
the active layer for new construction. When the layer icon itself is Red, then the Layer itself is selected and
will also select all of the items in that layer. It is possible to select a layer (to Lock it, for instance) and still
not have that layer be the active layer for new objects created in the scene. The drop-down menu at the
top of the World Browser controls this.
At the next Console prompt to define the “Radius,” enter a value of 3.8. This will create a Sphere that is
slightly smaller than the top of the Cylinder itself.
Because the layer that contains our faucet base is still “locked” we can use these surfaces as visual reference,
but we cannot select them for any modeling actions in the 3D views, but this is not needed right now.
The overall World Browser still shows all of the objects in our scene, regardless of what layer they are on,
or whether that layer is On or Locked or Active. The Layer section of the Browser Panel is a subsection of
the World Browser.
This Sphere will form the basis of the handle for the faucet. However, it extends “into” the cylindrical base of
the faucet. Because we are only concerned with the design of the faucet, we should limit this intersection of
parts.
In the Sphere tool panel, change the Longitude End Angle to be 180 degrees. This will create a hemisphere.
Now that we have positioned our Sphere using the Default layer’s faucet geometry as a guide, we can turn that
layer “Off ” to hide this clutter. We can then proceed to create a handle independently on the active layer. We
will create the handle from common NURBS Curves using more transitional surface tools.
7
Click on the Default layer’s icon in the Layer section, and press the Layer Off button at the top of the World
Browser, or use the “context menu” to hide this layer and its objects from display.
With a wide open workspace we can easily draw curves and view our work from various angles without any
visual confusion of seeing other objects in our scene that will not be used in the construction of our new
objects. This is one of the primary advantages behind using Layers for organization.
Select the NURBS Curve from the Curve tab, and press Return to accept the default “Local Axis Origin” of
0,0,0.
Press Ctrl-Spacebar to repeat the NURBS Curve tool. Accept the default “Local Axis Origin” and then
proceed to create another curve below the first by clicking and dragging to place 5 points in the arrangement
shown below.
Next, switch to the Top view while still in point placement mode. Place the next two points to the right (in
the Top view) of the first point.
Now we can adjust the location of some of these points. While the last curve is still selected, press the
Spacebar to enter the Edit Mode.
Once you have moved this point, press the Spacebar to return to the Object Mode, and to hide the points.
Select the Mirror tool from the Transforms tab, and when the Console prompts us to “Pick Objects to Mirror,”
select the NURBS Curve we just modified, and then press the Spacebar.
Next the Console will prompt us to determine the “End of mirror plane.” Enter a value of “0,1,0” into the
Console line and press Enter to mirror our curve across the Y axis.
Select the Skin tool from the Surfaces tab of the Modeling Toolbar. We can now use this tool to connect the
four curves we have arranged into a surface suitable for creating a handle.
Press the Spacebar to end the curve selection and to create the “open” skin.
In the Skin tool panel, change the Interpolation method to be “Periodic Skin.” This will close the Skin surface
and maintain the same interpolation we were using while choosing the curves.
Select the Fillet Surface tool from the Surfaces tab of the Modeling Toolbar.
When the Console prompts us to “Pick Surface #1,” select the Skin surface we just created, and then at the
prompt to “Pick Surface #2,” select the hemisphere primitive.
The Fillet Surface tool will now interactively display the possible direction and size of the fillet you are about
to create. This is an important display, as it immediately informs you whether the surface you are about to
create will be what you desire. You should have a Fillet Direction display similar to the one shown below on
screen at this point. (If not, we can correct this to match the desired results in a few moments.)
If we examine the transitional surface that this tool creates between the Skin and the Sphere, we can see that
there is a small “hole.” This is due to the currently selected Boundary Trimming type.
By altering the Fillet Radius and the Cross Section type, you can very quickly evaluate many different
variations for the handle of the faucet. Because the Fillet Surface tool automatically updates, the Shaded
display method can be used to provide immediate visual feedback for your design choices.
We are finished with the design for both the handle and the body of the faucet. To clearly see the relationships
between them, we can turn the original working layer (“Default”) back “on,” which will return the entire layer
and its contents to a visible and active state. We can then continue to modify our model (after saving it) to
7
explore the design possibilities that are possible.
Select the “Default” layer in the Layers menu, and then bring up the “context menu” by clicking and holding
in the World Browser with the RMB (Win) or -MB (Mac), so you can use the “Layer On” option to return
the entire layer and its contents to a visible and active state.
This simple faucet is made up of multiple primitives shapes, some curve-based surfaces, and three types of
transitional surfaces: the Blend Surface, the Round, and the Fillet Surface. It is these transitional surfaces that
create the smooth shape of our final design, and quickly create surfaces that would be very difficult to control
otherwise. By modifying the parameters of each of these transitional surfaces, and by analyzing the results, you
can refine your designs to meet the precise visual representation that you desire.
The wheel of a car is a good example of radial symmetry in a common object. In this lesson we will
use this object to explore how you can create a complex set of surfaces and solids by concentrating on one
part of the overall construction and using certain replication tools to tune and preview the design. This
will also help us to explore the connections between solids and surfaces in solidThinking and how one can
influence the other in the construction process.
We will work progressively by creating various parts of a single “spoke” of the wheel, and then
creating a surface which can be “extended” into a solid for later rounding and replication operations. The
process will reinforce the flexibility and continuity of the final design, which will be full realized and still
easily modified.
This lesson uses precise dimensions and complex surfacing tools that require very strict tolerances. Set the
Positional 3D Tolerance in your solidThinking Preferences to be .001 for this project, if it is not already
the default in your preferences. If you do not complete this step, some functions as described in this
tutorial will fail to build any surfaces at all due to the small unit numbers of the model being created.
We will start by drawing a NURBS curve to define the profile of the “spokes” of our wheel. Because the
spokes must be attached to the hub of the wheel at a point that is “inside” the enclosure of the tire and rim,
our profile will also reflect this attachment point. We can then build surfaces from this simple profile and
modify them to create a single spoke.
Select the Lathe tool from the Surfaces tab of the Modeling Toolbar.
At the Console prompt to “Pick Profile Curve,” select the profile curve we just drew. The Lathe tool will
create a temporary “creation phase” object (typically Lathed on the Z axis) to guide our creation of the
surface we would like. We will modify this object while we continue the creation phase.
At the Console prompt to “Revolution Axis Start,” press Return to accept the default value of (0,0,0) which
corresponds the Local Axis Origin of our source curve (which in this case is the same as World Origin).
Although this could represent the overall “front face” of our wheel design, we will be working on just one
of the spokes of our wheel instead, and therefore we don’t need a full 360 degrees of revolution for our first
surface (since we will only be using a portion of it).
As we mentioned in the beginning of the tutorial, we will only be modeling a single spoke to our wheels at
first. Our initial design will be for a common 5-spoke wheel, which means that each spoke will encompass
72 degrees (360/5 = 72). We can later modify the number of spokes by changing the value we enter here
(60 degrees = 6 spokes, etc.).
Because this results in a Lathe surface that lies “below” the X-Y grid plane that is displayed in our
Perspective view, it would be a good idea to turn this display element off while working.
In the solidThinking Preferences panel, switch to the “Views” tab, and uncheck the “Grid in 3D views”
option. Press Okay to accept this, and we can work without the visual clutter of the grid for the rest of the
tutorial.
Since we are not going to make a “spoke” for our wheel that entirely fills the 72 degrees sweep of each
section (which is essentially a solid wheel), we will Trim this swept profile surface to accurately represent
the shape of a single spoke. The Trim curves for the shape that we want will need to be as simple and flexible
as possible, so that later on we can modify the Trim curve and easily create new designs while maintaining
most of the rest of the actions we are going to take.
Select the NURBS Curve tool again, and press Return to accept the default “Local Axis Origin” or 0,0,0.
In the Front view, click-and-drag to place 5 points in the positions shown below. (If you make a mistake,
you can always go back and edit the points to correct for it after finishing the point placement, so don’t
Select the DynaStep tool from the Transforms tab of the Modeling Toolbar. This tool will allow us to
accurately replicate the definition curve around the center point of our scene.
When the Console prompts to “Pick Object to Copy,” select the spoke definition curve that we just created,
and at the next prompt for “Number of Copies” enter a value of 2. (This number includes the original curve.)
This DynaStep action equates to a controllable replication and rotation of our curve that we can modify at
any time using these simple input areas to get the results that we desire.
When the Console prompts you to “Pick Surface,” select the Lathe surface. This will end the creation phase
and create a trimmed surface that looks like the image below.
Now it is probably more apparent why we set up our scene with a single “definition curve” for the Trim
action, instead of two. This arrangement allows us to freely edit a single curve, instead of two matching ones.
Now matter how much pre-planning we can do, it is still fairly difficult to imagine what the overall shape
and design of our wheel is going to be while looking at only a single spoke. For reference, we will create a
“rim” shape and then replicate this initial, early stage version (surface only) of our spoke to “preview” the
design and make any design decisions and adjustments we might want to.
Select the NURBS Curve tool, and press Return to accept the default “Local Axis Origin” of 0,0,0. We will create the
profile for the rim which will be used as reference for our spoke design preview.
In the Top view, click-and-drag to place the 13 points of this curve in the locations shown below:
8
In the NURBS Curve tool panel, change the “Curve Type” option to be Closed. This will provide us with a
nice profile for our rim.
Select the Lathe tool from the Surfaces tab, and at the Console prompt to “Pick Profile Curve,” select the
profile curve we just drew, and press Return to accept the default “Revolution Axis Start” as 0,0,0.
We can see that the temporary object that is created during this creation phase only extends for 72 degrees.
This is because the Lathe tool has a “memory” for the last used settings, and the previous Lathe we created
was adjusted to only extend 72 degrees. In this case, this repetition works in our favor.
When the Console prompts you for the “Revolution Axis Direction (X, Y, Z, Vertical, Horizontal),” enter “Y.”
To visualize our spoke design as they continue around the wheel, select the DynaStep tool again, and when
the Console prompts to “Pick Object to Copy,” select the trimmed spoke surface.
The DynaStep tool that we are going to use to visualize the 5 separate spokes of our wheel only replicates
a single item at a time. This means that the 72 degree section of our rim would need to be DynaStepped
separately to see the entire wheel. However, in this case we can simply adjust the Lathe parameters of it,
so we do not need to DynaStep more than just the spokes.
Again, change the Translation values of the DynaStep to be 0,0,0 and the rotation in the Y axis to be -72
degrees.
Select the rim object, and in the Lathe tool panel, change the “Longitude End Angle” to be the full 360
degrees.
Spend a few moments to Orbit around this shaded display of our potential wheel in the Perspective view.
We will soon go back to the construction process of a single spoke, because that is more efficient, but we can
already see how we will translate this into a group of 5 spokes.
While the Lathe surface is still selected, change the “Longitude End Angle” back to a value of 72 degrees.
Next, select the DynaStep of our wheel spokes, and at the top of the DynaStep tool panel, click on the
Replace checkbox just below the source object name. Click in the empty space of our scene, away from any
other objects, and this will put “no object” into our DynaStep object and return our single Trim spoke
surface to the scene. (This will also end the Replace mode for the tool and uncheck the box for us.)
We can keep this DynaStep in our scene until later because we already know that it is set up to replicate
any object around the World Origin 5 times in 72 degree increments, and this is how we are building our
final spokes. The Replace option in the DynaStep will be used again to place our finished geometry into
this pre-made replication.
As we previewed our wheel design just now, we could see that the “rim” surface when lathed 360 degrees
looked like a solid, real rim. However, the spoke surface looked too thin to actually support the weight of a
car. Adding thickness to this surface will be our next step, and by creating solids we can also perform other
8
important modeling actions upon the spoke to create our final design.
Select the Surface Extrusion tool from the Surfaces tab, and when the Console prompts us to “Pick a
NURBS Surface Object,” select the spoke surface that has been returned to our view by the “no object”
Replace action of the DynaStep.
When the Console prompts us to define the “End Point” of our extrusion, click-and-drag in the Top view 2
units in the positive Y direction from the World Origin. This will give us an extruded depth of 2 units.
Select the Edge Extract tool from the Curves tab of the Modeling Toolbar. The Console will prompt us to
“Pick a Surface,” and we will select the lathed rim surface in our scene. (The surface itself will turn Green
and the eligible edges to be Extracted will be highlighted in Dark Blue.)
When the Console asks you to “Pick Edges,” select the top Dark Blue edge to create the curve from, and
press the Spacebar to end the selection process. This will create a curve in our scene that is linked to this
surface edge.
Select the Fillpath tool from the Surfaces tab of the Modeling Toolbar, and when the Console prompts you
to “Select Curves to Fill,” select the Extracted curve we just created at the top edge of the rim surface.
By Orbiting our view around so that we can see the opposite end of the Lathe rim surface, we can see that
this opposite end also needs to be closed off in this same manner.
Repeat the Fillpath tool by using Ctrl-Spacebar again, and select the Extracted Edge curve at the opposite
end and press the Spacebar to create the final “cap” surface.
Keep in mind that the Combine tool does not always create solid geometries. It simply creates a single new
object from various surfaces (or curves) that is linked to the original objects through the Construction
Tree. If the source objects all happen to completely enclose a volume, and all of the edges line up with
each other, then solidThinking will consider these collected surfaces to be a solid entity for tools and
operations that require a solid object.
Solid entities in solidThinking can be made from and manipulated in many of the same ways as surfaces,
such by trimming or point editing, but they can also be used to create objects that are much more complex
than separate surfaces. Next we will create the “mounting holes” and a design accent for our wheel spokes,
and then join it to our solid rim section.
In the Snaps Toolbar, temporarily turn off all forms of snapping by pressing the Disable Snaps button.
With the Front view active, select the Circle primitive tool from the Curves tab, and click-and-drag to place
the “Local Axis Origin” (or center point of the circle) in line with the middle of the “spoke solid” that we have
in our scene, as shown below.
Select the Trim Solid tool from the Surfaces tab, and when the Console then prompts us to “Pick a Curve”
for the trim operation, select the Circle primitive we just created.
At the next Console prompt to “Pick a Surface” that we would like to Trim, select the Extruded, solid “spoke.”
With the Top view active, select the Ellipse (2 axis) tool from the Curves tab of the Modeling Toolbar.
The next three Console prompts will ask you to place the “Center point” and each “Axis Endpoint” to define
the Ellipse. Click-and-drag in the Top view to create an Ellipse at the location and size shown below.
While the Ellipse is still selected, select the Rotate tool and in the tool panel, change the Rotation “Origin” to
be the Axis Origin.
With the Front view active, select the Circle primitive tool again, and when the Console prompts for the “Local Axis
Origin,” respond by accepting all of the default values using the keyboard shortcut of Ctrl-Enter (Win) or -Return
(Mac).
This will place a Circle with a 1 unit radius at the World Origin of our scene.
When the Console prompts you to “Pick Profile Curve,” select the Circle primitive we just created at the
8
Origin, and when prompted for the “Path Curve,” select the Ellipse that we rotated downward.
This surface will form the basis for a “feature” that we will add to the surface of the wheel spoke in order to
give it a bit more interest than just being a flat, “featureless” spoke.
When the Console prompts to “Pick Surface #2,” select the Pipe ellipse object, and at when the Console
asks which type of Boolean operator to perform (“Diff1, Diff2, Inters...”) enter 1 for a Boolean Difference
with surface #1 as the result.
This will quite gracefully cut a feature from the Front of our wheel spoke, and because we used a Boolean
Operator, we can edit the source object at any time to change the feature as we develop our design.
When the Console again asks whether to perform a “Diff1, Diff2, Inters, Union, Merge” operation, enter “U”
to perform a Union between the two solid objects. This will trim the areas that intersect between the two
objects and join the objects at the edges along these intersections.
At this point we have an accurate representation of one fifth of the overall wheel, but its corners and edges
are still extremely “sharp.” Because we have created and worked with continuous solids, we can easily Round
these corners and provide more natural, flowing transitions from one surface to the next.
Select the Round tool from the Surfaces tab of the Modeling Toolbar.
When the Console prompts you to “Select Surface,” select the Boolean Union wheel section in our scene.
Then, at the Console prompt to “Click Edges Where You Want to Insert Radii,” drag a selection box around
the central area of the Unioned wheel section that includes the edges where the spoke and rim meet and the
“feature” we added to the surface, as shown below.
This will create Rounded edges that soften the overall look of our wheel section, and we can easily edit these
radii to create different looks and emphasis on the surface itself.
Deselect all of the hotspots (which are by default all selected) by clicking outside of the Round object in the
workspace. Don’t worry about selecting another object by mistake, since we are in Edit Mode.
In the Perspective view, Orbit and Zoom until you can easily see the back of the wheel section, and then Ctrl-
Click to select the two back edges shown below.
With these three radii hotspots selected, change their radii in the Round tool panel to be 0.2.
Now press “GO” at the top of the tool panel to see these changes built in the Round operation.
We now have a completely rounded and well-made section to our car wheel, but it is still only a very detailed
section of the overall design with 5 spokes in it. We can now use the DynaStep that we previously created
when previewing this design to finish our design.
8
In the World Browser, scroll through the items in the scene (both Hidden and Visible) and locate the object
called “DynaStep” that has no “plus arrow” next to it.
This lack of a plus or “arrow” symbol means that the object itself is “empty” or has no internal entities.
This is what happens when we remove the active object in an action or operation: it does not go away or
become deleted - instead it patiently waits for another object to be inserted into it as a new “source” object
so that it can complete its action based on the parameters set out for it previously.
It may tale a few seconds for the scene to update (since we are replicating a very complex object 5 times
over), but very soon we will have a completed car wheel in our scene.
One of the most powerful possibilities is to go back to the original DynaStep for the Trim curves and change
the Rotation amount to be 60 degrees, or even 45 degrees, and then change the Rotation amount in this last
8
DynaStep to match that amount and alter the number of copies to keep the wheel completed (with either 6
or 8 spokes for the possible numbers quoted here).
In this tutorial we will expand upon the techniques introduced in our earlier rendering lesson,
and explore ways to create hyper-realistic images with environments, special types of lighting and layered
shading. This lesson will also include the construction of “sets” that are actual, textured geometry that can
be saved separately from the main object of the scene and quickly re-used with different objects. We will
also explore reflection parameters and using raytracing to precisely simulate certain metallic and technical
surfaces, and use non-photorealistic methods of rendering to produce images that can be used whenever a
photo is not desired.
The goal of this advanced rendering tutorial is to introduce these new techniques and technical
methods for producing very high quality images. However, the best rendering representation for your design
is entirely up to your subjective judgement. Therefore it is not completely necessary to use the precise values
that are displayed in the illustrations or in the text. The examples shown in this lesson are there to guide you
in the creation of your own image to best illustrate the object you have already created.
To have an object in our scene that we can render, we will need to first open up a previously created file.
We will be using the Faucet from tutorial #7 in this book, so if you have not completed that lesson it would
be best to reserve this lesson until you have constructed that geometry. Again, what you render is not as
important as the techniques, but just using the same object will make the lesson easier to follow.
We will start this lesson by preparing our scene before we load the geometry to be rendered. If you have not
already done so, select File -> New (Ctrl-N (Win) or -N (Mac)) from the drop-down menus at the top of
the solidThinknig application window in order to create a new, empty scene.
All new scenes contain a default camera (labeled “Perspective”) and a “Default” Layer for you to create your
geometry in. We will be using these two items continually throughout this lesson, so it is a good idea to
change their names in the World Browser to something specific like “Render Camera” and “Scene Layer”
before we continue.
Use the File -> Merge menu item (or Ctrl-M (Win) or -M (Mac)) to load the saved “.st” model of the
Faucet from the earlier lesson (#7). This will provide us with the geometry needed for this advanced
rendering tutorial.
The Merge function differs from the Open command because it inserts all of the geometry, groups,
layers and custom cameras from another scene into the one you are working on without closing the
previous file. (solidThinking can only have one file open at any given time.)
It is now a good idea to use the File -> Save As... menu item (or the F12 key) to immediately name this file
and preserve all aspects of the Merged geometry in the scene. (We have imported quite a bit of work!)
Depending on which layers were “on” or “off ” in the Faucet file when you last saved it, the Merged layers
may or may not display their contents in our modeling views. Select each layer and use the button states at
the top of the World Browser to verify that both imported layers are “on” so we can select geometry within
them.
The final step in setting up our scene is to go to the Preferences panel and uncheck the Grid in 3D views
option so that there is no grid in the Perspective. This will give us an uninterrupted view as we build around
our geometry and evaluate shaded lighting and other non-modeling tasks.
The best way to create a scene for photorealistic rendering is to consider that your object is the center of
interest for your scene, and create an environment around it that highlights your object for the best visibility
while making a harmonious image. This is similar to how a stage is set up for the actors in a play, all the way
9
down to the lighting and the color of the props and walls on the stage, or the “set.” Because we are setting the
stage for a faucet design, we would expect to find it near a sink or bath, and that the environment around it
should “reflect” the typical room you would find this object in. In this case we will create a bathroom with a
sink that is very simplified, but will meet our needs for providing a “context” for this faucet design.
Before creating any new geometry, it will be a good idea to Hide all of the visible curves in the imported
scene and keep only the final surfaces visible. As mentioned before, this creates less visual clutter in our
workspace, and prevents us from accidentally selecting or modifying a curve in the scene (because our
model still has a complete, and active Construction Tree behind it!).
To create the “sink” object for our scene, we will use a primitive Sphere. Before selecting the tool, make sure
that the “Scene Layer” is the active layer for all new geometry (highlighted in Yellow), and then Zoom out in
the Top view until you can clearly see the Faucet geometry and the area around it.
At the Console prompt for “Radius,” interactively click-and-drag to pull the Radius out until it is close to
the edge of the cylindrical “base” of our faucet geometry, as shown below. (This is a numeric Radius value of
approximately 20 units)
Press the Spacebar to enter Edit Mode, and then press Alt-Spacebar (Win) or Option-Spacebar (Mac) to
use Point Edit to see the points of our Sphere.
Next, toggle off the Y and Z axes in the Application Toolbar, leaving only the X axis as active.
Finally, use the drop-down menu command for Selection -> All to select all of the points of the hemisphere,
or draw a selection box around them in one of the orthographic views.
Press Alt-Spacebar (Win) or Option-Spacebar (Mac) to return to Parameter Edit to hide the points of
our Sphere and brig back the standard tool panel, then press the Spacebar to return to Object Mode.
Be sure to toggle the Y and Z axes back “on” so that any further operations will use all three axes.
In the Snaps toolbar, select Grid Snap #2 to be the active snap (with the default grid spacing). This will
make the next few commands much easier to control.
9
Now that the sink is in the correct position, we can create a countertop to surround it and to provide a base for
our faucet assembly to be resting on.
Select the Rounded Polyline tool from the Curves tab of the Modeling Toolbar, and press Return to accept
the default location (0,0,0) for the “Local Axis Origin.”
In the Right view, click-and-drag to place 4 points at the approximate locations shown below, starting at the
“edge” of the sink hemisphere. Press the Spacebar when you are done placing the points.
Select the Edge Extract tool, and when the Console prompts to “Pick a Surface,” select the sink
hemisphere.
When the Console prompts to “Pick Edges” select the top edge of the open hemisphere and press the
Spacebar to extract a curve from that edge.
Next the Console will prompt you to “Pick Extrusion Path Curve.” Select the Edge Extract curve by clicking
on the top edge of the open hemisphere in any Wireframe view. This will complete the tool and create a pipe
surface along the top edge of the hemisphere.
Because this Pipe surface does not exactly line up with the top edge of our hemisphere (it defaults to be
centered around it) change the Align To parameter to be “Profile Start” in the Pipe tool panel.
We will be carefully placing the vertices of the countertop in the Top view, so it is best to expand the Top
view to fill the workspace and to Zoom out so that we can clearly see all around our faucet and sink.)
In the Snaps toolbar, select Grid Snap #$ to be the active snap (with the default grid spacing).
Select the Cube primitive from the Primitives tab of the Modeling Toolbar. When the Console prompts for
“Local Axis Origin,” click-and-drag in the Top view to place the Origin vertex 20 units (or two Grid #4 snap
points) to the left of the edge of the sink “rim” as shown below.
After the creation phase is finished, use the active Cube tool panel to change the Height value to -10.
Select the Edge Extract tool, and when the Console prompts to “Pick a Surface,” select the Piped “rim” of
the sink.
When the Console prompts to “Pick Edges” select the outer edge of the “rim” Pipe surface, and press the
Spacebar to extract a curve from that edge.
Because the curve used to Trim the countertop surface was Extracted from the outer edge of the “rim”
surface, the two surfaces will meet up exactly, and will appear seamless when rendered (if they have the
same material applied, which we will get to shortly).
Now that our simplified sink and countertop are in place, we can begin to apply custom Materials to them
and preview the look of our scene.
In the Perspective view (now named “Render Camera” or whatever you have chosen) select the main body of
the Faucet that we have previously modeled, and press the Zoom Selected button at the top of that window.
This will show us the approximate amount of our stage “set” that will be visible when we render the scene.
(Remember, we are focusing on the Faucet, not the sink we quickly constructed.)
The Conductor reflectance model is used to simulate materials that are metallic. The name refers to the
conductive nature of metals, which although they appear to simply reflect the light that strikes them,
they actually absorb (or conduct) quite a bit of this light energy in different wavelengths depending on
the type of metal. This is why when you scroll down the Parameters of the Conductor shader you will see
different parameters for the Refraction and Absorption amounts of the three component colors that are
used in 3D rendering. This is, of course, an approximation of how actual metals work with light, but the
effect is that the material you create can have different colors on its surface and in the reflections visible
in it, just like real metals that are conductive.
In the Parameters, change the Ambient factor to be 0.3, the Diffuse factor to 0.7, the Specular and Mirror
factors can stay at 0.8, and the Roughness should be changed to a very low 0.02. The effect that this will
produce will be a bright, reflective metal with very shiny highlights like it has been polished.
Next, select the Render -> Render Current View menu item from the application drop-down menus at the
top of the workspace, or press Ctrl-R (Win) or -R (Mac).
The next step will be to change the blank white sink and countertop in our scene into a somewhat more
realistic surfaces that will enhance the Faucet design that we are presenting.
The default white color of unshaded objects is actually a good color for a sink basin, but we will change the
Reflectance component to be softer, and show some interesting shading effects. From the RMB-click (Win)
or -click (Mac) pop-up menu, select “Wrapped Anisotropic” as the Reflectance model.
The Anisotropic shader model for Reflectance creates a directionally dependant surface effect that
changes the reflection and specular highlights of a surface. This effect is usually seen on woven or non-
shiny materials like velvet or brushed metal, but in this case represents the soft speculars of porcelain.
Again the default values in the Parameters section of this shader type will be suitable for our sink surface.
To give our granite surfaces a polished look, change the Reflectance model to “Mirror,” and set the Ambient
factor to 0.8 and the Diffuse to 1. This will “brighten” up the material. To minimize distracting highlights
and reflections, set the Specular factor to 0.5 and the Mirror factor (reflectivity) to just 0.3.
At this point the “spout” of the Faucet and the handle do not have Materials assigned to them at all. We can
very quickly correct this by using a trick for applying an unsaved Material from an existing object to other
objects in the scene. We can then modify the Materials of the individual objects to produce the results we
would like.
In the Shader panel, you will see that the Shader tree parameters displayed are for the last selected object,
which is the body of the Faucet. Press the Apply button in the lower right corner of the Shader panel, and
you will effectively “copy” the body Material to the other two objects that are selected.
Select only the handle assembly and you can see that the Shader panel shows that it now has the same type
of “Conductor” Reflectance type that the body has as well.
This is a quick way to distribute assigned, but unsaved, Materials to other objects in your scene, but if you
are very pleased with a certain Material, it is best to explicitly Save it to your Materials Library for quick
access and easy re-use later on in other models. This also prevents “losing” a favored Material as well.
If we do a quick preview render of our handle by using the Render -> Render Selected Objects menu
command, we can see that this default roughness is a little too much for the size and shape of our handle.
In the Parameters for the Rough displacement, change the Scale to 0.5, and then adjust the Amplitude to
0.01. These two settings will create a Displacement effect that is similar to a gently textured metal.
This looks much better, but we can see that it appears to be too shiny and reflective at this point. (A
roughened metal, even when coated, will not reflect as much specular light as a polished surface.) Select the
Conductor shader in the Reflectance component and change the Specular and Mirror factors to be 0.4, and
then change the Roughness to be 0.1. This will better simulate a realistic handle metal.
The “Roughness” in the Conductor reflectance shader, and the Rough displacement shader have similar
names because they simulate the same thing. When light strikes a material, it is reflected back at our eyes
in either a direct way (shiny) or it is scattered by small surface bumps. The brightness of this reflection is
simulated by the Specular factor in shaders, while the scattering is controlled by the Roughness. A more
scattered, or wider and softer, specular highlight thereby gives the impression of a roughened surface.
Our Faucet and sink area are textured and ready to render, but we still have these objects “floating” in a black
environment when they should be seen in a properly lit bathroom to have the correct “context” that we
discussed in the beginning of this tutorial. To create a simplified “room” for our scene we will create and edit
9
a simple Cube primitive.
Select the Cube primitive from the Primitives tab of the Modeling Toolbar. When the Console prompts for
“Local Axis Origin,” click-and-drag in the Right view to place the Origin vertex somewhere near the front of
the sink and countertop.
At the Console prompt for “Opposite Vertex (width, thickness, height),” enter values of 2, 2, 2 to create a
slightly larger than default cube.
By pressing the Zoom All button in the Application Toolbar, we will see in our orthographic views that this
Cube is not in the correct position for the typical boundaries of a bathroom.
Translate the Cube so that the it just touches the back of our countertop and that it is centered vertically
above our sink, as shown in the illustration below.
While the Cube is still selected, open the Shader panel (if closed) and change the Color component of the
white Cube to be “Wrapped Textured Brick.” We will modify this shader to simulate a tiled wall.
By looking at the Material Preview window in the Shader panel, we can immediately see that this shader
creates “blocks” of color that are wide, like bricks (of course) not like tiles. Change the Brick Height to be 1
to equal the Brick Width and make square “tiles.”
Next, change the Mortar Size to 0.05 and the Mortar Color to a clean white. This will simulate the common
tile mortar used in a bathroom.
Render the scene from the Perspective view to see the new “tiled” walls of our bathroom setting.
In the Texture Space component, change the “Auto-Axis” Scale parameter to be 10, and render the scene
again to see the change.
Our Faucet now reflects the tiles of the “bathroom” around it and appears more realistic as a result, but the
tiles are now taking some of the focus away from the Faucet design and shape. One of the common elements
of a bathroom that will actually help us to “refocus” the scene on our Faucet is a bathroom mirror.
With the Front view active, select the Plane primitive tool from the Primitives tab of the Modeling Toolbar.
This will be our simplified mirror surface.
At the Console prompt to define the “Local Axis Origin,” click-and-drag to place this corner of the Plane a
bit above the countertop and to the far left side of the width of the countertop.
In the Shader panel, change the Reflectance model for this new object’s Material to be Mirror (of course!).
This is all it takes to create a realistic mirror Material!
Render the Perspective camera view to see this new element of our bathroom scene. We can quickly see in
this rendering that the mirror bisects our Faucet. We need to move the mirror closer to the wall.
When we Render the scene again from the Perspective view, we can now see that adding this mirrored
surface allows us to see the “back” of our Faucet design at the same time as we see the front! This is a great
way to show more of your design in one rendering.
We should add a “frame” to this mirror to keep if from “floating” above the wall and countertop. We can do
this by repeating the steps that we used to create the “rim” of our sink.
9
In the Right view, click-and-drag to place 8 points in the arrangement shown in the illustration below.
(Where the curve is located is not as important as the final shape.)
Select the Edge Extract tool, and when the Console prompts to “Pick a Surface,” select the Plane primitive
of our mirror.
At the Console prompt to “Pick Edges,” Ctrl-click on all 4 edges of the Plane and press the Spacebar to
extract a single curve from all of the edges.
Next the Console will prompt you to “Pick Extrusion Path Curve.” Select the Edge Extract curve by clicking
on any edge of the Plane primitive where it is located. This will complete the tool and create a “frame” that
follows the outside of the mirror.
We can now create and apply a basic Material for this surface while it is still selected. Open the Shading
panel (Ctrl-3 (Win) or -3 (Mac), if not already open) and change the Color component to be “Plain.”
For the color of the frame, change the Color parameter of the Plain shader type to be black or another dark,
warm color from your system color picker.
A quick Rendering of the scene as it is from our Perspective view will show that our stage is nearly set with
all the elements we need for a successful, realistic rendering. But we are still using the default light source!
Lighting is one of the most important parts of any good image, whether in a photographic studio or inside
solidThinking. We can use the lighting to add depth to a scene and to highlight the individual elements
inside it. In this case we will be adding lights to emphasize the Faucet that is the center of our focus.
While the Front view is active, select the Light tool from the Cam/Light tab of the Modeling Toolbar. The
Console will prompt you for the “Local Axis Origin,” or position of the Light. Click-and-drag in the Front
view to place the light object just above the top of the mirror on the right side of the Faucet.
In the Front view, click-and-drag the Target hotspot until it is just to the right of the Faucet assembly in the
center of our scene.
While the Spotlight is still selected, go to the Shading panel and click on the Spot component of this light
to view the adjustable parameters. Scroll down in these parameters and check the Shadows checkbox so
that this Spotlight will cast shadows as well as light.
Render the scene from the Perspective view and we will see a dramatic change to the look of our scene. It is
mostly dark again, but with the Faucet taking “center stage” under the spotlight. Although this is a dramatic
way to highlight our model, we will add some additional lights to make the scene look more “realistic.”
Press Ctrl-Spacebar to repeat the Light tool again, and click-and-drag in the Front view to place this new
light object just above the top of the mirror in the center of the scene.
In the Shading panel change the Light component of this light object to be the “Simple Sky” light type. This
light type simulates the ambient light of a skydome by placing a hemisphere of “virtual” lights around your
scene which add an even, light illumination (similar to the sky when you are outdoors).
This is where the advantages of 3D rendering over photography come into their own. In a photographic
studio you do not have to “render” your scene, only look through the viewfinder and press a button.
However, photographers must constantly be careful to arrange the shadows cast by their lights so that
nothing is distracting to their final image. Many times they will use “bounce cards” and “soft boxes” to get
the effect that an object does not cast a shadow. In 3D, all shadows take time to cast, so there is the option
to simply “turn them off ” on an object-by-object basis! This will not only give us a better image, but
shorten our rendering times as well! Shadow management is very important.
In the World Browser, click on the Layer icon for the active, “Scene Layer.” This will automatically select all
of the objects we have created in our scene around the Faucet. Once all of these objects are selected, press the
“Do Not Cast Shadows” button at the top of the World Browser. This will turn off all unneeded shadows!
Press Ctrl-Spacebar to repeat the Light tool one more time, and click-and-drag in the Right view to place
this light object just “in front of ” the sink and countertop, or to the left of them in this view.
In the Shading panel change the Light component of this light object to be a “Spot” light type like the first
light. Then, in the Parameters for this new spotlight, change the Intensity to be 0.6, and the Cone Angle to
be 160.
Press the Spacebar to enter the Edit Mode, and in the Front view, click-and-drag the Target “hotspot” of
this light to be completely horizontal and “facing” to the left of the Faucet.
While it is possible to correct for blown out Materials by reducing the lighting in the scene, in this case it
is only the Conductor-based materials that are showing up as “too bright.” All of the other shaders that
we have created with other Reflectance models and colors are just fine, and actually look pretty good.
Therefore, if we reduced the intensity of the lights our Conductor materials would improve, but at the
cost of the rest of our scene. It is best to go back and simply adjust the few Materials that are too bright.
With the Perspective view active, open the Shading panel and change the Object of the Material Preview
window to be “Current Camera” from the drop down menu. (If your Preview takes a long time to render due
to your processor speed, change the Resolution to “Coarse.”) This will give us immediate feedback as we
adjust certain shaders in relation to the lighting of our scene.
In the Plain shader parameters, change the Color by opening the system color picker and choosing a dark
grey with a slightly blue color. Save this new color to a “swatch” in your color picker for later.
Now select the handle surfaces and add a “Plain” Color component to it as well. When you edit the Color
parameter of this shader, simply choose the blue-grey swatch that you saved from the previous shader so that
the two materials match each other in color, but differ in roughness and reflectivity.
But how did we know to just add a color to our Material, as opposed to changing values of the Conductor
reflectance properties? The reflectance component controls how shading, reflections and specular
highlights are created on the surface of our object, but these effects are layered “on top” of the base color.
If only the specular highlights were too bright, and not the reflections, then that parameter alone should
be edited. In this case, all aspects of the Conductor reflectance model were too bright, so the underlying
color is the first thing to try. Plus, it is a component with only one parameter, which is easy to test.
We have completed the scene and lighting setup for our Faucet design, and we are ready to Render at a
higher resolution and possibly even use anti-aliasing. The size of your final rendering is up to you, but keep
in mind that an image twice the size of another will take four times as long, on average.
From the drop-down menu Render -> Render Options... open the Rendering Options panel (Ctrl-Shift-
R (Win) or -Shift-R (Mac)) and set the image resolution to 1024 x 768 pixels to view our scene at a
reasonable size.
However, at the end of this lesson on setting up and adjusting a photorealistic rendering, we recognize that
there are often times when photorealism is not desired. Frequently when something looks “too” realistic
we are reluctant to make changes to it, or we imagine that those changes will take as much time as with an
actual object (if your realism is good enough). These are the times when the non-photorealistic, or “sketch”
rendering styles in solidThinking will come in very handy.
In the Rendering Options panel, change the rendering Method to “Sketch Rendering.” Now open up the
Shading panel and click on the Image tab to display the Image Shader Tree.
RMB-click (Win) or -click (Mac) on the Sketch Style component to display the list of non-photorealistic
rendering styles available in solidThinking. Select the “Lines and Shadow” option and then Render the
Perspective view to see the result of this Sketch Style. This is a very different representation of our scene!
In conclusion we can see that setting up a realistic scene for our models is not necessarily hard work, but
does take some pre-planning and an understanding of how lights and material shaders interact. With
practice and time you will build up a Library of Materials and Models to aid you in producing very quick
and accurate results, but you will also build up an understanding of how to change parts of your scene to
better match realistic and non-photorealistic goals.
Ctrl Hold while picking multiple objects/points Ctrl Hold while picking multiple objects/points
Ctrl + Spacebar Recall last modeling tool activated Ctrl + Spacebar Recall last modeling tool activated
Ctrl + Enter Skip all console prompts + Enter Skip all console prompts
ESC Abort an active modeling tool ESC Abort an active modeling tool
Spacebar Toggle Object/ Edit mode Spacebar Toggle Object/ Edit mode
Alt + Spacebar Toggle Point/ Parameter Edit Option + Spacebar Toggle Point/ Parameter Edit
T Translate T Translate
R Rotate R Rotate
S Scale S Scale
Appendices 467
Appendix B - Index of Tools
Each tool is listed with the page on which that tool was either introduced, or where additional options for that
tool were introduced. Many of these tools also have associated Tips, which can be found in the next index.
A D I
Assign Materials, 71 Dynastep, 387, 392 Inspector, 31
Axis Align, 133, 253 Intersect CT, 210
E
B Edge Extract, 258, 318
Background, 166 Ellipse, 2-Axis, 339 L
Blend Surface, 103, 297, 345 Extrude, 43 Label Maps, 171
Boolean operator, 256 Lathe, 115, 261
F Layers, 355, 420, 423
C Fillet Curves, 273 Light object, 156
Circle, 78 Fillet Surface, 376 Line, Single, 269
Cube, 5 Loft, 341
Curvature Display, 340 G
Cylinder, 16, 25 Grid Snap, 40
Pathcast, 283
Pipe, 407 T
Plane, 161 Taper, 299
Rotate, 28
Appendices 469
Appendix C - Index of Tips
Tips are usually found within the tutorial or context in which they would have the most meaning, and tool-spe-
cific tips are typically located near the introduction of that tool. The name of the Tip used in this index may not
always be found within the Tip itself, but rather is a description of the toppic.
Appendices 471
Designed, Written,
and Illustrated by
Mark Banas
Appendices 473
NOTES
Appendices 475
NOTES