You are on page 1of 5

Preparing files for the 3d Printers with Rhino

Digital Media Tutorial


Written by Trevor Williams

What type of file should you prepare?


There are a myriad of filetypes used in 3d printing and rapid prototyping today.
Within the School, and the majority of the professional world, there are only two
filetypes that are used regularly. These are the STL (Stereolithography) and the
VRML (Virtual Reality Modeling Language). STLs are files that record all the points
and edges of a mesh and designate the inside and outside of faces. VRMLs record
the same information regarding geometry, but also encode color, transparency,
and shininess to the points of the mesh. The colors can be mapped either directly
to the points (i.e. each point is also assigned an RGB set of values along with XYZ
data) or they can be mapped via a texture-mapping process assigned in a
modeler, where image files are wrapped around the object in a specified way.

These blocks can be printed in any


single color, default being white.
They should be exported as STLs.

In short, for a monochrome object, you should to prepare an STL file, and for a fullcolor object, you should prepare a VRML file.

This globe will be printed in full color.


It should be exported as a VRML

Closing your object


There are many terms used for essentially the same thing in 3d
printing. Watertight, manifold, closed, solid, and volumetric are all
ways of describing a model has no holes in its surface and defines
a clear interior volume from an exterior space. It is always
advisable to close your object completely before sending the model
to print, though in the case of VRMLs, it isnt always possible.
Most modeling will be done in NURBS surfaces, with meshes, and
subdivision surfaces also being used, though less commonly. All
these types of geometries can be analyzed for closed volumetricity
in Rhino with the ShowEdges command.

The easiest way to fill holes The ShowEdges command being run on this box shows
in a NURBS surface is the triangular opening inside the cavity in the box. The
hole can be closed with the Cap command.
through the command Cap.
This will fill any closed, planar, holes in your surface geometries.
For non-planar holes, different strategies will need to be employed. The
commands Patch, Loft, Sweep, Sweep2, EdgeSrf, and SrfPt are all
useful for generating NURBS surfaces that fit to the edges of holes.
You should experiment with them to determine the best command to
close your particular geometry.
This hole is no longer planar, and must be closed
with a different strategy.

Adjusting tolerances
When your polysurfaces are not closing easily, you
may want to consider changing your model tolerances.
These settings can be found by typing the Options
command and going to the Units page.
The Absolute Tolerance is what determines the
smallest unit that Rhino will consider when calculating
limits of a surface or a curve. By default, Rhino will set
your absolute tolerance to one ten-thousandth of your
models base unit. This is an extreme amount of
precision that most modelers, especially architectural
modelers, dont need. By setting the absolute tolerance
higher (0.05 - 0.01 is usually sufficient) you can have
Rhino fudge the gaps between two or more surfaces or
curves and join them, even when they dont match
perfectly on two edges or end-points.

Most architectural scale models will still be significantly accurate at .01


units, whether that is millimeters or inches.

The benefit is that it will be much easier to join geometries. The downside is that a lot of modeling at a less
precise tolerance may cause your model to eventually not fit exactly to your intended dimensions. Rhino will
nudge or move curves and points within that tolerance in an attempt to make your geometries fit one another.
NOTE: To best mitigate that effect, do most of your modeling at a very precise (i.e. small) tolerance. Once the
time comes to join together all your surfaces for a single uniform mesh, increase your tolerance, and then join
your surfaces together.

Creating a mesh
If you still cannot close your object while it is a
NURBS object, you can attempt to do so after youve
changed it to a mesh object using the Mesh command.
When meshing, you want to create as simple (lowpolygon count) of a mesh as possible. The slider that comes up should go to the right based on how many
curved surfaces you have and the size of your intended object. Follow these rules of thumb:

If your object is entirely rectilinear, drag the slider all the way to the left.
If you have a large object (greater than 5 in3 in bound volume) with some softly curved surfaces, move
the slider 10-20% to the right.
If you have a large object with sharply curved surfaces, move the slider to 40-60% to the right.
If you have a small object (less than 5 in3 in bound volume) with softly curved surfaces, move the slider
50-75% to the right.
If you have a small object, with sharply curved surfaces, move the slider 80-100% to the right.
If any important details on your object have disappeared or become misshapen, move the slider further
to the right than it was in 5-10% increments until an acceptable level of detail is reached.

Closing mesh holes


With a mesh, you are no longer working with any
truly curved surfaces, or any surfaces at all. Your
object will be changed into flat triangles and
quadrangles called faces. These are composed of
edges and vertices, which are what you will
manipulate when working with a mesh.
The ShowEdges command still is used to find and
focus on any holes or openings in your mesh. If you
have only a few holes, you may just want to use the
FillMeshHole command. If you have many holes, or
are having trouble finding holes, you may be better
served by FillMeshHoles, which will automatically
attempt to close all naked edges. These commands
draw new mesh faces between the edges of holes
in your mesh.

The mesh version of the box from earlier still has the same non-planar hole.

If using those commands still leaves holes in your mesh or create


unwanted faces, you can fill your holes by hand by using the
3dFace command and selecting 3 or 4 points at a time, which will
define a new mesh face. When you have closed your mesh with
new faces, you can make them into a single, closed mesh with
the Join command.

When using 3dFace its important to draw a vertex


anywhere there is one along an open edge. Even if two
edges run in a straight line, but are broken by a vertex, you
should still place a vertex at the same point as the others or
your edges will not close.

If the open edges of one or more meshes are very close, but do
not meet evenly, or have different numbers of vertices, you can
select the mesh vertices and either delete them or move them to
match up with one another. Do this by selecting the meshes you
are trying to close, then hit F10 to pull up the control points
interface. Then, making sure that Vertex is selected in your Snap
Menu, you can proceed to close the mesh.

NOTE: Any meshes, whether they share vertices or not, can be


made into one mesh with the Join command. However, a mesh
will only be closed by Join if the input meshes share edges and
vertices. If you join meshes that do not shares edges and
vertices you will essentially just group them.

After turning on the control points for this mesh, I can close it
partially by dragging the selected vertices to the next vertex
along the open edge. I could close it further by dragging all
those vertices to the next vertex on the open edge.

Normalizing mesh faces


When your mesh has been closed, its possible
that not all of the mesh normals (the directions that
designate inside and outside for each mesh face)
are uniformly aligned. This means that your object,
while closed, may not be clearly identifying the
interior and exterior volumes for your object. This
can lead to a number of problems with your final
print, particularly by adding extra faces and
blocking off portions of your model by the printer.

Its possible to check the normal directions of all


the faces of your mesh or the surfaces in a
polysurface by selecting the object and using the
command Dir. The arrows that appear show you Look for arrows going in opposite directions, like in this image. They are a sign
the direction of the normal for every face and of incongruent surface normals.
surface at their corners. If you see two arrows that
go in opposite directions, that is a definite sign that you have two faces with normals that go in opposite
directions. To ensure that all the normals of a mesh or polysurface go in one direction, use the command
UnifyNormals. If the normals unify, but all point inside rather than outside use the Flip command to make them
point outside, which is necessary for 3d printing.
Once the mesh is closed, you can export it as an STL and open it with any of the 3d printers software packages.

Working with color on a mesh


There are two ways to produce a colored mesh (VRML) for 3d printing. One method, texture mapping, projects
an image around the outside of a closed object. The other, material mapping, works by grabbing the rendered
material color for each vertex of a mesh and correlating that to each vertex.

When mapping a texture in Rhino, you must specify a method of map projection. To do
this, first assign a material or texture map. Then select the object, go to the properties
tab, and select the Texture Mapping section. This is the third icon from the left. From
there, you can select Surface, Planar, Box, Spherical, or Cylindrical mapping methods.
If mapping a texture, you must
select a method of map
projection to use.

When mapping a texture in Rhino, you must specify a method of map projection. To do this, first assign a
material or texture map. Then select the object, go to the properties tab, and select the Texture Mapping
section. This is the third icon from the left. From there, you can select Surface, Planar, Box, Spherical, or
Cylindrical mapping methods.

You can also use the regular material


assignments in Rhino to map colors to your
objects. For this method, you wont necessarily
close all your objects. Instead you will need to
have complementary (matching) mesh edges
and vertices, though each set of faces with
different materials will be their own separate
mesh in the VRML file.
In the example on the right, the right object is a
closed mesh. The leftt object is 3 different
meshes with different material assignments that
have complementary edges and vertices where
the meshes meet. The highlighted naked edges and points match up
exactly on both meshes. As a result, the two separate meshes will still
be printed as one closed object, but both will also have their
independent color information.

Exporting a mesh with color


When exporting from Rhino as a colored VRML, you should always export vertex colors, as this is the color
information on each point. If using a texture map, its also important to export the texture coordinates, as this
will map the source image the same way in the VRML file as it is in your Rhino model. If you use a texture
map, make sure the source image file is in the same folder as your VRML file when opening it in ZPrint. If you
dont, ZPrint will ask to browse your computer for the file each time you open the model.

These are the necessary Rhino export settings for


a color model.

You might also like