Rhino Level 2 Training Manual
Rhino Level 2 Training Manual
Rhino Level 2 Training Manual
Training Manual
Level 2
R30TML2-8-2004
Rhinoceros Level 2 Training Manual v3.0
© Robert McNeel & Associates 2004
All Rights Reserved.
Printed in U.S.A.
Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or
distributed for profit or commercial advantage. To copy otherwise, to republish, to post on servers, or to redistribute to lists requires prior specific permission.
Request permission to republish from: Publications, Robert McNeel & Associates, 3670 Woodland Park Avenue North, Seattle, WA 98103; FAX (206) 545-
7321; e-mail [email protected].
Table of Contents
Part One: Introduction ......................................................................1 Advanced Surfacing Techniques .................................................115
Introduction .......................................................................................3 Dome-shaped buttons 115
1 Introduction
This course guide accompanies the Level 2 training sessions in Rhinoceros. This course is geared to
individuals who will be using and/or supporting Rhino.
The course explores advanced techniques in modeling to help participants better understand how to
apply Rhino’s modeling tools in practical situations.
In class, you will receive information at an accelerated pace. For best results, practice at a Rhino
workstation between class sessions, and consult your Rhino reference manual for additional
information.
Duration:
3 days
Prerequisites:
Completion of Level I training, plus three months experience using Rhino.
2 Customizing Rhino
4 From the Toolbars dialog box File menu, click Save As.
5 Type Level 2 Training in the File name box, and click Save.
A copy of the current default toolbar collection has been saved under the new name. Toolbar
collections are saved with a .tb extension. You will use this new toolbar collection to do some
customization.
In the Toolbars dialog box all the open toolbar collections are listed along with a list of all the individual
toolbars for the selected toolbar collection. Check boxes show the current state of the toolbars. A
checked box indicates that the toolbar is displayed.
1 In the Toolbars dialog box, from the Toolbar menu, click New.
2 In the Toolbars Properties dialog box, name the toolbar Zoom, and click OK.
Another way to work with toolbars is to right-click in the title bar of a floating toolbar.
1 Hold down the Shift key and right-click the blank button in the new toolbar.
The Edit Toolbar Button dialog box appears with fields for commands for the left and right
mouse buttons, as well as for the tooltips.
2 In the Edit Toolbar Button dialog box, under Tooltips, in the Left box, type Zoom Extents
except lights.
3 In the Right box, type Zoom Extents except lights all viewports.
4 In the Left Mouse Button Command box, type ! SelNone SelLight Invert Zoom Selected
SelNone
5 In the Right Mouse Button Command box, type ! SelNone SelLight Invert Zoom All
Selected SelNone
1 In the Edit Toolbar Button dialog box, click the Edit Bitmap button.
The bitmap editor is a simple paint program that allows editing of the icon bitmap. It includes a
grab function for capturing icon sized pieces of the screen, and an import file function.
2 From the File menu, click Import Bitmap, and select the ZoomNoLights.bmp.
You can import any bitmap image of the correct pixel dimensions allowing you to make button
icons any bitmap images.
3 In the Edit Bitmap dialog box, make any changes to the picture, and click OK.
Double-click on the color swatches below the standard color bar to access the Select Color dialog
for more color choices.
You will notice that it ignores the lights when doing a zoom extents.
You can enter the commands or command combinations in the appropriate boxes, using these
rules:
A space is interpreted as Enter. Commands do not have spaces (for example, SelLight) but you
must leave a space between commands
If your command string refers to a file, toolbar, layer, object name, or directory for which the path
includes spaces, the path, toolbar name, or directory location must be enclosed in double-quotes.
View manipulation commands like Zoom can be run in the middle of other commands. For
example, you can zoom and pan while picking curves for a loft. An '(apostrophe) prior to the
command name indicates that the next command is a nestable command.
Rhino can be localized in many languages. The non-English versions will have commands,
prompts, command options, dialog boxes, menus, etc., translated into their respective languages.
English commands will not work in these versions. For scripts written in English to work on all
computers (regardless of the language of Rhino), the scripts need to force Rhino to interpret all
commands as English command names, by using the underscore.
All commands are now scriptable at the command line (even commands that have dialog boxes by
default). To suppress the dialog box and use command-line options, prefix the command name
with a hyphen (-).
User input and screen picks are allowed in a macro by putting the Pause command in the macro.
Commands that use dialog boxes, such as Revolve, do not accept input to the dialog boxes from
macros. Use the hyphen form of the command (-Revolve) to suppress the dialog box and control
it entirely from a macro.
Note: The rules above also apply to scripts run using the ReadCommandFile command and pasting
text at the command prompt. More sophisticated scripting is possible with the Rhino Script
plug-in, but quite a lot can be done with the basic commands and macro rules. Some useful
commands to are: SelLast, SelPrev, SelName, Group, SetGroupName, SelGroup,
Invert, SelAll, SelNone, ReadCommandFile, and SetWorkingDirectory.
Now the Zoom Extents button has a small white triangle in the lower right corner indicating it
has a linked toolbar.
3 Click and hold the Zoom Extents button to fly out your newly created single button toolbar.
If you close the Zoom toolbar you just created, you can always re-open it using the linked button.
1 Hold the Ctrl key and move your mouse to the button on the far right of the Standard toolbar.
The tooltip indicates that left-click and drag will copy the button and right-click and drag will link
the button in another toolbar.
4 Hold down the Shift key and right-click on the button you copied to edit the button.
5 In the Edit Toolbar Button dialog box, under Linked toolbar in the Name list, select Main1.
6 Delete all the text in the boxes for both left and right mouse button commands.
9 In the Edit Bitmap dialog box, clear the image, then make a simple icon like the example below.
10 Close all the dialog boxes and return to the Rhino window.
The Main toolbar flies out instantly and is available. This allows the viewports to be larger than
when the Main1 toolbar was docked on the side.
13 Fly out the Main toolbar and tear it off, so it is displayed (floating).
1 Hold the Shift key and right click the Copy button on the Main1 toolbar.
2 In the Edit Toolbar Button dialog box, in the Right Mouse Button Command box, type ! Copy
Pause InPlace Copy
3 In the Edit Toolbar Button dialog box, in the Right Tooltip box, type Duplicate.
This button will allow you to duplicate objects in the same location. We will use this command
several times during the class.
4 Select one of the objects in the model and right click on the Copy button.
5 Move the selected object so that you can see the duplicate.
3 In the Rhino Options dialog box, on the Aliases page, add aliases and command strings or
macros.
When making aliases, use keys that
are close to each other or repeat
the same character 2 or 3 times, so
they will be easy to use.
We will make aliases to mirror selected objects vertically and horizontally across the origin of the
active construction plane. These are handy when making symmetrical objects built centered on
the origin.
5 Type mv in alias column. Type Mirror pause 0 1,0,0 in the command macro column.
7 Type mh in alias column. Type Mirror pause 0 0,1,0 in the command macro column.
8 Select some geometry and try the new aliases out. Type mh or mv and press Enter.
If no objects are pre-selected, the Pause in the script prompts you to select objects, and a second
Enter will complete the selection set.
1 From the Tools menu, click Commands, then click Import Command Aliases.
2 In the Rhino Options dialog box, on the Keyboard page, you can add command strings or
macros.
This shortcut will make it easy to toggle the state of running object snaps.
Plug-ins
Plug-ins are programs that extend the functionality of Rhino.
Several plug-ins are included and automatically install with Rhino. Many others are available for
download from the Rhino website.
A Bonus Tools plug-in is available for download from:
http://www.rhino3d.com/download.htm Plug-in Manger
To load a plug-in:
3 In the Load Plug-In dialog box, navigate to the Plug-ins folder, and click one of the *.rhp files.
To load a script:
4 In the Load RhinoScript dialog box, highlight CurrentModelInfo.rvb, then click Load.
5 Save the current model. If you don’t have a saved version of the model, no information is
possible.
3 Right click on the Title bar of the File toolbar, then click Add Button from the popup menu.
4 To edit the new button, hold down the Shift key and right-click on the new button that appeared
in the Layer toolbar.
5 In the Edit Toolbar Button dialog box, in the Left Tooltip, type Current Model Information.
10 In the Edit Bitmap dialog box, from the File menu, click Import, and Open the
CurrentModelInfo.bmp, then click OK.
Template files
A template is a Rhino model file you can use to store basic settings. Templates include all the
information that is stored in a Rhino 3DM file: objects, grid settings, viewport layout, layers, units,
tolerances, render settings, dimension settings, notes, etc.
You can use the default templates that are installed with Rhino or save your own templates to base
future models on. You will likely want to have templates with specific characteristics needed for
particular types of model building.
The standard templates that come with Rhino have different viewport layouts or unit settings, but no
geometry, and default settings for everything else. Different projects may require other settings to be
changed. You can have templates with different settings for anything that can be saved in a model
file, including render mesh, angle tolerance, named layers, lights, and standard pre-built geometry.
The New command begins a new model with a template (optional). It will use the default template
unless you change it to one of the other templates or to any other Rhino model file.
The SaveAsTemplate command creates a new template file.
To change the template that opens by default when Rhino starts up, choose New and select the
template file you would like to have start when Rhino starts, then check the Use this file when
Rhino starts box.
To create a template:
3 From the Render menu, click Current Renderer, then click Rhino Render.
9 Open the Layers dialog box and rename Layer 05 to Lights, Layer 04 to Curves, and Layer 03
to Surfaces.
11 To make the Curves layer the only visible layer, from the Edit menu, click Layers, then click
One Layer On. then select the Curves layer.
12 From the File menu, click Save As Template and navigate to the templates directory.
One Layer ON
Name the template Inches_SmallProduct_001.3dm.
This file with all of its settings is now available any time you start a new model. You should make
custom templates for the kind of modeling that you do regularly to save set up time.
3 In the Template File dialog box, check the Use this file when Rhino starts checkbox.
3 NURBS Topology
NURBS surfaces always have a rectangular topology. Rows of surface points and parameterization are
organized in two directions, basically crosswise to each other. This is not always obvious when
creating or manipulating a surface. Remembering this structure is useful in deciding which strategies
to use when creating or editing geometry.
Exercise 3 - Topology
This exercise will demonstrate how NURBS topology is organized and discuss some special cases
that need to be considered when creating or editing geometry.
There are several surfaces and curves visible on the current layer.
2 Turn on the control points of the simple rectangular plane on the left.
It has four control points, one at each corner—this is a simple untrimmed planar surface that
shows the rectangular topology. Control Points On
3 Now turn on the control points of the second, more curvy surface.
There are many more points, but it is clear that they are arranged in a rectangular fashion.
Show Edges
9 With the Point object snap on, Zoom Target very tight in on one of the poles of the sphere.
11 In the Smooth dialog box, uncheck Smooth Z, then click OK. Smooth
A hole appears at the poles of the sphere.
To select points:
Select U
This surface has been trimmed out of a much larger surface. The underlying four sided surface
data is still available after a surface has been trimmed, but it is limited by the trim curves (edges)
on the surface.
Control points can be manipulated on the trimmed part of the surface or the rest of the surface,
but notice that the trimming edges also move around as the underlying surface changes. The trim
curve always stays on the surface.
1 Start the Untrim (Surface menu: Surface Edit Tools > Untrim) command.
2 At the Select boundary to detach prompt, select the edge of the surface.
Untrim
1 Start the Untrim command with the KeepTrimObjects option set to Yes (Surface menu: Surface
Edit Tools > Detach Trim).
2 At the Select boundary to detach prompt, select the edge of the surface.
Detach Trim
1 Start the ShrinkTrimmedSrf command (Surface menu: Surface Edit Tools > Shrink Trimmed
Surface).
2 At the Select trimmed surfaces to shrink prompt, select the surface and press Enter to end Shrink Trimmed Surface
the command.
4 Curve Creation
We will begin this part of the course by reviewing a few concepts and techniques related to NURBS
curves that will simplify the learning process during the rest of the class. Curve building techniques
have a significant effect on the surfaces that you build from them.
Curve degree
The degree of a curve is related to the extent of the influence a single control point has over the
length of the curve.
For higher degree curves, the influence of any single point is less in a specific part of the curve but
affects a longer portion of the curve.
In the example below, the five curves have their control points at the same six points. Each curve has
a different degree. The degree can be set with the Degree option in the Curve command.
2 Use the Curve command (Curve menu: Free-Form > Control Points) with Degree set to 1, using
the Point object snap to snap to each of the points. Curve
3 Use the Curve command with Degree settings of 2, 3, 4, and 5 to create four more curves. Use
the Point object snap to snap to each of the points.
Not continuous
The curves or surfaces do not meet at their end points or edges. Where there is no continuity,
the objects cannot be joined.
Positional continuity means that there is a kink at the point where two curves meet. The curves
can be joined in Rhino into a single curve but there will be a kink and the curve can still be
exploded into at least two sub-curves. Similarly two surfaces may meet along a common edge
but will show a kink or seam, a hard line between the surfaces. For practical purposes, only the
end points of a curve or the last row of points along an edge of an untrimmed surface need to
match to determine G0 continuity.
Tangency is the direction of a curve at any particular point along the curve. Where two curves
meet at their endpoints the tangency condition between them is determined by the direction in
which the curves are each heading exactly at their endpoints. If the directions are collinear, then
the curves are considered tangent. There is no hard corner or kink where the two curves meet.
This tangency direction is controlled by the direction of the of a line between the end control
point and the next control point on a curve. In order for two curves to be tangent to one
another, their endpoints must be coincident (G0) and the second control point on each curve
must lie on a line passing through the curve endpoints. A total of four control points, two from
each curve, must lie on this imaginary line.
Curvature Continuity includes the above G0 and G1 conditions and adds the further
requirement that the radius of curvature be the same at the common endpoints of the two
curves. Curvature continuity is the smoothest condition over which the user has any direct
control, although smoother relationships are possible.
Note: There are higher levels of continuity possible. For example, G3 continuity means that not only
are the conditions for G2 continuity met, but also that the rate of change of the curvature is
the same on both curves or surfaces at the common end points or edges. G4 means that the
rate of change of the rate of change is the same. Rhino has tools to build such curves and
surfaces, but fewer tools for checking and verifying such continuity than for G0-G2.
There are five sets of curves, divided into two sets (a & c) that have tangency (G1) continuity at
their common ends two sets (b & d) that have or curvature (G2) continuity at their common
endpoints, and one set that has positional (G0) continuity.
Set the scale in the floating dialog to 100 for the moment.
The depth of the graph at this setting shows, in model units, the amount of curvature in the curve.
These have two straight lines and a curve in between. The lines do not show a curvature graph—
they have no curvature.
The G1 middle curve is an arc. It shows a On G2 curves, the graph ramps up from zero to
constant curvature graph as expected because some maximum height along a curve and then
the curvature of an arc never changes, just as slopes to none, or zero curvature again on the
the radius never changes. other straight line.
The image on the left above shows what is meant by the curvature not being continuous—the
sudden jump in the curvature graph indicates a discontinuity in curvature.
Nevertheless the line-arc-line are smoothly connected. The arc picks up the exact *direction* of
one line and then the next line takes off at the exact direction of the arc at its end.
On the other hand the G2 curves (b) again show no curvature on the lines, but the curve joining
the two straights is different from the G1 case. This curve shows a graph that starts out at zero—it
comes to a point at the end of the curve, then increases rapidly but smoothly, then tails off again
to zero at the other end where it meets the other straight. It is not a constant curvature curve and
thus not a constant radius curve. The graph does not step up on the curve, it goes smoothly from
zero to its maximum. Thus there is no discontinuity in curvature from the end of the straight line
to end of the curve. The curve starts and ends at zero curvature just like the lines have. So, the
G2 case not only is the direction of the curves the same at the endpoints, but the curvature is the
same there as well—there is no jump in curvature and the curves are considered G2 or curvature
continuous.
These are also G1 and G2 but are not straight lines so the graph shows up on all of the curves.
Again, the G1 set shows a step up or down in On G2 curves, the graph for the middle curve
the graph at the common endpoints of the shows the same height as the adjacent curves
curves. This time the curve is not a constant at the common endpoints—there are no abrupt
arc—the graph shows that it increases in steps in the graph. The outer curve on the
curvature out towards the middle. graph from one curve stays connected to the
graph of the adjacent curve.
1 Start the Curvature command (Analyze menu>Curvature circle) and select the middle curve in
set c.
The circle which appears on the curve indicates the radius of curvature at that location—the circle
which would result from the center and radius measured at that point on the curve.
Notice that where the circle is the smallest, the graph shows the largest amount of curvature. The
curvature is the inverse of the radius at any point.
Slide the circle and snap to an endpoint of the curve and Click to place a curvature circle.
The two circles have greatly different radii. Again this indicates a discontinuity in curvature.
Notice that this time the circles from each curve at the common endpoint are the same radius.
These curves are curvature continuous.
Notice that while the curvature graph changes greatly, the continuity at each end with the
adjacent curves is not affected.
The G1 curve graphs stay stepped though the The G2 curve graphs stay connected though
size of the step changes. there is a peak that forms there.
Notice that there is a gap in the graph—this The curvature circles, on the common
indicates that there is only G0 or positional endpoints of these two curves, are not only
continuity. different radii, but they are also not be tangent
to one another—they cross each other. There is
a discontinuity in direction at the ends.
The two curves are clearly not tangent. Verify this with the continuity checking command GCon.
2 Start the GCon command (Analyze menu: Curve > Geometric Continuity).
Geometric Continuity
3 Click near the common ends (1 and 2) of each curve.
1 Turn on the control points for both curves and zoom in on the common ends.
2 Turn on the Point object snap and drag one of the end points onto the other.
Rhino has a tool for making this adjustment automatically in the Match command.
1 To try this, start the Match command (Curve menu: Curve Edit Tools > Match).
Match
2 At the Select open curve to change - pick near end prompt, pick near the common end of one
of the curves.
3 At the Select open curve to match - pick near end ( SurfaceEdge ) prompt, pick near the
common end of the other curve.
By default the curve you pick first will be the one that is modified to match the other curve. You
can make both curves change to an average of the two by checking the Average Curves option
in the following dialog box.
First, we will create some aliases that will be used in this exercise.
Along and Between are one-time object snaps that are available in the Tools menu under Object
snaps. They can only be used after a command has been started and apply to one pick. We will Along
create new aliases for these object snaps.
1 In the Rhino Options dialog box on the Aliases page click the New button, and then type a in
the Alias column and Along in the Command macro column.
2 Type b in the Alias column, and Between in the Command macro column. Between
3 Close the Rhino Options dialog box.
2 Select the control point (1) second from the end of one of the curves.
4 Using the Point osnap, select the common end points (0) of the two curves as the center of
rotation. As a first reference point, snap to the current location of the selected control point.
During rotation the tab direction lock knows to The rotation end point will be exactly in line
make the line from the center and not from the with the center of rotation and the second point
first reference point. on the second curve.
5 Use the Move command (Transform menu: Move) to move the points.
6 At the Point to move from ( Vertical ) prompt, snap to the same point (1).
Move
7 At the Point to move to prompt, type b and press Enter to use the Between object snap.
8 At the First point prompt, select the second point (2) on one curve.
The common points are moved in between the two second points, aligning the four points.
To change the continuity by adjusting control points using the Along object snap:
3 Use the Move command (Transform menu: Move) to move the point.
4 At the Point to move from ( Vertical ) prompt, snap to the point (2 or 3).
6 At the Start of tracking line prompt, snap to the second point (3 or 2) on the other curve.
7 At the End of tracking line prompt, snap to the common points (1).
The point tracks along a line that goes through the two points, aligning the four points. Click to
place the point.
1 Window select the common end points or either of the second points on either curve.
Turn on the Point osnap and drag the point to the next one of the four critical points.
G1 continuity can be maintained by
making sure that any point
manipulation of the critical four
points takes place along the line on
which they all fall.
Once you have G1 continuity you
can still edit the curves near their
ends without losing continuity, using
the Tab direction lock.
This technique only works after
tangency has been established.
Now you can drag the point and the tangency will be maintained since the points are constrained
to the Tab direction lock line. Release the left mouse button at any point to place the point.
3 Release the left mouse button at any point to place the point.
When you use Match with Curvature checked on these particular curves, the third point on the
curve to be changed is constrained to a position calculated by Rhino to establish the desired
continuity..
1 Right click on the Copy button to make a duplicate of the magenta curve and then Lock it.
4 At the Select point to move ( PreserveCurvature=Yes ) prompt, select the third point and drag it
and click to place the point, and the press Enter to end the command.
Adding a knot or two to the curve will put more points near the end so that the third point can be
nearer the end. Knots are added to curves and surfaces with the InsertKnot command.
3 At the Select curve or surface for knot insertion prompt, select the red curve.
4 At the Point on curve to add knot ( Automatic Symmetrical=No ) prompt, pick a location on
the curve to add a knot in between the first two points.
The Automatic option automatically
In general a curve or surface will tend to inserts a new knot exactly half way
behave better in point editing if new knots are between each span between
placed midway between existing knots, thus existing knots.
maintaining a more uniform distribution. If you only want to place knots in
some of the spans, you should
Adding knots also results in added control
place these individually by clicking
points.
on the desired locations along the
They are not the same thing and the new curve.
control points will not be added at exactly the Existing knots are highlighted in
new knot location. white.
5 Match the curves after inserting a knot into the red curve.
Inserting knots closer to the end of curves will change how much Match changes the curve.
5 Surface Continuity
The continuity characteristics for curves can also be also applied to surfaces. Instead of dealing with
the end point, second, and third points, entire rows of points at the edge, and the next two positions
away from the edge are involved. The tools for checking continuity between surfaces are different
from the simple GCon command.
Note: An OpenGL graphics accelerator card is not necessary to use these tools, although they may
work faster with OpenGL acceleration.
3 Start the MatchSrf command (Surface menu: Surface Edit Tools > Match).
4 At the Select untrimmed surface edge to change prompt, select the edge of the white surface
nearest the black surface. Match Surface
5 At the Select target surface edge prompt, select the edge of the black surface nearest the white
surface.
Make sure the boxes for Average surfaces, Match edges by closest points, and Preserve
opposite end are unchecked.
Click OK.
Match Surface Options
Average surfaces Isocurve direction adjustment
1 Check the surfaces with Zebra analysis tool (Analyze menu: Surface > Zebra).
This command relies on a mesh approximation of the surface for its display information.
Zebra
2 If the display shows very angular stripes rather than smooth stripes on each surface, click the
Adjust mesh button on the Zebra dialog.
For this type of mesh it is often easiest to zero out (disable) the Maximum angle setting and rely
entirely on the Minimum initial grid quads setting.
This number can be quite high but may depend upon the
geometry involved.
In this example, a setting here of 5000 to 10000 will generate a
very fine and accurate mesh.
4 The analysis can be further improved by joining the surfaces to be tested. This will force a
refinement of the mesh along the joined edge and help the Zebra stripes act more consistently.
1 Use the MatchSrf command (Surface menu: Surface Edit Tools > Match) again with the
Tangency option.
When you pick the edge to match you will get direction arrows that indicate which surface edge is
being selected. The surface that the direction arrows are pointing toward is the surface whose
edge is selected
1 Use the MatchSrf command (Surface menu: Surface Edit Tools > Match) with the Curvature
option.
Note: Doing these operations one after the other may yield different results than going straight to
Curvature without first using position. This is because each operation changes the surface near
the edge, so the next operation has a different starting surface.
2 Use the InsertKnot command to insert a row of knots near each end of the white surface.
When this command is used on a surface, it has more options. You can choose to insert a row of
knots in the U-direction, the V-direction, or both. Choose Symmetrical to add knots at opposite
ends of a surface.
The EndBulge command lets you edit the shape of a surface without changing the tangent direction
and the curvature at the edge of the surface. This is useful when you need to alter the shape of a
surface that has been matched to another surface.
EndBulge allows you to move control points at a specified location on the surface. These points are
constrained along a path that keeps the direction and curvature from changing.
The surface can be adjusted equally along the entire selected edge or along a section of the edge. In
this latter case, the adjustment takes place at the specified point and tapers out to zero at either end
of the range. Either the start or end point of the range can be coincident with the point to adjust, thus
forcing the range to be entirely to one side of the adjustment point.
2 At the Select curve or surface edge to adjust prompt, pick the edge of the white surface.
3 At the Point to edit prompt, pick a point on the edge at which the actual adjustment will be
controlled.
To select a range at this point, slide the cursor along the edge and click at the beginning and end
points of the range. If the whole edge is to be adjusted equally, simply press Enter.
6 At the Pick new point location ( PreserveCurvature=Yes ) prompt, drag the point and click.
• NetworkSrf
• Sweep2
• Patch (G1 only)
• Loft (G1 only)
• BlendSrf (G1 or G2)
The following exercises will provide a quick overview of these commands.
On the Surfaces layer there are two joined surfaces which have been trimmed leaving a gap. This
gap needs to be closed up with continuity to the surrounding surfaces.
The NetworkSrf dialog box allows you to specify the desired continuity on edge curves which Surface from Curve Network
have been selected.
Note that there is a maximum of four edge curves as input. You can
also specify the tolerances or maximum deviation of the surface from
the input curves. By default the edge tolerances are the same as the
model's Absolute Tolerance setting. The interior curves' tolerance is set
10 times looser than that by default.
4 Change the Interior curves settings to 0.01. Choose Curvature continuity for all the edges.
1 Use the OneLayerOn command to open the Surfaces layer by itself again and then left click in
the layers panel of the status bar and select the Sweep2 layer.
2 Start the Sweep2 command (Surface menu: Sweep 2 Rails) and select the long surface edges as
the rails.
Sweep along 2 Rails
3 Select one short edge, the cross-section curves and the other short edge as profiles.
Since the rails are surface edges, the display labels the edges, and the
Sweep 2 Rails Options dialog box gives the option of maintaining
continuity at these edges.
The Patch command builds a trimmed surface, if the bounding curves form a closed loop, and can
match continuity to G1 if the bounding curves are edges.
3 Select the edge curves and the interior curves, and then press Enter.
The finished surface does not appear to be very smooth. There are a
number of settings available for adjusting the surface accuracy. We
will make some changes and repeat the command.
6 In the Patch Options dialog box, change the Surface U and V spans to 17, then click OK.
The finished surface appears has more isocurves but isn’t much
smoother.
8 Use the Patch command and select the same edges and curves.
9 In the Patch Options dialog box, change the Sample point spacing to .01, then click OK.
If there are naked edges between the new patch surface and the existing polysurface the settings
may need to be further refined.
Patch can use point objects as well as curves and surface edges as input. This exercise will use point
and edge inputs to demonstrate how the Stiffness setting works.
2 Start the Patch command (Surface menu: Patch) and select the two point objects and the top
edge of the surface as input.
4 To get a good view of the two point objects, make the Front viewport the active viewport and set
it to a wireframe view.
With lower setting for stiffness the surface fits through the points while maintaining tangency at
the surface edge. This can show abrupt changes or wrinkles in the surface.
With higher stiffness settings, the patch surface is made stiffer and it may not pass through the
input geometry. On the other hand the surface is less apt to show abrupt changes or wrinkles, is
often making a smoother, better surface. With very high stiffness numbers, the edges also may
have a tendency to pull away from the intended input edges.
The Loft command also has built in options for surface continuity.
3 At the Select curves to loft ( Point ) prompt, select the lower edge curve, the lower curve, the Loft
upper curve, and then the upper edge curve.
Check Match start tangent, Match end tangent, and Do not simplify.
The next command that pays attention to continuity with adjoining surfaces is BlendSrf.
3 Select an edge along the left edge of the polysurface at the top.
4 Try each until you get the entire long edge of the polysurface selected.
5 When all the desired edges are selected on the upper polysurface, press Enter .
While this dialog is available, you can adjust the bulge of the blend either with
the sliders or by entering numbers.
7 Additional cross sections can be added at this stage by clicking on each edge in turn.
You can add as many cross-sections as necessary. In this case there is no advantage to adding
sections, so you can accept the default.
Since the small piece at the end is included the resulting surface is a polysurface due to the kink
introduced by this edge.
In the following exercise we will first make a surface blend that creates a self-intersecting surface.
Then we will use the surface blend options to correct the problem.
2 Start the BlendSrf command (Surface menu: Blend Surface) and select the deeply curved edges
of the pair of surfaces marked 0.
Look closely at the middle of the blend surface in this view using a wireframe viewport. Notice the
blend has forced the surface to be self-intersecting in the middle. The isocurves cross each other
and make a pinch or crease here.
1 Start the BlendSrf command and select the edges of the pair of surfaces marked 1.
Adjust the sliders to make the bulge of the surface less than 1. A number between .5 and .8
seems to work best.
The profiles of the cross sections at each end of the blend as well as any you may add between
will update to preview the bulge. Notice that the surface is not pinched in the middle.
Leave the Bulge at 1.0, but check the Same height shapes button.
The Same height shapes button overrides the tendency of the blend surface to get fatter or
deeper according to how far apart the edges are. The height will be the same in the center as it is
at each end. This also has the effect of making the sections of the blend push out less and
therefore not cross each other out in the middle area.
You are now asked to define which plane the sections of the surface should be parallel to. This is
defined by clicking two points in any viewport.
Click once anywhere in the Top viewport, then with Ortho on, click again in the Top viewport in
the direction of the Y axis.
The resulting surface has it's isocurves arranged parallel to the plane defined in the
PlanarSections portion of the command. The isocurves do not intersect in the middle of the
surface since they are parallel the Y axis.
2 Use the FilletEdge command (Solid menu: Fillet Edge) to fillet edge (1) with a radius of 5, edge
(2) with a radius of 3, and edge (3) with a radius of 2.
Fillet Edge
Extract Surface
4 Use the Blend command (Curve menu: Blend Curves), to create curves between the edge curves
of the smaller fillet surfaces.
Note: The blend curves will not actually touch the fillet surface precisely. The blend curve is not an
arc like the fillet surface cross-section. You may have to pull the curve to the surface before
trimming or use the Split command.
6 Use the Trim command to trim the surfaces with the blend and the pull curve.
7 Use the NetworkSrf command (Surface menu: Curve Network) to fill the hole.
8 At the Select curves in network ( NoAutoSort ) prompt, select the edge curves.
10 In the Surface From Curve Network dialog box, select Tangency for all four edges.
11 Join the surfaces and check the polysurface for naked edges.
2 Use the Circle command with the AroundCurve option to create circles of different radius around
the bottom edge of the sole. Circle: Around Curve
3 Use the SelLayer command (Edit menu: Select Objects > By Layer...) to select the curve and the
circles.
Select Layers
4 Start the Sweep1 command (Surface menu: Sweep 1 Rail) to make a variable radius pipe around
the edge.
5 In the Sweep 1 Rail Options dialog box, check Do not simplify and Closed sweep, and then
click OK.
7 Trim the sidewall and the bottom with the swept surface.
8 Turn off the Curve Layer and change to the Fillet layer.
Note: You may have to merge the edges (Analyze menu: Edge Tools > Merge Edge) of the trimmed
surfaces before you blend. It helps to hide the other surfaces while you merge the edges. Merge Edge
9 Use the BlendSrf command (Surface menu: Blend Surface) to make the variable fillet.
Blend Surface
The edges being blended are closed loops. If the edges you pick do not form two closed loops
around the shoe click on the All option on the command line to complete the loop. You may want
to add cross section curves during the BlendSrf command in order to control the surface.
3 Use the Patch command (Surface menu: Patch) to fill in the opening at the center.
Patch
4 Select all six edges to define the patch.
5 In the Patch Options dialog box, check Adjust Tangency and Automatic Trim. Change the
Surface U and V Spans to 15, and the Stiffness to 2.
There are several ways to approach making a soft top like the illustration below. Often, the curves
you start with are made up of a series of arcs.
In this exercise we explore two different methods to make the surfaces using the same underlying
curves.
4 Use the Sweep1 command (Surface menu: Sweep 1 Rail) to make the first surface.
5 Use the Sweep1 command (Surface menu: Sweep 1 Rail) to make the second surface.
6 At the Select Rail prompt, pick the top edge of the surface you just created, then select the
cross-sections in order, and press Enter.
7 In the Sweep 1 Rail Options dialog box, change the Style to Align with surface, then click OK.
Patch
To make a rectangular shape with a curved top and soft corners (Part 2):
1 Change to the 02 Separate Curves layer and turn the 03 Sweeps layer off.
2 Use the Extend command with the Arc option (Curve menu: Extend Curve > By Arc to a Point) to
extend each of the curves as shown below.
3 At the End of extension. Press Enter to use the radius of curvature of the curve prompt,
press Enter.
Each arc should be extended at each end using the existing arc radius.
Because the object is symmetrical, it is only necessary to extend one of each type of arc. Each
surface can be made once from these curves and mirrored.
In the front or right view, create horizontal lines snapping to the end of the shortest arc and
crossing the taller one. Repeat this at the lower ends of the arcs.
Use the lines to trim the longer of the two arcs. Delete the lines.
Now the surfaces created in the following steps from these arcs will have the same vertical
dimensions and can trim one another.
Use the center of the base curve as the center of rotation to rotate each of the extended arcs, as
shown above.
Rotate the arc from the intersection between the two arcs.
Rotate the arc to the end of the other arc. This insures that the rotated arc is perpendicular to the
other arc at the end.
9 Use the Sweep1 command (Surface menu: Sweep 1 Rail) to make the two vertical surfaces.
When the sweep is made the surface will be perpendicular to the arc at both ends.
10 Use the MH and MV aliases you made on the first day to Mirror each of the surfaces around the
origin.
12 Use the Trim command (Edit menu: Trim) to trim the ends of the intersecting surfaces.
14 Use the FilletEdge command (Solid menu: Fillet Edge) to fillet the four vertical edges with a
15mm radius.
15 Use the FilletEdge command (Solid menu: Fillet Edge) to fillet the top edges with a 10mm
radius.
There is an infinite number of complex and tricky surfacing problems. In this chapter we will look at
several 'tricks' that help in getting certain types of surfaces built cleanly. The goal, apart from showing
you a few specific techniques used in these examples, is to suggest ways in which the Rhino tools can
be combined creatively to help solve surfacing problems.
In this chapter you will learn to make soft domed button shapes, creased surfaces, and how to use
curve fairing techniques.
Dome-shaped buttons
The surfacing goal in this exercise is to create a dome on a shape like a cell phone button where the
top must conform to the general contour of the surrounding surface but maintain its own shape as
well. There are a number of ways to approach this; we will look at three methods.
The key to this exercise is defining a custom construction plane that represents the closest plane
through the area of the surface that you want to match. Once you get the construction plane
established, there is a variety of approaches available for building the surface.
There are several ways to define a construction plane. In this exercise we will discus three
methods: construction plane through three points, construction plane perpendicular to a curve,
and fitting a plane to an object.
2 Use OneLayerOn to turn on the Surfaces to Match layer to see the surface that determines the
cut of the button.
1 Start the CPlane command with the 3Point option (View menu: Set CPlane > 3 Points).
2 In the Perspective viewport, using the Near object snap, pick three points on the edge of the
trimmed hole. Set CPlane: 3 Points
3 Rotate the Perspective viewport to see the grid aligned with the surface.
With a line normal to a surface and a construction plane perpendicular to that normal line, you can
define a tangent construction plane at any given point on the surface.
1 Start the CPlane command with the Previous option (Viewport title right-click menu: Set CPlane Set CPlane: Previous
> Previous).
2 Use the Line command with the Normal option (Curve menu: Line > Normal to Surface) to draw
a line normal to the surface at a point near the center of the trimmed hole.
Note that the command recognizes the underlying surface there even though it is trimmed away.
Surface Normal
3 Start the CPlane command with the Curve option (View menu: Set CPlane > Perpendicular to
Curve)
5 At the CPlane origin prompt, use the End object snap and pick the end of the normal where it
intersects the surface.
Set CPlane: Perpendicular to Curve
Using the PlaneThroughPt command to create a surface through a sample of extracted point
objects will generate a plane that best fits the points. The CPlane command with the Object
option places a construction plane with its origin on the center of the plane. This is a good choice
in the case of the button in this file. There are several curves from which the points can be
extracted the edge of the button itself, or from the trimmed hole in the surrounding surface.
1 Start the CPlane command with the Previous option (Viewport title right-click menu: Set CPlane
> Previous).
3 Use the DupEdge command (Curve menu: Curve From Objects > Duplicate Edge) to duplicate
the top edge of the button.
Duplicate Edge
Divide
7 Use the PlaneThroughPt command (Surface menu: Plane > Through Points) with the selected
points.
9 Use the CPlane command with the Object option (View menu: Set CPlane > To Object) to align
the construction plane with the plane.
Set CPlane: To Object
10 From the View menu, click Named CPlanes, then click Save to save and name the custom
construction plane.
11 In the Name of CPlane dialog box, type Button Top and click OK. Save CPlane
3 At the Select curves to loft ( Point ) prompt, type P and press Enter.
4 At the End of lofted surface prompt, make sure the view that has the custom Cplane is the
current view, then type 0 (zero) and press Enter.
The loft will end at a point in the middle of the plane, which is the origin of the construction plane.
With the Loose option, the control points of the input curves become the control points of the
resulting surface, as opposed to the Normal option, in which the lofted surface is interpolated
through the curves.
Select one point and use SelV or SelU to select the whole ring of points.
9 Use the SetPt command (Transform menu: Set Points) to set the points to the same Z-elevation
as the point in the center.
Remember, this elevation is relative to the current construction plane. Set Points
10 In the Set Points dialog box, check the Z box only and Align to CPlane option.
Aligning a row of points with the central point makes a smooth top on the button.
12 In the Perspective viewport, use the Viewport title right-click menu and select Set CPlane >
World Top.
Set CPlane: World Top
1 Use the DupEdge command to duplicate the top edge of the surface.
4 Use the PlaneThroughPt command with the selected points, then delete the points like the
previous exercise.
5 Use the CPlane command with the Object option to set the construction plane to the planar
surface.
6 Make a circle or ellipse centered on the origin of the custom construction plane.
Patch
8 Join the surfaces and use the FilletEdge command to soften the edge.
9 Undo back to before the Patch, move the ellipse down, and repeat the command.
1 Use the DupEdge command to duplicate the top edge of the surface.
4 Use Line with the Vertical option to make a line of any convenient length from the origin of the
construction plane down towards the button surface.
6 Use the Intersect command (Curve menu: Curve From Objects > Intersection) to find the
intersection between the extended line and the rectangular surface.
9 At the Select profile curve ( ScaleHeight ) prompt, type S and press Enter.
Rail Revolve
10 Select the profile curve (1), the top edge of the surface (2) as the path curve, and the ends of the
normal (3 and 4) as the axis for the revolve.
Another option would be to not bother to make the profile curve tangent. With this method you
would fillet the edge to soften it.
4 Use the Loft command to make a surface from the three curves.
Loft
5 We are going to make a surface that includes all the curves but has a crease along the middle
curve. Use the middle curve to Split the resulting surface into two pieces.
6 Use the ShrinkTrimmedSrf command (Surface menu: Surface Edit Tools > Shrink Trimmed
Surface) on both surfaces.
The dummy surface will be made from one or more line segments along the bottom edge of the
top surface that are set at varying angles to it.
To get a line that is not tangent but is at a given angle from tangent, the easiest method is to use
the transform tools to place the line tangent and then to rotate it by the desired increment.
3 Start the OrientCrvToEdge command (Transform menu: Orient > Curve To Edge).
6 At the Pick target edge point prompt, snap to the other endpoint of the edge.
7 At the Pick target edge point prompt, snap to the other endpoint.
10 Select the line segment and start the Rotate command. Set the center of rotation at the origin of
the new custom Cplane. Rotate the segment 10 degrees.
12 Use the Sweep1 command (Surface menu: Sweep 1 Rail) to create the dummy surface.
13 Select the lower edge of the upper surface as the rail and the two line segments (1 & 2) as cross-
section curves. Sweep 1 Rail
14 In the Sweep 1 Rail Options dialog box, under Style, choose Align with surface.
This option causes the cross-section curves to maintain their orientation relative to the surface
edge. A tangent curve (1) will be swept along the edge holding tangency all along unless another
shape curve (2) with a different orientation is encountered, in which case there will be a smooth
transition from one to the next.
1 Use the MatchSrf command to match the upper surface to the dummy surface.
2 At the Select surface to change - select near edge prompt, select the lower edge of the upper
surface.
3 At the Select target surface - select near edge prompt, select the upper edge of the dummy
surface.
4 In the Match Surface dialog box, choose Tangency and check Match edges by closest point.
The crease fades smoothly from one end to the other of the polysurface. If more control is needed
over the angles of the crease, more segments can be placed to create the dummy surface.
Because the surfaces are untrimmed, you have the option to merge the surfaces back into one
surface.
2 Use the Line command (Curve menu: Line > Single Line) to draw a single line anywhere in the
viewport.
3 Use the OrientCrvToEdge command (Transform menu: Orient > Curve to Edge) to move the
curve for the dummy surface to the upper edge of the lower surface.
4 Place a line at each end of the edge and somewhere in the middle of the edge.
6 Use the CPlane command (View menu: Set CPlane > Perpendicular to Curve) to set the
construction plane to align with the line at the left of the surface.
8 Repeat these steps for the line in the middle of the surface.
2 Select the upper edge of the lower surface as the rail and the three line segments as cross-section
curves. Use the Align with surface style for the sweep.
5 In the Sweep 2 Rails Options dialog box, for the Rail continuity of edge A, choose Tangency.
7 Use Show or Show Selected (Edit menu>Visibility>Show selected) to show the original lower
surface.
2 Select the curves and use the Loft command (Surface menu: Loft) to make a surface.
The surface is very complex. It has too many isocurves for the shape, because the control point
structures of the curves are very different. Loft
This creates a so called “False color” display using same type of analysis meshes as the Zebra
command.
The amount of curvature is mapped to a range of colors allowing you to analyze for areas of
abruptly changing curvature or flat spots.
Choose Mean from the style drop down. This style is useful for showing discontinuities in the
curvature—flat spots and dents.
Choose AutoRange and adjust the analysis mesh to have at least 5000 minimum grid quads to
ensure a smooth display of the color range.
Note the streaky and inconsistent color range on the surface. This indicates abrupt changes in
the surface.
5 Change to the Tangency Direction layer and turn on the control points on the original curves.
Use the Tab lock and snap to the second point to extend the line.
You can also use the Line command with the Tangent option. After snapping to the end point of
the curve use the FromFirstPoint option type F and press Enter to lock the end of the line and
drag the line out tangent.
The length is arbitrary but make the lines long enough to cross one another.
8 Use the Rebuild command (Edit menu: Rebuild) to rebuild the curves.
Rebuild
Note: Although there is a Rebuild option in the Loft command, rebuilding the curves before lofting
them gives you control over the degree of the curves as well as the number of control points.
9 In the Rebuild Curve dialog box, change the Degree to 5 and the Point Count to 6 points.
Uncheck Delete input, check Current layer.
Click the Preview button. Notice how much the curves deviate from the originals.
Note: This makes the curves into single-span curves. Single-span curves are Bézier curves. A single-
span curve is a curve that has degree +1 control points. While this is not necessary to get
high quality surfaces, it produces predictable results.
11 Select one curve, turn on the points and the curvature graph.
Start by moving the second point of the rebuilt curve onto the tangent line. Use the Near object
snap to drag along the tangent line.
13 Check the curvature graph to make sure the curve has smooth transitions.
The curves are fair when the points are adjusted so the rebuilt curves match the original locked
curves closely, with good graphs.
The shape and quality of the surface has very few isocurves but it is very close to the shape of the
first surface.
Note the smooth transitions in the false color display, indicating smooth curvature transitions in
the surface.
This exercise describes the steps in creating a case for a handset, using bitmaps as templates. In this
exercise we will focus on making curves from bitmaps images and using fairing techniques on the
curves before making the surfaces.
We will begin by taking scanned sketches and placing them in three different viewports. The three
hand-drawn images need to be placed in their respective viewports and scaled appropriately so that
they match each other.
You can align images more easily if they have been aligned and cropped so that they share the same
length in pixels. It helps to darken and slightly reduce the contrast of images that have a lot of bright
white in them. This allows a greater range of colors to be seen against them when tracing them in
Rhino.
Exercise 22—Handset
1 Open the model Handset.3dm.
3 In the Toolbars dialog box, check Background Bitmap to open the toolbar, then close the dialog
box.
Use the toolbar buttons for the next part of the exercise.
The toolbar can also be accessed by flying out the Viewport layout toolbar from the Standard
toolbar across the top of the viewports.
1 Make a horizontal line, from both sides of the origin of the Top viewport, 150 mm long.
2 Toggle the grid off in the viewports that you are using to place the bitmaps by pressing the
F7 key.
This will make it much easier to see the bitmap. The grid is displayed in the illustrations for
reference only.
3 In the Front viewport, use the BackgroundBitmap Place command (View menu: Background
Bitmap > Place) to place the HandsetElevation.bmp.
Place Background Bitmap
First you pick two points on the bitmap—you can zoom way in to pick a point very accurately at
this stage.
Next you pick two points in space to which you would like to have the image points just selected
to correspond—snap to the end points of the 150 mm line.
6 Use the same technique to place and align the HandsetBottom.bmp in the Bottom viewport.
1 In the Front and Bottom viewports, trace the curves you need to define the form of the case. The most useful tool for tracing
Since the bottom view of the object is symmetrical you can make one curve. freeform curves is to use a control
point curve.
Place only the fewest points that
will accurately describe the curve,
but do not to fall into the trap of
trying to be 100 % accurate with
every point placement. With some
experience you will be able to place
about the right number of points in
about the right places and then
point edit the curve into its final
shape.
In this example, the 2d curves can
all be drawn quite accurately with a
The front view curves describing the top and bottom edges of the case should extend on the right degree 3 curve using 5 or at most 6
past the form in the background image approximately the same amount as the corresponding control points.
bottom view curves do. You can draw them too long and trim both bottom view and both front
Remember to pay attention to the
view edge curves off with a single cutting plane.
placement of the second points of
Now draw the curve in the Front viewport that defines the parting line separating the top and the curves to maintain tangency
bottom halves of the case. This curve is the front view of the plan view’s edge curves. It should be across the pointed end of the
extended to the right the same distance as the other edge curves. object.
2 In the Bottom viewport, select the parting line curve and the outline curve.
6 Fair the curves, using the same technique as in the previous exercise.
The macros ! Mirror 0 1,0,0 and ! Mirror 0 0,1,0 are very useful for accomplishing this quickly if
they are assigned to a command alias and if the geometry is symmetrical about the x or y axis.
Note the quality of the surface and how few isocurves there are.
8 An Approach to Modeling
A common question that occurs when modeling, is “Where do I start?” In this section we will discuss
various approaches to the modeling process.
There are two things to consider before your begin modeling: if reflections, fluid flow, air flow, or the
ability to edit using control points are important in the finished model, you will want to begin your
models with geometry that consists of cubic (degree 3) or quintic (degree 5) curves. If these are not
important, you can use a combination of linear (degree 1), quadratic (degree 2), cubic or quintic
curves.
Start with simple shapes, the details can be added later. Begin by creating layers for the different
parts. This will help separate the parts for visualization, and help with matching the parts as you go.
We will review different products to try to determine which kind of surfaces are most important and
some approaches to modeling the product.
Exercise 23—Cutout
This exercise shows an approach to making a cutout surface which blends smoothly and
seamlessly into an existing curved surface. The new surface has an arbitrary relationship to the
existing surface so the general strategy can be used in other cases.
2 Make the Cut-out Curves layer current, turn on the Original Surface layer, turn off the
Completed Scoop layer.
4 Start the Project command (Curve menu: Curve From Objects > Project).
5 At the Select surfaces or polysurfaces to project onto prompt, select the surface.
Project
6 Start the ExtendCrvOnSrf command (Curve menu: Extend > Curve On Surface).
7 At the Select curve to extend prompt, select the outer curve on the surface. Extend Curve On Surface
9 Use the Trim command (Edit menu: Trim) to trim the curves with each other.
13 Use the ShrinkTrimmedSrf command (Surface menu: Edit Tools > Shrink Trimmed Surface) to
make this surface easier to see since it will reset the isocurves to the new surface size.
Next we will make a surface for the bottom of the cutout. The cutout is rounded at one end, but
we will build a rectangular surface and trim it to be round at one end. This approach allows for a
much lighter, more easily controlled surface than trying to hit the edges exactly while building the
surface.
In this part, we will make one curve with as few points as possible that shows the shape of the
part that will become the bottom of the scoop. When making the curve try to look at the it from
various views while you work. Use a degree 5 curve and six points for a very smooth curve. Check
the curve with the curvature graph to get a nice fair curve.
1 Use the Curve command to draw a control point curve in the Front view. On the Status bar turn
Planar mode on. This will keep the curve in a single plane for the moment.
Snap the first point of the curve to the corner of Then switch to the Front view to continue
the small dummy surface in any convenient drawing. Draw the curve approximately tangent
view using the End Osnap. to the edge of the dummy surface and finish it
lower, defining the shape of the floor of the
scoop.
Make sure to move the points only in the Y direction (Ortho will help), so that the shape in the
Front view will not be altered.
Make the curve approximate the outermost of the original curves and extend somewhat past the
rounded end.
3 Use the Match command (Curve menu: Edit Tools > Match) to match the curve with curvature
continuity to the edge of the dummy surface. Make sure Preserve Opposite End is not checked
to keep the curve from becoming more complex.
5 Adjust the curves by moving the control points until they look the way you want then match the
curve to the edge of the dummy surface.
If matching makes the curve distort too much add a knot and try again. EndBulge and further
point editing may be needed.
There are a few surfacing techniques that can be used to create the surface. A 2 Rail Sweep would
be one obvious choice, using the new curves as rails and the edge of the dummy surface as the
cross section. The advantage of this is that other cross-sections can be used to define the floor
shape if desired. Since the rails are G2 to the dummy surface (Matched in the last sequence of
steps) the surface will be very close to G2 to the dummy surface when created. The MatchSrf
command could fix any discontinuity, if needed. This is a good way to go and you may wish to try
it now.
Another approach is to make a lofted surface between the two curves. The surface will need
adjustment to match to the dummy surface and will provide the opportunity to explore some
options in the MatchSrf command so we will outline this method below.
1 Use the Loft command (Surface menu: Loft) to create the surface between the two curves.
Because the lofted surface is flat, there will be a slight gap at the edge of the dummy surface.
Make sure Preserve opposite end is unchecked. Use the Preview button to see how the match
will look.
If so, click the Options button and set the Isocurve direction adjustment to Preserve
isocurve direction. Exit options and try the Preview again.
To make the sides of the cutout, we will extrude the projected outline with 10 degrees of draft and
trim it with the lofted surface.
2 Use the ExtrudeCrv command (Surface menu: Extrude curve >Tapered) to extrude the projected
curve.
4 At the Draft angle < 5 > prompt, type –10 and press Enter.
5 At the Extrusion distance ( Direction Corner=round ) prompt, pull the surface until it fully
intersects with the bottom surface, but no more, and pick.
If you extrude the surface too far, you might get a polysurface instead of a single surface. If this
happens try the extrude again, but don’t pull so far.
Degree 3 with 50-70 points in the V-direction and Degree 1 with 2 points in the U-direction
should be enough. Rebuild Surface
2 Use the FilletSrf command (Surface menu: Fillet Surface) to make the fillets between the bottom
surface and the sides. Fillet Surface
3 At the Select first surface to fillet ( Radius=1 Extend=Yes Trim=Yes ) prompt, type 5 and press
Enter.
4 At the Select first surface to fillet ( Radius=5 Extend=Yes Trim=Yes ) prompt, click Extend to
change the setting to No.
5 At the Select first surface to fillet ( Radius=5 Extend=No Trim=Yes ) click Trim.
7 At Select first surface to fillet ( Radius=5 Extend=No Trim=No ) prompt, pick the bottom
surface.
8 At the Select second surface to fillet ( Radius=5 Extend=No Trim=No ) prompt, pick the side
surface near the same spot.
Both of the fillet surfaces are tangent to the tapered side of the scoop and where the fillets cross
they are tangent to each other.
If we trim the ends of the fillets to a plane, then the resulting trimmed edges will be tangent to
each other. Trimming these surfaces will be helpful when creating the final surfaces that blend the
fillets out between the scoop and main surfaces.
To create the plane, first make circles with the AroundCurve option around one edge of the fillet
surfaces, then make planar surfaces from the circles. It may be easier if you hide all but the fillet
surfaces for this sequence.
1 Select the fillets and use the Invert Hide button in the visibility toolbar to isolate them.
2 Start the Circle command, and use the AroundCurve option. Set the Int osnap only.
The AroundCurve option forces the circle command to look for curves, including edge curves, to
draw the circle around.
Notice as you move the cursor close to the edges of the fillets a blip appears on the edge curve
indicating the location available for the center of the circle. Where there is an intersection of two
or more curves it becomes difficult to know which of the curves will actually be the source for the
circle's center. If you try to pick the intersection at this point it will fail, because it has two
choices. You can force it to choose one or the other edge curve by using the OnCrv object snap.
4 At the Select Curve prompt, click on the lower edge of the upper surface.
Now, when you encounter the Int osnap you can be sure that the circle will be drawn around this
edge curve and not the one that intersects it.
5 Draw the circle out well past the width of the fillet surfaces.
You can use the trimmed fillets to trim back the side surface of the scoop.
2 Use the fillet surfaces as trimming objects to trim the excess from the side surface.
It is often much faster to trim with
curves than to use surfaces,
especially if the surfaces are
tangent to the object to be trimmed,
as is the case with fillets.
Duplicate the two edges that are in
contact with the side surface to use
as trimming objects if you have a
problem.
The next task is to extend the edges of the fillets so that the main surface and the floor surface
can be trimmed back. The inner, or lower, edge of the lower fillet will be extended off the end of
the floor surface and the outer, or upper, edge of the upper fillet will be extended off past the end
of the opening of the scoop as well. The extended curves will be projected onto the respective
surfaces and used to trim them.
1 In the Top view, use the Extend command with the Type=Smooth option to extend both bottom
ends of the lower fillet edge past the front of the floor surface.
3 Use Extend to extend the outer edges of the upper fillet past the end of the floor surface.
Note that in the Perspective view these extended curves are off in space at their outer ends.
5 Project the curves onto the main surface from the Top view.
6 ShowSelected or turn on the layer for the original curves and Project the line segment onto the
main surface.
We are now nearly ready to create the surfaces. As you can see there are nice rectangular gaps in
the surfaces, we just need to arrange the curves and edges surrounding the gaps for use in
making a 2-Rail Sweep or a surface from a Curve Network. Because one end of each open
rectangle is bounded by the two tangent fillet edges, we need to create a single curve there to use
as input. We'll duplicate the four edges and join them into two s-shaped curves. The other end of
each rectangle is bounded by a portion of the end of the hole in the main surface. we'll split up
that long edge into segments that correspond exactly to the ends of the rectangular openings.
3 Use the SplitEdge command (Analyze menu: Edge Tools > Split Edge) and the End osnap to split
the straight edge on the trimmed hole in the main surface to the end points of the floor surface's
edge. Split Edge
5 Use the Sweep2 command with Rail continuity=Tangency or the NetworkSrf command to
create the last two surfaces.
The larger of the two surfaces may benefit from extra cross section curves. To add cross-sections,
use the Blend command to make tangent curves approximately one-third and two-thirds of the
way along the edges of the opening. Use these curves as additional input for a network surface.
5 Again select the Perpendicular option for the other end of the blend curve and select the edge
opposite the first one as the curve to blend to.
6 Bring the cursor back across to the area of the pick along the first edge until the Point osnap flag
lights up. The cursor will snap across to the current edge with a white tracking line. Click the
mouse at this point.
7 Make a second curve the same way about two-thirds of the way along the same edges.
Remember to select Perpendicular at each pick.
8 Use the NetworkSrf command to create the surface. Remember to include the new curves in the
selection.
2 Change the Files of type to Adobe Illustrator (*.ai), and choose the AirOne_Logo.ai to import.
The logo is selected and located on the Top construction plane in the Default layer.
4 While the imported geometry is still selected, use the Group command to group the various
curves together. This makes it much easier to select all of the curves and not leave any behind in
the following transform steps.
7 Right click on the Logo layer, then click Copy Objects to Layer to make a copy of the logo on
the Logo layer.
We will use this copy later for another part of the exercise.
8 Turn off all the layers except Default and Top Surface.
We need to set a construction plane to the flat surface. The Cplane command will allow us to do
this but the X and Y directions of the new custom CPlane will be mapped to the U and V directions
of the target surface respectively and the Cplane Z direction will be mapped to the surface normal.
The Dir command will tell you how the U and V direction are pointing on the surface, and allow
you to change the directions of each.
1 Select the flat disc shaped surface, then from the Analyze menu, select Direction (Analyze
menu: Direction).
This displays the current surface normal direction and the U/V directions. It is important to know
normal direction and the U and V directions of the surface. Direction
3 In the Perspective viewport, use the Cplane command with the Object option (View menu: Set
CPlane > To Object) or (Viewport title right click menu: Set Cplane > To Object) to set the Cplane
to the surface.
4 You may want to save the new construction plane with the NamedCPlane command (Viewport
title right click menu: Named Cplane) to make it easy to retrieve later.
The command we will use to move the logo to the flat disk shaped surface uses the position of the
object relative to a construction plane.
1 Select the curves in the Top viewport. Make sure the Top viewport is active, then start the
RemapCPlane command (Transform menu: Orient > Remap To CPlane).
This command depends upon the active construction planes at each stage, so it is important to Remap To CPlane
pick in the correct viewports.
2 At the Click on CPlane to map to ( Copy=No ) prompt, click in the Perspective viewport with
the custom Cplane.
You could use the Copy=Yes option in this command so that a copy is remapped instead of the
original.
When Copy=Yes is active, each click in a viewport results in a copy being placed until the
command is ended with Enter or Esc.
The logo is positioned in the same relative position on the custom construction plane as it was in
the active viewport.
For an accurate view of the surface and the curves you may want to use the Plan command in the
Perspective viewport. This sets the view to a parallel projection looking straight on at the plane.
4 Use the Extrude command (Solid menu: Extrude Planar Curve) with the BothSides option to
make the text 3-D. The extrusion distance should be 2 mm.
In this part of the exercise, we will use the copy of the logo that is on the Logo layer and position
it on the cutout surface. This surface is not flat so we will use a different transform tool, Flow
along curve, to move it and bend it along the surface.
Flow maps the control points of an object from one curve to another. The relationship of the points
to the first curve is transferred to the second curve. If one of the curves has a different length
than the other the geometry being flowed will stretch or compress accordingly. In order to
eliminate this stretching or compressing the original curve and the target curve need to have the
same length.
1 Start the Layer command and make the Cutout layer the current layer. Then, turn off all the
layers except Cutout and Logo.
2 First we need to extract a curve from the target surface. Use the ExtractIsocurve command
(Curve menu: From Object > Extract Isocurve) and select an isocurve in the long direction from
the surface, as close to the middle of the surface as possible by eye.
Extract Isocurve
3 While this curve is selected, use the Length command (Analyze menu: Length) to get its exact
length. This will be printed out in the command line.
4 In the Top viewport, make a line of the same length as the extracted isocurve.
At the Coordinate system, use either the World or Cplane options, they are the same in this
view. Bounding box
6 Move the line from its midpoint to the center of the bounding box using the Mid and Cen osnap.
9 At the New backbone curve prompt, select the extracted isocurve. Flow along curve
The logo curves are mapped from the line to the curve. Note that the command pays attention to
which end of each curve is selected to map the logo curves.
10 If the logo is too large for the target surface, you may need to Undo the command, Scale the
curves in the Top viewport, and Flow them again.
If you look closely at the mapped curves in the Perspective view, you will see that they have been
mapped to the curve but are still not really on the surface. However, they are close enough that
pulling them onto the surface will not visibly distort them.
1 Select the curves that were flowed along the isocurve and start the Pull command (Curve
menu: Curve From Objects > Pullback).
Pull moves curves or points back to the selected surface in the direction of the surface normal.
Pullback
2 Select the surface and start the Split command (Edit menu: Split). Select all the pulled curves as
the cutting objects.
3 In this case you might want to Shrink the surfaces since currently each of the split pieces carries
the underlying surface for the entire surface, even the tiniest little segments.
Do not pick the parts of the surfaces that are inside the letters (A, O, and N).
2 Start the OffsetSrf command (Surface menu: Offset Surface). Choose the Solid option to fill in
the surfaces between the original and offset edges.
Move the cursor over the surfaces and click on any that do not have the normal arrows pointing Offset Surface
up to flip the direction. The arrows indicate the direction of the offset.
The surfaces could also be extruded into solids using the ExtrudeSrf command (Solid menu:
Extrude Surface > Straight).
4 The offset solids may need to be joined to the original surface but being closed solids they cannot
be joined to the surface in their present form.
Use the ExtractSrf command (Solid menu: Extract Surface) to remove the lower faces from the
offset logo, then delete them.
5 Use the Join command (Edit menu: Join) to join the logo surfaces with the original surfaces.
3 Use the Group command to group the selected objects (Edit menu: Group).
4 Repeat the previous steps to group the objects for the front view (upper left) and the right view
(upper right).
2 Use the ChangeLayer command (Edit menu: Layers > Change Object Layer) to change the layer
to the 3D Template Top layer.
3 In the Top viewport, use the Move command to move the center of the circles to 0,0.
5 Use the ChangeLayer command to change the layer to the 3D Template Front layer.
6 In the Top viewport, use the Move command to move the intersection of the centerline and the
horizontal line at the bottom to 0,0.
7 Start the RemapCPlane command (Transform menu: Orient > Remap to CPlane) in the Top
viewport.
10 Use the ChangeLayer command to change the layer to the 3D Template Right layer.
11 In the Top viewport, use the Move command to move the intersection of the centerline and the
horizontal line at the bottom to 0,0.
12 Use RemapCPlane to map the Right view curves to the Right CPlane.
Frequently 2-D curves for design control drawings will not be as carefully constructed as would
you like for making accurate geometry. Before building 3-D geometry from the 2-D curves, check
the curves and correct any errors that can be found.
The inset part of the bottle will be cut into the surface later. For the moment we just need to build
the outer surfaces. The fillets at the top and bottom indicated in the curves can be left out of the
initial surface building and added in as a separate operation. We'll need to extend or redraw the
edge curves to bypass the fillets and meet at hard corners before making the surfaces.
There are several surfacing tools that could be used to build the initial surfaces: A 2-Rail Sweep
or a Surface from Network of Curves are the obvious choices.
Network surfaces do not pay any attention to the curve structure, only the shape. All curves are
refit and the resulting surface has its own point structure.
Other commands including the Sweep tools, lofting and edge surfaces do pay attention to the
curve structure in at least one direction. In these cases it often pays to use matched curves as
cross sections. So the choice of surfacing tools may well determine the way in which the actual
input curves are created.
1 Select the curves from each 2d template view that define the outer surface and Copy them to the
3D Curves layer.
3 Move the curve defining the top surface of the bottle to the same height as the top of the vertical
curves. Use SetPt or Move with the Vertical option in the Perspective view.
4 The vertical curves now can be extended past the fillet curves so that they meet the top and
bottom curves exactly on the end points of these curves.
One way is to extend the vertical curves using Extend with Type = Smooth. Snap to the
Endpoints of the top curve, and to the Endpoints of the base curve at the bottom.
You can make a duplicate set of curves and edit one of each leaving the original in place as a
template.
6 Mirror the base, top and side curve visible from the right view to the other side.
From the drawing these are the only curves we have available to define the shape, so we will use
these curves directly to create the surface.
2 Window select the curves and first try Sweep2 to make a surface then Shade the viewport.
Select all of the curves, again, the use the NetworkSrf command to create the surface.
On your own:
Make the inset surface and the handle. Fillet the edges where indicated in the 2-D drawing. Included
in the model directory is a finished bottle for your review.
10 Surface Analysis
The vertical curves have been matched so that they all have the same point count and structure.
They are edited copies of the same curve. The top and bottom curves need to be split up to make
four sided surfaces with the vertical curves.
We will need an extra vertical curve to help the shape at the back.
1 Split one of the bottom curves with the Point option at the Knot that is on the right side of the
curve.
Knot
Splitting right on the knot lets the resulting
curve segments keep a uniform knot
distribution.
For the edge surfaces we are going to build this
is useful as the surfaces can be kept simpler.
Also, split the same curve with the vertical
curve that intersects it.
2 Drag the top point of this curve to the top curve with the Near osnap. Place it approximately two-
thirds of the way between the back profile curve and the side profile curve.
Also, adjust the second point from the top. Move it upward and inward slightly as illustrated
below.
This will give a little more control over the surface, especially at the top edge.
4 In order for EdgeSrf to give the cleanest surfaces, some of the split curves need to be rebuilt.
This gives each of the curves even parameterization and they will have the same structure.
2 Use the MatchSrf command (Surface menu: Surface Edit Tools > Match) to match both sets of
mirrored surfaces for Tangency, using the Average option.
At this point, we will use the Curvature Analysis tool to evaluate the matched surfaces. This can
be useful in locating areas of extreme curvature, but may force the display to ignore more subtle
changes. In any case the display on each of these simple surfaces should be very smooth and
clean.
1 Hide all curves to get a good view of the transitions between surfaces.
Set the style to Gaussian, and click Auto Range. Make sure you have a fine analysis mesh for a
good visual evaluation. Click back and forth between Auto range and Max range. Auto Range attempts to find a
range of color that will ignore
extremes in curvature, while Max
The goal when matching is to maintain as even Range will map the maximum
and gradual a curvature display as possible, curvature to red and the minimum
while meeting the continuity requirements. to blue.
Notice the edges that have been matched The numbers are for Curvature,
appear to have a smooth color transition. which is, 1/radius .
The surfaces that haven’t been matched show Depending upon the setting that
an obvious break in the colors. was present when the command
starts, the numbers in the range will
reset themselves and the color
display changes.
Next we will make another surface with the a copy of the curves for comparison.
3 Turn on the Network Curves layer. Use NetworkSrf to make a surface from these curves.
Select the new surface and Add it to the Curvature Analysis display.
When matching the front and rear surfaces to the middle surface we need to be sure that that we
match in a way that will not upset the match we have just made. We will do this in two steps to
make sure we preserve the edges we just matched.
Notice is that the middle surface is relatively flat, while the front and back surfaces have more
curvature. In matching the surfaces, be careful not to match the middle surface to the ends. This
will introduce considerable curvature to the side surface and possibly make it dent or deflect
inward. If possible, do all of the matching from the end surfaces to the middle surfaces to avoid
this.
Since there are only four points on the back side surface, matching for curvature to the middle
surface would upset the other edge, unless you had Preserve Opposite End turned on. If you have
Preserve Opposite End turned on and you match to Curvature it could introduce a wave in the
surface near the middle edge.
To eliminate these potential problems, we will first match to Tangency with the Preserve Opposite
End turned off. Matching to tangency will only move the first two rows of control points, so we
won’t have to worry about any changes to the previous match. But it will get the surface closer
along the entire edge. Then we will match to Curvature with the Preserve Opposite Edge option
turned on.
1 The matching work will be done on just the surfaces on one half of the overall shape, so you can
Delete the mirrored copies at this time.
2 Select the surfaces and Copy them some distance to one side. We will use these surfaces later.
3 Match both front and back surfaces to the middle surface for Tangency. Turn Average Surfaces
and Preserve Opposite End off. Set the Options in the dialog to Preserve isocurve direction.
These settings will be variable according to the situation. If the results do not look good the first
time, try another setting before accepting the match.
Keep the Curvature Analysis display on. This can help you see the changes.
4 Next, Match both front and back surfaces to the side surface for Curvature. Turn Preserve
Opposite End on.
Now lets take a look at a less ideal situation. We will now work on the surfaces that we copied
earlier to compare the difference when we match the middle surface to the front and back
surfaces.
1 Match both to the middle surface front and back surfaces for Tangency. Turn Preserve
Opposite End off.
2 Next, Match both front and back surfaces to the side surface for Curvature. Turn Preserve
Opposite End on.
3 Select the new matched surfaces and Add them to the Curvature Analysis display.
You will notice an obvious difference in the Curvature Analysis display between the first set of
surfaces (1) and the second (2).
11 Sculpting
Designers can build a relatively undefined surface and then use a variety of transform and analysis
tools to sculpt a surface in 3-D space in an intuitive and direct manner.
Curves can be placed approximately. The curves should be edited copies of a single original if possible.
This ensures that they will be compatible when lofted, and create the simplest, most easily edited
surface.
In the following exercise four curves have been created for you to use.
2 Loft the four curves together with the Loose option from the dropdown list. Using Loose creates
the simplest possible geometry and is essential to creating a surface with this technique.
There is a steering wheel on a
locked layer to help you get a sense
of scale and positioning of any
elements you might wish to add.
The surface will not touch the interior curves of the loft with this option, but it should be very
smooth and clean looking.
3 Turn on points.
6 Select the points nearest the top edge of the steering wheel.
8 In the Set Control Point Weight dialog box, move the slider to the right.
Edit Control Point Weight
Changing the weight of some of the points gives you more or less local control over the surface
nearest the points.
Notice the sharpness of the bulge closest to the points where weight was changed.
If the surface starts to look chunky, use the Refresh option from the Viewport menu. To activate
the Viewport menu, right-click the viewport title. The RefreshShade command replaces the
render meshes on the selected objects.
When you are satisfied with the overall shape of the surface, you can add details to make a more
finished object.
The surface can be offset and trimmed as in the first illustration. Offsetting surfaces generally results
in a surface of one step lower in
Best results are obtained when the surface has at least degree 3 in both directions. This can be internal continuity. Surfaces that are
checked with Object Properties. only G1 internally may result in
surfaces that have G0 continuity;
1 Change to the Cutting Curves layer. that is, they may have a kink in
them. Although Rhino allows these
2 Draw a curve that represents where you want to split the surface. surfaces, this can lead to problems
downstream.
For this reason, if you intend to
offset surfaces, it is best where
possible to create the initial surface
from degree 3 or higher curves.
These surfaces have at least G2
continuity so that offsetting them
will result in at least G1 continuous
surfaces. Changing the degree of a
surface that has been created from
degree 2 curves to at least degree
3 in both directions is not sufficient
to ensure a G2 surface. Simply
changing the degree after the fact
does not improve internal
3 Use the Offset command (Curve menu: Offset Curve) to make a duplicate of the curve offset by continuity.
one-half (0.50) inch.
5 Use the OffsetSrf command (Surface menu: Offset Surface) to offset the surface by one-fourth
(0.25) inch.
7 Use the BlendSrf command (Surface menu: Blend Surface) to blend between the two surfaces.
12 Troubleshooting
Some Rhino operations can make “bad objects” under certain circumstances. Bad objects may cause
failure of commands, shade and render badly, and export incorrectly.
It is good practice to use the Check (Analyze menu: Diagnostics > Check) or SelBadObjects
(Analyze menu: Diagnostics > Select Bad Objects) commands frequently during modeling. If errors
can be caught right away the objects can often be fixed more easily than if the bad part is used to
make other objects.
If the goal is to create a rendering or a polygon mesh object, some errors can safely be ignored so
long as they do not get in the way of building the model itself in later stages.
For objects which must be exported as NURBS to other applications such as engineering or
manufacturing, it is best to eliminate all errors if possible.
The troubleshooting tools are used mostly for repairing files imported from other programs.
General strategy
The troubleshooting steps will be the same, whether or not the file was created in Rhino or another
application. Over time, you will discover patterns of problems and develop procedures to fix them.
Although the techniques used vary greatly depending on the individual file, we will focus on a general
strategy for repairing problem files
Use the SelDup command (Edit menu: Select Objects > Duplicate Objects) to find duplicate
entities and delete them or move them to a “duplicate” layer in case you need them later.
Use the SelSrf command (Edit menu: Select Objects > Surfaces) to select all the surfaces or the
SelPolysrf command (Edit menu: Select Objects > Polysurfaces) to select all the polysurfaces,
Invert (Edit menu: Select Objects > Invert) the selection, and move the selected items to
another layer and turn it off. This will leave only surfaces or polysurfaces on the screen.
The Check and SelBadObjects commands will determine if some of the surfaces in the model
have problems in their data structures. Move these surfaces to a “bad surfaces” layer for later
clean up.
Select Bad Objects
If the bad object is a polysurface, use the ExtractBadSrf command to extract the bad surfaces
from the original polysurface.
Then you can fix the bad surfaces and then use the Join command to reattach them to the good
part of the polysurface.
Does it look like you expected it would? Are there obviously missing surfaces? Do surfaces extend
beyond where they should? The trimming curves needed to fix them may be on the “duplicate”
layer.
6 Look at the Absolute tolerance setting in the Document Properties dialog box on the Units
page.
When joining, edges are joined if they fit within the specified modeling tolerance. If they are
outside the tolerance, they are not joined. Joining does not alter the geometry. It only tags the
edges as being close enough to be treated as coincident, then one edge is discarded.
Look at the results on the command line. Did you get as many polysurfaces as you thought you
would? Sometimes there are double surfaces after importing an IGES file. Usually, one will be
complete and the second one will be missing interior trims. When the Join happens, you have no
control over which of the two surfaces it will select. If you suspect this has occurred, try joining
two naked edges. If there is no nearby naked edge where one should be, Undo the join, and
select for duplicate surfaces. Delete the less complete surfaces and try the Join again.
Naked edges are surface edges that aren’t joined to another surface. During the join process, the
two edges were farther apart than the specified modeling tolerance. This may be from sloppy
initial modeling, a misleading tolerance setting in the imported IGES file, or duplicate surfaces. If
there are too many naked edges showing when you run the ShowEdges command (Analyze Show Naked Edges
menu: Edge Tools > Show Edges), consider undoing the Join and relaxing the absolute tolerance.
It is likely that the original modeling was done to a more relaxed tolerance and then exported to a
tighter tolerance.
Note: You can not improve the tolerance fitting between surfaces without substantial remodeling.
The joining of naked edges can be a mixed blessing. It is a trade off and may cause problems
down-stream. If your reason for joining the edges is for later import into a solid modeler as a
solid, or a meshing operation like making an STL file, using the JoinEdge command (Analyze
menu: Edge Tools > Join 2 Naked Edges) will not generally cause any problems. If you will be Join 2 Naked Edges
cutting sections and most other “curve harvesting” operations, the sections will have gaps as they
cross edges that were joined outside of tolerance. The gap to be spanned is displayed prior to
joining. If the gap is less than twice your tolerance setting, you can proceed without worry. If the
gap is too wide, consider editing or rebuilding the surfaces to reduce the gap. Join and JoinEdge
do not alter the surface geometry. They only tag edges as being coincident within the specified
tolerance.
It’s best to repair one bad surface at a time, and Join them into the polysurface as you go. In
order of least destructive method to most radical, the problems that caused them to fail Check
can be repaired by the following:
• Rebuild edges
• Detach trim curves and re-trim
• Rebuild surfaces (surfaces change shape)
• Replace surfaces - harvest edges from surrounding surfaces, cut sections through bad surfaces
and build replacement surfaces from the collected curves.
If a surface fails Check reporting that a tedge (trim edge) is not G1, this minor error can be
ignored, or the multiple span surface can be split at the knots.
Sometimes joining surfaces that pass check can result in a polysurface that fails check. Generally
this is caused by tiny segments in the edge or trimming curves that are shorter than the modeling
tolerance. Extract the adjoining surfaces, check them, use the MergeEdge command (Analyze
menu: Edge Tools > Merge Edge) to eliminate these tiny segments, and join them back in. You Merge Edge
are finished when you have a closed polysurface that passes Check and has no naked edges. As
you are joining and fixing surfaces, it is generally a good idea to run Check from time to time as
you work.
12 Export Check
Now that the model has been cleaned up and repaired, you can export it as IGES, Parasolid, or
STEP for import into your application.
Exercise 28—Troubleshooting
This file has several problems. It is representative of commonly found problems with IGES files.
After repairing the bad object and trimming it, look for other objects that don’t appear to be
trimmed correctly.
Although Rhino is a NURBS modeler, some tools are included to create and edit polygon mesh objects.
There is no best method that works for every situation. Downstream requirements are the most
important considerations when determining which technique to use for meshing. If the mesh is going
to be used for rendering, you will use different mesh settings than you would use for a mesh that will
be used for manufacturing (machining or prototyping).
When meshing for rendering, appearance and speed are the most important considerations. You
should strive to achieve a mesh with as few polygons as possible to get the look you require. The
polygon count will affect performance, but too few polygons might not give you the quality you are
after in the final rendering. Generally if it looks good, then you have the right setting.
Meshing for manufacturing is an entirely different situation. You should try to achieve the smallest
deviation of the mesh from the NURBS surface. The mesh is an approximation of the NURBS surface
and deviation from the NURBS surface may be visible in the final manufactured part.
2 Set the Perspective viewport to ShadedViewport mode and inspect the curved edge between
the surfaces.
The edges appear to be exactly coincident. The gaps you saw in the shaded view were due to the
polygon mesh Rhino uses to create shaded and rendered views. The polygons are so coarse at the
edges that they are clearly visible as individual facets.
4 In the Document Properties dialog box, on the Mesh page, click Smooth & slower.
Rhino saves these polygon meshes with the file in order to reduce the time needed to shade the
model when it is reopened. These meshes can be very large and can increase the file size
considerably.
This saves the file without the render meshes and the bitmap preview, to conserve disk file space.
Save Small
Note: The meshes created by Render and shading modes on NURBS surfaces and polysurfaces are
invisible in wireframe display, not editable, and cannot be separated from the NURBS object.
Render meshes are controlled by settings in the Document Properties dialog box, on the
Mesh page.
2 Start the Mesh command (Tools menu: Polygon Mesh > From NURBS Object).
The Polygon Mesh Detailed Controls dialog box appears. These settings are saved in the 3dm
file or template.
Check Refine.
Click OK.
5 Hide the original polysurface and use the Flat Shade display mode to view the output.
The Flat Shade display mode shows what the model would look like if it was output for
prototyping or machining at this mesh density. Flat Shade
6 Undo the previous operation, repeat the Mesh command, and then make the following changes in
the Polygon Mesh Detailed Controls dialog box.
8 Undo the previous operation, repeat the Mesh command, and then make the following changes in
the Polygon Mesh Detailed Controls dialog box.
With Rhino, creating design renderings of Rhino models is easy. Simply add materials, lights, and
render.
There are several controls in the basic Rhino renderer that allow you to create some interesting special
effects.
In the following exercise we will render with and without isocurves, adjust colors, transparency, and
ambient light to create images with special effects.
2 From the Render menu, click Current Renderer, then click Rhino.
3 In the Document Properties dialog box, on the Rhino Render page, check Use lights on
layers that are off.
4 Select the bottle and use the Properties command, on the Material page, to assign it a color and
a glossy plastic reflective finish.
5 Select the cap and use the Properties command, on the Material page, to assign it a color and a
glossy plastic reflective finish.
2 In the Document Properties dialog box, on the Rhino Render page, check Render Curves
and Isocurves.
1 Use the Properties command, on the Material page, to change Transparency to 90, then
Render the Perspective viewport.
3 Use the Properties command, on the Material page, to change the Basic color to white.
4 Start the DocumentProperties command.
5 In the Document Properties dialog box, on the Rhino Render page, change the Ambient color
to white, then Render the Perspective viewport.
With Flamingo, creating presentation images of Rhino models is easy. Simply add materials, lights,
environment, and render.
With Flamingo’s powerful Material Editor, you can assign any combination of color, reflectivity,
transparency, highlight, multiple bitmaps, and multiple procedural patterns to one material.
In the following exercise we will add environment settings, add materials and lights, create custom
materials, edit materials, add decals to objects, and render a scene.
Exercise 31—Rendering
` Open the model Mug.3dm.
` From the Rhino Render menu, click Current Renderer, and then click Flamingo Raytrace.
The rendering properties include environment settings, sun light, plant season, render, and
ambient light settings.
2 In the Document Properties dialog box, on the Flamingo tab, click Environment to change
how the background appears or to add certain special effects such as an infinite ground plane or
haze.
3 In the Environment dialog box, check Background Image, and select Jeff’s
Sunroom_Big.jpg.
7 From the Raytrace menu, click Render to render the Perspective viewport.
2 In the Edit Layers dialog box, select the Floss Blister layer, and click in its Material column.
3 In the Material Properties dialog box, under Assign By, click Plug-in to use Flamingo
materials.
5 From the Material Library dialog box, in the Mug library select Blister Plastic, and click OK.
To add lights:
2 At the prompts, draw a large spotlight that shines on the scene from the front and slightly above
as shown below.
Use elevator mode, or turn on the spotlight’s control points and drag them to move the light into
position.
.
Spotlight, front view Spotlight, right view
This makes a nicer image, but two or three lights in a scene improve the rendering. We are going
to add another light to create highlights on the mug.
2 In the Top viewport, Mirror the light across the vertical axis.
2 At the prompts, draw a large spotlight that shines on the scene from the below.
This light will be used to add a little light to the underside of the toothpaste tube and the floss
packet.
It is important to turn the shadow intensity to 0 so that the light will penetrate through the ground
plane.
2 In the Edit Layers dialog box, select the Mug layer, and click in the Material column.
3 In the Material Properties dialog box, under Assign By, click Plug-in to use Flamingo.
6 In the Material Editor dialog box, in the Procedures area, click New, then click Clear Finish to
give the material a multi-layer finish.
7 In the Material Editor dialog box, in the Procedures tree, select Clear Finish, and then change
the Base Color to green (R=21, G=210, B=180).
8 Add some color to the Top Coat Mirror color (R=198, G=247, B=255) to add some realism.
10 In the Material Editor dialog box, in the Procedures tree, highlight Top Coat.
11 On the Highlight tab, check Specify Highlight, and change the Sharpness to 240 and the
Intensity to 0.550.
13 In the Edit Layers dialog box, click OK to close all of the dialog boxes.
3 On the Material tab, click Plug-in, and then click Browse to access the Flamingo material
libraries.
4 Select Flamingo/Plastics, White, Smooth to use as a template for the new material.
6 In the Material Editor dialog box, on the Maps tab, under Image Mapping, click Add.
10 In the Save Material As dialog box, save the material as Toothpaste Cap in the Mug material
library.
12 In the Properties dialog box on the Flamingo page, in the Material mapping and tiling
dropdown, select Cylindrical, then set the number of tiles and the height.
Planar
The planar mapping type is the most common mapping type. It is appropriate when mapping to
flat or gently curved objects.
Cylindrical
The cylindrical mapping type is useful for placing decals onto objects that curve in one direction,
such as labels on wine bottles.
The cylindrical projection maps the bitmap onto the mapping cylinder with the bitmap’s vertical
axis along the cylinder’s axis, and the horizontal axis around the cylinder, like a wine bottle
label.
Spherical
The spherical mapping type is useful for placing images onto objects that curve in two directions.
The spherical projection maps the bitmap onto the mapping sphere with the bitmap’s vertical
axis (height), curving from pole to pole, and the horizontal axis curving around the equator.
Initially the mapping sphere’s equator is assumed to be parallel to the current construction
plane, and the sphere’s axis is parallel to the construction plane z-axis. Later you can modify its
orientation.
UV
UV mapping stretches the image to fit the whole surface. The U- and V-directions of the surface
determine which direction the map is applied. There are no controls.
UV mapping works well for organic shapes, hair, skin, and plant structures.
On some surfaces and polysurfaces, only parts of the image may appear in the rendering. UV
mapping stretches the bitmap over the whole UV range of the surface. If some of that range has
been trimmed away, the corresponding parts of the bitmap will not be visible.
3 In the Properties dialog box, on the Decals page, click Add, select the Minty Green-Box
Upper.jpg, then Open, and then click Planar and OK.
These three points define the decal plane’s location and extents. The decal plane must lie on or
behind the surface of the object. The decal projects up from the decal plane. Portions of the
surface that lie behind the decal plane will not show the decal.
After the decal is placed, you can click the control points on the decal control wireframe to move,
rotate, or stretch the decal.
3 In the Properties dialog box, on the Decals page, click Add, select the Minty Green-
TopFlap.jpg, and then click Planar.
4 At the prompts, pick locations for the decal Location, the Width, and Height direction of the
decal.
5 In the Edit Decal dialog box, on the Map tab, in the Masking dropdown, click Color.
Use the dropper to select the black part of the image. Check the Transparent box.
The part that is black in the bitmap will appear as transparent in the rendered image.
8 Use planar mapping to put the decals on the floss container and the toothpaste tube.
The magenta rectangles were created to assist with placement of the decals.
The circle of the mapping cylinder is initially parallel to the current construction plane, and the
cylinder’s axis is parallel to the construction plane z-axis.
6 At the prompts, pick locations for the Center of cylinder and a Radius or Diameter for the
decal.
The controls then let you click the control points on the decal control wireframe to move, rotate,
or stretch the decal cylinder.
The Edit Decal dialog box appears, change the decal’s visual properties as indicated below.