Rhino
Mini - Tutorial
on bending
objects
Rhino
has the ability to distort all types of objects, including NURBS models
created within Rhino or Polygon Meshes either created within Rhino or imported
models. This was a project inspired by the Renderosity
Rhino3D Forum's Challenge of the Month for December 2000. The
challenge was to create a portable music player. The MP3 player I
chose to model has a belt clip on the back which posed a few problems when
it came to bending it to it's final shape. I though that the process
behind determining the best way to achieve the final result would be worthwhile
of a short tutorial. This page has many graphics, so be warned, it
may take a while to load.
This is the final shape of the
belt clip we are aiming to achieve.
Step 1 -
The profile of the belt clip, laid flat is drawn out in the top viewport.
I usually draw profiles using the Polyline tool. Arcs are drawn with
the arc tool, then all segments are joined together and the corners filletted
using the Curve>Fillet command.
Step 2 -
This profile curve is then extruded using the Solid>Extrude Planar Curve
command. The edges were rounded slightly using the Solid>Fillet Edge
command. Other pieces (the screw head, the small rounded area around
it, and the tooth) were added after this step. I won't go into detail
on those here as that isn't the purpose of this tutorial. Save what
you have here as you will need to get back to this step.
Step 3 -
If we just try to bend this object, we will run into difficulties.
First off, we can't actually bend this object because it is a polysurface.
To allow is to bend it, we must first explode it into individual surfaces
using the Edit>Explode command. Now we can attempt to bend all the
surfaces at the same time. Try it, using the Transform>Bend command.
Select all the objects (just select everything) to be bent. Choose
the Bend command, then set the starting point at the right hand edge of
the object, the end point at the left hand end of the object and move the
cursor toward the center of the radius around which you want to bend the
object. Notice here how the edges bend but the two surfaces do not.
The reason for this is that the edges have several control points while
the surface has only points at the corners.
Step 4 -
In theory if we increase the number of control points we should be able
to bend the object just fine. Select just the top and bottom surfaces
and use the Surface>Edit Tools>Rebuild command. Here I increased
the U and V counts to 30 each. New problem - the surfaces suddenly
became rectangles when I did that. The re-building did increase the
number of control points, however it also deleted the trims that were automatically
created when the curve was extruded. Since I had done a bit of work
booleaning the tooth and rounding the edges, I decided I didn't want to
go back and do those steps over again in re-trimming it. This did
have potential to work as now I would have had a smooth bend with all those
control points. Oh well, back to the drawing board.
Step 5 -
Well, another option is to go back to the structure we had in step 2 (I
hope you saved it....) and go straight to meshing it. Converting
the NURBS structure to a polygon mesh will give us the same end result
as re-building it; lots of control points over the entire structure.
We lose some of the options we could use on NURBS surfaces once we mesh
it, but if the structure is essentially how we want it, then that is no
problem. Select the object then go to the Tools>Polygon Mesh>From
NURBS Object command. Select the Detailed Controls button from the
dialog that appears. In the detailed options dialog you can adjust
several values. First make sure Weld is not ticked. Welded
meshes often have severe artifacts when you try to UV map textures on them.
Next adjust the Min Edge Length value to the smallest value you think will
give you the detail you want. On areas that have small radius curves
you would want to be sure you have several segments over the curve.
This is all in reference to the scale you drew the object in in the first
place and relates directly to the grid scale. I figure my tightest
curve has a raduis of about 0.1 units therefore a Min Edge Length value
of 0.02 will give about 5 segments over the curve. This may be a
little much and you could probably get away with a value up to about half
the radius ( 0.05). If you hit the preview button now you will see
a mesh with small faces arrayed along the areas where there are tight curves
and large faces over the centre of the flat surfaces. This is still
not ideal for bending as those large faces will only bend where they join
other faces (faces always remain flat in a polygon mesh). Since we
want a rather tight curve this will still lead to facetting around the
bend.
Step 6 -
By setting the Max Edge Length parameter we can control the maximum size
of the faces. You can see here how setting a value of 2 results
in the flat surfaces being divided up into faces measuring 2 grid units
per side. These smaller faces will now enable us to make a smooth,
tight bend. Note that the smaller the faces, the smoother and more
accurately the mesh will represent the NURBS model, however, the file size
of the model will increase proportionately.
Step 7 -
Now we can try bending the mesh. Select the mesh then choose the
Transform>Bend command. Set the starting point at the far right end
of the object, the end point at the far left end and move the cursor towards
the inner radius of the curve you want. Notice how, when using the
default settings for the Bend command, the entire object bends uniformly
about the centre of the radius. We only want to bend the centre of
the object.
Step 8 -
How about if we set the start point to the area of the object where we
would like the curve to start? Still everthing from the start point
to the end point (far left end of line) bends uniformly. We would
like only a small section in the centre to bend. If you want to try
making a real mess, set the end point to just past the area you want to
bend. You'll find that the area past the end point stays in place
while the area between the bend and the stationary piece gets horribly
distorted. Not good.
Step 9 -
There's an easy fix to all this. Select the whole object, use the
Transform>Bend command and set your start and end points as illustrated
above (note: this is the same as step 8). Now type S on the command
line and hit enter. This keeps everthing past the bend radius straight
and in tangent to the radius. Move the cursor around and see how
the radius and angle of the end piece is manipulated.
Step 10 -
We still want to make one more bend to our object so it actually resembles
the belt clip we're modeling. If we use exactly the same command
and just set the start point near where we want the curve to begin we will
run into a new problem. See how the other end of the object bends
as well. This is because the radius of the bend overlaps this area
and the entire object is still selected. If we could just select
the portion we wanted to bend all would be fine.
Step 11 -
Luckily we can select just that portion! With the whole object selected,
hit the button that turns Control Points on (or type PtOn at the control
line). Wow! Look at all those densly packed control points!
Since we're not terribly worried about accuracy here, just use the cursour
to drag a selection marquee around the control points from the end of the
last bend to the end of the object (highlighted here in yellow).
Now choose the Transform>Bend command and set your start and end points
as indicated. You probably won;t have to type S again on the command
line as Rhino tends to remember what you did last. Now bend it so
the curve is over a very short area and the end of the belt clip is in
line with the back surface of the beginning of the belt clip. Remember
to turn off all the contol points when you're done.
This is how my final belt clip
looks when rendered (in Bryce 4). Hopefully this has been a good
overview of the Bend command and the role of meshing your NURBS object
when you need to increase the control point count uniformly over your object.
The same logic can apply to any of the Transform menu commands.
Have fun and play safe!
Back
to Axe's Rhino Page
Back
to Axe's Home Page